#include <BALL/STRUCTURE/graphEdge.h>
Public Member Functions | |
Constructors and Destructors | |
GraphEdge () | |
GraphEdge (const GraphEdge< Vertex, Edge, Face > &edge, bool deep=false) | |
GraphEdge (Vertex *vertex1, Vertex *vertex2, Face *face1, Face *face2, Index index) | |
virtual | ~GraphEdge () |
Assignment | |
void | set (const GraphEdge< Vertex, Edge, Face > &edge, bool deep=false) |
GraphEdge< Vertex, Edge, Face > & | operator= (const GraphEdge< Vertex, Edge, Face > &edge) |
void | set (Vertex *vertex0, Vertex *vertex1, Face *face0, Face *face1, Index index) |
Accessors | |
void | setVertex (Position i, Vertex *vertex) |
Vertex * | getVertex (Position i) const |
void | setFace (Position i, Face *face) |
Face * | getFace (Position i) const |
void | setIndex (Index index) |
Index | getIndex () const |
Vertex * | other (const Vertex *vertex) const throw (Exception::GeneralException) |
Face * | other (const Face *face) const throw (Exception::GeneralException) |
bool | substitute (const Vertex *old_vertex, Vertex *new_vertex) |
bool | substitute (const Face *old_vertex, Face *new_vertex) |
Face * | remove (const Face *face) |
void | revert () |
Predicates | |
virtual bool | operator== (const Edge &) const |
virtual bool | operator!= (const Edge &) const |
virtual bool | operator*= (const Edge &) const |
Protected Attributes | |
Vertex * | vertex_ [2] |
Face * | face_ [2] |
Index | index_ |
Friends | |
Class friends | |
| |
class | GraphVertex< Vertex, Edge, Face > |
class | GraphFace< Vertex, Edge, Face > |
class | GraphTriangle< Vertex, Edge, Face > |
Generic GraphEdge Class.
BALL::GraphEdge< Vertex, Edge, Face >::GraphEdge | ( | ) |
Default constructor. This method creates a new GraphEdge object.
BALL::GraphEdge< Vertex, Edge, Face >::GraphEdge | ( | const GraphEdge< Vertex, Edge, Face > & | edge, |
bool | deep = false |
||
) |
Copy constructor. Create a new GraphEdge object from another.
edge | the GraphEdge object to be copied |
deep | if deep = false, all pointers are set to NULL (default). Otherwise the new GraphEdge object is linked to the neighbours of the old GraphEdge object. |
References BALL::GraphEdge< Vertex, Edge, Face >::face_, and BALL::GraphEdge< Vertex, Edge, Face >::vertex_.
BALL::GraphEdge< Vertex, Edge, Face >::GraphEdge | ( | Vertex * | vertex1, |
Vertex * | vertex2, | ||
Face * | face1, | ||
Face * | face2, | ||
Index | index | ||
) |
Detailled constructor. Create a new GraphEdge object from a lot of nice objects
vertex1 | assigned to the first vertex |
vertex2 | assigned to the second vertex |
face1 | assigned to the first face |
face2 | assigned to the second face |
index | assigned to the index |
BALL::GraphEdge< Vertex, Edge, Face >::~GraphEdge | ( | ) | [virtual] |
Destructor. Destructs the GraphEdge object. The neighboured faces and vertices are {/bf not} destructed.
Face * BALL::GraphEdge< Vertex, Edge, Face >::getFace | ( | Position | i | ) | const |
Return one of the two faces of the GraphEdge.
i |
Index BALL::GraphEdge< Vertex, Edge, Face >::getIndex | ( | ) | const |
Vertex * BALL::GraphEdge< Vertex, Edge, Face >::getVertex | ( | Position | i | ) | const |
Return one of the two vertices of the GraphEdge.
i |
bool BALL::GraphEdge< Vertex, Edge, Face >::operator!= | ( | const Edge & | ) | const [virtual] |
Inequality operator.
Reimplemented in BALL::RSEdge, BALL::SASEdge, BALL::SESEdge, and BALL::TriangleEdge.
bool BALL::GraphEdge< Vertex, Edge, Face >::operator*= | ( | const Edge & | ) | const [virtual] |
Similarity operator.
Reimplemented in BALL::RSEdge, BALL::SASEdge, BALL::SESEdge, and BALL::TriangleEdge.
GraphEdge< Vertex, Edge, Face > & BALL::GraphEdge< Vertex, Edge, Face >::operator= | ( | const GraphEdge< Vertex, Edge, Face > & | edge | ) |
Assign from another GraphEdge. The GraphEdge object is linked to the neighbours of the GraphEdge object to assign from.
edge | the GraphEdge object to assign from |
References BALL::GraphEdge< Vertex, Edge, Face >::face_, BALL::GraphEdge< Vertex, Edge, Face >::index_, and BALL::GraphEdge< Vertex, Edge, Face >::vertex_.
bool BALL::GraphEdge< Vertex, Edge, Face >::operator== | ( | const Edge & | ) | const [virtual] |
Equality operator.
Reimplemented in BALL::RSEdge, BALL::SASEdge, BALL::SESEdge, and BALL::TriangleEdge.
Vertex * BALL::GraphEdge< Vertex, Edge, Face >::other | ( | const Vertex * | vertex | ) | const throw (Exception::GeneralException) |
Face * BALL::GraphEdge< Vertex, Edge, Face >::other | ( | const Face * | face | ) | const throw (Exception::GeneralException) |
Face * BALL::GraphEdge< Vertex, Edge, Face >::remove | ( | const Face * | face | ) |
void BALL::GraphEdge< Vertex, Edge, Face >::revert | ( | ) |
void BALL::GraphEdge< Vertex, Edge, Face >::set | ( | Vertex * | vertex0, |
Vertex * | vertex1, | ||
Face * | face0, | ||
Face * | face1, | ||
Index | index | ||
) |
Assign from a lot of nice objects
vertex0 | assigned to the first vertex |
vertex1 | assigned to the second vertex |
face0 | assigned to the first face |
face1 | assigned to the second face |
index | assigned to the index |
void BALL::GraphEdge< Vertex, Edge, Face >::set | ( | const GraphEdge< Vertex, Edge, Face > & | edge, |
bool | deep = false |
||
) |
Assign from another GraphEdge.
edge | the GraphEdge object to assign from |
deep | if deep = false, all pointers are set to NULL (default). Otherwise the GraphEdge object is linked to the neighbours of the GraphEdge object to assign from. |
References BALL::GraphEdge< Vertex, Edge, Face >::face_, BALL::GraphEdge< Vertex, Edge, Face >::index_, and BALL::GraphEdge< Vertex, Edge, Face >::vertex_.
void BALL::GraphEdge< Vertex, Edge, Face >::setFace | ( | Position | i, |
Face * | face | ||
) |
Set one of the two faces of the GraphEdge.
i | change the first face, if i = 0, the second otherwise |
face | a pointer to the new face |
void BALL::GraphEdge< Vertex, Edge, Face >::setIndex | ( | Index | index | ) |
Set the index of the GraphEdge.
index | the new index |
void BALL::GraphEdge< Vertex, Edge, Face >::setVertex | ( | Position | i, |
Vertex * | vertex | ||
) |
Set one of the two vertices of the GraphEdge.
i | the first vertex is changed if i = 0, the second otherwise |
vertex | a pointer to the new vertex |
bool BALL::GraphEdge< Vertex, Edge, Face >::substitute | ( | const Vertex * | old_vertex, |
Vertex * | new_vertex | ||
) |
Substitute a vertex by an other one.
old_vertex | the vertex that has to be substituted |
new_vertex | the new vertex |
bool BALL::GraphEdge< Vertex, Edge, Face >::substitute | ( | const Face * | old_vertex, |
Face * | new_vertex | ||
) |
Substitute a face by an other one.
old_vertex | the face that has to be substituted |
new_vertex | the new face |
friend class GraphFace< Vertex, Edge, Face > [friend] |
friend class GraphTriangle< Vertex, Edge, Face > [friend] |
friend class GraphVertex< Vertex, Edge, Face > [friend] |
Face* BALL::GraphEdge< Vertex, Edge, Face >::face_[2] [protected] |
Index BALL::GraphEdge< Vertex, Edge, Face >::index_ [protected] |
Vertex* BALL::GraphEdge< Vertex, Edge, Face >::vertex_[2] [protected] |