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>
177 Face*
other(const Face* face) const;
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>
265 template <
typename Vertex,
typename Edge,
typename Face>
287 template <
typename Vertex,
typename Edge,
typename Face>
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>
341 vertex_[1] = edge.vertex_[1];
342 face_[0] = edge.face_[0];
343 face_[1] = edge.face_[1];
344 index_ = edge.index_;
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>
439 if (vertex_[0] == vertex)
445 if (vertex_[1] == vertex)
457 template <
typename Vertex,
typename Edge,
typename Face>
460 if (face_[0] == face)
466 if (face_[1] == face)
478 template <
typename Vertex,
typename Edge,
typename Face>
482 if (vertex_[0] == old_vertex)
484 vertex_[0] = new_vertex;
488 if (vertex_[1] == old_vertex)
490 vertex_[1] = new_vertex;
501 template <
typename Vertex,
typename Edge,
typename Face>
503 (
const Face* old_face, Face* new_face)
505 if (face_[0] == old_face)
511 if (face_[1] == old_face)
524 template <
typename Vertex,
typename Edge,
typename Face>
527 if (face_[1] == face)
533 if (face_[0] == face)
543 template <
typename Vertex,
typename Edge,
typename Face>
547 vertex_[0] = vertex_[1];
552 template <
typename Vertex,
typename Edge,
typename Face>
559 template <
typename Vertex,
typename Edge,
typename Face>
566 template <
typename Vertex,
typename Edge,
typename Face>
#define BALL_CREATE(name)
void setFace(Position i, Face *face)
Vertex * other(const Vertex *vertex) const
Vertex * getVertex(Position i) const
virtual bool operator*=(const Edge &) const
bool substitute(const Vertex *old_vertex, Vertex *new_vertex)
void setIndex(Index index)
Face * remove(const Face *face)
void setVertex(Position i, Vertex *vertex)
virtual bool operator!=(const Edge &) const
Face * getFace(Position i) const
virtual bool operator==(const Edge &) const
void set(const GraphEdge< Vertex, Edge, Face > &edge, bool deep=false)