Version: 9.14.0
MEDCoupling::MEDCoupling1SGTUMesh Class Reference
Inheritance diagram for MEDCoupling::MEDCoupling1SGTUMesh:
Collaboration diagram for MEDCoupling::MEDCoupling1SGTUMesh:

Public Member Functions

void accumulateVTK93Arrays (mcIdType &k, mcIdType *&cPtr, mcIdType *&dPtr, mcIdType *&ePtr, mcIdType *&fPtr) const override
 
void accumulateVTK94Arrays (mcIdType &k, mcIdType *&cPtr, mcIdType *&dPtr, mcIdType *&ePtr, mcIdType *&fPtr, mcIdType *&gPtr, mcIdType *&hPtr) const override
 
std::string advancedRepr () const
 
void allocateCells (mcIdType nbOfCells=0)
 
MEDCouplingPointSetbuildPartOfMySelfKeepCoords (const mcIdType *begin, const mcIdType *end) const
 
MEDCouplingPointSetbuildPartOfMySelfKeepCoordsSlice (mcIdType start, mcIdType end, mcIdType step) const
 
MEDCoupling1SGTUMeshbuildSetInstanceFromThis (std::size_t spaceDim) const
 
MEDCouplingUMeshbuildUnstructured () const
 
void checkConsistency (double eps=1e-12) const
 
void checkConsistencyLight () const
 
void checkConsistencyOfConnectivity () const
 
void checkFastEquivalWith (const MEDCouplingMesh *other, double prec) const
 
void checkFullyDefined () const
 
MEDCoupling1SGTUMeshclone (bool recDeepCpy) const
 
MEDCouplingFieldDoublecomputeDiameterField () const
 
MEDCoupling1GTUMeshcomputeDualMesh () const
 
DataArrayIdType * computeEffectiveNbOfNodesPerCell () const
 
DataArrayIdType * computeFetchedNodeIds () const
 
DataArrayDoublecomputeIsoBarycenterOfNodesPerCell () const
 
DataArrayIdType * computeNbOfFacesPerCell () const
 
DataArrayIdType * computeNbOfNodesPerCell () const
 
void computeNodeIdsAlg (std::vector< bool > &nodeIdsInUse) const
 
MCAuto< DataArrayDoublecomputeTriangleHeight () const
 
MEDCoupling1SGTUMeshdeepCopy () const
 
MEDCoupling1SGTUMeshdeepCopyConnectivityOnly () const
 
MEDCoupling1SGTUMeshexplodeEachHexa8To6Quad4 () const
 
void fillCellIdsToKeepFromNodeIds (const mcIdType *begin, const mcIdType *end, bool fullyIn, DataArrayIdType *&cellIdsKeptArr) const
 
DataArrayDoublegetBoundingBoxForBBTree (double arcDetEps=1e-12) const
 
std::string getClassName () const override
 
std::vector< const BigMemoryObject * > getDirectChildrenWithNull () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
DataArrayIdType * getNodalConnectivity () const
 
DataArrayIdType * getNodeIdsInUse (mcIdType &nbrOfNodesInUse) const
 
void getNodeIdsOfCell (mcIdType cellId, std::vector< mcIdType > &conn) const
 
mcIdType getNumberOfCells () const
 
mcIdType getNumberOfNodesInCell (mcIdType cellId) const
 
mcIdType getNumberOfNodesPerCell () const
 
void getReverseNodalConnectivity (DataArrayIdType *revNodal, DataArrayIdType *revNodalIndx) const
 
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< mcIdType > &tinyInfo, std::vector< std::string > &littleStrings) const
 
MEDCouplingMeshType getType () const
 
void insertNextCell (const mcIdType *nodalConnOfCellBg, const mcIdType *nodalConnOfCellEnd)
 
void invertOrientationOfAllCells ()
 
bool isEmptyMesh (const std::vector< mcIdType > &tinyInfo) 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
 
MEDCouplingPointSetmergeMyselfWithOnSameCoords (const MEDCouplingPointSet *other) const
 
void renumberCells (const mcIdType *old2NewBg, bool check=true)
 
void renumberNodesInConn (const INTERP_KERNEL::HashMap< mcIdType, mcIdType > &newNodeNumbersO2N)
 
void renumberNodesInConn (const mcIdType *newNodeNumbersO2N)
 
void renumberNodesInConn (const std::map< mcIdType, mcIdType > &newNodeNumbersO2N) override
 
void renumberNodesWithOffsetInConn (mcIdType offset)
 
void reprQuickOverview (std::ostream &stream) const
 
void resizeForUnserialization (const std::vector< mcIdType > &tinyInfo, DataArrayIdType *a1, DataArrayDouble *a2, std::vector< std::string > &littleStrings) const
 
void serialize (DataArrayIdType *&a1, DataArrayDouble *&a2) const
 
void setNodalConnectivity (DataArrayIdType *nodalConn)
 
void shallowCopyConnectivityFrom (const MEDCouplingPointSet *other)
 
std::string simpleRepr () const
 
DataArrayIdType * simplexize (int policy)
 
DataArrayIdType * sortHexa8EachOther ()
 
MEDCouplingCMeshstructurizeMe (DataArrayIdType *&cellPerm, DataArrayIdType *&nodePerm, double eps=1e-12) const
 
void unserialization (const std::vector< double > &tinyInfoD, const std::vector< mcIdType > &tinyInfo, const DataArrayIdType *a1, DataArrayDouble *a2, const std::vector< std::string > &littleStrings)
 
void updateTime () const
 
- Public Member Functions inherited from MEDCoupling::MEDCoupling1GTUMesh
MEDCouplingPointSetbuildBoundaryMesh (bool keepCoords) const
 
