BALL::ReducedSurface Class Reference
[Molecular Surface Computation]

#include <BALL/STRUCTURE/reducedSurface.h>

List of all members.

Public Member Functions

Constructors and Destructors

 ReducedSurface ()
 ReducedSurface (const ReducedSurface &reduced_surface, bool=true)
 ReducedSurface (const std::vector< TSphere3< double > > &spheres, const double &probe_radius)
virtual ~ReducedSurface ()
Assignment

void operator= (const ReducedSurface &reduced_surface)
void set (const ReducedSurface &reduced_surface)
void clear ()
void clean ()
Accessors

Size numberOfAtoms () const
Size numberOfVertices () const
Size numberOfEdges () const
Size numberOfFaces () const
double getProbeRadius () const
TSphere3< doublegetSphere (Position i) const throw (Exception::IndexOverflow)
RSVertexgetVertex (Position i) const throw (Exception::IndexOverflow)
RSEdgegetEdge (Position i) const throw (Exception::IndexOverflow)
RSFacegetFace (Position i) const throw (Exception::IndexOverflow)
void insert (RSVertex *rsvertex)
void insert (RSEdge *rsedge)
void insert (RSFace *rsface)
double getMaximalRadius () const
TSimpleBox3< doublegetBoundingBox () const
void deleteSimilarFaces (RSFace *face1, RSFace *face2)
bool getAngle (RSFace *face1, RSFace *face2, RSVertex *vertex1, RSVertex *vertex2, TAngle< double > &angle, bool check=false) const
void compute () throw (Exception::GeneralException, Exception::DivisionByZero, Exception::IndexOverflow)

Protected Attributes

Size number_of_atoms_
std::vector< TSphere3< double > > atom_
double probe_radius_
Size number_of_vertices_
std::vector< RSVertex * > vertices_
Size number_of_edges_
std::vector< RSEdge * > edges_
Size number_of_faces_
std::vector< RSFace * > faces_
double r_max_
TSimpleBox3< doublebounding_box_

Private Member Functions

bool canBeCopied (const ReducedSurface &reduced_surface)
void copy (const ReducedSurface &reduced_surface)
void correctEdges (RSFace *face1, RSFace *face2, RSEdge *edge1, RSEdge *edge2)
void joinVertices (RSFace *face1, RSFace *face2, RSVertex *vertex1, RSVertex *vertex2)
void findSimilarVertices (RSFace *face1, RSFace *face2, std::vector< RSVertex * > &rsvertex1, std::vector< RSVertex * > &rsvertex2)
void findSimilarEdges (RSFace *face1, RSFace *face2, std::vector< RSEdge * > &rsedge1, std::vector< RSEdge * > &rsedge2)

Friends

Class friends
class RSComputer
class SolventExcludedSurface
class SESComputer
class SESSingularityCleaner
class SolventAccessibleSurface
class TriangulatedSES
class TriangulatedSAS
class SESTriangulator

Detailed Description

Generic ReducedSurface Class.

Definition at line 154 of file reducedSurface.h.


Constructor & Destructor Documentation

BALL::ReducedSurface::ReducedSurface (  ) 

Default constructor. All components are initialized to (T)0 or NULL, respectivly.

BALL::ReducedSurface::ReducedSurface ( const ReducedSurface reduced_surface,
bool  = true 
)

Copy constructor.

Parameters:
reduced_surface the ReducedSurface object to be copied
bool ignored - just for interface consistency
BALL::ReducedSurface::ReducedSurface ( const std::vector< TSphere3< double > > &  spheres,
const double probe_radius 
)

Detailed constructor. Create a new ReducedSurface object from a list of spheres.

virtual BALL::ReducedSurface::~ReducedSurface (  )  [virtual]

Destructor.


Member Function Documentation

bool BALL::ReducedSurface::canBeCopied ( const ReducedSurface reduced_surface  )  [private]
void BALL::ReducedSurface::clean (  ) 

Remove all NULL-pointers

void BALL::ReducedSurface::clear (  ) 

Delete all vertices, edges and faces.

void BALL::ReducedSurface::compute (  )  throw (Exception::GeneralException, Exception::DivisionByZero, Exception::IndexOverflow)

Compute the reduced surface.

void BALL::ReducedSurface::copy ( const ReducedSurface reduced_surface  )  [private]
void BALL::ReducedSurface::correctEdges ( RSFace face1,
RSFace face2,
RSEdge edge1,
RSEdge edge2 
) [private]
void BALL::ReducedSurface::deleteSimilarFaces ( RSFace face1,
RSFace face2 
)

Delete a pair of similar faces.

Parameters:
face1 a pointer to the first face
face2 a pointer to the second face
void BALL::ReducedSurface::findSimilarEdges ( RSFace face1,
RSFace face2,
std::vector< RSEdge * > &  rsedge1,
std::vector< RSEdge * > &  rsedge2 
) [private]
void BALL::ReducedSurface::findSimilarVertices ( RSFace face1,
RSFace face2,
std::vector< RSVertex * > &  rsvertex1,
std::vector< RSVertex * > &  rsvertex2 
) [private]
bool BALL::ReducedSurface::getAngle ( RSFace face1,
RSFace face2,
RSVertex vertex1,
RSVertex vertex2,
TAngle< double > &  angle,
bool  check = false 
) const

