BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members
BALL::SESTriangulator Class Reference

#include <BALL/STRUCTURE/triangulatedSES.h>

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
tsesa 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.

double BALL::SESTriangulator::sqrt_density_
protected

Definition at line 344 of file triangulatedSES.h.

HashMap<Size, std::list<TrianglePoint*> > BALL::SESTriangulator::template_spheres_
protected

Definition at line 343 of file triangulatedSES.h.

TriangulatedSES* BALL::SESTriangulator::tses_
protected

Definition at line 340 of file triangulatedSES.h.