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

`#include <BALL/STRUCTURE/graphVertex.h>`

## Public Types

Type definitions
typedef HashSet< Edge * >::Iterator | EdgeIterator
typedef HashSet< Edge * >::ConstIterator | ConstEdgeIterator
typedef HashSet< Face * >::Iterator | FaceIterator
typedef HashSet< Face * >::ConstIterator | ConstFaceIterator

## Public Member Functions

Constructors and Destructors
| GraphVertex ()
| GraphVertex (const GraphVertex< Vertex, Edge, Face > &vertex, bool deep=false)
virtual | ~GraphVertex ()
Assignment
void | set (const GraphVertex< Vertex, Edge, Face > &vertex, bool deep=false)
GraphVertex< Vertex, Edge, Face > & | operator= (const GraphVertex< Vertex, Edge, Face > &vertex)
Accessors
void | insert (Edge *edge)
void | insert (Face *face)
void | remove (Edge *edge)
void | remove (Face *face)
Position | numberOfEdges () const
Position | numberOfFaces () const
void | setIndex (Index index)
Index | getIndex () const
bool | join (const Vertex &vertex)
bool | substitute (Vertex *vertex)
Predicates
virtual bool | operator== (const Vertex &) const
virtual bool | operator!= (const Vertex &) const
virtual bool | operator*= (const Vertex &) const
Face * | has (Face *face) const
Edge * | has (Edge *edge) const
bool | hasEdges () const
bool | hasFaces () const

## Friends

Class friends

- class GraphEdge<Vertex,Edge,Face>;
- class GraphFace<Vertex,Edge,Face>;
- class GraphTriangle<Vertex,Edge,Face>;

class | GraphEdge< Vertex, Edge, Face >
class | GraphFace< Vertex, Edge, Face >
class | GraphTriangle< Vertex, Edge, Face >

## External Iterators

HashSet< Edge * > | edges_
HashSet< Face * > | faces_
Index | index_
EdgeIterator | beginEdge ()
ConstEdgeIterator | beginEdge () const
EdgeIterator | endEdge ()
ConstEdgeIterator | endEdge () const
FaceIterator | beginFace ()
ConstFaceIterator | beginFace () const
FaceIterator | endFace ()
ConstFaceIterator | endFace () const

## Detailed Description

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

Generic GraphVertex Class.

Definition at line 32 of file graphVertex.h.

## Member Typedef Documentation

## ConstEdgeIterator

template<typename Vertex, typename Edge, typename Face>

typedef HashSet<Edge*>::ConstIterator BALL::GraphVertex< Vertex, Edge, Face >::ConstEdgeIterator

Definition at line 54 of file graphVertex.h.

## ConstFaceIterator

template<typename Vertex, typename Edge, typename Face>

typedef HashSet<Face*>::ConstIterator BALL::GraphVertex< Vertex, Edge, Face >::ConstFaceIterator

Definition at line 56 of file graphVertex.h.

## EdgeIterator

template<typename Vertex, typename Edge, typename Face>

typedef HashSet<Edge*>::Iterator BALL::GraphVertex< Vertex, Edge, Face >::EdgeIterator

Definition at line 53 of file graphVertex.h.

## FaceIterator

template<typename Vertex, typename Edge, typename Face>

typedef HashSet<Face*>::Iterator BALL::GraphVertex< Vertex, Edge, Face >::FaceIterator

Definition at line 55 of file graphVertex.h.

## Constructor & Destructor Documentation

## GraphVertex() [1/2]

template<typename Vertex, typename Edge, typename Face>

BALL::GraphVertex< Vertex, Edge, Face >::GraphVertex | ( |  | ) |

Default constructor. This method creates a new GraphVertex object.

Definition at line 275 of file graphVertex.h.

## GraphVertex() [2/2]

template<typename Vertex, typename Edge, typename Face>

BALL::GraphVertex< Vertex, Edge, Face >::GraphVertex | ( | const GraphVertex< Vertex, Edge, Face > & | vertex,
|  | bool | deep = false )

Copy constructor. Create a new GraphVertex object from another.

Parameters

  vertex | the GraphVertex object to be copied
  deep | if deep = false, all pointers are set to NULL (default). Otherwise the new GraphVertex object is linked to the neighbours of the old GraphVertex object.

Definition at line 285 of file graphVertex.h.

## ~GraphVertex()

template<typename Vertex, typename Edge, typename Face>