MEDCouplingPointSetbuildFacePartOfMySelfNode (const mcIdType *start, const mcIdType *end, bool fullyIn) const
 
MEDCouplingFieldDoublebuildOrthogonalField () const
 
DataArrayIdType * checkTypeConsistencyAndContig (const std::vector< mcIdType > &code, const std::vector< const DataArrayIdType * > &idsPerType) const
 
DataArrayDoublecomputeCellCenterOfMass () const
 
DataArrayIdType * findBoundaryNodes () const
 
void findCommonCells (int compType, mcIdType startCellId, DataArrayIdType *&commonCellsArr, DataArrayIdType *&commonCellsIArr) const
 
std::set< INTERP_KERNEL::NormalizedCellType > getAllGeoTypes () const
 
mcIdType getCellContainingPoint (const double *pos, double eps) const
 
const INTERP_KERNEL::CellModel & getCellModel () const
 
INTERP_KERNEL::NormalizedCellType getCellModelEnum () const
 
void getCellsContainingPoint (const double *pos, double eps, std::vector< mcIdType > &elts) const override
 
void getCellsContainingPoints (const double *pos, mcIdType nbOfPoints, double eps, MCAuto< DataArrayIdType > &elts, MCAuto< DataArrayIdType > &eltsIndex) const override
 
DataArrayIdType * getCellsInBoundingBox (const double *bbox, double eps) const
 
DataArrayIdType * getCellsInBoundingBox (const INTERP_KERNEL::DirectedBoundingBox &bbox, double eps)
 
std::vector< mcIdType > getDistributionOfTypes () const
 
MEDCouplingFieldDoublegetMeasureField (bool isAbs) const
 
MEDCouplingFieldDoublegetMeasureFieldOnNode (bool isAbs) const
 
int getMeshDimension () const
 
mcIdType getNodalConnectivityLength () const
 
mcIdType getNumberOfCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
 
INTERP_KERNEL::NormalizedCellType getTypeOfCell (mcIdType cellId) const
 
std::string getVTKDataSetType () const
 
std::string getVTKFileExtension () const
 
DataArrayIdType * giveCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
 
void splitProfilePerType (const DataArrayIdType *profile, std::vector< mcIdType > &code, std::vector< DataArrayIdType * > &idsInPflPerType, std::vector< DataArrayIdType * > &idsPerType, bool smartPflKiller=true) const
 
void writeVTKLL (std::ostream &ofs, const std::string &cellData, const std::string &pointData, DataArrayByte *byteData) const
 
- Public Member Functions inherited from MEDCoupling::MEDCouplingPointSet
virtual bool areAllNodesFetched () const
 
bool areCellsFrom2MeshEqual (const MEDCouplingPointSet *other, mcIdType cellId, double prec) const
 
bool areCoordsEqual (const MEDCouplingPointSet &other, double prec) const
 
bool areCoordsEqualIfNotWhy (const MEDCouplingPointSet &other, double prec, std::string &reason) const
 
bool areCoordsEqualWithoutConsideringStr (const MEDCouplingPointSet &other, double prec) const
 
DataArrayIdType * buildNewNumberingFromCommonNodesFormat (const DataArrayIdType *comm, const DataArrayIdType *commIndex, mcIdType &newNbOfNodes) const
 
MEDCouplingMeshbuildPart (const mcIdType *start, const mcIdType *end) const
 
MEDCouplingMeshbuildPartAndReduceNodes (const mcIdType *start, const mcIdType *end, DataArrayIdType *&arr) const
 
virtual MEDCouplingPointSetbuildPartOfMySelf (const mcIdType *start, const mcIdType *end, bool keepCoords=true) const
 
virtual MEDCouplingPointSetbuildPartOfMySelfNode (const mcIdType *start, const mcIdType *end, bool fullyIn) const
 
virtual MEDCouplingPointSetbuildPartOfMySelfSlice (mcIdType start, mcIdType end, mcIdType step, bool keepCoords=true) const
 
MEDCouplingMeshbuildPartRange (mcIdType beginCellIds, mcIdType endCellIds, mcIdType stepCellIds) const
 
MEDCouplingMeshbuildPartRangeAndReduceNodes (mcIdType beginCellIds, mcIdType endCellIds, mcIdType stepCellIds, mcIdType &beginOut, mcIdType &endOut, mcIdType &stepOut, DataArrayIdType *&arr) const
 
DataArrayIdType * buildPermArrayForMergeNode (double precision, mcIdType limitNodeId, bool &areNodesMerged, mcIdType &newNbOfNodes) const
 
void changeSpaceDimension (int newSpaceDim, double dftVal=0.)
 
void checkDeepEquivalOnSameNodesWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayIdType *&cellCor) const
 
void checkDeepEquivalWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayIdType *&cellCor, DataArrayIdType *&nodeCor) const
 
void checkFastEquivalWith (const MEDCouplingMesh *other, double prec) const
 
void copyTinyStringsFrom (const MEDCouplingMesh *other)
 
void duplicateNodesInCoords (const mcIdType *nodeIdsToDuplicateBg, const mcIdType *nodeIdsToDuplicateEnd)
 
void findCommonNodes (double prec, mcIdType limitNodeId, DataArrayIdType *&comm, DataArrayIdType *&commIndex) const
 
void findNodesOnLine (const double *pt, const double *vec, double eps, std::vector< mcIdType > &nodes) const
 
void findNodesOnPlane (const double *pt, const double *vec, double eps, std::vector< mcIdType > &nodes) const
 
void getBoundingBox (double *bbox) const
 
double getCaracteristicDimension () const
 
DataArrayIdType * getCellIdsFullyIncludedInNodeIds (const mcIdType *partBg, const mcIdType *partEnd) const
 
