Version: 5.1.6

ParaMEDMEM.MEDCouplingExtrudedMesh Class Reference

#include <MEDCouplingExtrudedMesh.hxx>

Inheritance diagram for ParaMEDMEM.MEDCouplingExtrudedMesh:
Inheritance graph

Public Member Functions

MEDCouplingMeshType getType () const
void copyTinyStringsFrom (const MEDCouplingMesh *other) throw (INTERP_KERNEL::Exception)
int getNumberOfCells () const
int getNumberOfNodes () const
int getSpaceDimension () const
int getMeshDimension () const
MEDCouplingMeshdeepCpy () const
MEDCouplingExtrudedMeshclone (bool recDeepCpy) const
bool isEqual (const MEDCouplingMesh *other, double prec) const
bool isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) const
void checkDeepEquivalWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const throw (INTERP_KERNEL::Exception)
void checkDeepEquivalOnSameNodesWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor) const throw (INTERP_KERNEL::Exception)
INTERP_KERNEL::NormalizedCellType getTypeOfCell (int cellId) const
std::set
< INTERP_KERNEL::NormalizedCellType
getAllGeoTypes () const
int getNumberOfCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
void getNodeIdsOfCell (int cellId, std::vector< int > &conn) const
void getCoordinatesOfNode (int nodeId, std::vector< double > &coo) const
std::string simpleRepr () const
std::string advancedRepr () const
void checkCoherency () const throw (INTERP_KERNEL::Exception)
void checkCoherency1 (double eps=1e-12) const throw (INTERP_KERNEL::Exception)
void checkCoherency2 (double eps=1e-12) const throw (INTERP_KERNEL::Exception)
void getBoundingBox (double *bbox) const
void updateTime () const
void renumberCells (const int *old2NewBg, bool check) throw (INTERP_KERNEL::Exception)
MEDCouplingUMeshgetMesh2D () const
MEDCouplingUMeshgetMesh1D () const
DataArrayIntgetMesh3DIds () const
MEDCouplingUMeshbuild3DUnstructuredMesh () const
MEDCouplingUMeshbuildUnstructured () const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetMeasureField (bool) const
MEDCouplingFieldDoublegetMeasureFieldOnNode (bool) const
MEDCouplingFieldDoublebuildOrthogonalField () const
int getCellContainingPoint (const double *pos, double eps) const
void rotate (const double *center, const double *vector, double angle)
void translate (const double *vector)
void scale (const double *point, double factor)
std::vector< intgetDistributionOfTypes () const throw (INTERP_KERNEL::Exception)
DataArrayIntcheckTypeConsistencyAndContig (const std::vector< int > &code, const std::vector< const DataArrayInt * > &idsPerType) const throw (INTERP_KERNEL::Exception)
void splitProfilePerType (const DataArrayInt *profile, std::vector< int > &code, std::vector< DataArrayInt * > &idsInPflPerType, std::vector< DataArrayInt * > &idsPerType) const throw (INTERP_KERNEL::Exception)
MEDCouplingMeshbuildPart (const int *start, const int *end) const
MEDCouplingMeshbuildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const
DataArrayIntsimplexize (int policy) throw (INTERP_KERNEL::Exception)
MEDCouplingMeshmergeMyselfWith (const MEDCouplingMesh *other) const
DataArrayDoublegetCoordinatesAndOwner () const
DataArrayDoublegetBarycenterAndOwner () const
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< int > &tinyInfo, std::vector< std::string > &littleStrings) const
void resizeForUnserialization (const std::vector< int > &tinyInfo, DataArrayInt *a1, DataArrayDouble *a2, std::vector< std::string > &littleStrings) const
void serialize (DataArrayInt *&a1, DataArrayDouble *&a2) const
void unserialization (const std::vector< double > &tinyInfoD, const std::vector< int > &tinyInfo, const DataArrayInt *a1, DataArrayDouble *a2, const std::vector< std::string > &littleStrings)
 MEDCouplingExtrudedMesh (const MEDCouplingUMesh *mesh3D, MEDCouplingUMesh *mesh2D, int cell2DId) throw (INTERP_KERNEL::Exception)
 MEDCouplingExtrudedMesh (const MEDCouplingExtrudedMesh &other, bool deepCpy)
 MEDCouplingExtrudedMesh ()
