Version: 6.3.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes

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
MEDCouplingMesh * deepCpy () const
MEDCouplingExtrudedMesh * clone (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)
MEDCouplingUMesh * getMesh2D () const
MEDCouplingUMesh * getMesh1D () const
DataArrayInt * getMesh3DIds () const
MEDCouplingUMesh * build3DUnstructuredMesh () const
MEDCouplingUMesh * buildUnstructured () const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDouble * getMeasureField (bool) const
MEDCouplingFieldDouble * getMeasureFieldOnNode (bool) const
MEDCouplingFieldDouble * buildOrthogonalField () 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)
DataArrayInt * checkTypeConsistencyAndContig (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 * > &globIdsPerType, std::vector< DataArrayInt * > &idsPerType) const throw (INTERP_KERNEL::Exception)
MEDCouplingMesh * buildPart (const int *start, const int *end) const
MEDCouplingMesh * buildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const
DataArrayInt * simplexize (int policy) throw (INTERP_KERNEL::Exception)
MEDCouplingMesh * mergeMyselfWith (const MEDCouplingMesh *other) const
DataArrayDouble * getCoordinatesAndOwner () const
DataArrayDouble * getBarycenterAndOwner () 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)

Static Public Member Functions

static MEDCouplingExtrudedMesh * New (const MEDCouplingUMesh *mesh3D, MEDCouplingUMesh *mesh2D, int cell2DId) throw (INTERP_KERNEL::Exception)
static MEDCouplingExtrudedMesh * New ()
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)

Private Member Functions

 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 ()

Private Attributes

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) [private]
MEDCouplingExtrudedMesh::MEDCouplingExtrudedMesh ( const MEDCouplingExtrudedMesh &  other,
bool  deepCpy 
) [private]
MEDCouplingExtrudedMesh::MEDCouplingExtrudedMesh ( ) [private]
MEDCouplingExtrudedMesh::~MEDCouplingExtrudedMesh ( ) [private]

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:
mesh3D3D unstructured mesh.
mesh2D2D 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.
cell2DIdId 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.

References ParaMEDMEM.MEDCouplingExtrudedMesh.MEDCouplingExtrudedMesh().

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

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

Exceptions:
ifother and this have not same mesh type.

Reimplemented from ParaMEDMEM.MEDCouplingMesh.

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 [virtual]
bool MEDCouplingExtrudedMesh::isEqualWithoutConsideringStr ( const MEDCouplingMesh *  other,
double  prec 
) const [virtual]
void MEDCouplingExtrudedMesh::checkDeepEquivalWith ( const MEDCouplingMesh *  other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor,
DataArrayInt *&  nodeCor 
) const throw (INTERP_KERNEL::Exception) [virtual]
void MEDCouplingExtrudedMesh::checkDeepEquivalOnSameNodesWith ( const MEDCouplingMesh *  other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor 
) const throw (INTERP_KERNEL::Exception) [virtual]
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:
m1input mesh with meshDim==1 and spaceDim==3
m2input mesh with meshDim==1 and spaceDim==3
epstolerance acceptable to determine compatibility
m1routput mesh with ref count equal to 1 with meshDim==1 and spaceDim==1
m2routput mesh with ref count equal to 1 with meshDim==1 and spaceDim==1
vis the output normalized vector of the common direction of 'm1' and 'm2'
Exceptions:
incase 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]
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 * > &  globIdsPerType,
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 [virtual]
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) [private]
void MEDCouplingExtrudedMesh::computeExtrusionAlg ( const MEDCouplingUMesh *  mesh3D) throw (INTERP_KERNEL::Exception) [private]
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) [private]
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) [private]

References med_test1.end.

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

Field Documentation

New to old 3D cell Ids Array.

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS