Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MEDCoupling::MEDCouplingMappedExtrudedMesh Class Reference
Inheritance diagram for MEDCoupling::MEDCouplingMappedExtrudedMesh:
Collaboration diagram for MEDCoupling::MEDCouplingMappedExtrudedMesh:

Public Member Functions

std::string advancedRepr () const
 
MEDCouplingUMeshbuild3DUnstructuredMesh () const
 
MEDCouplingFieldDoublebuildOrthogonalField () const
 
MEDCouplingMeshbuildPart (const int *start, const int *end) const
 
MEDCouplingMeshbuildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const
 
MEDCouplingUMeshbuildUnstructured () const
 
void checkConsistency (double eps=1e-12) const
 
void checkConsistencyLight () const
 
void checkDeepEquivalOnSameNodesWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor) const
 
void checkDeepEquivalWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const
 
DataArrayIntcheckTypeConsistencyAndContig (const std::vector< int > &code, const std::vector< const DataArrayInt * > &idsPerType) const
 
MEDCouplingMappedExtrudedMeshclone (bool recDeepCpy) const
 
DataArrayDoublecomputeCellCenterOfMass () const
 
DataArrayIntcomputeEffectiveNbOfNodesPerCell () const
 
DataArrayDoublecomputeIsoBarycenterOfNodesPerCell () const
 
DataArrayIntcomputeNbOfFacesPerCell () const
 
DataArrayIntcomputeNbOfNodesPerCell () const
 
void copyTinyStringsFrom (const MEDCouplingMesh *other)
 
MEDCouplingMappedExtrudedMeshdeepCopy () const
 
int get2DCellIdForExtrusion () const
 
std::set
< INTERP_KERNEL::NormalizedCellType
getAllGeoTypes () const
 
void getBoundingBox (double *bbox) const
 
int getCellContainingPoint (const double *pos, double eps) const
 
void getCellsContainingPoint (const double *pos, double eps, std::vector< int > &elts) const
 
DataArrayDoublegetCoordinatesAndOwner () const
 
void getCoordinatesOfNode (int nodeId, std::vector< double > &coo) const
 
const DataArrayDoublegetDirectAccessOfCoordsArrIfInStructure () const
 
std::vector< const
BigMemoryObject * > 
getDirectChildrenWithNull () const
 
std::vector< int > getDistributionOfTypes () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
MEDCouplingFieldDoublegetMeasureField (bool) const
 
MEDCouplingFieldDoublegetMeasureFieldOnNode (bool) const
 
MEDCouplingUMeshgetMesh1D () const
 
MEDCouplingUMeshgetMesh2D () const
 
DataArrayIntgetMesh3DIds () const
 
int getMeshDimension () const
 
void getNodeIdsOfCell (int cellId, std::vector< int > &conn) const
 
int getNumberOfCells () const
 
int getNumberOfCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
 
int getNumberOfNodes () const
 
void getReverseNodalConnectivity (DataArrayInt *revNodal, DataArrayInt *revNodalIndx) const
 
int getSpaceDimension () const
 
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< int > &tinyInfo, std::vector< std::string > &littleStrings) const
 
MEDCouplingMeshType getType () const
 
INTERP_KERNEL::NormalizedCellType getTypeOfCell (int cellId) const
 
std::string getVTKFileExtension () const
 
DataArrayIntgiveCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
 
bool isEqualIfNotWhy (const MEDCouplingMesh *other, double prec, std::string &reason) const
 
bool isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) const
 
MEDCouplingMeshmergeMyselfWith (const MEDCouplingMesh *other) const
 
void renumberCells (const int *old2NewBg, bool check=true)
 
void reprQuickOverview (std::ostream &stream) const
 
void resizeForUnserialization (const std::vector< int > &tinyInfo, DataArrayInt *a1, DataArrayDouble *a2, std::vector< std::string > &littleStrings) const
 
void rotate (const double *center, const double *vector, double angle)
 
void scale (const double *point, double factor)
 