DataArrayIdType * getCellIdsLyingOnNodes (const mcIdType *begin, const mcIdType *end, bool fullyIn) const
 
DataArrayDoublegetCoordinatesAndOwner () const
 
void getCoordinatesOfNode (mcIdType nodeId, std::vector< double > &coo) const
 
DataArrayDoublegetCoords ()
 
const DataArrayDoublegetCoords () const
 
const DataArrayDoublegetDirectAccessOfCoordsArrIfInStructure () const
 
std::vector< const BigMemoryObject * > getDirectChildrenWithNull () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
DataArrayIdType * getNodeIdsNearPoint (const double *pos, double eps) const
 
void getNodeIdsNearPoints (const double *pos, mcIdType nbOfPoints, double eps, DataArrayIdType *&c, DataArrayIdType *&cI) const
 
mcIdType getNumberOfNodes () const
 
int getSpaceDimension () const
 
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< mcIdType > &tinyInfo, std::vector< std::string > &littleStrings) const
 
bool isEqualIfNotWhy (const MEDCouplingMesh *other, double prec, std::string &reason) const
 
bool isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) const
 
virtual DataArrayIdType * mergeNodes (double precision, bool &areNodesMerged, mcIdType &newNbOfNodes)
 
virtual DataArrayIdType * mergeNodesCenter (double precision, bool &areNodesMerged, mcIdType &newNbOfNodes)
 
void recenterForMaxPrecision (double eps)
 
virtual void renumberNodes (const mcIdType *newNodeNumbers, mcIdType newNbOfNodes)
 
virtual void renumberNodesCenter (const mcIdType *newNodeNumbers, mcIdType newNbOfNodes)
 
