5 #ifndef BALL_STRUCTURE_TRIANGULATEDSES_H
6 #define BALL_STRUCTURE_TRIANGULATEDSES_H
8 #ifndef BALL_TRUCTURE_SOLVENTEXCLUDEDSURFACE_H
12 #ifndef BALL_STRUCTURE_TRIANGLE_H
16 #ifndef BALL_STRUCTURE_TRIANGLEEDGE_H
20 #ifndef BALL_STRUCTURE_TRIANGLEPOINT_H
24 #ifndef BALL_STRUCTURE_TRIANGULATEDSURFACE_H
28 #ifndef BALL_MATHS_ANGLE_H
32 #ifndef BALL_MATHS_CIRCLE3_H
36 #ifndef BALL_MATHS_SPHERE3_H
40 #ifndef BALL_MATHS_VECTOR3_H
49 class SESTriangulator;
83 TriangulatedSES(const TriangulatedSES& surface,
bool = true)
97 virtual ~TriangulatedSES()
109 void set(const TriangulatedSES& surface,
bool = true)
115 TriangulatedSES& operator = (const TriangulatedSES& surface)
120 void setDensity(const
double& density)
125 double getDensity() const
135 throw(Exception::GeneralException,Exception::DivisionByZero);
181 SESTriangulator(TriangulatedSES* tses)
187 virtual ~SESTriangulator()
203 void triangulateToricFaces()
206 void partitionSingularEdges()
209 void triangulateContactFaces()
212 void triangulateSphericFaces()
215 void triangulateToricFace
217 const double& probe_radius)
220 void triangulateFreeToricFace
222 const double& probe_radius)
225 void triangulateSingularToricFace
227 const double& probe_radius)
230 void triangulateNonSingularToricFace
232 const double& probe_radius)
235 void partitionSingularEdge(
SESEdge* singular_edge)
238 void partitionFreeSingularEdge(
SESEdge* singular_edge)
241 void partitionNonFreeSingularEdge(
SESEdge* singular_edge)
244 void triangulateContactFace
249 bool triangulateSphericFace
254 bool buildSphericTriangles
256 TriangulatedSES& part,
261 bool buildFirstTriangle
263 TriangulatedSES& part,
264 std::list<TriangleEdge*>& border,
270 SESEdge* firstSESEdge(
const std::list<SESEdge*>& sesedge)
273 void buildUnambiguousTriangle
276 std::list<TriangleEdge*>& border,
278 TriangulatedSES& part,
283 void buildAmbiguousTriangles
285 std::list<TrianglePoint*> points,
286 std::list<TriangleEdge*>& border,
288 TriangulatedSES& part,
293 void createTriangleAndEdges
306 void partitionOfCircle
310 Size number_of_segments,
312 bool on_surface =
true)
315 Size numberOfRefinements(
const double& density,
const double& radius)
318 void buildTemplateSpheres()
329 const double& probe_radius)
342 std::vector<std::list<TriangleEdge*> >
edge_;
354 #endif // BALL_STRUCTURE_TRIANGULATEDSES_H
#define BALL_CREATE(name)
std::vector< std::list< TriangleEdge * > > edge_
HashMap< Size, std::list< TrianglePoint * > > template_spheres_
std::vector< TrianglePoint * > point_
HashMap class based on the STL map (containing serveral convenience functions)