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 |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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 |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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.
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projectionThis | ( | double * | Coords_A, | |
double * | Coords_B, | |||
int | nb_NodesA, | |||
int | nb_NodesB | |||
) | [protected] |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_dim_caracteristic, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_do_rotate, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_max_distance_3Dsurf_intersect, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_median_plane, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_precision, and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projection().
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates().
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. |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT, and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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. |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectS, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexS, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsS, and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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. |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT, and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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. |
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectS, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexS, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsS, and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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. |
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, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_print_level, INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projectionThis(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::SPACEDIM.
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
References INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_orientation.
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] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::adjustBoundingBoxes(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::createBoundingBoxes(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getElemBB(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinatesPermute(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projection().
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] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector().
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectS [protected] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector().
const double* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT [protected] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector().
const double* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsS [protected] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector().
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexT [protected] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector().
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexS [protected] |
Referenced by INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinates(), INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinatesPermute(), and INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::PlanarIntersector().
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] |