Loading...
Searching...
No Matches
BALL::RSFace Class Reference
Molecular Modeling » Molecular Structure » Molecular Surface Computation

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

Inheritance diagram for BALL::RSFace:

## Public Member Functions

Constructors and Destructors
| RSFace ()
| RSFace (const RSFace &rsface, bool deep=false)
| RSFace (RSVertex *vertex1, RSVertex *vertex2, RSVertex *vertex3, RSEdge *edge1, RSEdge *edge2, RSEdge *edge3, const TVector3< double > &center, const TVector3< double > &normal, bool singular, Index index)
virtual | ~RSFace ()
Assignment
void | set (const RSFace &rsface, bool deep=false)
RSFace & | operator= (const RSFace &rsface)
void | set (RSVertex *vertex1, RSVertex *vertex2, RSVertex *vertex3, RSEdge *edge1, RSEdge *edge2, RSEdge *edge3, const TVector3< double > &center, const TVector3< double > &normal, bool singular, Index index)
Predicates
virtual bool | operator== (const RSFace &rsface) const
virtual bool | operator!= (const RSFace &rsface) const
virtual bool | operator*= (const RSFace &rsface) const
bool | isSingular () const
Public Member Functions inherited from BALL::GraphTriangle< RSVertex, RSEdge, RSFace >
| GraphTriangle ()
virtual | ~GraphTriangle ()
void | set (const GraphTriangle< RSVertex, RSEdge, RSFace > &face, bool deep=false)
GraphTriangle< RSVertex, RSEdge, RSFace > & | operator= (const GraphTriangle< RSVertex, RSEdge, RSFace > &face)
void | setVertex (Position i, RSVertex *vertex)
RSVertex * | getVertex (Position i) const
void | setEdge (Position i, RSEdge *edge)
RSEdge * | getEdge (Position i) const
void | setIndex (Index index)
Index | getIndex () const
bool | getEdges (const RSVertex *vertex, RSEdge *&edge1, RSEdge *&edge2) const
Index | getSimilarEdge (const RSEdge *edge, RSEdge *&similar_edge) const
Index | getRelativeIndex (const RSVertex *vertex) const
RSVertex * | third (const RSVertex *v1, const RSVertex *v2) const
RSEdge * | getOppositeEdge (const RSVertex *vertex) const
RSVertex * | getOppositeVertex (const RSEdge *edge) const
bool | substitute (const RSVertex *old_vertex, RSVertex *new_vertex)
RSVertex * | has (RSVertex *vertex) const

## Friends

Class friends

- class RSEdge
- class RSVertex
- class ReducedSurface
- class RSComputer
- class SESEdge
- class SESFace
- class SESVertex
- class SolventExcludedSurface
- class SESComputer
- class TSESSingularityCleaner
- class TriangulatedSES
- class SESTriangulator
- class SASEdge
- class SASFace
- class SASVertex
- class SolventAccessibleSurface;
- class TriangulatedSAS
- class SASTriangulator

class | RSEdge
class | RSVertex
class | ReducedSurface
class | RSComputer
class | SESEdge
class | SESFace
class | SESVertex
class | SolventExcludedSurface
class | SESComputer
class | SESSingularityCleaner
class | TriangulatedSES
class | SESTriangulator
class | SASEdge
class | SASFace
class | SASVertex
class | SolventAccessibleSurface
class | TriangulatedSAS
class | SASTriangulator
Friends inherited from BALL::GraphTriangle< RSVertex, RSEdge, RSFace >

## Accessors

TVector3< double > | center_
TVector3< double > | normal_
bool | singular_
void | setCenter (const TVector3< double > &center)
TVector3< double > | getCenter () const
void | setNormal (const TVector3< double > &normal)
TVector3< double > | getNormal () const
void | setSingular (bool singular)
void | remove (HashSet< RSEdge * > &edges, HashSet< RSVertex * > &vertices, HashSet< RSFace * > &faces)

## Additional Inherited Members

RSVertex * | vertex_ [3]
RSEdge * | edge_ [3]
Index | index_

## Detailed Description

Generic RSFace Class.

Definition at line 40 of file RSFace.h.

## Constructor & Destructor Documentation

## RSFace() [1/3]

BALL::RSFace::RSFace | ( |  | ) |

Default constructor. This method creates a new RSFace object.

## RSFace() [2/3]

BALL::RSFace::RSFace | ( | const RSFace & | rsface,
|  | bool | deep = false )

Copy constructor. Create a new RSFace object from another.

Parameters

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

## RSFace() [3/3]

BALL::RSFace::RSFace | ( | RSVertex * | vertex1,
|  | RSVertex * | vertex2,
|  | RSVertex * | vertex3,
|  | RSEdge * | edge1,
|  | RSEdge * | edge2,
|  | RSEdge * | edge3,
|  | const TVector3< double > & | center,
|  | const TVector3< double > & | normal,
|  | bool | singular,
|  | Index | index )

Detailled constructor. Create a new RSFace object from a lot of nice objects

Parameters

  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
  center | assigned to the center
  normal | assigned to the normal vector
  singular |
  index | assigned to the index

Exceptions

  BALL::Exception::DivisionByZero |

## ~RSFace()

virtual BALL::RSFace::~RSFace | ( |  | ) |

virtual

Destructor. Destructs the RSFace object.

## Member Function Documentation

## getCenter()

TVector3< double > BALL::RSFace::getCenter | ( |  | ) | const

Return the center of the probe sphere defining the RSFace.

Returns
  TVector3<double> the center of the probe sphere

## getNormal()

TVector3< double > BALL::RSFace::getNormal | ( |  | ) | const

Return the vector orthogonal to the RSFace.

Returns
  TVector3<double> the vector orthogonal to the RSFace.

## isSingular()

bool BALL::RSFace::isSingular | ( |  | ) | const

isSingular

Returns
  bool true if the RSFace is singular,
  false otherwise

## operator!=()

virtual bool BALL::RSFace::operator!= | ( | const RSFace & | rsface | ) | const

virtual

Inequality operator.

Returns
  bool false if all vertices are similar modulo order and the centers are equal, true otherwise

Reimplemented from BALL::GraphTriangle< RSVertex, RSEdge, RSFace >.

## operator*=()

virtual bool BALL::RSFace::operator*= | ( | const RSFace & | rsface | ) | const

virtual

Similarity operator.

Returns
  bool true if all vertices are similar modulo order, false otherwise

Reimplemented from BALL::GraphTriangle< RSVertex, RSEdge, RSFace >.

## operator=()

RSFace & BALL::RSFace::operator= | ( | const RSFace & | rsface | ) |

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

Parameters

  rsface | the RSFace object to assign from

## operator==()

virtual bool BALL::RSFace::operator== | ( | const RSFace & | rsface | ) | const

virtual

Equality operator.

Returns
  bool true if all vertices are similar modulo order
  and the centers are equal, false otherwise

Reimplemented from BALL::GraphTriangle< RSVertex, RSEdge, RSFace >.

## remove()

void BALL::RSFace::remove | ( | HashSet< RSEdge * > & | edges,
|  | HashSet< RSVertex * > & | vertices,
|  | HashSet< RSFace * > & | faces )

Remove a RSFace from a ReducedSurface graph structure.

Parameters

  edges | In this HashSet all edges are pushed which do not belong to any face after this remove step.
  vertices | In this HashSet all vertices are pushed which possibliy are isolated after this remove step.
  faces | In this HashSet all faces are pushed which have lost a neighbour face during this remove step.

## set() [1/2]

void BALL::RSFace::set | ( | const RSFace & | rsface,
|  | bool | deep = false )

Assign from another RSFace.

Parameters

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

## set() [2/2]

void BALL::RSFace::set | ( | RSVertex * | vertex1,
|  | RSVertex * | vertex2,
|  | RSVertex * | vertex3,
|  | RSEdge * | edge1,
|  | RSEdge * | edge2,
|  | RSEdge * | edge3,
|  | const TVector3< double > & | center,
|  | const TVector3< double > & | normal,
|  | bool | singular,
|  | Index | index )

Assign to a lot of nice objects

Parameters

  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
  center | assigned to the center
  normal | assigned to the normal vector
  singular |
  index | assigned to the index

Exceptions

  BALL::Exception::DivisionByZero |

## setCenter()

void BALL::RSFace::setCenter | ( | const TVector3< double > & | center | ) |

Set the center of the probe sphere defining the RSFace.

Parameters

  center | the new center

## setNormal()

void BALL::RSFace::setNormal | ( | const TVector3< double > & | normal | ) |

Set the vector orthogonal to the RSFace.

Parameters

  normal | the new normal

Exceptions

  BALL::Exception::DivisionByZero |

## setSingular()

void BALL::RSFace::setSingular | ( | bool | singular | ) |

Set singular

## Friends And Related Symbol Documentation

## ReducedSurface

friend class ReducedSurface

friend

Definition at line 68 of file RSFace.h.

## RSComputer

friend class RSComputer

friend

Definition at line 69 of file RSFace.h.

## RSEdge

friend class RSEdge

friend

Definition at line 66 of file RSFace.h.

## RSVertex

friend class RSVertex

friend

Definition at line 67 of file RSFace.h.

## SASEdge

friend class SASEdge

friend

Definition at line 78 of file RSFace.h.

## SASFace

friend class SASFace

friend

Definition at line 79 of file RSFace.h.

## SASTriangulator

friend class SASTriangulator

friend

Definition at line 83 of file RSFace.h.

## SASVertex

friend class SASVertex

friend

Definition at line 80 of file RSFace.h.

## SESComputer

friend class SESComputer

friend

Definition at line 74 of file RSFace.h.

## SESEdge

friend class SESEdge

friend

Definition at line 70 of file RSFace.h.

## SESFace

friend class SESFace

friend

Definition at line 71 of file RSFace.h.

## SESSingularityCleaner

friend class SESSingularityCleaner

friend

Definition at line 75 of file RSFace.h.

## SESTriangulator

friend class SESTriangulator

friend

Definition at line 77 of file RSFace.h.

## SESVertex

friend class SESVertex

friend

Definition at line 72 of file RSFace.h.

## SolventAccessibleSurface

friend class SolventAccessibleSurface

friend

Definition at line 81 of file RSFace.h.

## SolventExcludedSurface

friend class SolventExcludedSurface

friend

Definition at line 73 of file RSFace.h.

## TriangulatedSAS

friend class TriangulatedSAS

friend

Definition at line 82 of file RSFace.h.

## TriangulatedSES

friend class TriangulatedSES

friend

Definition at line 76 of file RSFace.h.

## Member Data Documentation

## center_

TVector3<double> BALL::RSFace::center_

protected

Definition at line 275 of file RSFace.h.

## normal_

TVector3<double> BALL::RSFace::normal_

protected

Definition at line 278 of file RSFace.h.

## singular_

bool BALL::RSFace::singular_

protected

Definition at line 281 of file RSFace.h.