#include <PolygonAlgorithms.hxx>
Public Member Functions | |
| PolygonAlgorithms (double epsilon, double precision) | |
| std::deque< double > | intersectConvexPolygons (const double *P_1, const double *P_2, int N1, int N2) |
| int | convexDecomposition (const double *P, int N, std::vector< std::map< int, int > > &components, std::vector< int > &components_index, const double epsilon) |
Private Member Functions | |
| void | defineIndices (int &i_loc, int &i_next, int &i_prev, const double *&Poly1, const double *&Poly2, int &j1, int &j1_glob, int &j2, int &j2_glob, int &j3, int &j3_glob, int &j4, int &j4_glob, int &i_glob, int &i_next_glob, int &i_prev_glob, const double *P_1, const double *P_2, int N1, int N2, int sign) |
| void | addCrossings (const double *A, const double *B, int i, int i_next, const double *C, const double *D, int j1, int j2, const double *E, const double *F, int j3, int j4, const double *G) |
| void | addCrossing0 (const double *A, const double *B, int i, int i_next, const double *C, const double *D, int j, int j_next) |
| void | addCrossing (double *ABCD, std::pair< int, int > i_i_next, std::pair< int, int > j_j_next) |
| void | addNewVertex (int i, int i_glob, int i_next_glob, int i_prev_glob, const double *P) |
| bool | intersectSegmentSegment (const double *A, const double *B, const double *C, const double *D, const double *E, double *V) |
| void | convexDecomposition (const double *P, int N, double *n, std::vector< int > subP, int NsubP, std::vector< std::map< int, int > > &components, std::vector< int > &components_index, int &Ncomp, int sign, const double epsilon) |
| void | convHull (const double *P, int N, double *n, std::map< int, int > &subP, std::map< int, int > ¬_in_hull, int &NsubP, const double epsilon) |
Private Attributes | |
| std::deque< double > | _Inter |
| std::vector< std::pair< int, int > > | _End_segments |
| std::multimap< int, std::pair < int, bool > > | _Status |
| bool | _is_in_intersection |
| bool | _terminus |
| double | _vdouble [DIM] |
| double | _epsilon |
| double | _precision |
| INTERP_KERNEL.PolygonAlgorithms< DIM >.PolygonAlgorithms | ( | double | epsilon, |
| double | precision | ||
| ) |
| std::deque<double> INTERP_KERNEL.PolygonAlgorithms< DIM >.intersectConvexPolygons | ( | const double * | P_1, |
| const double * | P_2, | ||
| int | N1, | ||
| int | N2 | ||
| ) |
| int INTERP_KERNEL.PolygonAlgorithms< DIM >.convexDecomposition | ( | const double * | P, |
| int | N, | ||
| std::vector< std::map< int, int > > & | components, | ||
| std::vector< int > & | components_index, | ||
| const double | epsilon | ||
| ) |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.defineIndices | ( | int & | i_loc, |
| int & | i_next, | ||
| int & | i_prev, | ||
| const double *& | Poly1, | ||
| const double *& | Poly2, | ||
| int & | j1, | ||
| int & | j1_glob, | ||
| int & | j2, | ||
| int & | j2_glob, | ||
| int & | j3, | ||
| int & | j3_glob, | ||
| int & | j4, | ||
| int & | j4_glob, | ||
| int & | i_glob, | ||
| int & | i_next_glob, | ||
| int & | i_prev_glob, | ||
| const double * | P_1, | ||
| const double * | P_2, | ||
| int | N1, | ||
| int | N2, | ||
| int | sign | ||
| ) | [private] |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.addCrossings | ( | const double * | A, |
| const double * | B, | ||
| int | i, | ||
| int | i_next, | ||
| const double * | C, | ||
| const double * | D, | ||
| int | j1, | ||
| int | j2, | ||
| const double * | E, | ||
| const double * | F, | ||
| int | j3, | ||
| int | j4, | ||
| const double * | G | ||
| ) | [private] |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.addCrossing0 | ( | const double * | A, |
| const double * | B, | ||
| int | i, | ||
| int | i_next, | ||
| const double * | C, | ||
| const double * | D, | ||
| int | j, | ||
| int | j_next | ||
| ) | [private] |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.addCrossing | ( | double * | ABCD, |
| std::pair< int, int > | i_i_next, | ||
| std::pair< int, int > | j_j_next | ||
| ) | [private] |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.addNewVertex | ( | int | i, |
| int | i_glob, | ||
| int | i_next_glob, | ||
| int | i_prev_glob, | ||
| const double * | P | ||
| ) | [private] |
| bool INTERP_KERNEL.PolygonAlgorithms< DIM >.intersectSegmentSegment | ( | const double * | A, |
| const double * | B, | ||
| const double * | C, | ||
| const double * | D, | ||
| const double * | E, | ||
| double * | V | ||
| ) | [private] |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.convexDecomposition | ( | const double * | P, |
| int | N, | ||
| double * | n, | ||
| std::vector< int > | subP, | ||
| int | NsubP, | ||
| std::vector< std::map< int, int > > & | components, | ||
| std::vector< int > & | components_index, | ||
| int & | Ncomp, | ||
| int | sign, | ||
| const double | epsilon | ||
| ) | [private] |
| void INTERP_KERNEL.PolygonAlgorithms< DIM >.convHull | ( | const double * | P, |
| int | N, | ||
| double * | n, | ||
| std::map< int, int > & | subP, | ||
| std::map< int, int > & | not_in_hull, | ||
| int & | NsubP, | ||
| const double | epsilon | ||
| ) | [private] |
std::deque< double > INTERP_KERNEL.PolygonAlgorithms< DIM >._Inter [private] |
std::vector< std::pair< int,int > > INTERP_KERNEL.PolygonAlgorithms< DIM >._End_segments [private] |
std::multimap< int, std::pair< int,bool> > INTERP_KERNEL.PolygonAlgorithms< DIM >._Status [private] |
bool INTERP_KERNEL.PolygonAlgorithms< DIM >._is_in_intersection [private] |
bool INTERP_KERNEL.PolygonAlgorithms< DIM >._terminus [private] |
double INTERP_KERNEL.PolygonAlgorithms< DIM >._vdouble[DIM] [private] |
double INTERP_KERNEL.PolygonAlgorithms< DIM >._epsilon [private] |
double INTERP_KERNEL.PolygonAlgorithms< DIM >._precision [private] |