BALL::GraphFace< Vertex, Edge, Face > Class Template Reference
[Molecular Surface Computation]

#include <BALL/STRUCTURE/graphFace.h>

List of all members.

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 28 of file graphFace.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 (  )  [inline]

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 
) [inline]

Copy constructor. Create a new GraphFace object from another.

Parameters:
face the GraphFace object to be copied
deep if 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 (  )  [inline, 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 >::ConstEdgeIterator BALL::GraphFace< Vertex, Edge, Face >::beginEdge (  )  const [inline]

Definition at line 597 of file graphFace.h.

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

Definition at line 589 of file graphFace.h.

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

Definition at line 565 of file graphFace.h.

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

Definition at line 557 of file graphFace.h.

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

Definition at line 613 of file graphFace.h.

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

Definition at line 605 of file graphFace.h.

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

Definition at line 581 of file graphFace.h.

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

Definition at line 573 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 [inline]

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

Parameters:
vertex1 a pointer to the first given vertex
vertex2 a pointer to the second given vertex
edge a 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 [inline]

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

Parameters:
vertex a pointer to the given vertex
edge1 a pointer to the first found edge
edge2 a 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 [inline]

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 [inline]

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

Parameters:
edge a 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 >
Edge * BALL::GraphFace< Vertex, Edge, Face >::has ( Edge *  edge  )  const [inline]

Test whether an edge is meber of the face.

Parameters:
edge a 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 >
Vertex * BALL::GraphFace< Vertex, Edge, Face >::has ( Vertex vertex  )  const [inline]

Test whether a vertex is meber of the face.

Parameters:
vertex a 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 >
void BALL::GraphFace< Vertex, Edge, Face >::insert ( Edge *  edge  )  [inline]

Insert a new edge to the GraphFace.

Parameters:
edge a pointer to the new edge

Definition at line 336 of file graphFace.h.

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

Insert a new vertex to the GraphFace.

Parameters:
vertex a pointer to the new vertex

Definition at line 319 of file graphFace.h.

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

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 [inline]

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 [inline, virtual]

Inequality operator.

Returns:
bool false

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

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 [inline, virtual]

Similarity operator.

Returns:
bool true

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

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  )  [inline]

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

Parameters:
face the 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 [inline, virtual]

Equality operator.

Returns:
bool true

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

Definition at line 503 of file graphFace.h.

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

Remove an edge from the GraphFace.

Parameters:
edge a 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 >::remove ( Vertex vertex  )  [inline]

Remove a vertex from the GraphFace.

Parameters:
vertex a 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 >::set ( const GraphFace< Vertex, Edge, Face > &  face,
bool  deep = false 
) [inline]

Assign from another GraphFace.

Parameters:
face the GraphFacee object to assign from
deep if 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  )  [inline]

Set the index of the GraphFace.

Parameters:
index the 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 Edge *  old_edge,
Edge *  new_edge 
) [inline]

Substitute an edge by an other one.

Parameters:
old_edge the edge that has to be substituted
new_edge the new edge
Returns:
bool true, if the edge can be substituted, false otherwise

Definition at line 486 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 
) [inline]

Substitute a vertex by an other one.

Parameters:
old_vertex the vertex that has to be substituted
new_vertex the new vertex
Returns:
bool true, if the vertex can be substituted, false otherwise

Definition at line 468 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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3