Go to the documentation of this file.
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;
89 typedef std::vector<SESVertex*>::iterator
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);
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()
387 const double& radius_of_probe)
394 const double& radius_of_probe)
405 void treatSingularToricFace(
Position i)
408 void createFreeToricFace(
Position i)
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
546 std::list<Intersection>& intersections)
549 bool getIntersectionPointsAndAngles
571 const std::list<Intersection>&
min,
572 const std::list<Intersection>&
max,
589 (
const std::list<Intersection>& intersections,
590 std::list<Intersection>&
min,
591 std::list<Intersection>&
max);
595 const std::list<Intersection>& extrema,
597 Index& actual_extremum,
600 bool probeIntersection
610 std::vector<SESEdge*>& sesedge1,
611 std::vector<SESEdge*>& sesedge2,
612 std::vector<SESVertex*>& sesvertex1,
613 std::vector<SESVertex*>& sesvertex2);
646 #endif // BALL_STRUCTURE_SOLVENTEXCLUDEDSURFACE_H
std::vector< SESFace * >::iterator ToricFaceIterator
std::vector< SESFace * >::iterator ContactFaceIterator
HashGrid3< Index > vertex_grid_
std::vector< SESFace * >::iterator SphericFaceIterator
HashMap class based on the STL map (containing serveral convenience functions)
std::vector< SESEdge * >::iterator EdgeIterator
SolventExcludedSurface * ses_
std::vector< SESEdge * >::const_iterator ConstEdgeIterator
std::list< SESEdge * >::const_iterator ConstSingularEdgeIterator
std::vector< SESFace * >::const_iterator ConstContactFaceIterator
Position number_of_toric_faces_
Position number_of_edges_
Position number_of_vertices_
std::pair< std::pair< TAngle< double >, Index >, TVector3< double > > Intersection
std::vector< SESFace * >::const_iterator ConstToricFaceIterator
::std::vector< SESFace * > contact_faces_
std::vector< SESVertex * >::iterator VertexIterator
Three-dimensional Hash Grid Class.
HashMap< Position, HashMap< Position, HashMap< Position, ProbeIntersection * > > > probe_intersections_
::std::vector< SESEdge * > edges_
std::vector< SESFace * >::const_iterator ConstSphericFaceIterator
::std::vector< SESFace * > spheric_faces_
T min(const T &a, const T &b)
Position number_of_singular_edges_
std::vector< SESVertex * >::const_iterator ConstVertexIterator
ReducedSurface * reduced_surface_
Position number_of_spheric_faces_
HashGrid3< Index > * vertex_grid_
Position number_of_contact_faces_
SolventExcludedSurface * ses_
T max(const T &a, const T &b)
#define BALL_CREATE(name)
std::list< SESEdge * >::iterator SingularEdgeIterator
::std::vector< SESFace * > toric_faces_
::std::vector< SESVertex * > vertices_
::std::list< SESEdge * > singular_edges_