BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members
BALL::GraphFace< Vertex, Edge, Face > Class Template Reference

#include <BALL/STRUCTURE/graphEdge.h>

Public Types

Type definitions
typedef std::list< Vertex * >
::iterator 
VertexIterator
 
typedef std::list< Vertex * >
::const_iterator 
ConstVertexIterator
 
typedef std::list< Edge * >
::iterator 
EdgeIterator
 
typedef std::list< Edge * >
::const_iterator 
ConstEdgeIterator
 

Public Member Functions

Constructors and Destructors
 GraphFace ()
 
 GraphFace (const GraphFace< Vertex, Edge, Face > &face, bool deep=false)
 
virtual ~GraphFace ()
 
Assignments
void set (const GraphFace< Vertex, Edge, Face > &face, bool deep=false)
 
GraphFace< Vertex, Edge, Face > & operator= (const GraphFace< Vertex, Edge, Face > &face)
 
Accessors
void insert (Vertex *vertex)
 
void insert (Edge *edge)
 
void remove (Vertex *vertex)
 
void remove (Edge *edge)
 
Position numberOfVertices () const
 
Position numberOfEdges () const
 
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
 
Edge * getSimilarEdge (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 &face) const
 
virtual bool operator!= (const Face &face) const
 
virtual bool operator*= (const Face &face) const
 
Vertexhas (Vertex *vertex) const
 
Edge * has (Edge *edge) const
 

Friends

Class friends
  • class GraphVertex<Vertex,Edge,Face>;
  • class GraphEdge<Vertex,Edge,Face>;
class GraphVertex< Vertex, Edge, Face >
 
class GraphEdge< Vertex, Edge, Face >
 

External Iterators

std::list< Vertex * > vertex_
 
std::list< Edge * > edge_
 
Index index_
 
VertexIterator beginVertex ()
 
ConstVertexIterator beginVertex () const
 
VertexIterator endVertex ()
 
ConstVertexIterator endVertex () const
 
EdgeIterator beginEdge ()
 
ConstEdgeIterator beginEdge () const
 
EdgeIterator endEdge ()
 
ConstEdgeIterator endEdge () const
 

Detailed Description

template<typename Vertex, typename Edge, typename Face>
class BALL::GraphFace< Vertex, Edge, Face >

Generic GraphFace Class.

Definition at line 21 of file graphEdge.h.

Member Typedef Documentation

template<typename Vertex, typename Edge, typename Face>
typedef std::list<Edge*>::const_iterator BALL::GraphFace< Vertex, Edge, Face >::ConstEdgeIterator

Definition at line 50 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
typedef std::list<Vertex*>::const_iterator BALL::GraphFace< Vertex, Edge, Face >::ConstVertexIterator

Definition at line 48 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
typedef std::list<Edge*>::iterator BALL::GraphFace< Vertex, Edge, Face >::EdgeIterator

Definition at line 49 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
typedef std::list<Vertex*>::iterator BALL::GraphFace< Vertex, Edge, Face >::VertexIterator

Definition at line 47 of file graphFace.h.

Constructor & Destructor Documentation

template<typename Vertex , typename Edge , typename Face >
BALL::GraphFace< Vertex, Edge, Face >::GraphFace ( )

Default constructor. This method creates a new GraphFace object.

Definition at line 259 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
BALL::GraphFace< Vertex, Edge, Face >::GraphFace ( const GraphFace< Vertex, Edge, Face > &  face,
bool  deep = false 
)

Copy constructor. Create a new GraphFace object from another.

Parameters
facethe GraphFace object to be copied
deepif deep = false, all pointers are set to NULL (default). Otherwise the new GraphFace object is linked to the neighbours of the old GraphFace object.

Definition at line 269 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
BALL::GraphFace< Vertex, Edge, Face >::~GraphFace ( )
virtual

Destructor. Destructs the GraphFace object.

Definition at line 283 of file graphFace.h.

