5#ifndef BALL_STRUCTURE_GRAPHVERTEX_H
6#define BALL_STRUCTURE_GRAPHVERTEX_H
12#ifndef BALL_DATATYPE_HASHSET_H
19 template <
typename Vertex,
typename Edge,
typename Face>
22 template <
typename Vertex,
typename Edge,
typename Face>
25 template <
typename Vertex,
typename Edge,
typename Face>
31 template <
typename Vertex,
typename Edge,
typename Face>
168 bool join(const Vertex& vertex)
189 virtual
bool operator == (const Vertex&) const
195 virtual
bool operator != (const Vertex&) const
201 virtual
bool operator *= (const Vertex&) const
208 Face*
has(Face* face) const
215 Edge*
has(Edge* edge) const
274 template <typename Vertex, typename Edge, typename Face>
284 template <
typename Vertex,
typename Edge,
typename Face>
300 template <
typename Vertex,
typename Edge,
typename Face>
307 template <
typename Vertex,
typename Edge,
typename Face>
324 template <
typename Vertex,
typename Edge,
typename Face>
339 template <
typename Vertex,
typename Edge,
typename Face>
347 template <
typename Vertex,
typename Edge,
typename Face>
355 template <
typename Vertex,
typename Edge,
typename Face>
363 template <
typename Vertex,
typename Edge,
typename Face>
371 template <
typename Vertex,
typename Edge,
typename Face>
379 template <
typename Vertex,
typename Edge,
typename Face>
387 template <
typename Vertex,
typename Edge,
typename Face>
395 template <
typename Vertex,
typename Edge,
typename Face>
403 template <
typename Vertex,
typename Edge,
typename Face>
407 if (*
this *= *vertex)
412 (*e)->substitute((Vertex*)
this,vertex);
417 (*f)->substitute((Vertex*)
this,vertex);
425 template <
typename Vertex,
typename Edge,
typename Face>
432 for (e = vertex.edges_.begin(); e != vertex.edges_.end(); e++)
437 for (f = vertex.faces_.begin(); f != vertex.faces_.end(); f++)
450 template <
typename Vertex,
typename Edge,
typename Face>
466 template <
typename Vertex,
typename Edge,
typename Face>
482 template <
typename Vertex,
typename Edge,
typename Face>
490 template <
typename Vertex,
typename Edge,
typename Face>
498 template <
typename Vertex,
typename Edge,
typename Face>
507 template <
typename Vertex,
typename Edge,
typename Face>
516 template <
typename Vertex,
typename Edge,
typename Face>
525 template <
typename Vertex,
typename Edge,
typename Face>
534 template <
typename Vertex,
typename Edge,
typename Face>
543 template <
typename Vertex,
typename Edge,
typename Face>
552 template <
typename Vertex,
typename Edge,
typename Face>
561 template <
typename Vertex,
typename Edge,
typename Face>
570 template <
typename Vertex,
typename Edge,
typename Face>
578 template <
typename Vertex,
typename Edge,
typename Face>
586 template <
typename Vertex,
typename Edge,
typename Face>
void set(const GraphVertex< RSVertex, RSEdge, RSFace > &vertex, bool deep=false)
virtual bool operator!=(const Vertex &) const
HashSet< Edge * >::Iterator EdgeIterator
bool substitute(RSVertex *vertex)
void setIndex(Index index)
HashSet< Edge * >::ConstIterator ConstEdgeIterator
void insert(RSEdge *edge)
virtual bool operator==(const Vertex &) const
HashSet< Face * >::Iterator FaceIterator
HashSet< Face * >::ConstIterator ConstFaceIterator
virtual bool operator*=(const Vertex &) const
bool join(const RSVertex &vertex)
RSFace * has(RSFace *face) const
Position numberOfEdges() const
void remove(RSEdge *edge)
Position numberOfFaces() const
ForwardIterator< HashSet< Key >, ValueType, PointerType, IteratorTraits > Iterator
ConstForwardIterator< HashSet< Key >, ValueType, PointerType, IteratorTraits > ConstIterator
#define BALL_CREATE(name)