5 #ifndef BALL_STRUCTURE_TRIANGULATEDSAS_H
6 #define BALL_STRUCTURE_TRIANGULATEDSAS_H
8 #ifndef BALL_STRUCTURE_SASEDGE_H
12 #ifndef BALL_STRUCTURE_SASFACE_H
16 #ifndef BALL_TRUCTURE_SOLVENTEXCLUDEDSURFACE_H
20 #ifndef BALL_STRUCTURE_TRIANGULATEDSURFACE_H
24 #ifndef BALL_STRUCTURE_TRIANGLE_H
28 #ifndef BALL_STRUCTURE_TRIANGLEEDGE_H
32 #ifndef BALL_STRUCTURE_TRIANGLEPOINT_H
36 #ifndef BALL_MATHS_ANGLE_H
40 #ifndef BALL_MATHS_CIRCLE3_H
44 #ifndef BALL_MATHS_VECTOR3_H
48 #ifndef BALL_DATATYPE_HASHGRID_H
57 class SASTriangulator;
90 TriangulatedSAS(const TriangulatedSAS& surface,
bool = true);
102 virtual ~TriangulatedSAS();
113 void set(const TriangulatedSAS& surface,
bool = true);
118 TriangulatedSAS& operator = (const TriangulatedSAS& surface);
128 void setDensity(const
double& density);
132 double getDensity() const;
165 #ifdef debug_triangulation
166 void printToHINFile(
string filename);
167 void Contour2HIN(
const std::list<TriangleEdge*>& contour,
const string& file);
168 void SASEdge2HIN(
SASEdge* edge,
const string& file);
186 SASTriangulator(TriangulatedSAS* tsas);
191 virtual ~SASTriangulator();
202 void triangulateFace(
SASFace* face);
204 void createPlanes(
SASFace* face,
228 Size numberOfRefinements(
const double& density,
const double& radius);
230 void buildTemplateSpheres();
244 std::vector< std::list< TVector3<double> > >
edge_;
255 #endif // BALL_STRUCTURE_TRIANGULATEDSAS_H