BALL::GraphVertex< Vertex, Edge, Face >::~GraphVertex | ( |  | ) |

virtual

Destructor. Destructs the GraphVertex object.

Definition at line 301 of file graphVertex.h.

## Member Function Documentation

## beginEdge() [1/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::EdgeIterator BALL::GraphVertex< Vertex, Edge, Face >::beginEdge | ( |  | ) |

Definition at line 500 of file graphVertex.h.

## beginEdge() [2/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::ConstEdgeIterator BALL::GraphVertex< Vertex, Edge, Face >::beginEdge | ( |  | ) | const

Definition at line 509 of file graphVertex.h.

## beginFace() [1/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::FaceIterator BALL::GraphVertex< Vertex, Edge, Face >::beginFace | ( |  | ) |

Definition at line 536 of file graphVertex.h.

## beginFace() [2/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::ConstFaceIterator BALL::GraphVertex< Vertex, Edge, Face >::beginFace | ( |  | ) | const

Definition at line 545 of file graphVertex.h.

## endEdge() [1/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::EdgeIterator BALL::GraphVertex< Vertex, Edge, Face >::endEdge | ( |  | ) |

Definition at line 518 of file graphVertex.h.

## endEdge() [2/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::ConstEdgeIterator BALL::GraphVertex< Vertex, Edge, Face >::endEdge | ( |  | ) | const

Definition at line 527 of file graphVertex.h.

## endFace() [1/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::FaceIterator BALL::GraphVertex< Vertex, Edge, Face >::endFace | ( |  | ) |

Definition at line 554 of file graphVertex.h.

## endFace() [2/2]

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face >::ConstFaceIterator BALL::GraphVertex< Vertex, Edge, Face >::endFace | ( |  | ) | const

Definition at line 563 of file graphVertex.h.

## getIndex()

template<typename Vertex, typename Edge, typename Face>

Index BALL::GraphVertex< Vertex, Edge, Face >::getIndex | ( |  | ) | const

Return the index of the vertex.

Returns
  Index the index of the vertex

Definition at line 396 of file graphVertex.h.

## has() [1/2]

template<typename Vertex, typename Edge, typename Face>

Edge * BALL::GraphVertex< Vertex, Edge, Face >::has | ( | Edge * | edge | ) | const

Test whether the vertex is meber of a given edge.

Parameters

  edge | a pointer to the edge to be tested

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

Definition at line 467 of file graphVertex.h.

## has() [2/2]

template<typename Vertex, typename Edge, typename Face>

Face * BALL::GraphVertex< Vertex, Edge, Face >::has | ( | Face * | face | ) | const

Test whether the vertex is meber of a given face.

Parameters

  face | a pointer to the the face to be tested

Returns
  Face* a pointer to the face if it exists, otherwise NULL

Definition at line 451 of file graphVertex.h.

## hasEdges()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::hasEdges | ( |  | ) | const

Test whether the vertex has edges.

Definition at line 483 of file graphVertex.h.

## hasFaces()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::hasFaces | ( |  | ) | const

Test whether the vertex has faces.

Definition at line 491 of file graphVertex.h.

## insert() [1/2]

template<typename Vertex, typename Edge, typename Face>

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

Insert a new edge into the HashSet of edges the GraphVertex belongs to.

Parameters

  edge | a pointer to the new edge

Definition at line 340 of file graphVertex.h.

## insert() [2/2]

template<typename Vertex, typename Edge, typename Face>

void BALL::GraphVertex< Vertex, Edge, Face >::insert | ( | Face * | face | ) |

Insert a new face into the HashSet of faces the GraphVertex belongs to.

Parameters

  face | a pointer to the new face

Definition at line 348 of file graphVertex.h.

## join()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::join | ( | const Vertex & | vertex | ) |

Join two GraphVertices if they are similar. All edges and faces of the given Vertex are inserted.

Parameters

  vertex | the Vertex to join with

Returns
  bool true if the vertices can be joined, false otherwise

Definition at line 426 of file graphVertex.h.

## numberOfEdges()

template<typename Vertex, typename Edge, typename Face>

Position BALL::GraphVertex< Vertex, Edge, Face >::numberOfEdges | ( |  | ) | const

Return the number of edges the GraphVertex belongs to.

Returns
  Position the number of edges the GraphVertex belongs to

Definition at line 372 of file graphVertex.h.

## numberOfFaces()

