#include <BALL/STRUCTURE/graphFace.h>
Public Member Functions | |
Constructors and Destructors | |
GraphTriangle () | |
GraphTriangle (const GraphTriangle< Vertex, Edge, Face > &face, bool deep=false) | |
GraphTriangle (Vertex *vertex1, Vertex *vertex2, Vertex *vertex3, Edge *edge1, Edge *edge2, Edge *edge3, Index index) | |
virtual | ~GraphTriangle () |
Assignment | |
void | set (const GraphTriangle< Vertex, Edge, Face > &face, bool deep=false) |
GraphTriangle< Vertex, Edge, Face > & | operator= (const GraphTriangle< Vertex, Edge, Face > &face) |
void | set (Vertex *vertex1, Vertex *vertex2, Vertex *vertex3, Edge *edge1, Edge *edge2, Edge *edge3, Index index) |
Accessors | |
void | setVertex (Position i, Vertex *vertex) throw (Exception::IndexOverflow) |
Vertex * | getVertex (Position i) const throw (Exception::IndexOverflow) |
void | setEdge (Position i, Edge *edge) throw (Exception::IndexOverflow) |
Edge * | getEdge (Position i) const throw (Exception::IndexOverflow) |
void | setIndex (Index index) |
Index | getIndex () const |
bool | getEdges (const Vertex *vertex, Edge *&edge1, Edge *&edge2) const |
bool | getEdge (const Vertex *vertex1, const Vertex *vertex2, Edge *&edge) const |
Index | getSimilarEdge (const Edge *edge, Edge *&similar_edge) const |
Index | getRelativeIndex (const Vertex *vertex) const |
Index | getRelativeIndex (const Edge *edge) const |
Vertex * | third (const Vertex *v1, const Vertex *v2) const |
Edge * | third (const Edge *e1, const Edge *e2) const |
Edge * | getOppositeEdge (const Vertex *vertex) const |
Vertex * | getOppositeVertex (const Edge *edge) const |
bool | substitute (const Vertex *old_vertex, Vertex *new_vertex) |
bool | substitute (const Edge *old_edge, Edge *new_edge) |
Predicates | |
virtual bool | operator== (const Face &) const |
virtual bool | operator!= (const Face &) const |
virtual bool | operator*= (const Face &) const |
Vertex * | has (Vertex *vertex) const |
Edge * | has (Edge *edge) const |
Protected Attributes | |
Vertex * | vertex_ [3] |
Edge * | edge_ [3] |
Index | index_ |
Friends | |
Class friends | |
| |
class | GraphVertex< Vertex, Edge, Face > |
class | GraphEdge< Vertex, Edge, Face > |
Generic GraphTriangle Class.
BALL::GraphTriangle< Vertex, Edge, Face >::GraphTriangle | ( | ) | [inline] |
Default constructor. This method creates a new GraphTriangle object.
BALL::GraphTriangle< Vertex, Edge, Face >::GraphTriangle | ( | const GraphTriangle< Vertex, Edge, Face > & | face, | |
bool | deep = false | |||
) | [inline] |
Copy constructor. Create a new GraphTriangle object from another.
face | the GraphTriangle object to be copied | |
deep | if deep = false, all pointers are set to NULL (default). Otherwise the new GraphTriangle object is linked to the neighbours of the old GraphTriangle object. |
References BALL::GraphTriangle< Vertex, Edge, Face >::edge_, and BALL::GraphTriangle< Vertex, Edge, Face >::vertex_.
BALL::GraphTriangle< Vertex, Edge, Face >::GraphTriangle | ( | Vertex * | vertex1, | |
Vertex * | vertex2, | |||
Vertex * | vertex3, | |||
Edge * | edge1, | |||
Edge * | edge2, | |||
Edge * | edge3, | |||
Index | index | |||
) | [inline] |
Detailled constructor. Create a new GraphTriangle object from some nice objects
vertex1 | assigned to the first vertex | |
vertex2 | assigned to the second vertex | |
vertex3 | assigned to the third vertex | |
edge1 | assigned to the first edge | |
edge2 | assigned to the second edge | |
edge3 | assigned to the third edge | |
index | assigned to the index |
References BALL::GraphTriangle< Vertex, Edge, Face >::edge_, and BALL::GraphTriangle< Vertex, Edge, Face >::vertex_.
BALL::GraphTriangle< Vertex, Edge, Face >::~GraphTriangle | ( | ) | [inline, virtual] |
Destructor. Destructs the GraphTriangle object.
bool BALL::GraphTriangle< Vertex, Edge, Face >::getEdge | ( | const Vertex * | vertex1, | |
const Vertex * | vertex2, | |||
Edge *& | edge | |||
) | const [inline] |
Find the edge of the GraphTriangle that belongs to the two given vertices.
vertex1 | a pointer to the first given vertex | |
vertex2 | a pointer to the second given vertex | |
edge | a pointer to the found edge |
Edge * BALL::GraphTriangle< Vertex, Edge, Face >::getEdge | ( | Position | i | ) | const throw (Exception::IndexOverflow) [inline] |
Return one of the edges of the GraphTriangle.
i | the relative index of the edge which should be given back. If i is greater than three, an exception is thrown. |
bool BALL::GraphTriangle< Vertex, Edge, Face >::getEdges | ( | const Vertex * | vertex, | |
Edge *& | edge1, | |||
Edge *& | edge2 | |||
) | const [inline] |
Find the two edges of the GraphTriangle that belong to the given vertex.
vertex | a pointer to the given vertex | |
edge1 | a pointer to the first found edge | |
edge2 | a pointer to the second found edge |
Index BALL::GraphTriangle< Vertex, Edge, Face >::getIndex | ( | ) | const [inline] |
Return the index of the GraphTriangle.
References BALL::GraphTriangle< Vertex, Edge, Face >::index_.
Edge * BALL::GraphTriangle< Vertex, Edge, Face >::getOppositeEdge | ( | const Vertex * | vertex | ) | const [inline] |
Get the edge of the GraphFace which lies on the opposite side of the given vertex.
vertex | a pointer to a vertex of the GraphTriangle |
Vertex * BALL::GraphTriangle< Vertex, Edge, Face >::getOppositeVertex | ( | const Edge * | edge | ) | const [inline] |
Get the vertex of the GraphFace which lies on the opposite side of the given edge.
edge | a pointer to an edge of the GraphTriangle |
Index BALL::GraphTriangle< Vertex, Edge, Face >::getRelativeIndex | ( | const Edge * | edge | ) | const [inline] |
Return the relative index of an edge in the GraphTriangle.
Index BALL::GraphTriangle< Vertex, Edge, Face >::getRelativeIndex | ( | const Vertex * | vertex | ) | const [inline] |
Return the relative index of a vertex in the GraphTriangle.
Index BALL::GraphTriangle< Vertex, Edge, Face >::getSimilarEdge | ( | const Edge * | edge, | |
Edge *& | similar_edge | |||
) | const [inline] |
Vertex * BALL::GraphTriangle< Vertex, Edge, Face >::getVertex | ( | Position | i | ) | const throw (Exception::IndexOverflow) [inline] |
Return one of the vertices of the GraphTriangle.
i | the relative index of the vertex which should be given back. If i is greater than three, an exception is thrown. |
Edge * BALL::GraphTriangle< Vertex, Edge, Face >::has | ( | Edge * | edge | ) | const [inline] |
Test whether an edge is meber of the face.
edge | a pointer to the edge to test |
References BALL::GraphTriangle< Vertex, Edge, Face >::edge_.
Vertex * BALL::GraphTriangle< Vertex, Edge, Face >::has | ( | Vertex * | vertex | ) | const [inline] |
Test whether a vertex is meber of the face.
vertex | a pointer to the the vertex to test |
References BALL::GraphTriangle< Vertex, Edge, Face >::vertex_.
bool BALL::GraphTriangle< Vertex, Edge, Face >::operator!= | ( | const Face & | ) | const [inline, virtual] |
bool BALL::GraphTriangle< Vertex, Edge, Face >::operator*= | ( | const Face & | ) | const [inline, virtual] |
GraphTriangle< Vertex, Edge, Face > & BALL::GraphTriangle< Vertex, Edge, Face >::operator= | ( | const GraphTriangle< Vertex, Edge, Face > & | face | ) | [inline] |
Assign from another GraphTriangle. The GraphTriangle object is linked to the neighbours of the GraphTriangle object to assifgn from.
face | the GraphTriangle object to assign from |
References BALL::GraphTriangle< Vertex, Edge, Face >::edge_, BALL::GraphTriangle< Vertex, Edge, Face >::index_, and BALL::GraphTriangle< Vertex, Edge, Face >::vertex_.
bool BALL::GraphTriangle< Vertex, Edge, Face >::operator== | ( | const Face & | ) | const [inline, virtual] |
void BALL::GraphTriangle< Vertex, Edge, Face >::set | ( | Vertex * | vertex1, | |
Vertex * | vertex2, | |||
Vertex * | vertex3, | |||
Edge * | edge1, | |||
Edge * | edge2, | |||
Edge * | edge3, | |||
Index | index | |||
) | [inline] |
Assign to a lot of nice objects
vertex1 | assigned to the first vertex | |
vertex2 | assigned to the second vertex | |
vertex3 | assigned to the third vertex | |
edge1 | assigned to the first edge | |
edge2 | assigned to the second edge | |
edge3 | assigned to the third edge | |
index | assigned to the index |
void BALL::GraphTriangle< Vertex, Edge, Face >::set | ( | const GraphTriangle< Vertex, Edge, Face > & | face, | |
bool | deep = false | |||
) | [inline] |
Assign from another GraphTriangle.
face | the GraphTriangle object to assign from | |
deep | if deep = false, all pointers are set to NULL (default). Otherwise the GraphTriangle object is linked to the neighbours of the GraphTriangle object to assign from. |
References BALL::GraphTriangle< Vertex, Edge, Face >::edge_, BALL::GraphTriangle< Vertex, Edge, Face >::index_, and BALL::GraphTriangle< Vertex, Edge, Face >::vertex_.
void BALL::GraphTriangle< Vertex, Edge, Face >::setEdge | ( | Position | i, | |
Edge * | edge | |||
) | throw (Exception::IndexOverflow) [inline] |
Set one of the edges of the GraphTriangle.
i | the relative index of the edge which should be set. If i is greater than three, an exception is thrown. | |
edge | a pointer to the new edge |
void BALL::GraphTriangle< Vertex, Edge, Face >::setIndex | ( | Index | index | ) | [inline] |
Set the index of the GraphTriangle.
index | the new index |
References BALL::GraphTriangle< Vertex, Edge, Face >::index_.
void BALL::GraphTriangle< Vertex, Edge, Face >::setVertex | ( | Position | i, | |
Vertex * | vertex | |||
) | throw (Exception::IndexOverflow) [inline] |
Set one of the vertices of the GraphTriangle.
i | the relative index of the vertex which should be set. If i is greater three, an exception is thrown. | |
vertex | a pointer to the new vertex |
bool BALL::GraphTriangle< Vertex, Edge, Face >::substitute | ( | const Edge * | old_edge, | |
Edge * | new_edge | |||
) | [inline] |
Substitute an edge by an other one.
old_edge | the edge that has to be substituted | |
new_edge | the new edge |
bool BALL::GraphTriangle< Vertex, Edge, Face >::substitute | ( | const Vertex * | old_vertex, | |
Vertex * | new_vertex | |||
) | [inline] |
Substitute a vertex by an other one.
old_vertex | the vertex that has to be substituted | |
new_vertex | the new vertex |
Edge * BALL::GraphTriangle< Vertex, Edge, Face >::third | ( | const Edge * | e1, | |
const Edge * | e2 | |||
) | const [inline] |
Return a pointer to the third edge of the GraphTriangle.
e1 | a pointer to the first edge | |
e2 | a pointer to the second edge |
Vertex * BALL::GraphTriangle< Vertex, Edge, Face >::third | ( | const Vertex * | v1, | |
const Vertex * | v2 | |||
) | const [inline] |
Return a pointer to the third vertex of the GraphTriangle.
v1 | a pointer to the first vertex | |
v2 | a pointer to the second vertex |
friend class GraphEdge< Vertex, Edge, Face > [friend] |
friend class GraphVertex< Vertex, Edge, Face > [friend] |
Edge* BALL::GraphTriangle< Vertex, Edge, Face >::edge_[3] [protected] |
Index BALL::GraphTriangle< Vertex, Edge, Face >::index_ [protected] |
Vertex* BALL::GraphTriangle< Vertex, Edge, Face >::vertex_[3] [protected] |