Version: 6.3.1
Public Member Functions | Private Member Functions | Private Attributes

INTERP_KERNEL.PolygonAlgorithms< DIM > Class Template Reference

#include <PolygonAlgorithms.hxx>

Public Member Functions

 PolygonAlgorithms (double epsilon, double precision)
std::deque< doubleintersectConvexPolygons (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 > &not_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

template<int DIM>
class INTERP_KERNEL::PolygonAlgorithms< DIM >


Constructor & Destructor Documentation

template<int DIM>
INTERP_KERNEL.PolygonAlgorithms< DIM >.PolygonAlgorithms ( double  epsilon,
double  precision 
)

Member Function Documentation

template<int DIM>
std::deque<double> INTERP_KERNEL.PolygonAlgorithms< DIM >.intersectConvexPolygons ( const double P_1,
const double P_2,
int  N1,
int  N2 
)
template<int DIM>
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 
)
template<int DIM>
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]
template<int DIM>
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]
template<int DIM>
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]
template<int DIM>
void INTERP_KERNEL.PolygonAlgorithms< DIM >.addCrossing ( double ABCD,
std::pair< int, int i_i_next,
std::pair< int, int j_j_next 
) [private]
template<int DIM>
void INTERP_KERNEL.PolygonAlgorithms< DIM >.addNewVertex ( int  i,
int  i_glob,
int  i_next_glob,
int  i_prev_glob,
const double P 
) [private]
template<int DIM>
bool INTERP_KERNEL.PolygonAlgorithms< DIM >.intersectSegmentSegment ( const double A,
const double B,
const double C,
const double D,
const double E,
double V 
) [private]
template<int DIM>
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]
template<int DIM>
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]

Field Documentation

template<int DIM>
std::deque< double > INTERP_KERNEL.PolygonAlgorithms< DIM >._Inter [private]
template<int DIM>
std::vector< std::pair< int,int > > INTERP_KERNEL.PolygonAlgorithms< DIM >._End_segments [private]
template<int DIM>
std::multimap< int, std::pair< int,bool> > INTERP_KERNEL.PolygonAlgorithms< DIM >._Status [private]
template<int DIM>
bool INTERP_KERNEL.PolygonAlgorithms< DIM >._is_in_intersection [private]
template<int DIM>
bool INTERP_KERNEL.PolygonAlgorithms< DIM >._terminus [private]
template<int DIM>
double INTERP_KERNEL.PolygonAlgorithms< DIM >._vdouble[DIM] [private]
template<int DIM>
double INTERP_KERNEL.PolygonAlgorithms< DIM >._epsilon [private]
template<int DIM>
double INTERP_KERNEL.PolygonAlgorithms< DIM >._precision [private]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS