5 #ifndef BALL_STRUCTURE_SOLVENTEXCLUDEDSURFACE_H
6 #define BALL_STRUCTURE_SOLVENTEXCLUDEDSURFACE_H
8 #ifndef BALL_STRUCTURE_SESEDGE_H
12 #ifndef BALL_STRUCTURE_SESFACE_H
16 #ifndef BALL_STRUCTURE_SESVERTEX_H
20 #ifndef BALL_STRUCTURE_REDUCEDSURFACE_H
24 #ifndef BALL_MATHS_ANGLE_H
28 #ifndef BALL_MATHS_CIRCLE3_H
32 #ifndef BALL_MATHS_SPHERE3_H
36 #ifndef BALL_MATHS_VECTOR3_H
40 #ifndef BALL_MATHS_VECTOR4_H
44 #ifndef BALL_DATATYPE_HASHGRID_H
48 #ifndef BALL_DATATYPE_HASHMAP_H
59 class SESSingularityCleaner;
60 class TriangulatedSES;
61 class SESTriangulator;
91 typedef std::vector<
SESVertex*>::const_iterator
93 typedef std::vector<
SESEdge*>::iterator
95 typedef std::vector<
SESEdge*>::const_iterator
97 typedef std::list<
SESEdge*>::iterator
99 typedef std::list<
SESEdge*>::const_iterator
101 typedef std::vector<
SESFace*>::iterator
103 typedef std::vector<
SESFace*>::const_iterator
105 typedef std::vector<
SESFace*>::iterator
107 typedef std::vector<
SESFace*>::const_iterator
109 typedef std::vector<
SESFace*>::iterator
111 typedef std::vector<
SESFace*>::const_iterator
149 void clean(const
double& density);
154 throw(Exception::GeneralException);
156 void splitSphericFaces()
228 void deleteSmallToricFace(
SESFace* face)
231 void deleteSmallSingularToricFace(
SESFace* face)
234 bool cleanToricFace(
SESFace* face, const
double& sqrt_density)
237 bool cleanSingularToricFace(
SESFace* face, const
double& sqrt_density)
246 void cleanContactFaces()
249 void cleanToricFaces()
252 void cleanSphericFaces()
308 (std::ostream& s, const SolventExcludedSurface& ses);
335 SESComputer(SolventExcludedSurface* ses)
341 virtual ~SESComputer()
387 const double& radius_of_probe)
394 const double& radius_of_probe)
405 void treatSingularToricFace(
Position i)
408 void createFreeToricFace(
Position i)
502 throw(Exception::GeneralException);
515 void treatSingularities()
518 void getSingularFaces(std::list<
SESFace*>& faces)
521 bool treatFirstCategory()
524 void treatSecondCategory()
527 void getFirstCategoryFaces(std::list<
SESFace*>& first_category_faces)
536 void treatSingularEdge
539 ::std::list<
SESEdge*>& deletable_edges)
542 void getIntersectionsOfSingularEdge
544 const
TAngle<
double>& phi,
549 bool getIntersectionPointsAndAngles
562 (const
TAngle<
double>& min_phi,
563 const
TAngle<
double>& max_phi,
564 const
TAngle<
double>& phi,
597 Index& actual_extremum,
600 bool probeIntersection
610 std::vector<
SESEdge*>& sesedge1,
611 std::vector<
SESEdge*>& sesedge2,
639 > probe_intersections_;
646 #endif // BALL_STRUCTURE_SOLVENTEXCLUDEDSURFACE_H