5 #ifndef BALL_STRUCTURE_GRAPHEDGE_H
6 #define BALL_STRUCTURE_GRAPHEDGE_H
17 template <
typename Vertex,
typename Edge,
typename Face>
20 template <
typename Vertex,
typename Edge,
typename Face>
23 template <
typename Vertex,
typename Edge,
typename Face>
29 template <
typename Vertex,
typename Edge,
typename Face>
63 GraphEdge(const GraphEdge<
Vertex,Edge,Face>& edge,
bool deep = false);
73 GraphEdge(Vertex* vertex1,
96 void set(const GraphEdge<Vertex,Edge,Face>& edge,
bool deep = false);
103 GraphEdge<Vertex,Edge,Face>& operator =
104 (const GraphEdge<Vertex,Edge,Face>& edge);
113 void set(Vertex* vertex0,
167 Vertex*
other(const Vertex* vertex) const
168 throw(Exception::GeneralException);
176 Face*
other(const Face* face) const
177 throw(Exception::GeneralException);
185 bool substitute(const Vertex* old_vertex, Vertex* new_vertex);
193 bool substitute(const Face* old_vertex, Face* new_vertex);
202 Face*
remove(const Face* face);
218 virtual
bool operator == (const Edge&) const;
223 virtual
bool operator != (const Edge&) const;
228 virtual
bool operator *= (const Edge&) const;
254 template <typename Vertex, typename Edge, typename Face>
255 GraphEdge<Vertex,Edge,Face>::GraphEdge()
265 template <
typename Vertex,
typename Edge,
typename Face>
287 template <
typename Vertex,
typename Edge,
typename Face>
296 vertex_[0] = vertex1;
297 vertex_[1] = vertex2;
303 template <
typename Vertex,
typename Edge,
typename Face>
309 template <
typename Vertex,
typename Edge,
typename Face>
319 face_[0] = edge.
face_[0];
320 face_[1] = edge.
face_[1];
334 template <
typename Vertex,
typename Edge,
typename Face>
342 face_[0] = edge.
face_[0];
343 face_[1] = edge.
face_[1];
350 template <
typename Vertex,
typename Edge,
typename Face>
358 vertex_[0] = vertex0;
359 vertex_[1] = vertex1;
366 template <
typename Vertex,
typename Edge,
typename Face>
380 template <
typename Vertex,
typename Edge,
typename Face>
394 template <
typename Vertex,
typename Edge,
typename Face>
408 template <
typename Vertex,
typename Edge,
typename Face>
422 template <
typename Vertex,
typename Edge,
typename Face>
429 template <
typename Vertex,
typename Edge,
typename Face>
436 template <
typename Vertex,
typename Edge,
typename Face>
440 if (vertex_[0] == vertex)
446 if (vertex_[1] == vertex)
458 template <
typename Vertex,
typename Edge,
typename Face>
462 if (face_[0] == face)
468 if (face_[1] == face)
480 template <
typename Vertex,
typename Edge,
typename Face>
484 if (vertex_[0] == old_vertex)
486 vertex_[0] = new_vertex;
490 if (vertex_[1] == old_vertex)
492 vertex_[1] = new_vertex;
503 template <
typename Vertex,
typename Edge,
typename Face>
505 (
const Face* old_face, Face* new_face)
507 if (face_[0] == old_face)
513 if (face_[1] == old_face)
526 template <
typename Vertex,
typename Edge,
typename Face>
529 if (face_[1] == face)
535 if (face_[0] == face)
545 template <
typename Vertex,
typename Edge,
typename Face>
549 vertex_[0] = vertex_[1];
554 template <
typename Vertex,
typename Edge,
typename Face>
561 template <
typename Vertex,
typename Edge,
typename Face>
568 template <
typename Vertex,
typename Edge,
typename Face>
578 #endif // BALL_STRUCTURE_GRAPHEDGE_H
#define BALL_CREATE(name)
void set(const GraphEdge< Vertex, Edge, Face > &edge, bool deep=false)
void setFace(Position i, Face *face)
Face * remove(const Face *face)
Vertex * other(const Vertex *vertex) const
virtual bool operator*=(const Edge &) const
bool substitute(const Vertex *old_vertex, Vertex *new_vertex)
void setIndex(Index index)
virtual bool operator!=(const Edge &) const
Vertex * getVertex(Position i) const
Face * getFace(Position i) const
void setVertex(Position i, Vertex *vertex)
virtual bool operator==(const Edge &) const