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
#define BALL_CREATE(name)
std::vector< SESFace * >::const_iterator ConstContactFaceIterator
std::vector< SESFace * >::const_iterator ConstToricFaceIterator
std::list< SESEdge * >::const_iterator ConstSingularEdgeIterator
std::vector< SESFace * >::iterator ToricFaceIterator
std::vector< SESFace * >::iterator SphericFaceIterator
std::vector< SESEdge * >::const_iterator ConstEdgeIterator
HashGrid3< Index > vertex_grid_
std::pair< std::pair< TAngle< double >, Index >, TVector3< double > > Intersection
std::vector< SESFace * >::const_iterator ConstSphericFaceIterator
T max(const T &a, const T &b)
std::vector< SESVertex * >::const_iterator ConstVertexIterator
std::vector< SESEdge * >::iterator EdgeIterator
SolventExcludedSurface * ses_
std::list< SESEdge * >::iterator SingularEdgeIterator
HashMap class based on the STL map (containing serveral convenience functions)
std::vector< SESFace * >::iterator ContactFaceIterator
std::vector< SESVertex * >::iterator VertexIterator
T min(const T &a, const T &b)