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

RSEdge Class Reference
[Molecular Surface Computation]

Generic RSEdge Class. More...

#include <RSEdge.h>

Inheritance diagram for RSEdge:

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

Public Member Functions

Constructors and Destructors
 RSEdge () throw ()
 Default constructor.
 RSEdge (const RSEdge &rsedge, bool deep=false) throw ()
 Copy constructor.
 RSEdge (RSVertex *vertex1, RSVertex *vertex2, RSFace *face1, RSFace *face2, const TVector3< double > &center_of_torus, const double &radius_of_torus, const TAngle< double > &angle, const TCircle3< double > &circle1, const TCircle3< double > &circle2, const TVector3< double > &intersection_point1, const TVector3< double > &intersection_point2, bool singular, Index index) throw ()
 Detailled constructor.
virtual ~RSEdge () throw ()
 Destructor.
Assignment
void set (const RSEdge &rsedge, bool deep=false) throw ()
 Assign from another RSEdge.
RSEdgeoperator= (const RSEdge &rsedge) throw ()
 Assign from another RSEdge.
void set (RSVertex *vertex0, RSVertex *vertex1, RSFace *face0, RSFace *face1, const TVector3< double > &center_of_torus, const double &radius_of_torus, const TAngle< double > &angle, const TCircle3< double > &circle0, const TCircle3< double > &circle1, const TVector3< double > &intersection_point0, const TVector3< double > &intersection_point1, bool singular, Index index) throw ()
 Assign from a lot of nice objects.
Accessors
void setCenterOfTorus (const TVector3< double > &center) throw ()
 Set the center of the torus.
TVector3< double > getCenterOfTorus () const throw ()
 Return the center of the torus.
void setMajorRadiusOfTorus (const double &radius) throw ()
 Set the major radius of the torus.
double getMajorRadiusOfTorus () const throw ()
 Return the major radius of the torus.
void setAngle (const TAngle< double > &angle) throw ()
 Set the rotation angle.
TAngle< double > getAngle () const throw ()
 Return the rotation angle.
void setContactCircle (Position i, const TCircle3< double > &circle) throw ()
 Set one of the two contact circles.
TCircle3< double > getContactCircle (Position i) const throw ()
 Return one of the the contact circles.
void setIntersectionPoint (Position i, const TVector3< double > &point) throw ()
 Set one of the intersection points.
TVector3< double > getIntersectionPoint (Position i) const throw (Exception::GeneralException)
 Return one of the intersection points.
void setSingular (bool singular) throw ()
 Set singular.
Predicates
virtual bool operator== (const RSEdge &rsedge) const throw ()
 Equality operator.
virtual bool operator!= (const RSEdge &rsedge) const throw ()
 Inequality operator.
virtual bool operator *= (const RSEdge &rsedge) const throw ()
 Similarity operator.
bool isSingular () const throw ()
 isSingular
bool isFree () const throw ()
 isFree

Protected Attributes

TVector3< double > center_of_torus_
double radius_of_torus_
TAngle< double > angle_
TCircle3< double > circle0_
TCircle3< double > circle1_
TVector3< double > intersection_point0_
TVector3< double > intersection_point1_
bool singular_

Friends

Class friends
  • class RSFace - 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 RSFace
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 SolventAccessibleSurface
class SASVertex
class TriangulatedSAS
class SASTriangulator

Detailed Description

Generic RSEdge Class.


Constructor & Destructor Documentation

RSEdge::RSEdge  )  throw ()
 

Default constructor.

This method creates a new RSEdge object.

RSEdge::RSEdge const RSEdge rsedge,
bool  deep = false
throw ()
 

Copy constructor.

Create a new RSEdge object from another.

Parameters:
rsedge the RSEdge object to be copied
deep if deep = false, all pointers are set to NULL (default). Otherwise the new RSEdge object is linked to the neighbours of the old RSEdge object.

RSEdge::RSEdge RSVertex vertex1,
RSVertex vertex2,
RSFace face1,
RSFace face2,
const TVector3< double > &  center_of_torus,
const double &  radius_of_torus,
const TAngle< double > &  angle,
const TCircle3< double > &  circle1,
const TCircle3< double > &  circle2,
const TVector3< double > &  intersection_point1,
const TVector3< double > &  intersection_point2,
bool  singular,
Index  index
throw ()
 

Detailled constructor.

Create a new RSEdge object from a lot of nice objects

Parameters:
vertex1 assigned to the first vertex
vertex2 assigned to the second vertex
face1 assigned to the first face
face2 assigned to the second face
center_of_torus assigned to the center of the torus
radius_of_torus assigned to the radius of the torus
angle assigned to th angle
circle1 assigned to the first contact circle
circle2 assigned to the second contact circle
intersection_point1 assigned to the first intersection point (in singular case)
intersection_point2 assigned to the second intersection point (in singular case)
singular 
index assigned to the index

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

Destructor.

Destructs the RSEdge object. The neighboured faces and vertices are {/bf not} destructed.


Member Function Documentation

TAngle<double> RSEdge::getAngle  )  const throw ()
 

Return the rotation angle.