void computeExtrusion (const MEDCouplingUMesh *mesh3D) throw (INTERP_KERNEL::Exception)
void computeExtrusionAlg (const MEDCouplingUMesh *mesh3D) throw (INTERP_KERNEL::Exception)
void build1DExtrusion (int idIn3DDesc, int newId, int nbOf1DLev, MEDCouplingUMesh *subMesh, const int *desc3D, const int *descIndx3D, const int *revDesc3D, const int *revDescIndx3D, bool computeMesh1D) throw (INTERP_KERNEL::Exception)
int findOppositeFaceOf (int current2DCell, int current3DCell, const std::vector< int > &connSorted, const int *desc3D, const int *descIndx3D, const int *conn2D, const int *conn2DIndx) throw (INTERP_KERNEL::Exception)
void computeBaryCenterOfFace (const std::vector< int > &nodalConnec, int lev1DId)
 ~MEDCouplingExtrudedMesh ()

Static Public Member Functions

static MEDCouplingExtrudedMeshNew (const MEDCouplingUMesh *mesh3D, MEDCouplingUMesh *mesh2D, int cell2DId) throw (INTERP_KERNEL::Exception)
static MEDCouplingExtrudedMeshNew ()
static int FindCorrespCellByNodalConn (const std::vector< int > &nodalConnec, const int *revNodalPtr, const int *revNodalIndxPtr) throw (INTERP_KERNEL::Exception)
static void Project1DMeshes (const MEDCouplingUMesh *m1, const MEDCouplingUMesh *m2, double eps, MEDCouplingUMesh *&m1r, MEDCouplingUMesh *&m2r, double *v) throw (INTERP_KERNEL::Exception)

Data Fields

MEDCouplingUMesh_mesh2D
MEDCouplingUMesh_mesh1D
DataArrayInt_mesh3D_ids
 New to old 3D cell Ids Array.
int _cell_2D_id

Constructor & Destructor Documentation

MEDCouplingExtrudedMesh::MEDCouplingExtrudedMesh ( const MEDCouplingUMesh mesh3D,
MEDCouplingUMesh mesh2D,
int  cell2DId 
) throw (INTERP_KERNEL::Exception)
MEDCouplingExtrudedMesh::MEDCouplingExtrudedMesh ( const MEDCouplingExtrudedMesh other,
bool  deepCpy 
)
MEDCouplingExtrudedMesh::MEDCouplingExtrudedMesh (  ) 
MEDCouplingExtrudedMesh::~MEDCouplingExtrudedMesh (  ) 

Member Function Documentation

MEDCouplingExtrudedMesh * MEDCouplingExtrudedMesh::New ( const MEDCouplingUMesh mesh3D,
MEDCouplingUMesh mesh2D,
int  cell2DId 
) throw (INTERP_KERNEL::Exception) [static]

Build an extruded mesh instance from 3D and 2D unstructured mesh lying on the same coords.

Parameters:
mesh3D 3D unstructured mesh.
mesh2D 2D unstructured mesh lying on the same coordinates than mesh3D. Warning mesh2D is not const because the mesh is aggregated and potentially modified by rotate or translate method.
cell2DId Id of cell in mesh2D mesh where the computation of 1D mesh will be done.
MEDCouplingExtrudedMesh * MEDCouplingExtrudedMesh::New (  )  [static]

This constructor is here only for unserialisation process. This constructor is normally completely useless for end user.

MEDCouplingMeshType MEDCouplingExtrudedMesh::getType (  )  const [virtual]
void MEDCouplingExtrudedMesh::copyTinyStringsFrom ( const MEDCouplingMesh other  )  throw (INTERP_KERNEL::Exception)

This method copyies all tiny strings from other (name and components name).

Exceptions:
if other and this have not same mesh type.

References ParaMEDMEM.MEDCouplingExtrudedMesh._mesh1D, ParaMEDMEM.MEDCouplingExtrudedMesh._mesh2D, and ParaMEDMEM.MEDCouplingMesh.copyTinyStringsFrom().

