5 #ifndef BALL_STRUCTURE_TRIANGULATEDSURFACE_H
6 #define BALL_STRUCTURE_TRIANGULATEDSURFACE_H
8 #ifndef BALL_STRUCTURE_TRIANGLE_H
12 #ifndef BALL_STRUCTURE_TRIANGLEEDGE_H
16 #ifndef BALL_STRUCTURE_TRIANGLEPOINT_H
20 #ifndef BALL_MATHS_PLANE3_H
24 #ifndef BALL_MATHS_SURFACE_H
28 #ifndef BALL_MATHS_VECTOR3_H
51 typedef std::list<TrianglePoint*>::iterator
53 typedef std::list<TrianglePoint*>::const_iterator
55 typedef std::list<TriangleEdge*>::iterator
57 typedef std::list<TriangleEdge*>::const_iterator
59 typedef std::list<Triangle*>::iterator
61 typedef std::list<Triangle*>::const_iterator
103 static TriangulatedSurface* createTube(
unsigned int num_vertices,
unsigned int subdiv = 0,
bool closed =
false,
bool out =
true);
161 Size getNumberOfPoints()
const;
165 Size getNumberOfEdges()
const;
170 Size getNumberOfTriangles()
const;
207 void remove(
Triangle* triangle,
bool deep =
true);
221 void exportSurface(
Surface& surface);
249 void blowUp(
const double& r);
257 void setDensity(
const double& density);
261 double getDensity()
const;
275 void deleteIsolatedEdges();
279 void deleteIsolatedPoints();
285 void getBorder(std::list<TriangleEdge*>& border);
325 bool canBeCopied()
const;
456 void icosaeder(
bool out =
true);
464 void pentakisDodecaeder(
bool out =
true);
471 void refine(
Position iterations,
bool out =
true);
478 void refine(
bool out);
480 void buildFourTriangles
490 void setIncidences();
499 #endif // BALL_STRUCTURE_TRIANGULATEDSURFACE_H