Back to index

salome-med  6.5.0
Public Member Functions | Private Member Functions | Private Attributes
INTERP_KERNEL::PolygonAlgorithms< DIM > Class Template Reference

#include <PolygonAlgorithms.hxx>

Collaboration diagram for INTERP_KERNEL::PolygonAlgorithms< DIM >:
Collaboration graph
[legend]

List of all members.

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 > &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

Detailed Description

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

Definition at line 45 of file PolygonAlgorithms.hxx.


Constructor & Destructor Documentation

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

Member Function Documentation

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 >::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 >::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 >::addNewVertex ( int  i,
int  i_glob,
int  i_next_glob,
int  i_prev_glob,
const double *  P 
) [private]
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 >::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]
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>
std::deque<double> INTERP_KERNEL::PolygonAlgorithms< DIM >::intersectConvexPolygons ( const double *  P_1,
const double *  P_2,
int  N1,
int  N2 
)
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]

Member Data Documentation

template<int DIM>
std::vector< std::pair< int,int > > INTERP_KERNEL::PolygonAlgorithms< DIM >::_End_segments [private]

Definition at line 82 of file PolygonAlgorithms.hxx.

template<int DIM>
double INTERP_KERNEL::PolygonAlgorithms< DIM >::_epsilon [private]

Definition at line 89 of file PolygonAlgorithms.hxx.

template<int DIM>
std::deque< double > INTERP_KERNEL::PolygonAlgorithms< DIM >::_Inter [private]

Definition at line 81 of file PolygonAlgorithms.hxx.

template<int DIM>
bool INTERP_KERNEL::PolygonAlgorithms< DIM >::_is_in_intersection [private]

Definition at line 86 of file PolygonAlgorithms.hxx.

template<int DIM>
double INTERP_KERNEL::PolygonAlgorithms< DIM >::_precision [private]

Definition at line 90 of file PolygonAlgorithms.hxx.

template<int DIM>
std::multimap< int, std::pair< int,bool> > INTERP_KERNEL::PolygonAlgorithms< DIM >::_Status [private]

Definition at line 85 of file PolygonAlgorithms.hxx.

template<int DIM>
bool INTERP_KERNEL::PolygonAlgorithms< DIM >::_terminus [private]

Definition at line 87 of file PolygonAlgorithms.hxx.

template<int DIM>
double INTERP_KERNEL::PolygonAlgorithms< DIM >::_vdouble[DIM] [private]

Definition at line 88 of file PolygonAlgorithms.hxx.


The documentation for this class was generated from the following file: