Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

RSFace Class Reference
[Molecular Surface Computation]

Generic RSFace Class. More...

#include <RSFace.h>

Inheritance diagram for RSFace:

GraphTriangle< RSVertex, RSEdge, RSFace > List of all members.

Public Member Functions

Constructors and Destructors
 RSFace () throw ()
 Default constructor.
 RSFace (const RSFace &rsface, bool deep=false) throw ()
 Copy constructor.
 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) throw (Exception::DivisionByZero)
 Detailled constructor.
virtual ~RSFace () throw ()
 Destructor.
Assignment
void set (const RSFace &rsface, bool deep=false) throw ()
 Assign from another RSFace.
RSFaceoperator= (const RSFace &rsface) throw ()
 Assign from another 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) throw (Exception::DivisionByZero)
 Assign to a lot of nice objects.
Predicates
virtual bool operator== (const RSFace &rsface) const throw ()
 Equality operator.
virtual bool operator!= (const RSFace &rsface) const throw ()
 Inequality operator.
virtual bool operator *= (const RSFace &rsface) const throw ()
 Similarity operator.
bool isSingular () const throw ()
 isSingular
Accessors
void setCenter (const TVector3< double > &center) throw ()
 Set the center of the probe sphere defining the RSFace.
TVector3< double > getCenter () const throw ()
 Return the center of the probe sphere defining the RSFace.
void setNormal (const TVector3< double > &normal) throw (Exception::DivisionByZero)
 Set the vector orthogonal to the RSFace.
TVector3< double > getNormal () const throw ()
 Return the vector orthogonal to the RSFace.
void setSingular (bool singular) throw ()
 Set singular.
void remove (HashSet< RSEdge * > &edges, HashSet< RSVertex * > &vertices, HashSet< RSFace * > &faces) throw ()
 Remove a RSFace from a ReducedSurface graph structure.

Protected Attributes

TVector3< double > center_
TVector3< double > normal_
bool singular_

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

Detailed Description

Generic RSFace Class.


Constructor & Destructor Documentation

RSFace::RSFace  )  throw ()
 

Default constructor.

This method creates a new RSFace object.

RSFace::RSFace const RSFace rsface,
bool  deep = false
throw ()
 

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::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
throw (Exception::DivisionByZero)
 

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

virtual RSFace::~RSFace  )  throw () [virtual]
 

Destructor.

Destructs the RSFace object.


Member Function Documentation

TVector3<double> RSFace::getCenter  )  const throw ()
 

Return the center of the probe sphere defining the RSFace.

Returns:
TVector3<double> the center of the probe sphere

TVector3<double> RSFace::getNormal  )  const throw ()
 

Return the vector orthogonal to the RSFace.

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

bool RSFace::isSingular  )  const throw ()
 

isSingular

Returns:
bool true if the RSFace is singular, false otherwise

virtual bool RSFace::operator *= const RSFace rsface  )  const throw () [virtual]
 

Similarity operator.

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

Reimplemented from GraphTriangle< RSVertex, RSEdge, RSFace >.

virtual bool RSFace::operator!= const RSFace rsface  )  const throw () [virtual]
 

Inequality operator.

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

Reimplemented from GraphTriangle< RSVertex, RSEdge, RSFace >.

RSFace& RSFace::operator= const RSFace rsface  )  throw ()
 

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

virtual bool RSFace::operator== const RSFace rsface  )  const throw () [virtual]
 

Equality operator.

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

Reimplemented from GraphTriangle< RSVertex, RSEdge, RSFace >.

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

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.

void 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
throw (Exception::DivisionByZero)
 

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

void RSFace::set const RSFace rsface,
bool  deep = false
throw ()
 

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.

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

Set the center of the probe sphere defining the RSFace.

Parameters:
center the new center

void RSFace::setNormal const TVector3< double > &  normal  )  throw (Exception::DivisionByZero)
 

Set the vector orthogonal to the RSFace.

Parameters:
normal the new normal