int MEDCouplingExtrudedMesh::getNumberOfCells (  )  const [virtual]
int MEDCouplingExtrudedMesh::getNumberOfNodes (  )  const [virtual]
int MEDCouplingExtrudedMesh::getSpaceDimension (  )  const [virtual]
int MEDCouplingExtrudedMesh::getMeshDimension (  )  const [virtual]
MEDCouplingMesh * MEDCouplingExtrudedMesh::deepCpy (  )  const [virtual]
MEDCouplingExtrudedMesh * MEDCouplingExtrudedMesh::clone ( bool  recDeepCpy  )  const
bool MEDCouplingExtrudedMesh::isEqual ( const MEDCouplingMesh other,
double  prec 
) const
bool MEDCouplingExtrudedMesh::isEqualWithoutConsideringStr ( const MEDCouplingMesh other,
double  prec 
) const
void MEDCouplingExtrudedMesh::checkDeepEquivalWith ( const MEDCouplingMesh other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor,
DataArrayInt *&  nodeCor 
) const throw (INTERP_KERNEL::Exception)
void MEDCouplingExtrudedMesh::checkDeepEquivalOnSameNodesWith ( const MEDCouplingMesh other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor 
) const throw (INTERP_KERNEL::Exception)
INTERP_KERNEL::NormalizedCellType MEDCouplingExtrudedMesh::getTypeOfCell ( int  cellId  )  const [virtual]
std::set< INTERP_KERNEL::NormalizedCellType > MEDCouplingExtrudedMesh::getAllGeoTypes (  )  const [virtual]
int MEDCouplingExtrudedMesh::getNumberOfCellsWithType ( INTERP_KERNEL::NormalizedCellType  type  )  const [virtual]
void MEDCouplingExtrudedMesh::getNodeIdsOfCell ( int  cellId,
std::vector< int > &  conn 
) const [virtual]
void MEDCouplingExtrudedMesh::getCoordinatesOfNode ( int  nodeId,
std::vector< double > &  coo 
) const [virtual]
std::string MEDCouplingExtrudedMesh::simpleRepr (  )  const [virtual]
std::string MEDCouplingExtrudedMesh::advancedRepr (  )  const [virtual]
void MEDCouplingExtrudedMesh::checkCoherency (  )  const throw (INTERP_KERNEL::Exception) [virtual]
void MEDCouplingExtrudedMesh::checkCoherency1 ( double  eps = 1e-12  )  const throw (INTERP_KERNEL::Exception) [virtual]
void MEDCouplingExtrudedMesh::checkCoherency2 ( double  eps = 1e-12  )  const throw (INTERP_KERNEL::Exception) [virtual]
void MEDCouplingExtrudedMesh::getBoundingBox ( double bbox  )  const [virtual]
void MEDCouplingExtrudedMesh::updateTime (  )  const [virtual]
void MEDCouplingExtrudedMesh::renumberCells ( const int old2NewBg,
bool  check 
) throw (INTERP_KERNEL::Exception) [virtual]
MEDCouplingUMesh* ParaMEDMEM.MEDCouplingExtrudedMesh.getMesh2D (  )  const
MEDCouplingUMesh* ParaMEDMEM.MEDCouplingExtrudedMesh.getMesh1D (  )  const
DataArrayInt* ParaMEDMEM.MEDCouplingExtrudedMesh.getMesh3DIds (  )  const
MEDCouplingUMesh * MEDCouplingExtrudedMesh::build3DUnstructuredMesh (  )  const
MEDCouplingUMesh * MEDCouplingExtrudedMesh::buildUnstructured (  )  const throw (INTERP_KERNEL::Exception) [virtual]
MEDCouplingFieldDouble * MEDCouplingExtrudedMesh::getMeasureField ( bool   )  const [virtual]
MEDCouplingFieldDouble * MEDCouplingExtrudedMesh::getMeasureFieldOnNode ( bool  isAbs  )  const [virtual]
MEDCouplingFieldDouble * MEDCouplingExtrudedMesh::buildOrthogonalField (  )  const [virtual]
int MEDCouplingExtrudedMesh::getCellContainingPoint ( const double pos,
double  eps 
) const [virtual]
int MEDCouplingExtrudedMesh::FindCorrespCellByNodalConn ( const std::vector< int > &  nodalConnec,
const int revNodalPtr,
const int revNodalIndxPtr 
) throw (INTERP_KERNEL::Exception) [static]
void MEDCouplingExtrudedMesh::Project1DMeshes ( const MEDCouplingUMesh m1,
const MEDCouplingUMesh m2,
double  eps,
MEDCouplingUMesh *&  m1r,
MEDCouplingUMesh *&  m2r,
double v 
) throw (INTERP_KERNEL::Exception) [static]

This method is callable on 1Dmeshes (meshDim==1 && spaceDim==3) returned by MEDCouplingExtrudedMesh.getMesh1D typically. These 1Dmeshes (meshDim==1 && spaceDim==3) have a special semantic because these meshes do not specify a static location but a translation along a path. This method checks that 'm1' and 'm2' are compatible, if not an exception is thrown. In case these meshes ('m1' and 'm2') are compatible 2 corresponding meshes are created ('m1r' and 'm2r') that can be used for interpolation.

