BALL::SESTriangulator Class Reference
[Molecular Surface Computation]

#include <BALL/STRUCTURE/triangulatedSES.h>

List of all members.

Public Member Functions

Constructors and Destructors

 SESTriangulator ()
 SESTriangulator (TriangulatedSES *tses)
virtual ~SESTriangulator ()

Accessors



TriangulatedSEStses_
std::vector< TrianglePoint * > point_
std::vector< std::list
< TriangleEdge * > > 
edge_
HashMap< Size, std::list
< TrianglePoint * > > 
template_spheres_
double sqrt_density_
void run () throw (Exception::GeneralException,Exception::DivisionByZero)
void preProcessing ()
void triangulateToricFaces ()
void partitionSingularEdges ()
void triangulateContactFaces ()
void triangulateSphericFaces ()
void triangulateToricFace (SESFace *face, const double &probe_radius)
void triangulateFreeToricFace (SESFace *face, const double &probe_radius)
void triangulateSingularToricFace (SESFace *face, const double &probe_radius)
void triangulateNonSingularToricFace (SESFace *face, const double &probe_radius)
void partitionSingularEdge (SESEdge *singular_edge)
void partitionFreeSingularEdge (SESEdge *singular_edge)
void partitionNonFreeSingularEdge (SESEdge *singular_edge)
void triangulateContactFace (SESFace *face, const TSphere3< double > &sphere)
bool triangulateSphericFace (SESFace *face, const TSphere3< double > &sphere)
bool buildSphericTriangles (SESFace *face, TriangulatedSES &part, const TSphere3< double > &sphere, bool convex=true)
bool buildFirstTriangle (SESFace *face, TriangulatedSES &part, std::list< TriangleEdge * > &border, const TSphere3< double > &sphere, const HashSet< TrianglePoint * > &points, bool convex)
SESEdgefirstSESEdge (const std::list< SESEdge * > &sesedge)
void buildUnambiguousTriangle (TriangleEdge *edge, TrianglePoint *point, std::list< TriangleEdge * > &border, const TSphere3< double > &sphere, TriangulatedSES &part, bool convex)
void buildAmbiguousTriangles (TriangleEdge *edge, std::list< TrianglePoint * > points, std::list< TriangleEdge * > &border, const TSphere3< double > &sphere, TriangulatedSES &part, bool convex)
void createTriangleAndEdges (TriangleEdge *edge, TrianglePoint *point, const TSphere3< double > &sphere, TriangleEdge *&edge1, bool &old1, TriangleEdge *&edge2, bool &old2, Triangle *&triangle, bool convex)
void partitionOfCircle (const TCircle3< double > &circle, const TVector3< double > &p0, const TAngle< double > &phi, Size number_of_segments, vector< TVector3< double > > &partition, bool on_surface=true)
Size numberOfRefinements (const double &density, const double &radius)
void buildTemplateSpheres ()
void buildTriangles (SESEdge *edge0, SESEdge *edge1, SESEdge *edge2, SESEdge *edge3, const std::vector< TVector3< double > > &centers, const std::vector< TVector3< double > > &edge1_points, const std::vector< TVector3< double > > &edge3_points, const double &probe_radius)

Detailed Description

Generic SESTriangulator Class.

Definition at line 161 of file triangulatedSES.h.


Constructor & Destructor Documentation

BALL::SESTriangulator::SESTriangulator (  ) 

Default constructor. This method creates a new SESTriangulator object.

BALL::SESTriangulator::SESTriangulator ( TriangulatedSES tses  ) 

Detailed constructor.

Parameters:
tses a pointer to the TriangulatedSES to compute
virtual BALL::SESTriangulator::~SESTriangulator (  )  [virtual]

Destructor. Destructs the SESTriangulator object.


Member Function Documentation

