Loading...
Searching...
No Matches
BALL::GraphFace< Vertex, Edge, Face > Class Template Reference
Molecular Modeling » Molecular Structure » Molecular Surface Computation

`#include <BALL/STRUCTURE/graphFace.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
Vertex * | has (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

## ConstEdgeIterator

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.

## ConstVertexIterator

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.

## EdgeIterator

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.

## VertexIterator

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

## GraphFace() [1/2]

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.

## GraphFace() [2/2]

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

  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 268 of file graphFace.h.

## ~GraphFace()

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

## beginEdge() [1/2]

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.

## beginEdge() [2/2]

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.

## beginVertex() [1/2]

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.

## beginVertex() [2/2]

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.

## endEdge() [1/2]

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.

## endEdge() [2/2]

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.

## endVertex() [1/2]

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.

## endVertex() [2/2]

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.

## getEdge()

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

  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 429 of file graphFace.h.

## getEdges()

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

  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 395 of file graphFace.h.

## getIndex()

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.

## getSimilarEdge()

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

  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.

## has() [1/2]

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

  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.

## has() [2/2]

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

  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.

## insert() [1/2]

template<typename Vertex, typename Edge, typename Face>

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

Insert a new edge to the GraphFace.

Parameters

  edge | a pointer to the new edge

Definition at line 336 of file graphFace.h.

## insert() [2/2]

template<typename Vertex, typename Edge, typename Face>

void BALL::GraphFace< Vertex, Edge, Face >::insert | ( | Vertex * | vertex | ) |

Insert a new vertex to the GraphFace.

Parameters

  vertex | a pointer to the new vertex

Definition at line 319 of file graphFace.h.

## numberOfEdges()

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.

## numberOfVertices()

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.

## operator!=()

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::SASFace, and BALL::SESFace.

Definition at line 510 of file graphFace.h.

## operator*=()

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::SASFace, and BALL::SESFace.

Definition at line 517 of file graphFace.h.

## operator=()

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

  face | the GraphFace object to assign from

Definition at line 305 of file graphFace.h.

## operator==()

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::SASFace, and BALL::SESFace.

Definition at line 503 of file graphFace.h.

## remove() [1/2]

template<typename Vertex, typename Edge, typename Face>

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

Remove an edge from the GraphFace.

Parameters

  edge | a pointer to the edge to remove

Definition at line 360 of file graphFace.h.

## remove() [2/2]

template<typename Vertex, typename Edge, typename Face>

void BALL::GraphFace< Vertex, Edge, Face >::remove | ( | Vertex * | vertex | ) |

Remove a vertex from the GraphFace.

Parameters

  vertex | a pointer to the vertex to remove

Definition at line 353 of file graphFace.h.

## set()

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

  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 289 of file graphFace.h.

## setIndex()

template<typename Vertex, typename Edge, typename Face>

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

Set the index of the GraphFace.

Parameters

  index | the new index

Definition at line 381 of file graphFace.h.

## substitute() [1/2]

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_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 485 of file graphFace.h.

## substitute() [2/2]

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_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 467 of file graphFace.h.

## Friends And Related Symbol Documentation

## GraphEdge< Vertex, Edge, Face >

template<typename Vertex, typename Edge, typename Face>

friend class GraphEdge< Vertex, Edge, Face >

friend

Definition at line 1366 of file graphFace.h.

## GraphVertex< Vertex, Edge, Face >

template<typename Vertex, typename Edge, typename Face>

friend class GraphVertex< Vertex, Edge, Face >

friend

Definition at line 1366 of file graphFace.h.

## Member Data Documentation

## edge_

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.

## index_

template<typename Vertex, typename Edge, typename Face>

Index BALL::GraphFace< Vertex, Edge, Face >::index_

protected

Definition at line 250 of file graphFace.h.

## vertex_

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.