Public Types | |
typedef MyMeshType::MyConnType | ConnType |
typedef std::map< int, std::set< int > > | DuplicateFacesType |
Public Types inherited from INTERP_KERNEL::TargetIntersector< MyMeshType, MyMatrix > | |
typedef MyMeshType::MyConnType | ConnType |
Public Member Functions | |
void | adjustBoundingBoxes (std::vector< double > &bbox, double surf3DAdjustmentEps, double surf3DAdjustmentEpsAbs) |
void | createBoundingBoxes (const MyMeshType &mesh, std::vector< double > &bbox) |
void | getElemBB (double *bb, const MyMeshType &mesh, ConnType iP, ConnType nb_nodes) |
virtual const DuplicateFacesType * | getIntersectFaces () const |
PlanarIntersector (const MyMeshType &meshT, const MyMeshType &meshS, double dimCaracteristic, double precision, double md3DSurf, double minDot3DSurf, double medianPlane, bool doRotate, int orientation, int printLevel) | |
virtual | ~PlanarIntersector () |
Public Member Functions inherited from INTERP_KERNEL::TargetIntersector< MyMeshType, MyMatrix > | |
virtual int | getNumberOfColsOfResMatrix () const =0 |
virtual int | getNumberOfRowsOfResMatrix () const =0 |
virtual void | intersectCells (ConnType targetCell, const std::vector< ConnType > &srcCells, MyMatrix &res)=0 |
virtual | ~TargetIntersector () |
Static Public Member Functions | |
static int | Projection (double *Coords_A, double *Coords_B, int nb_NodesA, int nb_NodesB, double epsilon, double md3DSurf, double minDot3DSurf, double median_plane, bool do_rotate) |
Static Public Attributes | |
static const int | MESHDIM =MyMeshType::MY_MESHDIM |
static const NumberingPolicy | numPol =MyMeshType::My_numPol |
static const int | SPACEDIM =MyMeshType::MY_SPACEDIM |
Protected Member Functions | |
void | getRealCoordinates (ConnType icellT, ConnType icellS, ConnType nbNodesT, ConnType nbNodesS, std::vector< double > &coordsT, std::vector< double > &coordsS, int &orientation) |
void | getRealSourceCoordinates (ConnType icellS, std::vector< double > &coordsS) |
void | getRealSourceCoordinatesPermute (ConnType icellS, int offset, std::vector< double > &coordsS) |
void | getRealTargetCoordinates (ConnType icellT, std::vector< double > &coordsT) |
void | getRealTargetCoordinatesPermute (ConnType icellT, int offset, std::vector< double > &coordsT) |
double | getValueRegardingOption (double val) const |
int | projectionThis (double *Coords_A, double *Coords_B, int nb_NodesA, int nb_NodesB) |
Static Protected Member Functions | |
static void | Rotate3DTriangle (double *PP1, double *PP2, double *PP3, TranslationRotationMatrix &rotation_matrix) |
Protected Attributes | |
const ConnType * | _connectS |
const ConnType * | _connectT |
const ConnType * | _connIndexS |
const ConnType * | _connIndexT |
const double * | _coordsS |
const double * | _coordsT |
double | _dim_caracteristic |
bool | _do_rotate |
double | _max_distance_3Dsurf_intersect |
double | _median_plane |
const MyMeshType & | _meshS |
const MyMeshType & | _meshT |
double | _min_dot_btw_3Dsurf_intersect |
int | _orientation |
double | _precision |
int | _print_level |
typedef MyMeshType::MyConnType INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::ConnType |
typedef std::map<int,std::set<int> > INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::DuplicateFacesType |
INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector | ( | const MyMeshType & | meshT, |
const MyMeshType & | meshS, | ||
double | dimCaracteristic, | ||
double | precision, | ||
double | md3DSurf, | ||
double | minDot3DSurf, | ||
double | medianPlane, | ||
bool | doRotate, | ||
int | orientation, | ||
int | printLevel | ||
) |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectS, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexS, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsS, and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT.
|
virtual |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::createBoundingBoxes | ( | const MyMeshType & | mesh, |
std::vector< double > & | bbox | ||
) |
creates the bounding boxes for all the cells of mesh mesh
The method accepts mixed meshes (containing triangles and quadrangles). The vector returned is of dimension 6*nb_elems with bounding boxes stored as xmin1, xmax1, ymin1, ymax1, zmin1, zmax1, xmin2, xmax2, ymin2,... The returned pointer must be deleted by the calling code.
mesh | structure pointing to the mesh |
bbox | vector containing the bounding boxes |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::adjustBoundingBoxes | ( | std::vector< double > & | bbox, |
double | surf3DAdjustmentEps, | ||
double | surf3DAdjustmentEpsAbs | ||
) |
Readjusts a set of bounding boxes so that they are extended in all dimensions for avoiding missing interesting intersections
bbox | vector containing the bounding boxes |
Referenced by INTERP_KERNEL::Interpolation3DSurf::performAdjustmentOfBB().
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getElemBB | ( | double * | bb, |
const MyMeshType & | mesh, | ||
ConnType | iP, | ||
ConnType | nb_nodes | ||
) |
Computes the bouding box of a given element. iP in numPol mode.
|
static |
Referenced by MEDCoupling::MEDCouplingPointSet::project2DCellOnXY().
|
virtual |
|
protected |
|
protected |
icellT | id in target mesh in format of MyMeshType. |
coordsT | output val that stores coordinates of the target cell automatically resized to the right length. |
|
protected |
icellS | id in source mesh in format of MyMeshType. |
coordsS | output val that stores coordinates of the source cell automatically resized to the right length. |
|
protected |
icellT | id in target mesh in format of MyMeshType. |
offset | is a value in C format that indicates the number of circular permutation. |
coordsT | output val that stores coordinates of the target cell automatically resized to the right length. |
|
protected |
icellS | id in source mesh in format of MyMeshType. |
offset | is a value in C format that indicates the number of circular permutation. |
coordsS | output val that stores coordinates of the source cell automatically resized to the right length. |
|
protected |
icellT | id in target mesh in format of MyMeshType. |
icellS | id in source mesh in format of MyMeshType. |
nbNodesT | nb of nodes of the target cell. |
nbNodesS | nb of nodes of the source cell. |
coordsT | output val that stores coordinates of the target cell automatically resized to the right length. |
coordsS | output val that stores coordinates of the source cell automatically resized to the right length. |
orientation | is an output value too, only set if SPACEDIM==3. |
|
protected |
Filtering out zero surfaces and badly oriented surfaces _orientation = -1,0,1,2 -1 : the intersection is taken into account if target and cells have different orientation 0 : the intersection is always taken into account 1 : the intersection is taken into account if target and cells have the same orientation 2 : the absolute value of intersection is always taken into account
|
staticprotected |
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |