#include <graphFace.h>
Public Member Functions |
|
Constructors and Destructors
|
|
GraphTriangle () | |
Default constructor. |
|
GraphTriangle (const GraphTriangle< Vertex, Edge, Face > &face, bool deep=false) | |
Copy constructor. |
|
GraphTriangle (Vertex *vertex1, Vertex *vertex2, Vertex *vertex3, Edge *edge1, Edge *edge2, Edge *edge3, Index index) | |
Detailled constructor. |
|
virtual | ~GraphTriangle () |
Destructor. |
|
Assignment
|
|
void | set (const GraphTriangle< Vertex, Edge, Face > &face, bool deep=false) |
Assign from another GraphTriangle. |
|
GraphTriangle<
Vertex,
Edge, Face > & |
operator= (const GraphTriangle< Vertex, Edge, Face > &face) |
Assign from another GraphTriangle. |
|
void | set (Vertex *vertex1, Vertex *vertex2, Vertex *vertex3, Edge *edge1, Edge *edge2, Edge *edge3, Index index) |
Assign to a lot of nice objects.
|
|
Accessors
|
|
void | setVertex (Position i, Vertex *vertex) throw (Exception::IndexOverflow) |
Set one of the vertices of the
GraphTriangle. |
|
Vertex * | getVertex (Position i) const throw (Exception::IndexOverflow) |
Return one of the vertices of the
GraphTriangle. |
|
void | setEdge (Position i, Edge *edge) throw (Exception::IndexOverflow) |
Set one of the edges of the
GraphTriangle. |
|
Edge * | getEdge (Position i) const throw (Exception::IndexOverflow) |
Return one of the edges of the
GraphTriangle. |
|
void | setIndex (Index index) |
Set the index of the GraphTriangle. |
|
Index | getIndex () const |
Return the index of the GraphTriangle. |
|
bool | getEdges (const Vertex *vertex, Edge *&edge1, Edge *&edge2) const |
Find the two edges of the GraphTriangle that
belong to the given vertex. |
|
bool | getEdge (const Vertex *vertex1, const Vertex *vertex2, Edge *&edge) const |
Find the edge of the GraphTriangle that
belongs to the two given vertices. |
|
Index | getSimilarEdge (const Edge *edge, Edge *&similar_edge) const |
Find the edge of the GraphFace that is similar to
the given edge. |
|
Index | getRelativeIndex (const Vertex *vertex) const |
Return the relative index of a
vertex in the GraphTriangle. |
|
Index | getRelativeIndex (const Edge *edge) const |
Return the relative index of an edge
in the GraphTriangle.
|
|
Vertex * | third (const Vertex *v1, const Vertex *v2) const |
Return a pointer to the third vertex
of the GraphTriangle.
|
|
Edge * | third (const Edge *e1, const Edge *e2) const |
Return a pointer to the third edge
of the GraphTriangle.
|
|
Edge * | getOppositeEdge (const Vertex *vertex) const |
Get the edge of the GraphFace which lies on the
opposite side of the given vertex. |
|
Vertex * | getOppositeVertex (const Edge *edge) const |
Get the vertex of the GraphFace which lies on the
opposite side of the given edge. |
|
bool | substitute (const Vertex *old_vertex, Vertex *new_vertex) |
Substitute a vertex by an other one.
|
|
bool | substitute (const Edge *old_edge, Edge *new_edge) |
Substitute an edge by an other one.
|
|
Predicates
|
|
virtual bool | operator== (const Face &) const |
Equality operator. |
|
virtual bool | operator!= (const Face &) const |
Inequality operator. |
|
virtual bool | operator*= (const Face &) const |
Similarity operator. |
|
Vertex * | has (Vertex *vertex) const |
Test whether a vertex is meber of
the face. |
|
Edge * | has (Edge *edge) const |
Test whether an edge is meber of the
face. |
|
Protected Attributes |
|
Vertex * | vertex_ [3] |
Edge * | edge_ [3] |
Index | index_ |
Friends |
|
Class friends
|
|
|
|
class | GraphVertex< Vertex, Edge, Face > |
class | GraphEdge< Vertex, Edge, Face > |
BALL::GraphTriangle< Vertex, Edge, Face >::GraphTriangle | ( | ) |
Default constructor.
This method creates a new GraphTriangle object.
BALL::GraphTriangle< Vertex, Edge, Face >::GraphTriangle | ( | const GraphTriangle< Vertex, Edge, Face > & | face, | |
bool | deep =
false |
|||
) |
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 | |||
) |
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 |
BALL::GraphTriangle< Vertex, Edge, Face >::~GraphTriangle | ( | ) | [virtual] |
Destructor.
Destructs the GraphTriangle object.
bool BALL::GraphTriangle< Vertex, Edge, Face >::getEdge | ( | const Vertex * | vertex1, | |
const Vertex * | vertex2, | |||
Edge *& | edge | |||
) | const |
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) |
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 |
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 |
Return the index of the GraphTriangle.
Edge * BALL::GraphTriangle< Vertex, Edge, Face >::getOppositeEdge | ( | const Vertex * | vertex | ) | const |
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 |
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 |
Return the relative index of an edge in the GraphTriangle.
Index BALL::GraphTriangle< Vertex, Edge, Face >::getRelativeIndex | ( | const Vertex * | vertex | ) | const |
Return the relative index of a vertex in the GraphTriangle.
Index BALL::GraphTriangle< Vertex, Edge, Face >::getSimilarEdge | ( | const Edge * | edge, | |
Edge *& | similar_edge | |||
) | const |
Vertex * BALL::GraphTriangle< Vertex, Edge, Face >::getVertex | ( | Position | i | ) | const throw (Exception::IndexOverflow) |
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 |
Test whether an edge is meber of the face.
edge | a pointer to the edge to test |
Vertex * BALL::GraphTriangle< Vertex, Edge, Face >::has | ( | Vertex * | vertex | ) | const |
Test whether a vertex is meber of the face.
vertex | a pointer to the the vertex to test |
bool BALL::GraphTriangle< Vertex, Edge, Face >::operator!= | ( | const Face & | ) | const [virtual] |
bool BALL::GraphTriangle< Vertex, Edge, Face >::operator*= | ( | const Face & | ) | const [virtual] |
GraphTriangle< Vertex, Edge, Face > & BALL::GraphTriangle< Vertex, Edge, Face >::operator= | ( | const GraphTriangle< Vertex, Edge, Face > & | face | ) |
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 [virtual] |
void BALL::GraphTriangle< Vertex, Edge, Face >::set | ( | Vertex * | vertex1, | |
Vertex * | vertex2, | |||
Vertex * | vertex3, | |||
Edge * | edge1, | |||
Edge * | edge2, | |||
Edge * | edge3, | |||
Index | index | |||
) |
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 |
|||
) |
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) |
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 | ) |
Set the index of the GraphTriangle.
index | the new index |
void BALL::GraphTriangle< Vertex, Edge, Face >::setVertex | ( | Position | i, | |
Vertex * | vertex | |||
) | throw (Exception::IndexOverflow) |
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 | |||
) |
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 | |||
) |
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 |
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 |
Return a pointer to the third vertex of the GraphTriangle.
v1 | a pointer to the first vertex | |
v2 | a pointer to the second vertex |