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);
166 Size getNumberOfPoints()
const;
175 Size getNumberOfEdges()
const;
185 Size getNumberOfTriangles()
const;
222 void remove(
Triangle* triangle,
bool deep =
true);
236 void exportSurface(
Surface& surface);
264 void blowUp(
const double& r);
272 void setDensity(
const double& density);
276 double getDensity()
const;
290 void deleteIsolatedEdges();
294 void deleteIsolatedPoints();
300 void getBorder(std::list<TriangleEdge*>& border);
340 bool canBeCopied()
const;
471 void icosaeder(
bool out =
true);
479 void pentakisDodecaeder(
bool out =
true);
486 void refine(
Position iterations,
bool out =
true);
493 void refine(
bool out);
495 void buildFourTriangles
505 void setIncidences();
514 #endif // BALL_STRUCTURE_TRIANGULATEDSURFACE_H