Member Function Documentation

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::EdgeIterator BALL::GraphFace< Vertex, Edge, Face >::beginEdge ( )

Definition at line 589 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::ConstEdgeIterator BALL::GraphFace< Vertex, Edge, Face >::beginEdge ( ) const

Definition at line 597 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::VertexIterator BALL::GraphFace< Vertex, Edge, Face >::beginVertex ( )

Definition at line 557 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::ConstVertexIterator BALL::GraphFace< Vertex, Edge, Face >::beginVertex ( ) const

Definition at line 565 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::EdgeIterator BALL::GraphFace< Vertex, Edge, Face >::endEdge ( )

Definition at line 605 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::ConstEdgeIterator BALL::GraphFace< Vertex, Edge, Face >::endEdge ( ) const

Definition at line 613 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::VertexIterator BALL::GraphFace< Vertex, Edge, Face >::endVertex ( )

Definition at line 573 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
GraphFace< Vertex, Edge, Face >::ConstVertexIterator BALL::GraphFace< Vertex, Edge, Face >::endVertex ( ) const

Definition at line 581 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face >
bool BALL::GraphFace< Vertex, Edge, Face >::getEdge ( const Vertex vertex1,
const Vertex vertex2,
Edge *&  edge 
) const

Find the edge of the GraphFace that belongs to the two given vertices

Parameters
vertex1a pointer to the first given vertex
vertex2a pointer to the second given vertex
edgea pointer to the found edge
Returns
bool true if the edge can be found, false otherwise

Definition at line 430 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face >
bool BALL::GraphFace< Vertex, Edge, Face >::getEdges ( const Vertex vertex,
Edge *&  edge1,
Edge *&  edge2 
) const

Find the two edges of the GraphFace that belong to the given vertex

Parameters
vertexa pointer to the given vertex
edge1a pointer to the first found edge
edge2a pointer to the second found edge
Returns
bool true if the edges can be found, false otherwise

Definition at line 396 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
Index BALL::GraphFace< Vertex, Edge, Face >::getIndex ( ) const

Return the index of the GraphFace.

Returns
Index the index of the GraphFace

Definition at line 388 of file graphFace.h.

template<typename Vertex , typename Edge, typename Face >
Edge * BALL::GraphFace< Vertex, Edge, Face >::getSimilarEdge ( const Edge *  edge) const

Find the edge of the GraphFace that is similar to the given edge.

Parameters
edgea pointer to the given edge
Returns
Edge* a pointer to the similar edge of te GraphFace if it can be found, otherwise NULL

Definition at line 451 of file graphFace.h.

template<typename Vertex, typename Edge , typename Face >
Vertex * BALL::GraphFace< Vertex, Edge, Face >::has ( Vertex vertex) const

Test whether a vertex is meber of the face.

Parameters
vertexa pointer to the the vertex to test
Returns
Vertex* a pointer to the vertex if it exists, otherwise NULL

Definition at line 524 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face >
Edge * BALL::GraphFace< Vertex, Edge, Face >::has ( Edge *  edge) const

Test whether an edge is meber of the face.

Parameters
edgea pointer to the edge to test
Returns
Edge* a pointer to the edge if it exists, otherwise NULL

Definition at line 540 of file graphFace.h.

template<typename Vertex, typename Edge , typename Face >
void BALL::GraphFace< Vertex, Edge, Face >::insert ( Vertex vertex)

Insert a new vertex to the GraphFace.

Parameters
vertexa pointer to the new vertex

Definition at line 319 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face >
void BALL::GraphFace< Vertex, Edge, Face >::insert ( Edge *  edge)

Insert a new edge to the GraphFace.

Parameters
edgea pointer to the new edge

Definition at line 336 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
Position BALL::GraphFace< Vertex, Edge, Face >::numberOfEdges ( ) const

Return the number of edges of the GraphFace.

Returns
Position the number of edges of the GraphFace

Definition at line 374 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
Position BALL::GraphFace< Vertex, Edge, Face >::numberOfVertices ( ) const

