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

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

Inheritance diagram for BALL::RSEdge:

## Public Member Functions

Constructors and Destructors
| RSEdge ()
| RSEdge (const RSEdge &rsedge, bool deep=false)
| 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)
virtual | ~RSEdge ()
Assignment
void | set (const RSEdge &rsedge, bool deep=false)
RSEdge & | operator= (const RSEdge &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)
Accessors
void | setCenterOfTorus (const TVector3< double > &center)
TVector3< double > | getCenterOfTorus () const
void | setMajorRadiusOfTorus (const double &radius)
double | getMajorRadiusOfTorus () const
void | setAngle (const TAngle< double > &angle)
TAngle< double > | getAngle () const
void | setContactCircle (Position i, const TCircle3< double > &circle)
TCircle3< double > | getContactCircle (Position i) const
void | setIntersectionPoint (Position i, const TVector3< double > &point)
TVector3< double > | getIntersectionPoint (Position i) const
void | setSingular (bool singular)
Public Member Functions inherited from BALL::GraphEdge< RSVertex, RSEdge, RSFace >
| GraphEdge ()
virtual | ~GraphEdge ()
void | set (const GraphEdge< RSVertex, RSEdge, RSFace > &edge, bool deep=false)
GraphEdge< RSVertex, RSEdge, RSFace > & | operator= (const GraphEdge< RSVertex, RSEdge, RSFace > &edge)
void | setVertex (Position i, RSVertex *vertex)
RSVertex * | getVertex (Position i) const
void | setFace (Position i, RSFace *face)
RSFace * | getFace (Position i) const
void | setIndex (Index index)
Index | getIndex () const
RSVertex * | other (const RSVertex *vertex) const
bool | substitute (const RSVertex *old_vertex, RSVertex *new_vertex)
RSFace * | remove (const RSFace *face)
void | revert ()

## 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 \itme 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
Friends inherited from BALL::GraphEdge< RSVertex, RSEdge, RSFace >

## Predicates

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_
virtual bool | operator== (const RSEdge &rsedge) const
virtual bool | operator!= (const RSEdge &rsedge) const
virtual bool | operator*= (const RSEdge &rsedge) const
bool | isSingular () const
bool | isFree () const

## Additional Inherited Members

RSVertex * | vertex_ [2]
RSFace * | face_ [2]
Index | index_

## Detailed Description

Generic RSEdge Class.

Definition at line 48 of file RSEdge.h.

## Constructor & Destructor Documentation

## RSEdge() [1/3]

BALL::RSEdge::RSEdge | ( |  | ) |

Default constructor. This method creates a new RSEdge object.

## RSEdge() [2/3]

BALL::RSEdge::RSEdge | ( | const RSEdge & | rsedge,
|  | bool | deep = false )

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() [3/3]

BALL::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 )

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

## ~RSEdge()

virtual BALL::RSEdge::~RSEdge | ( |  | ) |

virtual

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

## Member Function Documentation

## getAngle()

TAngle< double > BALL::RSEdge::getAngle | ( |  | ) | const

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

## getCenterOfTorus()

TVector3< double > BALL::RSEdge::getCenterOfTorus | ( |  | ) | const

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

## getContactCircle()

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

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

## getIntersectionPoint()

TVector3< double > BALL::RSEdge::getIntersectionPoint | ( | Position | i | ) | const

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

Exceptions

  BALL::Exception::GeneralException |

## getMajorRadiusOfTorus()

double BALL::RSEdge::getMajorRadiusOfTorus | ( |  | ) | const

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

## isFree()

bool BALL::RSEdge::isFree | ( |  | ) | const

isFree

Returns
  bool true if the RSEdge is free, false otherwise

## isSingular()

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

isSingular

Returns
  bool true if the RSEdge is singular, false otherwise

## operator!=()

virtual bool BALL::RSEdge::operator!= | ( | const RSEdge & | rsedge | ) | const

virtual