Return the rotation angle between the starting and ending position of the probe sphere when it rolls over the RSEdge.

Returns:
TAngle<double> the rotation angle

TVector3<double> RSEdge::getCenterOfTorus  )  const throw ()
 

Return the center of the torus.

Return the center of the torus described by the probe sphere when it rolls over the RSEdge.

Returns:
TVector3<double> the center of the torus

TCircle3<double> RSEdge::getContactCircle Position  i  )  const throw ()
 

Return one of the the contact circles.

Return one of the the contact circles of the probe sphere with the two RSVertices

Parameters:
i 
Returns:
TCircle3<double> the contact circle with the first RSVertex if i = 0, the contact circle with the second RSVertex otherwise

TVector3<double> RSEdge::getIntersectionPoint Position  i  )  const throw (Exception::GeneralException)
 

Return one of the intersection points.

Return one of the intersection points of the probe sphere with the RSEdge. If the RSEdge not is singular, an exception is thrown.

Returns:
TVector3<double> the intersection point near to the first RSVertex if i = 0, the intersection point near to the second RSVertex otherwise

double RSEdge::getMajorRadiusOfTorus  )  const throw ()
 

Return the major radius of the torus.

Return the major radius of the torus described by the probe sphere when it rolls over the RSEdge.

Returns:
TVector3<double> the major radius of the torus

bool RSEdge::isFree  )  const throw ()
 

isFree

Returns:
bool true if the RSEdge is free, false otherwise

bool RSEdge::isSingular  )  const throw ()
 

isSingular

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

virtual bool RSEdge::operator *= const RSEdge rsedge  )  const throw () [virtual]
 

Similarity operator.

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

Reimplemented from GraphEdge< RSVertex, RSEdge, RSFace >.

virtual bool RSEdge::operator!= const RSEdge rsedge  )  const throw () [virtual]
 

Inequality operator.

Returns:
bool false if all vertices and all faces are equal modulo order, true otherwise

Reimplemented from GraphEdge< RSVertex, RSEdge, RSFace >.

RSEdge& RSEdge::operator= const RSEdge rsedge  )  throw ()
 

Assign from another RSEdge.

The RSEdge object is linked to the neighbours of the RSEdge object to assign from.

Parameters:
rsedge the RSEdge object to assign from

virtual bool RSEdge::operator== const RSEdge rsedge  )  const throw () [virtual]
 

Equality operator.

Returns:
bool, true if all vertices and all faces are equal modulo order, false otherwise

Reimplemented from GraphEdge< RSVertex, RSEdge, RSFace >.

void RSEdge::set RSVertex vertex0,
RSVertex vertex1,
RSFace face0,
RSFace face1,
const TVector3< double > &  center_of_torus,
const double &  radius_of_torus,
const TAngle< double > &  angle,
const TCircle3< double > &  circle0,
const TCircle3< double > &  circle1,
const TVector3< double > &  intersection_point0,
const TVector3< double > &  intersection_point1,
bool  singular,
Index  index
throw ()
 

Assign from a lot of nice objects.

Parameters:
vertex0 assigned to the first vertex
vertex1 assigned to the second vertex
face0 assigned to the first face
face1 assigned to the second face
center_of_torus assigned to the center of the torus
radius_of_torus assigned to the radius of the torus
angle assigned to th angle
circle0 assigned to the first contact circle
circle1 assigned to the second contact circle
intersection_point0 assigned to the first intersection point (in singular case)
intersection_point1 assigned to the second intersection point (in singular case)
singular 
index assigned to the index

void RSEdge::set const RSEdge rsedge,
bool  deep = false
throw ()
 

Assign from another RSEdge.

Parameters:
rsedge the RSEdge object to assign from
deep if deep = false, all pointers are set to NULL (default). Otherwise the RSEdge object is linked to the neighbours of the RSEdge object to assign from.

void RSEdge::setAngle const TAngle< double > &  angle  )  throw ()
 

Set the rotation angle.

Set the rotation angle between the starting and ending position of the probe sphere when it rolls over the RSEdge.

Parameters:
angle the new rotation angle

void RSEdge::setCenterOfTorus const TVector3< double > &  center  )  throw ()
 

Set the center of the torus.

Set the center of the torus described by the probe sphere when it rolls over the RSEdge.

Parameters:
center the new center

void RSEdge::setContactCircle Position  i,
const TCircle3< double > &  circle
throw ()
 

Set one of the two contact circles.

Set one of the two contact circles of the probe sphere with the two RSVertices.

Parameters:
i the first contact circle is changed if i = 0, the second otherwise
circle the new contact circle

void RSEdge::setIntersectionPoint Position  i,
const TVector3< double > &  point
throw ()
 

Set one of the intersection points.

Set one of the intersection points of the probe sphere with the RSEdge.

Parameters:
i the first intersection point is changed if i = 0, the second otherwise
point the new intersection point

void RSEdge::setMajorRadiusOfTorus const double &  radius  )  throw ()
 

Set the major radius of the torus.

Set the major radius of the torus described by the probe sphere when it rolls over the RSEdge.

Parameters:
radius the new radius