void resizeForUnserialization (const std::vector< mcIdType > &tinyInfo, DataArrayIdType *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 (DataArrayIdType *&a1, DataArrayDouble *&a2) const
 
void setCoords (const DataArrayDouble *coords)
 
void translate (const double *vector)
 
void tryToShareSameCoords (const MEDCouplingPointSet &other, double epsilon)
 
virtual void tryToShareSameCoordsPermute (const MEDCouplingPointSet &other, double epsilon)
 
void unserialization (const std::vector< double > &tinyInfoD, const std::vector< mcIdType > &tinyInfo, const DataArrayIdType *a1, DataArrayDouble *a2, const std::vector< std::string > &littleStrings)
 
void updateTime () const
 
virtual DataArrayIdType * zipConnectivityTraducer (int compType, mcIdType startCellId=0)
 
void zipCoords ()
 
virtual DataArrayIdType * zipCoordsTraducer ()
 
- Public Member Functions inherited from MEDCoupling::MEDCouplingMesh
virtual bool areCompatibleForMerge (const MEDCouplingMesh *other) const
 
void checkGeoEquivalWith (const MEDCouplingMesh *other, int levOfCheck, double prec, DataArrayIdType *&cellCor, DataArrayIdType *&nodeCor) const
 
virtual MCAuto< DataArrayDoublecomputeMeshCenterOfMass () const
 
virtual void copyTinyInfoFrom (const MEDCouplingMesh *other)
 
virtual MEDCouplingFieldDoublefillFromAnalytic (TypeOfField t, int nbOfComp, const std::string &func) const
 
virtual MEDCouplingFieldDoublefillFromAnalytic (TypeOfField t, int nbOfComp, FunctionToEvaluate 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 void getCellsContainingPointsLinearPartOnlyOnNonDynType (const double *pos, mcIdType nbOfPoints, double eps, MCAuto< DataArrayIdType > &elts, MCAuto< DataArrayIdType > &eltsIndex) const
 
std::string getDescription () 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::RefCountObjectOnly
bool decrRef () const
 
int getRCValue () const
 
void incrRef () const
 
RefCountObjectOnlyoperator= (const RefCountObjectOnly &other)
 
- Public Member Functions inherited from MEDCoupling::BigMemoryObject
std::string debugHeapMemorySize () const
 
std::vector< const BigMemoryObject * > getAllTheProgeny () const
 
std::vector< const BigMemoryObject * > getDirectChildren () const
 
std::size_t getHeapMemorySize () const
 
std::string getHeapMemorySizeStr () const
 
bool isObjectInTheProgeny (const BigMemoryObject *obj) const
 
virtual ~BigMemoryObject ()
 
- Public Member Functions inherited from MEDCoupling::TimeLabel
void declareAsNew () const
 
std::size_t getTimeOfThis () const
 
TimeLabeloperator= (const TimeLabel &other)
 
 TimeLabel (const TimeLabel &other)=default
 

Static Public Member Functions

static MEDCoupling1SGTUMeshMerge1SGTUMeshes (const MEDCoupling1SGTUMesh *mesh1, const MEDCoupling1SGTUMesh *mesh2)
 
static MEDCoupling1SGTUMeshMerge1SGTUMeshes (std::vector< const MEDCoupling1SGTUMesh * > &a)
 
static MEDCoupling1SGTUMeshMerge1SGTUMeshesOnSameCoords (std::vector< const MEDCoupling1SGTUMesh * > &a)
 
static MEDCoupling1SGTUMeshNew ()
 
static MEDCoupling1SGTUMeshNew (const MEDCouplingUMesh *m)
 
static MEDCoupling1SGTUMeshNew (const std::string &name, INTERP_KERNEL::NormalizedCellType type)
 
- Static Public Member Functions inherited from MEDCoupling::MEDCoupling1GTUMesh
static MEDCouplingUMeshAggregateOnSameCoordsToUMesh (const std::vector< const MEDCoupling1GTUMesh * > &parts)
 
static MEDCoupling1GTUMeshNew (const MEDCouplingUMesh *m)
 
static MEDCoupling1GTUMeshNew (const std::string &name, INTERP_KERNEL::NormalizedCellType type)
 
- Static Public Member Functions inherited from MEDCoupling::MEDCouplingPointSet
static MEDCouplingPointSetBuildInstanceFromMeshType (MEDCouplingMeshType type)
 
static DataArrayIdType * ComputeNbOfInteractionsWithSrcCells (const MEDCouplingPointSet *srcMesh, const MEDCouplingPointSet *trgMesh, double eps)
 
static DataArrayDoubleMergeNodesArray (const MEDCouplingPointSet *m1, const MEDCouplingPointSet *m2)
 
static DataArrayDoubleMergeNodesArray (const std::vector< const MEDCouplingPointSet * > &ms)
 
- 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 mcIdType 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)
 
- Static Public Member Functions inherited from MEDCoupling::BigMemoryObject
static std::size_t GetHeapMemorySizeOfObjs (const std::vector< const BigMemoryObject * > &objs)
 

Static Public Attributes

static const int HEXA8_FACE_PAIRS [6] = {0, 1, 2, 4, 3, 5}
 
- Static Public Attributes inherited from MEDCoupling::MEDCoupling1GTUMesh
static const unsigned char HEXA27_PERM_ARRAY [27]
 

Additional Inherited Members

- Protected Member Functions inherited from MEDCoupling::MEDCoupling1GTUMesh
 MEDCoupling1GTUMesh ()
 
 MEDCoupling1GTUMesh (const MEDCoupling1GTUMesh &other, bool recDeepCpy)
 
 MEDCoupling1GTUMesh (const std::string &name, const INTERP_KERNEL::CellModel &cm)
 
- Protected Member Functions inherited from MEDCoupling::MEDCouplingPointSet
void checkConsistencyLight () const
 
 MEDCouplingPointSet ()
 
 MEDCouplingPointSet (const MEDCouplingPointSet &other, bool deepCpy)
 
void project2DCellOnXY (const mcIdType *startConn, const mcIdType *endConn, std::vector< double > &res) const
 
void rotate2D (const double *center, double angle)
 
void rotate3D (const double *center, const double *vect, double angle)
 
 ~MEDCouplingPointSet ()
 
- Protected Member Functions inherited from MEDCoupling::MEDCouplingMesh
 MEDCouplingMesh ()
 
 MEDCouplingMesh (const MEDCouplingMesh &other)
 
virtual ~MEDCouplingMesh ()
 
- Protected Member Functions inherited from MEDCoupling::RefCountObject
 RefCountObject ()
 
 RefCountObject (const RefCountObject &other)
 
virtual ~RefCountObject ()
 
- Protected Member Functions inherited from MEDCoupling::RefCountObjectOnly
 RefCountObjectOnly ()
 
 RefCountObjectOnly (const RefCountObjectOnly &other)
 
virtual ~RefCountObjectOnly ()
 
- Protected Member Functions inherited from MEDCoupling::TimeLabel
void forceTimeOfThis (const TimeLabel &other) const
 
 TimeLabel ()
 
void updateTimeWith (const TimeLabel &other) const
 
virtual ~TimeLabel ()
 
- Static Protected Member Functions inherited from MEDCoupling::MEDCouplingPointSet
static bool intersectsBoundingBox (const double *bb1, const double *bb2, int dim, double eps)
 
static bool intersectsBoundingBox (const INTERP_KERNEL::DirectedBoundingBox &bb1, const double *bb2, int dim, double eps)
 
static bool isButterfly2DCell (const std::vector< double > &res, bool isQuad, double eps)
 
- Protected Attributes inherited from MEDCoupling::MEDCoupling1GTUMesh
const INTERP_KERNEL::CellModel * _cm
 
- Protected Attributes inherited from MEDCoupling::MEDCouplingPointSet
DataArrayDouble_coords
 

Member Function Documentation

◆ New() [1/3]

MEDCoupling1SGTUMesh * MEDCoupling1SGTUMesh::New ( const std::string &  name,
INTERP_KERNEL::NormalizedCellType  type 
)
static

◆ New() [2/3]

◆ New() [3/3]

◆ getClassName()

std::string MEDCoupling::MEDCoupling1SGTUMesh::getClassName ( ) const
overridevirtual

Reimplemented from MEDCoupling::BigMemoryObject.

◆ clone()

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

◆ deepCopy()

MEDCoupling1SGTUMesh * MEDCoupling1SGTUMesh::deepCopy ( ) const
virtual

Implements MEDCoupling::MEDCouplingMesh.

References clone().

◆ deepCopyConnectivityOnly()

MEDCoupling1SGTUMesh * MEDCoupling1SGTUMesh::deepCopyConnectivityOnly ( ) const
virtual

This method behaves mostly like MEDCoupling1SGTUMesh::deepCopy method, except that only nodal connectivity arrays are deeply copied. The coordinates are shared between this and the returned instance.

Returns
MEDCoupling1SGTUMesh * - A new object instance holding the copy of this (deep for connectivity, shallow for coordiantes)
See also
MEDCoupling1SGTUMesh::deepCopy

Implements MEDCoupling::MEDCouplingPointSet.

References checkConsistencyLight(), and clone().

◆ updateTime()

void MEDCoupling1SGTUMesh::updateTime ( ) const
virtual

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

Implements MEDCoupling::TimeLabel.

References MEDCoupling::MEDCouplingPointSet::updateTime(), and MEDCoupling::TimeLabel::updateTimeWith().

Referenced by invertOrientationOfAllCells(), renumberNodesInConn(), and renumberNodesWithOffsetInConn().

◆ getHeapMemorySizeWithoutChildren()

std::size_t MEDCoupling1SGTUMesh::getHeapMemorySizeWithoutChildren ( ) const
virtual

◆ getDirectChildrenWithNull()

std::vector< const BigMemoryObject * > MEDCoupling1SGTUMesh::getDirectChildrenWithNull ( ) const
virtual

◆ getType()

MEDCouplingMeshType MEDCoupling::MEDCoupling1SGTUMesh::getType ( ) const
virtual

◆ isEqualIfNotWhy()

bool MEDCoupling1SGTUMesh::isEqualIfNotWhy ( const MEDCouplingMesh other,
double  prec,
std::string &  reason 
) const
virtual

◆ isEqualWithoutConsideringStr()

bool MEDCoupling1SGTUMesh::isEqualWithoutConsideringStr ( const MEDCouplingMesh other,
double  prec 
) const
virtual

◆ checkFastEquivalWith()

void MEDCoupling1SGTUMesh::checkFastEquivalWith ( const MEDCouplingMesh other,
double  prec 
) const
virtual

Checks if this and other meshes are geometrically equivalent with high probability, else an exception is thrown. The meshes are considered equivalent if (1) meshes contain the same number of nodes and the same number of elements of the same types (2) three cells of the two meshes (first, last and middle) are based on coincident nodes (with a specified precision).

Parameters
[in]other- the mesh to compare with.
[in]prec- the precision used to compare nodes of the two meshes.
Exceptions
Ifthe two meshes do not match.

Reimplemented from MEDCoupling::MEDCouplingMesh.

References MEDCoupling::MEDCouplingPointSet::checkFastEquivalWith().

◆ checkConsistencyLight()

◆ checkConsistency()

void MEDCoupling1SGTUMesh::checkConsistency ( double  eps = 1e-12) const
virtual

◆ getNumberOfCells()

◆ computeNbOfNodesPerCell()

DataArrayIdType * MEDCoupling1SGTUMesh::computeNbOfNodesPerCell ( ) const
virtual

◆ computeNbOfFacesPerCell()

DataArrayIdType * MEDCoupling1SGTUMesh::computeNbOfFacesPerCell ( ) const
virtual

◆ computeEffectiveNbOfNodesPerCell()

DataArrayIdType * MEDCoupling1SGTUMesh::computeEffectiveNbOfNodesPerCell ( ) const
virtual

◆ getNodeIdsOfCell()

void MEDCoupling1SGTUMesh::getNodeIdsOfCell ( mcIdType  cellId,
std::vector< mcIdType > &  conn 
) const
virtual

◆ simpleRepr()

◆ advancedRepr()

◆ computeIsoBarycenterOfNodesPerCell()

◆ renumberCells()

void MEDCoupling1SGTUMesh::renumberCells ( const mcIdType *  old2NewBg,
bool  check = true 
)
virtual

◆ mergeMyselfWith()

MEDCouplingMesh * MEDCoupling1SGTUMesh::mergeMyselfWith ( const MEDCouplingMesh other) const
virtual

◆ buildUnstructured()

◆ simplexize()

DataArrayIdType * MEDCoupling1SGTUMesh::simplexize ( int  policy)
virtual

◆ reprQuickOverview()

◆ shallowCopyConnectivityFrom()

void MEDCoupling1SGTUMesh::shallowCopyConnectivityFrom ( const MEDCouplingPointSet other)
virtual

◆ mergeMyselfWithOnSameCoords()

MEDCouplingPointSet * MEDCoupling1SGTUMesh::mergeMyselfWithOnSameCoords ( const MEDCouplingPointSet other) const
virtual

◆ buildPartOfMySelfKeepCoords()

MEDCouplingPointSet * MEDCoupling1SGTUMesh::buildPartOfMySelfKeepCoords ( const mcIdType *  begin,
const mcIdType *  end 
) const
virtual

◆ buildPartOfMySelfKeepCoordsSlice()

◆ computeNodeIdsAlg()

void MEDCoupling1SGTUMesh::computeNodeIdsAlg ( std::vector< bool > &  nodeIdsInUse) const
virtual

◆ getReverseNodalConnectivity()

void MEDCoupling1SGTUMesh::getReverseNodalConnectivity ( DataArrayIdType *  revNodal,
DataArrayIdType *  revNodalIndx 
) const
virtual

◆ checkFullyDefined()

◆ isEmptyMesh()

bool MEDCoupling1SGTUMesh::isEmptyMesh ( const std::vector< mcIdType > &  tinyInfo) const
virtual

First step of unserialization process.

Implements MEDCoupling::MEDCouplingPointSet.

◆ computeFetchedNodeIds()

DataArrayIdType * MEDCoupling1SGTUMesh::computeFetchedNodeIds ( ) const
virtual

This method returns all node ids used in this. The data array returned has to be dealt by the caller. The returned node ids are sortes ascendingly. This method is closed to MEDCoupling1SGTUMesh::getNodeIdsInUse except the format of returned DataArrayIdType instance.

Returns
a newly allocated DataArrayIdType sorted ascendingly of fetched node ids.
See also
MEDCoupling1SGTUMesh::getNodeIdsInUse, areAllNodesFetched

Implements MEDCoupling::MEDCouplingPointSet.

References checkConsistencyOfConnectivity(), computeNodeIdsAlg(), and MEDCoupling::MEDCouplingPointSet::getNumberOfNodes().

◆ getNodeIdsInUse()

DataArrayIdType * MEDCoupling1SGTUMesh::getNodeIdsInUse ( mcIdType &  nbrOfNodesInUse) const
virtual

Finds nodes not used in any cell and returns an array giving a new id to every node by excluding the unused nodes, for which the array holds -1. The result array is a mapping in "Old to New" mode.

Parameters
[out]nbrOfNodesInUse- number of node ids present in the nodal connectivity.
Returns
DataArrayIdType * - a new instance of DataArrayIdType. Its length is this->getNumberOfNodes(). It holds for each node of this mesh either -1 if the node is unused or a new id else. The caller is to delete this array using decrRef() as it is no more needed.
Exceptions
Ifthe coordinates array is not set.
Ifthe nodal connectivity of cells is not defined.
Ifthe nodal connectivity includes an invalid id.
See also
MEDCoupling1SGTUMesh::computeFetchedNodeIds, areAllNodesFetched

Implements MEDCoupling::MEDCouplingPointSet.

References getNumberOfCells(), MEDCoupling::MEDCouplingPointSet::getNumberOfNodes(), and getNumberOfNodesPerCell().

◆ renumberNodesWithOffsetInConn()

void MEDCoupling1SGTUMesh::renumberNodesWithOffsetInConn ( mcIdType  offset)
virtual

This method renumbers only nodal connectivity in this. The renumbering is only an offset applied. So this method is a specialization of renumberNodesInConn. WARNING, this method does not check that the resulting node ids in the nodal connectivity is in a valid range !

Parameters
[in]offset- specifies the offset to be applied on each element of connectivity.
See also
renumberNodesInConn

Implements MEDCoupling::MEDCouplingPointSet.

References getNumberOfCells(), and updateTime().

◆ renumberNodesInConn() [1/3]

void MEDCoupling1SGTUMesh::renumberNodesInConn ( const INTERP_KERNEL::HashMap< mcIdType, mcIdType > &  newNodeNumbersO2N)
virtual

Same than renumberNodesInConn(const mcIdType *) except that here the format of old-to-new traducer is using map instead of array. This method is dedicated for renumbering from a big set of nodes the a tiny set of nodes which is the case during extraction of a big mesh.

Implements MEDCoupling::MEDCouplingPointSet.

◆ renumberNodesInConn() [2/3]

void MEDCoupling1SGTUMesh::renumberNodesInConn ( const std::map< mcIdType, mcIdType > &  newNodeNumbersO2N)
overridevirtual

Same than renumberNodesInConn(const mcIdType *) except that here the format of old-to-new traducer is using map instead of array. This method is dedicated for renumbering from a big set of nodes the a tiny set of nodes which is the case during extraction of a big mesh.

Implements MEDCoupling::MEDCouplingPointSet.

◆ renumberNodesInConn() [3/3]

void MEDCoupling1SGTUMesh::renumberNodesInConn ( const mcIdType *  newNodeNumbersO2N)
virtual

Changes ids of nodes within the nodal connectivity arrays according to a permutation array in "Old to New" mode. The node coordinates array is not changed by this method. This method is a generalization of shiftNodeNumbersInConn().

Warning
This method performs no check of validity of new ids. Use it with care !
Parameters
[in]newNodeNumbersO2N- a permutation array, of length this->getNumberOfNodes(), in "Old to New" mode. See Array indexing and numbering for more info on renumbering modes.
Exceptions
Ifthe nodal connectivity of cells is not defined.

Implements MEDCoupling::MEDCouplingPointSet.

References getNumberOfCells(), MEDCoupling::MEDCouplingPointSet::getNumberOfNodes(), and updateTime().

◆ fillCellIdsToKeepFromNodeIds()

void MEDCoupling1SGTUMesh::fillCellIdsToKeepFromNodeIds ( const mcIdType *  begin,
const mcIdType *  end,
bool  fullyIn,
DataArrayIdType *&  cellIdsKeptArr 
) const
virtual

Keeps from this only cells which constituing point id are in the ids specified by [begin,end). The resulting cell ids are stored at the end of the 'cellIdsKept' parameter. Parameter fullyIn specifies if a cell that has part of its nodes in ids array is kept or not. If fullyIn is true only cells whose ids are fully contained in [begin,end) tab will be kept.

Parameters
[in]begininput start of array of node ids.
[in]endinput end of array of node ids.
[in]fullyIninput that specifies if all node ids must be in [begin,end) array to consider cell to be in.
[in,out]cellIdsKeptArrarray where all candidate cell ids are put at the end.

Implements MEDCoupling::MEDCouplingPointSet.

References getNumberOfCells(), and getNumberOfNodesPerCell().

◆ getNumberOfNodesInCell()

mcIdType MEDCoupling1SGTUMesh::getNumberOfNodesInCell ( mcIdType  cellId) const
virtual

◆ getBoundingBoxForBBTree()

DataArrayDouble * MEDCoupling1SGTUMesh::getBoundingBoxForBBTree ( double  arcDetEps = 1e-12) const
virtual

This method aggregate the bbox of each cell and put it into bbox

Parameters
[in]arcDetEps- a parameter specifying in case of 2D quadratic polygon cell the detection limit between linear and arc circle. (By default 1e-12) For all other cases this input parameter is ignored.
Returns
DataArrayDouble * - newly created object (to be managed by the caller) this number of cells tuples and 2*spacedim components.
Exceptions
Ifthis is not fully set (coordinates and connectivity).
Ifa cell in this has no valid nodeId.

Implements MEDCoupling::MEDCouplingPointSet.

References MEDCoupling::MEDCouplingPointSet::_coords, MEDCoupling::DataArrayTemplate< T >::getConstPointer(), getNumberOfCells(), MEDCoupling::MEDCouplingPointSet::getNumberOfNodes(), getNumberOfNodesPerCell(), MEDCoupling::MEDCouplingPointSet::getSpaceDimension(), and MEDCoupling::DataArrayDouble::New().

◆ computeDiameterField()

MEDCouplingFieldDouble * MEDCoupling1SGTUMesh::computeDiameterField ( ) const
virtual

Returns the cell field giving for each cell in this its diameter. Diameter means the max length of all possible SEG2 in the cell.

Returns
a new instance of field containing the result. The returned instance has to be deallocated by the caller.

Implements MEDCoupling::MEDCouplingPointSet.

References MEDCoupling::MEDCoupling1GTUMesh::_cm, checkFullyDefined(), MEDCoupling::MEDCouplingPointSet::getCoords(), getNumberOfCells(), MEDCoupling::DataArrayTemplate< T >::getPointer(), MEDCoupling::MEDCouplingPointSet::getSpaceDimension(), MEDCoupling::DataArrayDouble::New(), MEDCoupling::MEDCouplingFieldDouble::New(), MEDCoupling::ON_CELLS, and MEDCoupling::ONE_TIME.

◆ invertOrientationOfAllCells()

void MEDCoupling1SGTUMesh::invertOrientationOfAllCells ( )
virtual

This method invert orientation of all cells in this. After calling this method the absolute value of measure of cells in this are the same than before calling. This method only operates on the connectivity so coordinates are not touched at all.

Implements MEDCoupling::MEDCouplingPointSet.

References MEDCoupling::MEDCoupling1GTUMesh::_cm, checkConsistencyOfConnectivity(), MEDCoupling::MEDCoupling1GTUMesh::getCellModelEnum(), getNumberOfCells(), and updateTime().

◆ checkConsistencyOfConnectivity()

void MEDCoupling1SGTUMesh::checkConsistencyOfConnectivity ( ) const
virtual

◆ allocateCells()

void MEDCoupling1SGTUMesh::allocateCells ( mcIdType  nbOfCells = 0)
virtual

Allocates memory to store an estimation of the given number of cells. Closer is the estimation to the number of cells effectively inserted, less will be the needs to realloc. If the number of cells to be inserted is not known simply put 0 to this parameter. If a nodal connectivity previously existed before the call of this method, it will be reset.

Parameters
[in]nbOfCells- estimation of the number of cell this mesh will contain.

Implements MEDCoupling::MEDCoupling1GTUMesh.

References MEDCoupling::TimeLabel::declareAsNew(), and getNumberOfNodesPerCell().

◆ insertNextCell()

void MEDCoupling1SGTUMesh::insertNextCell ( const mcIdType *  nodalConnOfCellBg,
const mcIdType *  nodalConnOfCellEnd 
)
virtual

Appends at the end of this a cell having nodal connectivity array defined in [ nodalConnOfCellBg, nodalConnOfCellEnd ).

Parameters
[in]nodalConnOfCellBg- the begin (included) of nodal connectivity of the cell to add.
[in]nodalConnOfCellEnd- the end (excluded) of nodal connectivity of the cell to add.
Exceptions
Ifthe length of the input nodal connectivity array of the cell to add is not equal to number of nodes per cell relative to the unique geometric type attached to this.
Ifthe nodal connectivity array in this is null (call MEDCoupling1SGTUMesh::allocateCells before).

Implements MEDCoupling::MEDCoupling1GTUMesh.

References getNumberOfNodesPerCell().

◆ accumulateVTK93Arrays()

void MEDCoupling1SGTUMesh::accumulateVTK93Arrays ( mcIdType &  k,
mcIdType *&  cPtr,
mcIdType *&  dPtr,
mcIdType *&  ePtr,
mcIdType *&  fPtr 
) const
overridevirtual

◆ accumulateVTK94Arrays()

void MEDCoupling1SGTUMesh::accumulateVTK94Arrays ( mcIdType &  k,
mcIdType *&  cPtr,
mcIdType *&  dPtr,
mcIdType *&  ePtr,
mcIdType *&  fPtr,
mcIdType *&  gPtr,
mcIdType *&  hPtr 
) const
overridevirtual

Internal method called in medcoupling -> VTK conversion in memory context (VTK9.4 format). This method aggregates data into 6 in/out preallocated arrays. 4 last arrays are dedicated for polyhedrons. If ePtr is nullptr it means that no polyhedrons VTK specific data structure are required.

Implements MEDCoupling::MEDCoupling1GTUMesh.

References MEDCoupling::MEDCoupling1GTUMesh::getCellModelEnum(), getNodalConnectivity(), getNumberOfCells(), getNumberOfNodesPerCell(), and MEDCoupling::MEDCoupling1GTUMesh::HEXA27_PERM_ARRAY.

◆ setNodalConnectivity()

void MEDCoupling1SGTUMesh::setNodalConnectivity ( DataArrayIdType *  nodalConn)

Use nodalConn array as nodal connectivity of this. The input nodalConn pointer can be null.

References MEDCoupling::TimeLabel::declareAsNew().

Referenced by MEDCoupling::MEDCouplingUMesh::convertIntoSingleGeoTypeMesh(), and shallowCopyConnectivityFrom().

◆ getNodalConnectivity()

DataArrayIdType * MEDCoupling1SGTUMesh::getNodalConnectivity ( ) const
virtual
Returns
DataArrayIdType * - the internal reference to the nodal connectivity. The caller is not responsible to deallocate it.

Implements MEDCoupling::MEDCoupling1GTUMesh.

Referenced by accumulateVTK93Arrays(), accumulateVTK94Arrays(), computeTriangleHeight(), MEDCoupling::MEDCouplingUMesh::convertToQuadraticBasedOnSeg3(), explodeEachHexa8To6Quad4(), shallowCopyConnectivityFrom(), and sortHexa8EachOther().

◆ getNumberOfNodesPerCell()

◆ Merge1SGTUMeshes() [1/2]

◆ Merge1SGTUMeshes() [2/2]

◆ Merge1SGTUMeshesOnSameCoords()

MEDCoupling1SGTUMesh * MEDCoupling1SGTUMesh::Merge1SGTUMeshesOnSameCoords ( std::vector< const MEDCoupling1SGTUMesh * > &  a)
static
Exceptions
Ifpresence of a null instance in the input vector a.
Ifa is empty

Referenced by mergeMyselfWithOnSameCoords().

◆ buildSetInstanceFromThis()

◆ computeDualMesh()

MEDCoupling1GTUMesh * MEDCoupling1SGTUMesh::computeDualMesh ( ) const

This method builds the dual mesh of this and returns it.

Returns
MEDCoupling1SGTUMesh * - newly object created to be managed by the caller.
Exceptions
Ifthis is not a mesh containing only simplex cells.
Ifthis is not correctly allocated (coordinates and connectivities have to be correctly set !).
Ifat least one node in this is orphan (without any simplex cell lying on it !)

References MEDCoupling::MEDCoupling1GTUMesh::getCellModel(), and MEDCoupling::MEDCoupling1GTUMesh::getMeshDimension().

◆ sortHexa8EachOther()

DataArrayIdType * MEDCoupling1SGTUMesh::sortHexa8EachOther ( )

This method expects the this contains NORM_HEXA8 cells only. This method will sort each cells in this so that their numbering was homogeneous. If it succeeds the result of MEDCouplingUMesh::tetrahedrize will return a conform mesh.

Returns
DataArrayIdType * - a newly allocated array (to be managed by the caller) containing renumbered cell ids.
Exceptions
Ifthis is not a mesh containing only NORM_HEXA8 cells.
Ifthis is not properly allocated.
See also
MEDCouplingUMesh::tetrahedrize, MEDCouplingUMesh::simplexize.

References MEDCoupling::TimeLabel::declareAsNew(), explodeEachHexa8To6Quad4(), getNodalConnectivity(), getNumberOfCells(), and HEXA8_FACE_PAIRS.

◆ explodeEachHexa8To6Quad4()

MEDCoupling1SGTUMesh * MEDCoupling1SGTUMesh::explodeEachHexa8To6Quad4 ( ) const

This method explode each NORM_HEXA8 cells in this into 6 NORM_QUAD4 cells and put the result into the MEDCoupling1SGTUMesh returned instance.

Returns
MEDCoupling1SGTUMesh * - a newly allocated instances (to be managed by the caller) storing the result of the explosion.
Exceptions
Ifthis is not a mesh containing only NORM_HEXA8 cells.
Ifthis is not properly allocated.

References MEDCoupling::MEDCoupling1GTUMesh::getCellModel(), MEDCoupling::MEDCouplingPointSet::getCoords(), MEDCoupling::MEDCouplingMesh::getName(), getNodalConnectivity(), getNumberOfCells(), and New().

Referenced by sortHexa8EachOther().

◆ computeTriangleHeight()

MCAuto< DataArrayDouble > MEDCoupling1SGTUMesh::computeTriangleHeight ( ) const

This method for each cell in this the triangle height for each edge in a newly allocated/created array instance.

Returns
DataArrayDouble * - a newly allocated instance with this->getNumberOfCells() tuples and 3 components storing for each cell in this the corresponding height.
Exceptions
Ifthis is not a mesh containing only NORM_TRI3 cells.
Ifthis is not properly allocated.
IfspaceDimension is not in 2 or 3.

References checkConsistencyLight(), MEDCoupling::MEDCoupling1GTUMesh::getCellModel(), MEDCoupling::MEDCouplingPointSet::getCoords(), getNodalConnectivity(), getNumberOfCells(), MEDCoupling::MEDCouplingPointSet::getSpaceDimension(), and MEDCoupling::DataArrayDouble::New().

◆ structurizeMe()

MEDCouplingCMesh * MEDCoupling1SGTUMesh::structurizeMe ( DataArrayIdType *&  cellPerm,
DataArrayIdType *&  nodePerm,
double  eps = 1e-12 
) const

This method starts from an unstructured mesh that hides in reality a cartesian mesh. If it is not the case, an exception will be thrown. This method returns three objects : The cartesian mesh geometrically equivalent to this (within a precision of eps) and a permutation of cells and a permutation of nodes.

  • this[cellPerm[i]]=ret[i]
Parameters
[out]cellPermthe permutation array of size this->getNumberOfCells()
[out]nodePermthe permutation array of size this->getNumberOfNodes()
Returns
MEDCouplingCMesh * - a newly allocated mesh that is the result of the structurization of this.

References buildUnstructured(), checkConsistencyLight(), MEDCoupling::MEDCoupling1GTUMesh::getCellModelEnum(), MEDCoupling::MEDCouplingPointSet::getCoords(), MEDCoupling::MEDCouplingStructuredMesh::GetGeoTypeGivenMeshDimension(), MEDCoupling::MEDCoupling1GTUMesh::getMeshDimension(), MEDCoupling::MEDCouplingPointSet::getNumberOfNodes(), MEDCoupling::MEDCouplingPointSet::getSpaceDimension(), and MEDCoupling::MEDCouplingCMesh::New().

◆ getTinySerializationInformation()

◆ resizeForUnserialization()

void MEDCoupling1SGTUMesh::resizeForUnserialization ( const std::vector< mcIdType > &  tinyInfo,
DataArrayIdType *  a1,
DataArrayDouble a2,
std::vector< std::string > &  littleStrings 
) const
virtual

◆ serialize()

◆ unserialization()

Member Data Documentation

◆ HEXA8_FACE_PAIRS

const int MEDCoupling1SGTUMesh::HEXA8_FACE_PAIRS = {0, 1, 2, 4, 3, 5}
static

Referenced by sortHexa8EachOther().