void serialize (DataArrayInt *&a1, DataArrayDouble *&a2) const
 
std::string simpleRepr () const
 
DataArrayIntsimplexize (int policy)
 
void splitProfilePerType (const DataArrayInt *profile, std::vector< int > &code, std::vector< DataArrayInt * > &idsInPflPerType, std::vector< DataArrayInt * > &idsPerType) const
 
void translate (const double *vector)
 
void unserialization (const std::vector< double > &tinyInfoD, const std::vector< int > &tinyInfo, const DataArrayInt *a1, DataArrayDouble *a2, const std::vector< std::string > &littleStrings)
 
void updateTime () const
 
- Public Member Functions inherited from MEDCoupling::MEDCouplingMesh
virtual bool areCompatibleForMerge (const MEDCouplingMesh *other) const
 
virtual MEDCouplingMeshbuildPartRange (int beginCellIds, int endCellIds, int stepCellIds) const
 
virtual MEDCouplingMeshbuildPartRangeAndReduceNodes (int beginCellIds, int endCellIds, int stepCellIds, int &beginOut, int &endOut, int &stepOut, DataArrayInt *&arr) const
 
virtual void checkFastEquivalWith (const MEDCouplingMesh *other, double prec) const
 
void checkGeoEquivalWith (const MEDCouplingMesh *other, int levOfCheck, double prec, DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const
 
virtual void copyTinyInfoFrom (const MEDCouplingMesh *other)
 
virtual MEDCouplingFieldDoublefillFromAnalytic (TypeOfField t, int nbOfComp, FunctionToEvaluate func) const
 
virtual MEDCouplingFieldDoublefillFromAnalytic (TypeOfField t, int nbOfComp, const std::string &func) const
 
virtual MEDCouplingFieldDoublefillFromAnalyticCompo (TypeOfField t, int nbOfComp, const std::string &func) const
 
virtual MEDCouplingFieldDoublefillFromAnalyticNamedCompo (TypeOfField t, int nbOfComp, const std::vector< std::string > &varsOrder, const std::string &func) const
 
virtual DataArrayIntgetCellIdsFullyIncludedInNodeIds (const int *partBg, const int *partEnd) const
 
virtual void getCellsContainingPoints (const double *pos, int nbOfPoints, double eps, MCAuto< DataArrayInt > &elts, MCAuto< DataArrayInt > &eltsIndex) const
 
std::string getDescription () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
std::string getName () const
 
double getTime (int &iteration, int &order) const
 
std::string getTimeUnit () const
 
std::string getVTKFileNameOf (const std::string &fileName) const
 
virtual bool isEqual (const MEDCouplingMesh *other, double prec) const
 
bool isStructured () const
 
void setDescription (const std::string &descr)
 
void setName (const std::string &name)
 
void setTime (double val, int iteration, int order)
 
void setTimeUnit (const std::string &unit)
 
std::string writeVTK (const std::string &fileName, bool isBinary=true) const
 
- Public Member Functions inherited from MEDCoupling::TimeLabel
void declareAsNew () const
 
std::size_t getTimeOfThis () const
 
TimeLabeloperator= (const TimeLabel &other)
 

Static Public Member Functions

static int FindCorrespCellByNodalConn (const std::vector< int > &nodalConnec, const int *revNodalPtr, const int *revNodalIndxPtr)
 
static
MEDCouplingMappedExtrudedMesh
New (const MEDCouplingUMesh *mesh3D, const MEDCouplingUMesh *mesh2D, int cell2DId)
 
static
MEDCouplingMappedExtrudedMesh
New (const MEDCouplingCMesh *mesh3D)
 
static
MEDCouplingMappedExtrudedMesh
New ()
 
static void Project1DMeshes (const MEDCouplingUMesh *m1, const MEDCouplingUMesh *m2, double eps, MEDCouplingUMesh *&m1r, MEDCouplingUMesh *&m2r, double *v)
 
- Static Public Member Functions inherited from MEDCoupling::MEDCouplingMesh
static
INTERP_KERNEL::NormalizedCellType 
GetCorrespondingPolyType (INTERP_KERNEL::NormalizedCellType type)
 
static int GetDimensionOfGeometricType (INTERP_KERNEL::NormalizedCellType type)
 
static int GetNumberOfNodesOfGeometricType (INTERP_KERNEL::NormalizedCellType type)
 
static const char * GetReprOfGeometricType (INTERP_KERNEL::NormalizedCellType type)
 
static bool IsLinearGeometricType (INTERP_KERNEL::NormalizedCellType type)
 
static bool IsStaticGeometricType (INTERP_KERNEL::NormalizedCellType type)
 
static MEDCouplingMeshMergeMeshes (const MEDCouplingMesh *mesh1, const MEDCouplingMesh *mesh2)
 
static MEDCouplingMeshMergeMeshes (std::vector< const MEDCouplingMesh * > &meshes)
 

Additional Inherited Members

- Protected Member Functions inherited from MEDCoupling::MEDCouplingMesh
 MEDCouplingMesh ()
 
 MEDCouplingMesh (const MEDCouplingMesh &other)
 
virtual ~MEDCouplingMesh ()
 

Member Function Documentation

MEDCouplingMappedExtrudedMesh * MEDCouplingMappedExtrudedMesh::New ( const MEDCouplingUMesh mesh3D,
const MEDCouplingUMesh mesh2D,
int  cell2DId 
)
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.
MEDCouplingMappedExtrudedMesh * MEDCouplingMappedExtrudedMesh::New ( const MEDCouplingCMesh mesh3D)
static
MEDCouplingMappedExtrudedMesh * MEDCouplingMappedExtrudedMesh::New ( )
static

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

Referenced by MEDCoupling::MEDFileUMesh::convertToExtrudedMesh().

MEDCouplingMeshType MEDCouplingMappedExtrudedMesh::getType ( ) const
virtual
std::size_t MEDCouplingMappedExtrudedMesh::getHeapMemorySizeWithoutChildren ( ) const
virtual
std::vector< const BigMemoryObject * > MEDCouplingMappedExtrudedMesh::getDirectChildrenWithNull ( ) const
virtual
void MEDCouplingMappedExtrudedMesh::copyTinyStringsFrom ( const MEDCouplingMesh other)
virtual

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

Exceptions
ifother and this have not same mesh type.

Reimplemented from MEDCoupling::MEDCouplingMesh.

References MEDCoupling::MEDCouplingMesh::copyTinyStringsFrom().

int MEDCouplingMappedExtrudedMesh::getNumberOfCells ( ) const
virtual

Implements MEDCoupling::MEDCouplingMesh.

Referenced by advancedRepr(), and simpleRepr().

int MEDCouplingMappedExtrudedMesh::getNumberOfNodes ( ) const
virtual
int MEDCouplingMappedExtrudedMesh::getSpaceDimension ( ) const
virtual
int MEDCouplingMappedExtrudedMesh::getMeshDimension ( ) const
virtual
MEDCouplingMappedExtrudedMesh * MEDCouplingMappedExtrudedMesh::deepCopy ( ) const
virtual

Implements MEDCoupling::MEDCouplingMesh.

References clone().

MEDCouplingMappedExtrudedMesh * MEDCouplingMappedExtrudedMesh::clone ( bool  recDeepCpy) const
virtual

Implements MEDCoupling::MEDCouplingMesh.

Referenced by deepCopy().

const DataArrayDouble * MEDCouplingMappedExtrudedMesh::getDirectAccessOfCoordsArrIfInStructure ( ) const
virtual
bool MEDCouplingMappedExtrudedMesh::isEqualIfNotWhy ( const MEDCouplingMesh other,
double  prec,
std::string &  reason 
) const
virtual
bool MEDCouplingMappedExtrudedMesh::isEqualWithoutConsideringStr ( const MEDCouplingMesh other,
double  prec 
) const
virtual
void MEDCouplingMappedExtrudedMesh::checkDeepEquivalWith ( const MEDCouplingMesh other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor,
DataArrayInt *&  nodeCor 
) const
virtual
void MEDCouplingMappedExtrudedMesh::checkDeepEquivalOnSameNodesWith ( const MEDCouplingMesh other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor 
) const
virtual
INTERP_KERNEL::NormalizedCellType MEDCouplingMappedExtrudedMesh::getTypeOfCell ( int  cellId) const
virtual
std::set< INTERP_KERNEL::NormalizedCellType > MEDCouplingMappedExtrudedMesh::getAllGeoTypes ( ) const
virtual
DataArrayInt * MEDCouplingMappedExtrudedMesh::computeEffectiveNbOfNodesPerCell ( ) const
virtual
int MEDCouplingMappedExtrudedMesh::getNumberOfCellsWithType ( INTERP_KERNEL::NormalizedCellType  type) const
virtual
void MEDCouplingMappedExtrudedMesh::getNodeIdsOfCell ( int  cellId,
std::vector< int > &  conn 
) const
virtual
void MEDCouplingMappedExtrudedMesh::getCoordinatesOfNode ( int  nodeId,
std::vector< double > &  coo 
) const
virtual
void MEDCouplingMappedExtrudedMesh::checkConsistencyLight ( ) const
virtual
void MEDCouplingMappedExtrudedMesh::checkConsistency ( double  eps = 1e-12) const
virtual
void MEDCouplingMappedExtrudedMesh::getBoundingBox ( double *  bbox) const
virtual
void MEDCouplingMappedExtrudedMesh::updateTime ( ) const
virtual

This method should be called on high level classes as Field or Mesh to take into acount modifications done in aggregates objects.

Implements MEDCoupling::TimeLabel.

References MEDCoupling::TimeLabel::updateTimeWith().

void MEDCouplingMappedExtrudedMesh::renumberCells ( const int *  old2NewBg,
bool  check = true 
)
virtual
MEDCouplingUMesh* MEDCoupling::MEDCouplingMappedExtrudedMesh::getMesh2D ( ) const
MEDCouplingUMesh* MEDCoupling::MEDCouplingMappedExtrudedMesh::getMesh1D ( ) const
DataArrayInt* MEDCoupling::MEDCouplingMappedExtrudedMesh::getMesh3DIds ( ) const
MEDCouplingUMesh * MEDCouplingMappedExtrudedMesh::build3DUnstructuredMesh ( ) const

WARNING in case of modif think to update MEDFileUMesh::New implementation !

See Also
MEDFileUMesh::New

References MEDCoupling::MEDCouplingMesh::getName(), and MEDCoupling::MCAuto< T >::retn().

Referenced by buildUnstructured().

MEDCouplingUMesh * MEDCouplingMappedExtrudedMesh::buildUnstructured ( ) const
virtual

WARNING in case of modif think to update MEDFileUMesh::New implementation !

See Also
MEDFileUMesh::New

Implements MEDCoupling::MEDCouplingMesh.

References build3DUnstructuredMesh().

Referenced by getReverseNodalConnectivity(), and MEDCoupling::MEDFileUMesh::New().

MEDCouplingFieldDouble * MEDCouplingMappedExtrudedMesh::getMeasureFieldOnNode ( bool  isAbs) const
virtual
MEDCouplingFieldDouble * MEDCouplingMappedExtrudedMesh::buildOrthogonalField ( ) const
virtual
int MEDCouplingMappedExtrudedMesh::getCellContainingPoint ( const double *  pos,
double  eps 
) const
virtual
void MEDCouplingMappedExtrudedMesh::getCellsContainingPoint ( const double *  pos,
double  eps,
std::vector< int > &  elts 
) const
virtual
int MEDCouplingMappedExtrudedMesh::FindCorrespCellByNodalConn ( const std::vector< int > &  nodalConnec,
const int *  revNodalPtr,
const int *  revNodalIndxPtr 
)
static
void MEDCouplingMappedExtrudedMesh::Project1DMeshes ( const MEDCouplingUMesh m1,
const MEDCouplingUMesh m2,
double  eps,
MEDCouplingUMesh *&  m1r,
MEDCouplingUMesh *&  m2r,
double *  v 
)
static

This method is callable on 1Dmeshes (meshDim==1 && spaceDim==3) returned by MEDCouplingMappedExtrudedMesh::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 MEDCoupling::MEDCouplingPointSet::changeSpaceDimension(), MEDCoupling::MEDCouplingUMesh::clone(), MEDCoupling::MEDCouplingPointSet::getCoordinatesOfNode(), MEDCoupling::MEDCouplingPointSet::getCoords(), MEDCoupling::MEDCouplingUMesh::getNodeIdsOfCell(), MEDCoupling::DataArrayTemplate< T >::getPointer(), MEDCoupling::MEDCouplingPointSet::getSpaceDimension(), and MEDCoupling::MEDCouplingUMesh::project1D().

void MEDCouplingMappedExtrudedMesh::rotate ( const double *  center,
const double *  vector,
double  angle 
)
virtual
void MEDCouplingMappedExtrudedMesh::translate ( const double *  vector)
virtual
void MEDCouplingMappedExtrudedMesh::scale ( const double *  point,
double  factor 
)
virtual
std::vector< int > MEDCouplingMappedExtrudedMesh::getDistributionOfTypes ( ) const
virtual
DataArrayInt * MEDCouplingMappedExtrudedMesh::checkTypeConsistencyAndContig ( const std::vector< int > &  code,
const std::vector< const DataArrayInt * > &  idsPerType 
) const
virtual
void MEDCouplingMappedExtrudedMesh::splitProfilePerType ( const DataArrayInt profile,
std::vector< int > &  code,
std::vector< DataArrayInt * > &  idsInPflPerType,
std::vector< DataArrayInt * > &  idsPerType 
) const
virtual
MEDCouplingMesh * MEDCouplingMappedExtrudedMesh::buildPart ( const int *  start,
const int *  end 
) const
virtual
MEDCouplingMesh * MEDCouplingMappedExtrudedMesh::buildPartAndReduceNodes ( const int *  start,
const int *  end,
DataArrayInt *&  arr 
) const
virtual
DataArrayInt * MEDCouplingMappedExtrudedMesh::simplexize ( int  policy)
virtual
MEDCouplingMesh * MEDCouplingMappedExtrudedMesh::mergeMyselfWith ( const MEDCouplingMesh other) const
virtual
DataArrayDouble * MEDCouplingMappedExtrudedMesh::getCoordinatesAndOwner ( ) const
virtual
DataArrayDouble * MEDCouplingMappedExtrudedMesh::computeCellCenterOfMass ( ) const
virtual
DataArrayDouble * MEDCouplingMappedExtrudedMesh::computeIsoBarycenterOfNodesPerCell ( ) const
virtual
void MEDCouplingMappedExtrudedMesh::getReverseNodalConnectivity ( DataArrayInt revNodal,
DataArrayInt revNodalIndx 
) const
virtual
void MEDCouplingMappedExtrudedMesh::getTinySerializationInformation ( std::vector< double > &  tinyInfoD,
std::vector< int > &  tinyInfo,
std::vector< std::string > &  littleStrings 
) const
virtual
void MEDCouplingMappedExtrudedMesh::resizeForUnserialization ( const std::vector< int > &  tinyInfo,
DataArrayInt a1,
DataArrayDouble a2,
std::vector< std::string > &  littleStrings 
) const
virtual
void MEDCouplingMappedExtrudedMesh::reprQuickOverview ( std::ostream &  stream) const
virtual
std::string MEDCouplingMappedExtrudedMesh::getVTKFileExtension ( ) const
virtual
int MEDCoupling::MEDCouplingMappedExtrudedMesh::get2DCellIdForExtrusion ( ) const