Get the angle between two RSFaces.

Parameters:
face1 a pointer to the first face
face2 a pointer to the second face
vertex1 a pointer to the first vertex to roll over
vertex2 a pointer to the second vertex to roll over
angle the computed angle
check you kan ask to check whether the angle can be computed
TSimpleBox3<double> BALL::ReducedSurface::getBoundingBox (  )  const

Return the bounding box of the centers of the atoms of the molecule

Returns:
TSimpleBox3<double> the bounding box
RSEdge* BALL::ReducedSurface::getEdge ( Position  i  )  const throw (Exception::IndexOverflow)

Return the i'th rsedge.

Parameters:
i the index of the rsedge that should be given back
Returns:
RSEdge, the i'th rsedge
RSFace* BALL::ReducedSurface::getFace ( Position  i  )  const throw (Exception::IndexOverflow)

Return the i'th rsface.

Parameters:
i the index of the rsface that should be given back
Returns:
RSFace, the i'th rsface
double BALL::ReducedSurface::getMaximalRadius (  )  const

Return the maximal radius of te atoms of te molecule

Returns:
double the maximal radius
double BALL::ReducedSurface::getProbeRadius (  )  const

Return the probe radius.

Returns:
double the radius of the used probe sphere
TSphere3<double> BALL::ReducedSurface::getSphere ( Position  i  )  const throw (Exception::IndexOverflow)

Return the i'th sphere.

Parameters:
i the index of the sphere that should be given back
Returns:
TSphere3<double>, the i'th sphere
RSVertex* BALL::ReducedSurface::getVertex ( Position  i  )  const throw (Exception::IndexOverflow)

Return the i'th rsvertex.

Parameters:
i the index of the rsvertex that should be given back
Returns:
RSVertex, the i'th rsvertex
void BALL::ReducedSurface::insert ( RSFace rsface  ) 

Insert a new RSFace.

Parameters:
rsface a pointer to the RSFace to insert
void BALL::ReducedSurface::insert ( RSEdge rsedge  ) 

Insert a new RSEdge.

Parameters:
rsedge a pointer to the RSEdge to insert
void BALL::ReducedSurface::insert ( RSVertex rsvertex  ) 

Insert a new RSVertex.

Parameters:
rsvertex a pointer to the RSVertex to insert
void BALL::ReducedSurface::joinVertices ( RSFace face1,
RSFace face2,
RSVertex vertex1,
RSVertex vertex2 
) [private]
Size BALL::ReducedSurface::numberOfAtoms (  )  const

Return the number of atoms.

Returns:
Size the number of atoms
Size BALL::ReducedSurface::numberOfEdges (  )  const

Return the number of rsedges.

Returns:
Size the number of rsedges
Size BALL::ReducedSurface::numberOfFaces (  )  const

Return the number of rsfaces.

Returns:
Size the number of rsfaces
Size BALL::ReducedSurface::numberOfVertices (  )  const

Return the number of rsvertices.

Returns:
Size the number of rsvertices
void BALL::ReducedSurface::operator= ( const ReducedSurface reduced_surface  ) 

Assign from another ReducedSurface.

Parameters:
reduced_surface the ReducedSurface object to assign from
void BALL::ReducedSurface::set ( const ReducedSurface reduced_surface  ) 

Assign from another ReducedSurface.

Parameters:
reduced_surface the ReducedSurface object to assign from

Friends And Related Function Documentation

friend class RSComputer [friend]

Definition at line 170 of file reducedSurface.h.

friend class SESComputer [friend]

Definition at line 172 of file reducedSurface.h.

friend class SESSingularityCleaner [friend]

Definition at line 173 of file reducedSurface.h.

friend class SESTriangulator [friend]

Definition at line 177 of file reducedSurface.h.

friend class SolventAccessibleSurface [friend]

Definition at line 174 of file reducedSurface.h.

friend class SolventExcludedSurface [friend]

Definition at line 171 of file reducedSurface.h.

friend class TriangulatedSAS [friend]

Definition at line 176 of file reducedSurface.h.

friend class TriangulatedSES [friend]

Definition at line 175 of file reducedSurface.h.


Member Data Documentation

std::vector< TSphere3<double> > BALL::ReducedSurface::atom_ [protected]

Definition at line 381 of file reducedSurface.h.

Definition at line 417 of file reducedSurface.h.

std::vector< RSEdge* > BALL::ReducedSurface::edges_ [protected]

Definition at line 401 of file reducedSurface.h.

std::vector< RSFace* > BALL::ReducedSurface::faces_ [protected]

Definition at line 409 of file reducedSurface.h.

Definition at line 376 of file reducedSurface.h.

Definition at line 397 of file reducedSurface.h.

Definition at line 405 of file reducedSurface.h.

Definition at line 389 of file reducedSurface.h.

Definition at line 385 of file reducedSurface.h.

Definition at line 413 of file reducedSurface.h.

std::vector< RSVertex* > BALL::ReducedSurface::vertices_ [protected]

Definition at line 393 of file reducedSurface.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3