Med Memory Users' Guide 5.1.3
|
Public Types | |
typedef MyMeshType::MyConnType | ConnType |
Public Member Functions | |
PlanarIntersector (const MyMeshType &meshT, const MyMeshType &meshS, double dimCaracteristic, double precision, double md3DSurf, double medianPlane, bool doRotate, int orientation, int printLevel) | |
virtual | ~PlanarIntersector () |
void | createBoundingBoxes (const MyMeshType &mesh, std::vector< double > &bbox) |
void | adjustBoundingBoxes (std::vector< double > &bbox, double surf3DAdjustmentEps, double surf3DAdjustmentEpsAbs) |
void | getElemBB (double *bb, const MyMeshType &mesh, ConnType iP, ConnType nb_nodes) |
Static Public Attributes | |
static const int | SPACEDIM = MyMeshType::MY_SPACEDIM |
static const int | MESHDIM = MyMeshType::MY_MESHDIM |
static const NumberingPolicy | numPol = MyMeshType::My_numPol |
Protected Member Functions | |
int | projectionThis (double *Coords_A, double *Coords_B, int nb_NodesA, int nb_NodesB) |
void | getRealTargetCoordinates (ConnType icellT, std::vector< double > &coordsT) |
void | getRealSourceCoordinates (ConnType icellS, std::vector< double > &coordsS) |
void | getRealTargetCoordinatesPermute (ConnType icellT, int offset, std::vector< double > &coordsT) |
void | getRealSourceCoordinatesPermute (ConnType icellS, int offset, std::vector< double > &coordsS) |
void | getRealCoordinates (ConnType icellT, ConnType icellS, ConnType nbNodesT, ConnType nbNodesS, std::vector< double > &coordsT, std::vector< double > &coordsS, int &orientation) |
double | getValueRegardingOption (double val) const |
Static Protected Member Functions | |
static int | projection (double *Coords_A, double *Coords_B, int nb_NodesA, int nb_NodesB, double epsilon, double md3DSurf, double median_plane, bool do_rotate) |
static void | rotate3DTriangle (double *PP1, double *PP2, double *PP3, TranslationRotationMatrix &rotation_matrix) |
Protected Attributes | |
const ConnType * | _connectT |
const ConnType * | _connectS |
const double * | _coordsT |
const double * | _coordsS |
const ConnType * | _connIndexT |
const ConnType * | _connIndexS |
const MyMeshType & | _meshT |
const MyMeshType & | _meshS |
double | _dim_caracteristic |
double | _max_distance_3Dsurf_intersect |
double | _precision |
double | _median_plane |
bool | _do_rotate |
int | _orientation |
int | _print_level |
typedef MyMeshType::MyConnType INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::ConnType |
Reimplemented from INTERP_KERNEL::TargetIntersector< MyMeshType, MyMatrix >.
INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector | ( | const MyMeshType & | meshT, |
const MyMeshType & | meshS, | ||
double | dimCaracteristic, | ||
double | precision, | ||
double | md3DSurf, | ||
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.
INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::~PlanarIntersector | ( | ) | [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.
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projectionThis | ( | double * | Coords_A, |
double * | Coords_B, | ||
int | nb_NodesA, | ||
int | nb_NodesB | ||
) | [protected] |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinates | ( | ConnType | icellT, |
std::vector< double > & | coordsT | ||
) | [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. |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinates | ( | ConnType | icellS, |
std::vector< double > & | coordsS | ||
) | [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. |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinatesPermute | ( | ConnType | icellT, |
int | offset, | ||
std::vector< double > & | coordsT | ||
) | [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. |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinatesPermute | ( | ConnType | icellS, |
int | offset, | ||
std::vector< double > & | coordsS | ||
) | [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. |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates | ( | ConnType | icellT, |
ConnType | icellS, | ||
ConnType | nbNodesT, | ||
ConnType | nbNodesS, | ||
std::vector< double > & | coordsT, | ||
std::vector< double > & | coordsS, | ||
int & | orientation | ||
) | [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. |
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getValueRegardingOption | ( | double | val | ) | const [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
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projection | ( | double * | Coords_A, |
double * | Coords_B, | ||
int | nb_NodesA, | ||
int | nb_NodesB, | ||
double | epsilon, | ||
double | md3DSurf, | ||
double | median_plane, | ||
bool | do_rotate | ||
) | [static, protected] |
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::rotate3DTriangle | ( | double * | PP1, |
double * | PP2, | ||
double * | PP3, | ||
TranslationRotationMatrix & | rotation_matrix | ||
) | [static, protected] |
const int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM = MyMeshType::MY_SPACEDIM [static] |
const int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::MESHDIM = MyMeshType::MY_MESHDIM [static] |
const NumberingPolicy INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::numPol = MyMeshType::My_numPol [static] |
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectT [protected] |
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectS [protected] |
const double* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT [protected] |
const double* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsS [protected] |
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexT [protected] |
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexS [protected] |
const MyMeshType& INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_meshT [protected] |
const MyMeshType& INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_meshS [protected] |
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_dim_caracteristic [protected] |
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_max_distance_3Dsurf_intersect [protected] |
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_precision [protected] |
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_median_plane [protected] |
bool INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_do_rotate [protected] |
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_orientation [protected] |
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_print_level [protected] |