void BALL::SESTriangulator::buildAmbiguousTriangles ( TriangleEdge edge,
std::list< TrianglePoint * >  points,
std::list< TriangleEdge * > &  border,
const TSphere3< double > &  sphere,
TriangulatedSES part,
bool  convex 
) [private]
bool BALL::SESTriangulator::buildFirstTriangle ( SESFace face,
TriangulatedSES part,
std::list< TriangleEdge * > &  border,
const TSphere3< double > &  sphere,
const HashSet< TrianglePoint * > &  points,
bool  convex 
) [private]
bool BALL::SESTriangulator::buildSphericTriangles ( SESFace face,
TriangulatedSES part,
const TSphere3< double > &  sphere,
bool  convex = true 
) [private]
void BALL::SESTriangulator::buildTemplateSpheres (  )  [private]
void BALL::SESTriangulator::buildTriangles ( SESEdge edge0,
SESEdge edge1,
SESEdge edge2,
SESEdge edge3,
const std::vector< TVector3< double > > &  centers,
const std::vector< TVector3< double > > &  edge1_points,
const std::vector< TVector3< double > > &  edge3_points,
const double probe_radius 
) [private]
void BALL::SESTriangulator::buildUnambiguousTriangle ( TriangleEdge edge,
TrianglePoint point,
std::list< TriangleEdge * > &  border,
const TSphere3< double > &  sphere,
TriangulatedSES part,
bool  convex 
) [private]
void BALL::SESTriangulator::createTriangleAndEdges ( TriangleEdge edge,
TrianglePoint point,
const TSphere3< double > &  sphere,
TriangleEdge *&  edge1,
bool old1,
TriangleEdge *&  edge2,
bool old2,
Triangle *&  triangle,
bool  convex 
) [private]
SESEdge* BALL::SESTriangulator::firstSESEdge ( const std::list< SESEdge * > &  sesedge  )  [private]
Size BALL::SESTriangulator::numberOfRefinements ( const double density,
const double radius 
) [private]
void BALL::SESTriangulator::partitionFreeSingularEdge ( SESEdge singular_edge  )  [private]
void BALL::SESTriangulator::partitionNonFreeSingularEdge ( SESEdge singular_edge  )  [private]
void BALL::SESTriangulator::partitionOfCircle ( const TCircle3< double > &  circle,
const TVector3< double > &  p0,
const TAngle< double > &  phi,
Size  number_of_segments,
vector< TVector3< double > > &  partition,
bool  on_surface = true 
) [private]
void BALL::SESTriangulator::partitionSingularEdge ( SESEdge singular_edge  )  [private]
void BALL::SESTriangulator::partitionSingularEdges (  )  [private]
void BALL::SESTriangulator::preProcessing (  )  [private]
void BALL::SESTriangulator::run (  )  throw (Exception::GeneralException,Exception::DivisionByZero)
void BALL::SESTriangulator::triangulateContactFace ( SESFace face,
const TSphere3< double > &  sphere 
) [private]
void BALL::SESTriangulator::triangulateContactFaces (  )  [private]
void BALL::SESTriangulator::triangulateFreeToricFace ( SESFace face,
const double probe_radius 
) [private]
void BALL::SESTriangulator::triangulateNonSingularToricFace ( SESFace face,
const double probe_radius 
) [private]
void BALL::SESTriangulator::triangulateSingularToricFace ( SESFace face,
const double probe_radius 
) [private]
bool BALL::SESTriangulator::triangulateSphericFace ( SESFace face,
const TSphere3< double > &  sphere 
) [private]
void BALL::SESTriangulator::triangulateSphericFaces (  )  [private]
void BALL::SESTriangulator::triangulateToricFace ( SESFace face,
const double probe_radius 
) [private]
void BALL::SESTriangulator::triangulateToricFaces (  )  [private]

Member Data Documentation

std::vector<std::list<TriangleEdge*> > BALL::SESTriangulator::edge_ [protected]

Definition at line 342 of file triangulatedSES.h.

std::vector<TrianglePoint*> BALL::SESTriangulator::point_ [protected]

Definition at line 341 of file triangulatedSES.h.

Definition at line 344 of file triangulatedSES.h.

Definition at line 343 of file triangulatedSES.h.

Definition at line 340 of file triangulatedSES.h.

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