template<typename Vertex, typename Edge, typename Face>

Position BALL::GraphVertex< Vertex, Edge, Face >::numberOfFaces | ( |  | ) | const

Return the number of faces the GraphVertex belongs to.

Returns
  Position the number of faces the GraphVertex belongs to

Definition at line 380 of file graphVertex.h.

## operator!=()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::operator!= | ( | const Vertex & |  | ) | const

virtual

Inequality operator.

Returns
  bool false

Reimplemented in BALL::RSVertex, BALL::SASVertex, BALL::SESVertex, and BALL::TrianglePoint.

Definition at line 579 of file graphVertex.h.

## operator*=()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::operator*= | ( | const Vertex & |  | ) | const

virtual

Similarity operator.

Returns
  bool true

Reimplemented in BALL::RSVertex, BALL::SASVertex, BALL::SESVertex, and BALL::TrianglePoint.

Definition at line 587 of file graphVertex.h.

## operator=()

template<typename Vertex, typename Edge, typename Face>

GraphVertex< Vertex, Edge, Face > & BALL::GraphVertex< Vertex, Edge, Face >::operator= | ( | const GraphVertex< Vertex, Edge, Face > & | vertex | ) |

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

Parameters

  vertex | the GraphVertex object to assign from

Definition at line 325 of file graphVertex.h.

## operator==()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::operator== | ( | const Vertex & |  | ) | const

virtual

Equality operator.

Returns
  bool true

Reimplemented in BALL::RSVertex, BALL::SASVertex, BALL::SESVertex, and BALL::TrianglePoint.

Definition at line 571 of file graphVertex.h.

## remove() [1/2]

template<typename Vertex, typename Edge, typename Face>

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

Remove an edge from the HashSet of edges the GraphVertex belongs to.

Parameters

  edge | a pointer to the edge to remove

Definition at line 356 of file graphVertex.h.

## remove() [2/2]

template<typename Vertex, typename Edge, typename Face>

void BALL::GraphVertex< Vertex, Edge, Face >::remove | ( | Face * | face | ) |

Remove a face from the HashSet of faces the GraphVertex belongs to.

Parameters

  face | a pointer to the face to remove

Definition at line 364 of file graphVertex.h.

## set()

template<typename Vertex, typename Edge, typename Face>

void BALL::GraphVertex< Vertex, Edge, Face >::set | ( | const GraphVertex< Vertex, Edge, Face > & | vertex,
|  | bool | deep = false )

Assign from another GraphVertex.

Parameters

  vertex | the GraphVertex object to assign from
  deep | if deep = false, all pointers are set to NULL (default). Otherwise the GraphVertex object is linked to the neighbours of the GraphVertex object to assign from.

Definition at line 308 of file graphVertex.h.

## setIndex()

template<typename Vertex, typename Edge, typename Face>

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

Set the index of the vertex.

Parameters

  index | the new index

Definition at line 388 of file graphVertex.h.

## substitute()

template<typename Vertex, typename Edge, typename Face>

bool BALL::GraphVertex< Vertex, Edge, Face >::substitute | ( | Vertex * | vertex | ) |

Subsitute the GraphVertex by a similar one. The GraphVertex is substituted in all his Edges and Faces.

Parameters

  vertex | a pointer to the vertex to substitute

Returns
  bool true if the vertex can be substituted, false otherwise

Definition at line 404 of file graphVertex.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 587 of file graphVertex.h.

## GraphFace< Vertex, Edge, Face >

template<typename Vertex, typename Edge, typename Face>

friend class GraphFace< Vertex, Edge, Face >

friend

Definition at line 587 of file graphVertex.h.

## GraphTriangle< Vertex, Edge, Face >

template<typename Vertex, typename Edge, typename Face>

friend class GraphTriangle< Vertex, Edge, Face >

friend

Definition at line 587 of file graphVertex.h.

## Member Data Documentation

## edges_

template<typename Vertex, typename Edge, typename Face>

HashSet<Edge*> BALL::GraphVertex< Vertex, Edge, Face >::edges_

protected

Definition at line 260 of file graphVertex.h.

## faces_

template<typename Vertex, typename Edge, typename Face>

HashSet<Face*> BALL::GraphVertex< Vertex, Edge, Face >::faces_

protected

Definition at line 263 of file graphVertex.h.

## index_

template<typename Vertex, typename Edge, typename Face>

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

protected

Definition at line 266 of file graphVertex.h.