Inequality operator.

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

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

## operator*=()

virtual bool BALL::RSEdge::operator*= | ( | const RSEdge & | rsedge | ) | const

virtual

Similarity operator.

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

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

## operator=()

RSEdge & BALL::RSEdge::operator= | ( | const RSEdge & | rsedge | ) |

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

## operator==()

virtual bool BALL::RSEdge::operator== | ( | const RSEdge & | rsedge | ) | const

virtual

Equality operator.

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

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

## set() [1/2]

void BALL::RSEdge::set | ( | const RSEdge & | rsedge,
|  | bool | deep = false )

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.

## set() [2/2]

void BALL::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 )

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

## setAngle()

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

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

## setCenterOfTorus()

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

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

## setContactCircle()

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

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

## setIntersectionPoint()

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

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

## setMajorRadiusOfTorus()

void BALL::RSEdge::setMajorRadiusOfTorus | ( | const double & | radius | ) |

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

## setSingular()

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

Set singular

## Friends And Related Symbol Documentation

## ReducedSurface

friend class ReducedSurface

friend

Definition at line 76 of file RSEdge.h.

## RSComputer

friend class RSComputer

friend

Definition at line 77 of file RSEdge.h.

## RSFace

friend class RSFace

friend

Definition at line 74 of file RSEdge.h.

## RSVertex

friend class RSVertex

friend

Definition at line 75 of file RSEdge.h.

## SASEdge

friend class SASEdge

friend

Definition at line 86 of file RSEdge.h.

## SASFace

friend class SASFace

friend

Definition at line 87 of file RSEdge.h.

## SASTriangulator

friend class SASTriangulator

friend

Definition at line 91 of file RSEdge.h.

## SASVertex

friend class SASVertex

friend

Definition at line 89 of file RSEdge.h.

## SESComputer

friend class SESComputer

friend

Definition at line 82 of file RSEdge.h.

## SESEdge

friend class SESEdge

friend

Definition at line 78 of file RSEdge.h.

## SESFace

friend class SESFace

friend

Definition at line 79 of file RSEdge.h.

## SESSingularityCleaner

friend class SESSingularityCleaner

friend

Definition at line 83 of file RSEdge.h.

## SESTriangulator

friend class SESTriangulator

friend

Definition at line 85 of file RSEdge.h.

## SESVertex

friend class SESVertex

friend

Definition at line 80 of file RSEdge.h.

## SolventAccessibleSurface

friend class SolventAccessibleSurface

friend

Definition at line 88 of file RSEdge.h.

## SolventExcludedSurface

friend class SolventExcludedSurface

friend

Definition at line 81 of file RSEdge.h.

## TriangulatedSAS

friend class TriangulatedSAS

friend

Definition at line 90 of file RSEdge.h.

## TriangulatedSES

friend class TriangulatedSES

friend

Definition at line 84 of file RSEdge.h.

## Member Data Documentation

## angle_

TAngle<double> BALL::RSEdge::angle_

protected

Definition at line 368 of file RSEdge.h.

## center_of_torus_

TVector3<double> BALL::RSEdge::center_of_torus_

protected

Definition at line 360 of file RSEdge.h.

## circle0_

TCircle3<double> BALL::RSEdge::circle0_

protected

Definition at line 371 of file RSEdge.h.

## circle1_

TCircle3<double> BALL::RSEdge::circle1_

protected

Definition at line 374 of file RSEdge.h.

## intersection_point0_

TVector3<double> BALL::RSEdge::intersection_point0_

protected

Definition at line 378 of file RSEdge.h.

## intersection_point1_

TVector3<double> BALL::RSEdge::intersection_point1_

protected

Definition at line 382 of file RSEdge.h.

## radius_of_torus_

double BALL::RSEdge::radius_of_torus_

protected

Definition at line 364 of file RSEdge.h.

## singular_

bool BALL::RSEdge::singular_

protected

Definition at line 385 of file RSEdge.h.