Return the number of vertices of the GraphFace.

Returns
Position the number of vertices of the GraphFace

Definition at line 367 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face>
bool BALL::GraphFace< Vertex, Edge, Face >::operator!= ( const Face &  face) const
virtual

Inequality operator.

Returns
bool false

Reimplemented in BALL::SESFace, and BALL::SASFace.

Definition at line 510 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face>
bool BALL::GraphFace< Vertex, Edge, Face >::operator*= ( const Face &  face) const
virtual

Similarity operator.

Returns
bool true

Reimplemented in BALL::SESFace, and BALL::SASFace.

Definition at line 517 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
GraphFace< Vertex, Edge, Face > & BALL::GraphFace< Vertex, Edge, Face >::operator= ( const GraphFace< Vertex, Edge, Face > &  face)

Assign from another GraphFace. The GraphFace object is linked to the neighbours of the GraphFace object to assign from.

Parameters
facethe GraphFace object to assign from

Definition at line 306 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face>
bool BALL::GraphFace< Vertex, Edge, Face >::operator== ( const Face &  face) const
virtual

Equality operator.

Returns
bool true

Reimplemented in BALL::SESFace, and BALL::SASFace.

Definition at line 503 of file graphFace.h.

template<typename Vertex, typename Edge , typename Face >
void BALL::GraphFace< Vertex, Edge, Face >::remove ( Vertex vertex)

Remove a vertex from the GraphFace.

Parameters
vertexa pointer to the vertex to remove

Definition at line 353 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face >
void BALL::GraphFace< Vertex, Edge, Face >::remove ( Edge *  edge)

Remove an edge from the GraphFace.

Parameters
edgea pointer to the edge to remove

Definition at line 360 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
void BALL::GraphFace< Vertex, Edge, Face >::set ( const GraphFace< Vertex, Edge, Face > &  face,
bool  deep = false 
)

Assign from another GraphFace.

Parameters
facethe GraphFacee object to assign from
deepif deep = false, all pointers are set to NULL (default). Otherwise the GraphFace object is linked to the neighbours of the GraphFace object to assign from.

Definition at line 290 of file graphFace.h.

template<typename Vertex , typename Edge , typename Face >
void BALL::GraphFace< Vertex, Edge, Face >::setIndex ( Index  index)

Set the index of the GraphFace.

Parameters
indexthe new index

Definition at line 381 of file graphFace.h.

template<typename Vertex, typename Edge , typename Face >
bool BALL::GraphFace< Vertex, Edge, Face >::substitute ( const Vertex old_vertex,
Vertex new_vertex 
)

Substitute a vertex by an other one.

Parameters
old_vertexthe vertex that has to be substituted
new_vertexthe new vertex
Returns
bool true, if the vertex can be substituted, false otherwise

Definition at line 468 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face >
bool BALL::GraphFace< Vertex, Edge, Face >::substitute ( const Edge *  old_edge,
Edge *  new_edge 
)

Substitute an edge by an other one.

Parameters
old_edgethe edge that has to be substituted
new_edgethe new edge
Returns
bool true, if the edge can be substituted, false otherwise

Definition at line 486 of file graphFace.h.

Friends And Related Function Documentation

template<typename Vertex, typename Edge, typename Face>
friend class GraphEdge< Vertex, Edge, Face >
friend

Definition at line 39 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
friend class GraphVertex< Vertex, Edge, Face >
friend

Definition at line 38 of file graphFace.h.

Member Data Documentation

template<typename Vertex, typename Edge, typename Face>
std::list<Edge*> BALL::GraphFace< Vertex, Edge, Face >::edge_
protected

Definition at line 247 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
Index BALL::GraphFace< Vertex, Edge, Face >::index_
protected

Definition at line 250 of file graphFace.h.

template<typename Vertex, typename Edge, typename Face>
std::list<Vertex*> BALL::GraphFace< Vertex, Edge, Face >::vertex_
protected

Definition at line 244 of file graphFace.h.