BALL
1.4.2
|
#include <BALL/STRUCTURE/solventExcludedSurface.h>
Classes | |
struct | ProbeIntersection |
Public Types | |
typedef std::pair< std::pair < TAngle< double >, Index > , TVector3< double > > | Intersection |
Public Member Functions | |
Constructors and Destructors | |
SESSingularityCleaner () | |
SESSingularityCleaner (SolventExcludedSurface *ses, HashGrid3< Index > *vertex_grid_) | |
virtual | ~SESSingularityCleaner () |
Accessors | |
bool | run () throw (Exception::GeneralException) |
Protected Attributes | |
SolventExcludedSurface * | ses_ |
HashGrid3< Index > * | vertex_grid_ |
HashMap< Position, HashMap < Position, HashMap< Position, ProbeIntersection * > > > | probe_intersections_ |
Private Member Functions | |
Treatment of singularities (private) | |
Index | vertexExists (TVector3< double > point) |
void | treatSingularities () |
void | getSingularFaces (std::list< SESFace * > &faces) |
bool | treatFirstCategory () |
void | treatSecondCategory () |
void | getFirstCategoryFaces (std::list< SESFace * > &first_category_faces) |
void | noCut (SESFace *face1, SESFace *face2) |
void | twoCuts (SESFace *face1, SESFace *face2) |
void | treatSingularEdge (SESEdge *edge, HashGrid3< Position > &grid,::std::list< SESEdge * > &deletable_edges) |
void | getIntersectionsOfSingularEdge (SESEdge *edge, const TAngle< double > &phi, HashGrid3< Position > &grid, std::list< Intersection > &intersections) |
bool | getIntersectionPointsAndAngles (const TCircle3< double > &circle, const TVector3< double > &point, Position index1, Position index2, Position probe_index, TAngle< double > &phi1, TVector3< double > &point1, TAngle< double > &phi2, TVector3< double > &point2) |
bool | isIntersection (const TAngle< double > &min_phi, const TAngle< double > &max_phi, const TAngle< double > &phi, const TVector3< double > &middle, const TSphere3< double > &probe) |
void | buildEndEdges (SESEdge *edge, const std::list< Intersection > &min, const std::list< Intersection > &max, SESVertex *&vertex1, SESVertex *&vertex2, Index &actual_min, Index &actual_max) |
void | buildEdge (SESEdge *edge, Index face1, Index &face2, Index end, SESVertex *&vertex, const HashSet< Index > &indices, bool minimum) |
void | getExtrema (const std::list< Intersection > &intersections, std::list< Intersection > &min, std::list< Intersection > &max) |
void | buildEndEdge (SESEdge *edge, const std::list< Intersection > &extrema, SESVertex *&vertex, Index &actual_extremum, bool min) |
bool | probeIntersection (Index face1, Index face2, Index face3, TVector3< double > &point1, TVector3< double > &point2) |
void | sort (SESFace *face1, SESFace *face2, std::vector< SESEdge * > &sesedge1, std::vector< SESEdge * > &sesedge2, std::vector< SESVertex * > &sesvertex1, std::vector< SESVertex * > &sesvertex2) |
void | sort (Index u1, Index u2, Index u3, Index &s1, Index &s2, Index &s3) |
Friends | |
class | SESComputer |
Generic SESComputer Class.
Definition at line 456 of file solventExcludedSurface.h.
typedef std::pair< std::pair<TAngle<double>,Index>,TVector3<double> > BALL::SESSingularityCleaner::Intersection |
Definition at line 462 of file solventExcludedSurface.h.
BALL::SESSingularityCleaner::SESSingularityCleaner | ( | ) |
Default constructor. This method creates a new SESComputer object.
BALL::SESSingularityCleaner::SESSingularityCleaner | ( | SolventExcludedSurface * | ses, |
HashGrid3< Index > * | vertex_grid_ | ||
) |
Detailed constructor
|
virtual |
Destructor. As there are no dynamic data structures, nothing happens.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
bool BALL::SESSingularityCleaner::run | ( | ) | throw (Exception::GeneralException) |
Solves the singularities
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
friend |
Definition at line 469 of file solventExcludedSurface.h.
|
protected |
Definition at line 639 of file solventExcludedSurface.h.
|
protected |
Definition at line 626 of file solventExcludedSurface.h.
Definition at line 630 of file solventExcludedSurface.h.