BALL  1.4.79
Protected Attributes | List of all members
BALL::ReducedSurface Class Reference

#include <BALL/STRUCTURE/reducedSurface.h>

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_
 

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 195 of file reducedSurface.h.

Constructor & Destructor Documentation

◆ ReducedSurface() [1/3]

BALL::ReducedSurface::ReducedSurface ( )

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

◆ ReducedSurface() [2/3]

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

Copy constructor.

Parameters
reduced_surfacethe ReducedSurface object to be copied
boolignored - just for interface consistency

◆ ReducedSurface() [3/3]

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.

◆ ~ReducedSurface()

virtual BALL::ReducedSurface::~ReducedSurface ( )
virtual

Destructor.

Member Function Documentation

◆ clean()

void BALL::ReducedSurface::clean ( )

Remove all NULL-pointers

◆ clear()

void BALL::ReducedSurface::clear ( )

Delete all vertices, edges and faces.

◆ compute()

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

Compute the reduced surface.

◆ deleteSimilarFaces()

void BALL::ReducedSurface::deleteSimilarFaces ( RSFace face1,
RSFace face2 
)

Delete a pair of similar faces.

Parameters
face1a pointer to the first face
face2a pointer to the second face

◆ getAngle()

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
face1a pointer to the first face
face2a pointer to the second face
vertex1a pointer to the first vertex to roll over
vertex2a pointer to the second vertex to roll over
anglethe computed angle
checkyou kan ask to check whether the angle can be computed

◆ getBoundingBox()

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

◆ getEdge()

RSEdge* BALL::ReducedSurface::getEdge ( Position  i) const
throw (Exception::IndexOverflow
)

Return the i'th rsedge.

Parameters
ithe index of the rsedge that should be given back
Returns
RSEdge, the i'th rsedge

◆ getFace()

RSFace* BALL::ReducedSurface::getFace ( Position  i) const
throw (Exception::IndexOverflow
)

Return the i'th rsface.

Parameters
ithe index of the rsface that should be given back
Returns
RSFace, the i'th rsface

◆ getMaximalRadius()

double BALL::ReducedSurface::getMaximalRadius ( ) const

Return the maximal radius of te atoms of te molecule

Returns
double the maximal radius

◆ getProbeRadius()

double BALL::ReducedSurface::getProbeRadius ( ) const

Return the probe radius.

Returns
double the radius of the used probe sphere

◆ getSphere()

TSphere3<double> BALL::ReducedSurface::getSphere ( Position  i) const
throw (Exception::IndexOverflow
)

Return the i'th sphere.

Parameters
ithe index of the sphere that should be given back
Returns
TSphere3<double>, the i'th sphere

◆ getVertex()

RSVertex* BALL::ReducedSurface::getVertex ( Position  i) const
throw (Exception::IndexOverflow
)

Return the i'th rsvertex.

Parameters
ithe index of the rsvertex that should be given back
Returns
RSVertex, the i'th rsvertex

◆ insert() [1/3]

void BALL::ReducedSurface::insert ( RSVertex rsvertex)

Insert a new RSVertex.

Parameters
rsvertexa pointer to the RSVertex to insert

◆ insert() [2/3]

void BALL::ReducedSurface::insert ( RSEdge rsedge)

Insert a new RSEdge.

Parameters
rsedgea pointer to the RSEdge to insert

◆ insert() [3/3]

void BALL::ReducedSurface::insert ( RSFace rsface)

Insert a new RSFace.

Parameters
rsfacea pointer to the RSFace to insert

◆ numberOfAtoms()

Size BALL::ReducedSurface::numberOfAtoms ( ) const

Return the number of atoms.

Returns
Size the number of atoms

◆ numberOfEdges()

Size BALL::ReducedSurface::numberOfEdges ( ) const

Return the number of rsedges.

Returns
Size the number of rsedges

◆ numberOfFaces()

Size BALL::ReducedSurface::numberOfFaces ( ) const

Return the number of rsfaces.

Returns
Size the number of rsfaces

◆ numberOfVertices()

Size BALL::ReducedSurface::numberOfVertices ( ) const

Return the number of rsvertices.

Returns
Size the number of rsvertices

◆ operator=()

void BALL::ReducedSurface::operator= ( const ReducedSurface reduced_surface)

Assign from another ReducedSurface.

Parameters
reduced_surfacethe ReducedSurface object to assign from

◆ set()

void BALL::ReducedSurface::set ( const ReducedSurface reduced_surface)

Assign from another ReducedSurface.

Parameters
reduced_surfacethe ReducedSurface object to assign from

Friends And Related Function Documentation

◆ RSComputer

friend class RSComputer
friend

Definition at line 211 of file reducedSurface.h.

◆ SESComputer

friend class SESComputer
friend

Definition at line 213 of file reducedSurface.h.

◆ SESSingularityCleaner

friend class SESSingularityCleaner
friend

Definition at line 214 of file reducedSurface.h.

◆ SESTriangulator

friend class SESTriangulator
friend

Definition at line 218 of file reducedSurface.h.

◆ SolventAccessibleSurface

friend class SolventAccessibleSurface
friend

Definition at line 215 of file reducedSurface.h.

◆ SolventExcludedSurface

friend class SolventExcludedSurface
friend

Definition at line 212 of file reducedSurface.h.

◆ TriangulatedSAS

friend class TriangulatedSAS
friend

Definition at line 217 of file reducedSurface.h.

◆ TriangulatedSES

friend class TriangulatedSES
friend

Definition at line 216 of file reducedSurface.h.

Member Data Documentation

◆ atom_

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

Definition at line 422 of file reducedSurface.h.

◆ bounding_box_

TSimpleBox3<double> BALL::ReducedSurface::bounding_box_
protected

Definition at line 458 of file reducedSurface.h.

◆ edges_

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

Definition at line 442 of file reducedSurface.h.

◆ faces_

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

Definition at line 450 of file reducedSurface.h.

◆ number_of_atoms_

Size BALL::ReducedSurface::number_of_atoms_
protected

Definition at line 417 of file reducedSurface.h.

◆ number_of_edges_

Size BALL::ReducedSurface::number_of_edges_
protected

Definition at line 438 of file reducedSurface.h.

◆ number_of_faces_

Size BALL::ReducedSurface::number_of_faces_
protected

Definition at line 446 of file reducedSurface.h.

◆ number_of_vertices_

Size BALL::ReducedSurface::number_of_vertices_
protected

Definition at line 430 of file reducedSurface.h.

◆ probe_radius_

double BALL::ReducedSurface::probe_radius_
protected

Definition at line 426 of file reducedSurface.h.

◆ r_max_

double BALL::ReducedSurface::r_max_
protected

Definition at line 454 of file reducedSurface.h.

◆ vertices_

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

Definition at line 434 of file reducedSurface.h.