Back to index

salome-med  6.5.0
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes
INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector > Class Template Reference

#include <PlanarIntersectorP1P0.hxx>

Inheritance diagram for INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >:
Inheritance graph
[legend]
Collaboration diagram for INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef MyMeshType::MyConnType ConnType
typedef std::map< int,
std::set< int > > 
DuplicateFacesType

Public Member Functions

void intersectCells (ConnType icellT, const std::vector< ConnType > &icellsS, MyMatrix &res)
 Tool for cell intersection, result is always positive.
int getNumberOfRowsOfResMatrix () const
int getNumberOfColsOfResMatrix () const
double intersectGeometryWithQuadrangle (const double *quadrangle, const std::vector< double > &sourceCoords, bool isSourceQuad)
 Contrary to intersectCells method here icellS and icellT are not in C mode but in mode of MyMeshType.
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)
virtual const DuplicateFacesTypegetIntersectFaces () const

Static Public 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 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

 PlanarIntersectorP1P0 (const MyMeshType &meshT, const MyMeshType &meshS, double dimCaracteristic, double precision, double md3DSurf, double medianPlane, bool doRotate, int orientation, int printLevel)
ConcreteP1P0Intersector & asLeaf ()
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 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

Detailed Description

template<class MyMeshType, class MyMatrix, class ConcreteP1P0Intersector>
class INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >

Definition at line 28 of file PlanarIntersectorP1P0.hxx.


Member Typedef Documentation

template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
typedef MyMeshType::MyConnType INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::ConnType
template<class MyMeshType, class MyMatrix>
typedef std::map<int,std::set<int> > INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::DuplicateFacesType [inherited]

Definition at line 41 of file PlanarIntersector.hxx.


Constructor & Destructor Documentation

template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::PlanarIntersectorP1P0 ( const MyMeshType &  meshT,
const MyMeshType &  meshS,
double  dimCaracteristic,
double  precision,
double  md3DSurf,
double  medianPlane,
bool  doRotate,
int  orientation,
int  printLevel 
) [protected]

Member Function Documentation

template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::adjustBoundingBoxes ( std::vector< double > &  bbox,
double  surf3DAdjustmentEps,
double  surf3DAdjustmentEpsAbs 
) [inherited]

Here is the caller graph for this function:

template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
ConcreteP1P0Intersector& INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::asLeaf ( ) [inline, protected]

Definition at line 46 of file PlanarIntersectorP1P0.hxx.

{ return static_cast<ConcreteP1P0Intersector&>(*this); }

Here is the caller graph for this function:

template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::createBoundingBoxes ( const MyMeshType &  mesh,
std::vector< double > &  bbox 
) [inherited]
template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getElemBB ( double *  bb,
const MyMeshType &  mesh,
ConnType  iP,
ConnType  nb_nodes 
) [inline, inherited]
template<class MyMeshType, class MyMatrix>
virtual const DuplicateFacesType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getIntersectFaces ( ) const [inline, virtual, inherited]
template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
int INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::getNumberOfColsOfResMatrix ( ) const [virtual]
template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
int INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::getNumberOfRowsOfResMatrix ( ) const [virtual]
template<class MyMeshType, class MyMatrix>
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, inherited]
template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinates ( ConnType  icellS,
std::vector< double > &  coordsS 
) [protected, inherited]
template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealSourceCoordinatesPermute ( ConnType  icellS,
int  offset,
std::vector< double > &  coordsS 
) [protected, inherited]
template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinates ( ConnType  icellT,
std::vector< double > &  coordsT 
) [protected, inherited]
template<class MyMeshType, class MyMatrix>
void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getRealTargetCoordinatesPermute ( ConnType  icellT,
int  offset,
std::vector< double > &  coordsT 
) [protected, inherited]
template<class MyMeshType, class MyMatrix>
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::getValueRegardingOption ( double  val) const [protected, inherited]
template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
void INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::intersectCells ( ConnType  targetCell,
const std::vector< ConnType > &  srcCells,
MyMatrix &  res 
) [virtual]

Tool for cell intersection, result is always positive.

Parameters:
icellTid of cell in target mesh in C mode.
icellsSids of cells in source mesh in C mode.
resis an IN/OUT parameter that represents the icellTth row in final matrix, fed with at most icellsS elements.

Implements INTERP_KERNEL::TargetIntersector< MyMeshType, MyMatrix >.

template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
double INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::intersectGeometryWithQuadrangle ( const double *  quadrangle,
const std::vector< double > &  sourceCoords,
bool  isSourceQuad 
) [inline]

Contrary to intersectCells method here icellS and icellT are not in C mode but in mode of MyMeshType.

Definition at line 44 of file PlanarIntersectorP1P0.hxx.

{ return asLeaf().intersectGeometryWithQuadrangle(quadrangle,sourceCoords,isSourceQuad); }

Here is the call graph for this function:

template<class MyMeshType, class MyMatrix>
static 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, inherited]
template<class MyMeshType, class MyMatrix>
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::projectionThis ( double *  Coords_A,
double *  Coords_B,
int  nb_NodesA,
int  nb_NodesB 
) [protected, inherited]
template<class MyMeshType, class MyMatrix>
static void INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::rotate3DTriangle ( double *  PP1,
double *  PP2,
double *  PP3,
TranslationRotationMatrix &  rotation_matrix 
) [static, protected, inherited]

Member Data Documentation

template<class MyMeshType, class MyMatrix>
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectS [protected, inherited]

Definition at line 68 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connectT [protected, inherited]

Definition at line 67 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexS [protected, inherited]

Definition at line 72 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const ConnType* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_connIndexT [protected, inherited]

Definition at line 71 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const double* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsS [protected, inherited]

Definition at line 70 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const double* INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_coordsT [protected, inherited]

Definition at line 69 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_dim_caracteristic [protected, inherited]

Definition at line 75 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
bool INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_do_rotate [protected, inherited]

Definition at line 79 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_max_distance_3Dsurf_intersect [protected, inherited]

Definition at line 76 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_median_plane [protected, inherited]

Definition at line 78 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const MyMeshType& INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_meshS [protected, inherited]

Definition at line 74 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
const MyMeshType& INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_meshT [protected, inherited]

Definition at line 73 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_orientation [protected, inherited]

Definition at line 80 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
double INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_precision [protected, inherited]

Definition at line 77 of file PlanarIntersector.hxx.

template<class MyMeshType, class MyMatrix>
int INTERP_KERNEL::PlanarIntersector< MyMeshType, MyMatrix >::_print_level [protected, inherited]

Definition at line 81 of file PlanarIntersector.hxx.

template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
const int INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::MESHDIM = MyMeshType::MY_MESHDIM [static]
template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
const NumberingPolicy INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::numPol = MyMeshType::My_numPol [static]
template<class MyMeshType , class MyMatrix , class ConcreteP1P0Intersector >
const int INTERP_KERNEL::PlanarIntersectorP1P0< MyMeshType, MyMatrix, ConcreteP1P0Intersector >::SPACEDIM = MyMeshType::MY_SPACEDIM [static]

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