Parameters:
m1 input mesh with meshDim==1 and spaceDim==3
m2 input mesh with meshDim==1 and spaceDim==3
eps tolerance acceptable to determine compatibility
m1r output mesh with ref count equal to 1 with meshDim==1 and spaceDim==1
m2r output mesh with ref count equal to 1 with meshDim==1 and spaceDim==1
v is the output normalized vector of the common direction of 'm1' and 'm2'
Exceptions:
in case that m1 and m2 are not compatible each other.

References TestMedCorba2.n.

void MEDCouplingExtrudedMesh::rotate ( const double center,
const double vector,
double  angle 
) [virtual]
void MEDCouplingExtrudedMesh::translate ( const double vector  )  [virtual]
void MEDCouplingExtrudedMesh::scale ( const double point,
double  factor 
) [virtual]
std::vector< int > MEDCouplingExtrudedMesh::getDistributionOfTypes (  )  const throw (INTERP_KERNEL::Exception) [virtual]
DataArrayInt * MEDCouplingExtrudedMesh::checkTypeConsistencyAndContig ( const std::vector< int > &  code,
const std::vector< const DataArrayInt * > &  idsPerType 
) const throw (INTERP_KERNEL::Exception) [virtual]
void MEDCouplingExtrudedMesh::splitProfilePerType ( const DataArrayInt profile,
std::vector< int > &  code,
std::vector< DataArrayInt * > &  idsInPflPerType,
std::vector< DataArrayInt * > &  idsPerType 
) const throw (INTERP_KERNEL::Exception) [virtual]
MEDCouplingMesh * MEDCouplingExtrudedMesh::buildPart ( const int start,
const int end 
) const [virtual]
MEDCouplingMesh * MEDCouplingExtrudedMesh::buildPartAndReduceNodes ( const int start,
const int end,
DataArrayInt *&  arr 
) const [virtual]
DataArrayInt * MEDCouplingExtrudedMesh::simplexize ( int  policy  )  throw (INTERP_KERNEL::Exception) [virtual]
MEDCouplingMesh * MEDCouplingExtrudedMesh::mergeMyselfWith ( const MEDCouplingMesh other  )  const
DataArrayDouble * MEDCouplingExtrudedMesh::getCoordinatesAndOwner (  )  const [virtual]
DataArrayDouble * MEDCouplingExtrudedMesh::getBarycenterAndOwner (  )  const [virtual]
void MEDCouplingExtrudedMesh::getTinySerializationInformation ( std::vector< double > &  tinyInfoD,
std::vector< int > &  tinyInfo,
std::vector< std::string > &  littleStrings 
) const [virtual]
void MEDCouplingExtrudedMesh::resizeForUnserialization ( const std::vector< int > &  tinyInfo,
DataArrayInt a1,
DataArrayDouble a2,
std::vector< std::string > &  littleStrings 
) const [virtual]
void MEDCouplingExtrudedMesh::serialize ( DataArrayInt *&  a1,
DataArrayDouble *&  a2 
) const [virtual]
void MEDCouplingExtrudedMesh::unserialization ( const std::vector< double > &  tinyInfoD,
const std::vector< int > &  tinyInfo,
const DataArrayInt a1,
DataArrayDouble a2,
const std::vector< std::string > &  littleStrings 
) [virtual]
void MEDCouplingExtrudedMesh::computeExtrusion ( const MEDCouplingUMesh mesh3D  )  throw (INTERP_KERNEL::Exception)
void MEDCouplingExtrudedMesh::computeExtrusionAlg ( const MEDCouplingUMesh mesh3D  )  throw (INTERP_KERNEL::Exception)
void MEDCouplingExtrudedMesh::build1DExtrusion ( int  idIn3DDesc,
int  newId,
int  nbOf1DLev,
MEDCouplingUMesh subMesh,
const int desc3D,
const int descIndx3D,
const int revDesc3D,
const int revDescIndx3D,
bool  computeMesh1D 
) throw (INTERP_KERNEL::Exception)
int MEDCouplingExtrudedMesh::findOppositeFaceOf ( int  current2DCell,
int  current3DCell,
const std::vector< int > &  connSorted,
const int desc3D,
const int descIndx3D,
const int conn2D,
const int conn2DIndx 
) throw (INTERP_KERNEL::Exception)

References med_test1.end.

void MEDCouplingExtrudedMesh::computeBaryCenterOfFace ( const std::vector< int > &  nodalConnec,
int  lev1DId 
)

Field Documentation

New to old 3D cell Ids Array.