Version: 9.12.0
MEDCoupling::MEDCoupling1GTUMesh Class Referenceabstract
Inheritance diagram for MEDCoupling::MEDCoupling1GTUMesh:
Collaboration diagram for MEDCoupling::MEDCoupling1GTUMesh:

Public Member Functions

virtual void allocateCells (mcIdType nbOfCells=0)=0
 
MEDCouplingPointSetbuildBoundaryMesh (bool keepCoords) const
 
MEDCouplingPointSetbuildFacePartOfMySelfNode (const mcIdType *start, const mcIdType *end, bool fullyIn) const
 
MEDCouplingFieldDoublebuildOrthogonalField () const
 
void checkConsistencyLight () const
 
virtual void checkConsistencyOfConnectivity () const =0
 
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
 
DataArrayIdType * getCellsInBoundingBox (const double *bbox, double eps) const
 
DataArrayIdType * getCellsInBoundingBox (const INTERP_KERNEL::DirectedBoundingBox &bbox, double eps)
 
std::vector< mcIdType > getDistributionOfTypes () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
MEDCouplingFieldDoublegetMeasureField (bool isAbs) const
 
MEDCouplingFieldDoublegetMeasureFieldOnNode (bool isAbs) const
 
int getMeshDimension () const
 
virtual DataArrayIdType * getNodalConnectivity () const =0
 
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
 
virtual void insertNextCell (const mcIdType *nodalConnOfCellBg, const mcIdType *nodalConnOfCellEnd)=0
 
bool isEqualIfNotWhy (const MEDCouplingMesh *other, double prec, std::string &reason) const
 
bool isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) 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 MEDCouplingPointSetbuildPartOfMySelfKeepCoords (const mcIdType *begin, const mcIdType *end) const =0
 
virtual MEDCouplingPointSetbuildPartOfMySelfKeepCoordsSlice (mcIdType start, mcIdType end, mcIdType step) const =0
 
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
 
virtual void checkFullyDefined () const =0
 
virtual MEDCouplingFieldDoublecomputeDiameterField () const =0
 
virtual DataArrayIdType * computeFetchedNodeIds () const =0
 
virtual void computeNodeIdsAlg (std::vector< bool > &nodeIdsInUse) const =0
 
void copyTinyStringsFrom (const MEDCouplingMesh *other)
 
virtual MEDCouplingPointSetdeepCopyConnectivityOnly () const =0
 
void duplicateNodesInCoords (const mcIdType *nodeIdsToDuplicateBg, const mcIdType *nodeIdsToDuplicateEnd)
 
virtual void fillCellIdsToKeepFromNodeIds (const mcIdType *begin, const mcIdType *end, bool fullyIn, DataArrayIdType *&cellIdsKeptArr) const =0
 
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
 
virtual DataArrayDoublegetBoundingBoxForBBTree (double arcDetEps=1e-12) const =0
 
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
 
virtual DataArrayIdType * getNodeIdsInUse (mcIdType &nbrOfNodesInUse) const =0
 
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
 
virtual mcIdType getNumberOfNodesInCell (mcIdType cellId) const =0
 
int getSpaceDimension () const
 
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< mcIdType > &tinyInfo, std::vector< std::string > &littleStrings) const
 
virtual void invertOrientationOfAllCells ()=0
 
virtual bool isEmptyMesh (const std::vector< mcIdType > &tinyInfo) const =0
 
bool isEqualIfNotWhy (const MEDCouplingMesh *other, double prec, std::string &reason) const
 
bool isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) const
 
virtual MEDCouplingPointSetmergeMyselfWithOnSameCoords (const MEDCouplingPointSet *other) const =0
 
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)
 
virtual void renumberNodesInConn (const INTERP_KERNEL::HashMap< mcIdType, mcIdType > &newNodeNumbersO2N)=0
 
virtual void renumberNodesInConn (const mcIdType *newNodeNumbersO2N)=0
 
virtual void renumberNodesInConn (const std::map< mcIdType, mcIdType > &newNodeNumbersO2N)=0
 
virtual void renumberNodesWithOffsetInConn (mcIdType offset)=0
 
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)
 
virtual void shallowCopyConnectivityFrom (const MEDCouplingPointSet *other)=0
 
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 std::string advancedRepr () const =0
 
virtual bool areCompatibleForMerge (const MEDCouplingMesh *other) const
 
virtual MEDCouplingUMeshbuildUnstructured () const =0
 
virtual void checkConsistency (double eps=1e-12) const =0
 
void checkGeoEquivalWith (const MEDCouplingMesh *other, int levOfCheck, double prec, DataArrayIdType *&cellCor, DataArrayIdType *&nodeCor) const
 
virtual MEDCouplingMeshclone (bool recDeepCpy) const =0
 
virtual DataArrayIdType * computeEffectiveNbOfNodesPerCell () const =0
 
virtual DataArrayDoublecomputeIsoBarycenterOfNodesPerCell () const =0
 
virtual MCAuto< DataArrayDoublecomputeMeshCenterOfMass () const
 
virtual DataArrayIdType * computeNbOfFacesPerCell () const =0
 
virtual DataArrayIdType * computeNbOfNodesPerCell () const =0
 
virtual void copyTinyInfoFrom (const MEDCouplingMesh *other)
 
virtual MEDCouplingMeshdeepCopy () const =0
 
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 getCellsContainingPoints (const double *pos, mcIdType nbOfPoints, double eps, MCAuto< DataArrayIdType > &elts, MCAuto< DataArrayIdType > &eltsIndex) 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
 
virtual void getNodeIdsOfCell (mcIdType cellId, std::vector< mcIdType > &conn) const =0
 
virtual mcIdType getNumberOfCells () const =0
 
virtual void getReverseNodalConnectivity (DataArrayIdType *revNodal, DataArrayIdType *revNodalIndx) const =0
 
double getTime (int &iteration, int &order) const
 
std::string getTimeUnit () const
 
virtual MEDCouplingMeshType getType () const =0
 
std::string getVTKFileNameOf (const std::string &fileName) const
 
virtual bool isEqual (const MEDCouplingMesh *other, double prec) const
 
bool isStructured () const
 
virtual MEDCouplingMeshmergeMyselfWith (const MEDCouplingMesh *other) const =0
 
virtual void renumberCells (const mcIdType *old2NewBg, bool check=true)=0
 
virtual void reprQuickOverview (std::ostream &stream) const =0
 
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)
 
virtual std::string simpleRepr () const =0
 
virtual DataArrayIdType * simplexize (int policy)=0
 
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
 
virtual std::string getClassName () 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 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)
 

Protected Member Functions

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

Protected Attributes

const INTERP_KERNEL::CellModel * _cm
 
- Protected Attributes inherited from MEDCoupling::MEDCouplingPointSet
DataArrayDouble_coords
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ MEDCoupling1GTUMesh() [1/3]

MEDCoupling1GTUMesh::MEDCoupling1GTUMesh ( const std::string &  name,
const INTERP_KERNEL::CellModel &  cm 
)
protected

◆ MEDCoupling1GTUMesh() [2/3]

MEDCoupling1GTUMesh::MEDCoupling1GTUMesh ( const MEDCoupling1GTUMesh other,
bool  recDeepCpy 
)
protected

◆ MEDCoupling1GTUMesh() [3/3]

MEDCoupling1GTUMesh::MEDCoupling1GTUMesh ( )
protected

Member Function Documentation

◆ New() [1/2]

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

◆ New() [2/2]

◆ getCellModel()

◆ getCellModelEnum()

◆ getMeshDimension()

◆ giveCellsWithType()

DataArrayIdType * MEDCoupling1GTUMesh::giveCellsWithType ( INTERP_KERNEL::NormalizedCellType  type) const
virtual

This method returns a newly allocated array containing cell ids (ascendingly sorted) whose geometric type are equal to type. This method does not throw exception if geometric type type is not in this. This method throws an INTERP_KERNEL::Exception if meshdimension of this is not equal to those of type. The coordinates array is not considered here.

Parameters
[in]typethe geometric type
Returns
cell ids in this having geometric type type.

Implements MEDCoupling::MEDCouplingMesh.

References getCellModelEnum(), and MEDCoupling::MEDCouplingMesh::getNumberOfCells().

◆ getNumberOfCellsWithType()

mcIdType MEDCoupling1GTUMesh::getNumberOfCellsWithType ( INTERP_KERNEL::NormalizedCellType  type) const
virtual

Returns nb of cells having the geometric type type. No throw if no cells in this has the geometric type type.

Implements MEDCoupling::MEDCouplingMesh.

References getCellModelEnum(), and MEDCoupling::MEDCouplingMesh::getNumberOfCells().

◆ getTypeOfCell()

INTERP_KERNEL::NormalizedCellType MEDCoupling1GTUMesh::getTypeOfCell ( mcIdType  cellId) const
virtual

Returns a type of a cell by its id.

Parameters
[in]cellId- the id of the cell of interest.
Returns
INTERP_KERNEL::NormalizedCellType - enumeration item describing the cell type.
Exceptions
IfcellId is invalid. Valid range is [0, this->getNumberOfCells() ).

Implements MEDCoupling::MEDCouplingMesh.

References getCellModelEnum(), and MEDCoupling::MEDCouplingMesh::getNumberOfCells().

◆ getAllGeoTypes()

std::set< INTERP_KERNEL::NormalizedCellType > MEDCoupling1GTUMesh::getAllGeoTypes ( ) const
virtual

Returns a set of all cell types available in this mesh.

Returns
std::set<INTERP_KERNEL::NormalizedCellType> - the set of cell types.
Warning
this method does not throw any exception even if this is not defined.

Implements MEDCoupling::MEDCouplingMesh.

References getCellModelEnum().

◆ getDistributionOfTypes()

std::vector< mcIdType > MEDCoupling1GTUMesh::getDistributionOfTypes ( ) const
virtual

This method expects that this is sorted by types. If not an exception will be thrown. This method returns in the same format as code (see MEDCouplingUMesh::checkTypeConsistencyAndContig or MEDCouplingUMesh::splitProfilePerType) how this is composed in cell types. The returned array is of size 3*n where n is the number of different types present in this. For every k in [0,n] ret[3*k+2]==-1 because it has no sense here. This parameter is kept only for compatibility with other method listed above.

Implements MEDCoupling::MEDCouplingMesh.

References getCellModelEnum(), and MEDCoupling::MEDCouplingMesh::getNumberOfCells().

◆ splitProfilePerType()

void MEDCoupling1GTUMesh::splitProfilePerType ( const DataArrayIdType *  profile,
std::vector< mcIdType > &  code,
std::vector< DataArrayIdType * > &  idsInPflPerType,
std::vector< DataArrayIdType * > &  idsPerType,
bool  smartPflKiller = true 
) const
virtual

This method is the opposite of MEDCouplingUMesh::checkTypeConsistencyAndContig method. Given a list of cells in profile it returns a list of sub-profiles sorted by geo type. The result is put in the array idsPerType. In the returned parameter code, foreach i code[3*i+2] refers (if different from -1) to a location into the idsPerType. This method has 1 input profile and 3 outputs code idsInPflPerType and idsPerType.

Parameters
[out]codeis a vector of size 3*n where n is the number of different geometric type in this reduced to the profile profile. code has exactly the same semantic than in MEDCouplingUMesh::checkTypeConsistencyAndContig method.
[out]idsInPflPerTypeis a vector of size of different geometric type in the subpart defined by profile of this ( equal to code.size()/3). For each i, idsInPflPerType[i] stores the tuple ids in profile that correspond to the geometric type code[3*i+0]
[out]idsPerTypeis a vector of size of different sub profiles needed to be defined to represent the profile profile for a given geometric type. This vector can be empty in case of all geometric type cells are fully covered in ascending in the given input profile.
Warning
for performance reasons no deep copy will be performed, if profile can been used as this in output parameters idsInPflPerType and idsPerType.
Exceptions
ifprofile has not exactly one component. It throws too, if profile contains some values not in [0,getNumberOfCells()) or if this is not fully defined

Example1:

  • Before this has 3 cells profile contains [0,1,2]
  • After code contains [NORM_...,nbCells,-1], idsInPflPerType [[0,1,2]] and idsPerType is empty

Example2:

  • Before this has 3 cells profile contains [1,2]
  • After code contains [NORM_...,nbCells,0], idsInPflPerType [[0,1]] and idsPerType is [[1,2]]

Implements MEDCoupling::MEDCouplingMesh.

References getCellModelEnum(), and MEDCoupling::MEDCouplingMesh::getNumberOfCells().

◆ checkTypeConsistencyAndContig()

DataArrayIdType * MEDCoupling1GTUMesh::checkTypeConsistencyAndContig ( const std::vector< mcIdType > &  code,
const std::vector< const DataArrayIdType * > &  idsPerType 
) const
virtual

This method tries to minimize at most the number of deep copy. So if idsPerType is not empty it can be returned directly (without copy, but with ref count incremented) in return.

See also
MEDCouplingUMesh::checkTypeConsistencyAndContig

Implements MEDCoupling::MEDCouplingMesh.

References _cm, getCellModelEnum(), and MEDCoupling::MEDCouplingMesh::getNumberOfCells().

◆ writeVTKLL()

void MEDCoupling1GTUMesh::writeVTKLL ( std::ostream &  ofs,
const std::string &  cellData,
const std::string &  pointData,
DataArrayByte byteData 
) const
virtual

◆ getVTKDataSetType()

std::string MEDCoupling1GTUMesh::getVTKDataSetType ( ) const
virtual

◆ getVTKFileExtension()

std::string MEDCoupling1GTUMesh::getVTKFileExtension ( ) const
virtual

◆ getHeapMemorySizeWithoutChildren()

◆ getNodalConnectivityLength()

mcIdType MEDCoupling1GTUMesh::getNodalConnectivityLength ( ) const

◆ isEqualIfNotWhy()

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

◆ isEqualWithoutConsideringStr()

◆ checkConsistencyLight()

void MEDCoupling1GTUMesh::checkConsistencyLight ( ) const
virtual

◆ computeCellCenterOfMass()

DataArrayDouble * MEDCoupling1GTUMesh::computeCellCenterOfMass ( ) const
virtual

◆ getMeasureField()

MEDCouplingFieldDouble * MEDCoupling1GTUMesh::getMeasureField ( bool  isAbs) const
virtual

◆ getMeasureFieldOnNode()

MEDCouplingFieldDouble * MEDCoupling1GTUMesh::getMeasureFieldOnNode ( bool  isAbs) const
virtual

◆ getCellContainingPoint()

mcIdType MEDCoupling1GTUMesh::getCellContainingPoint ( const double *  pos,
double  eps 
) const
virtual

◆ getCellsContainingPoint()

void MEDCoupling1GTUMesh::getCellsContainingPoint ( const double *  pos,
double  eps,
std::vector< mcIdType > &  elts 
) const
virtual

◆ buildOrthogonalField()

MEDCouplingFieldDouble * MEDCoupling1GTUMesh::buildOrthogonalField ( ) const
virtual

◆ getCellsInBoundingBox() [1/2]

DataArrayIdType * MEDCoupling1GTUMesh::getCellsInBoundingBox ( const double *  bbox,
double  eps 
) const
virtual

◆ getCellsInBoundingBox() [2/2]

DataArrayIdType * MEDCoupling1GTUMesh::getCellsInBoundingBox ( const INTERP_KERNEL::DirectedBoundingBox &  bbox,
double  eps 
)
virtual

◆ buildFacePartOfMySelfNode()

MEDCouplingPointSet * MEDCoupling1GTUMesh::buildFacePartOfMySelfNode ( const mcIdType *  start,
const mcIdType *  end,
bool  fullyIn 
) const
virtual

◆ findBoundaryNodes()

DataArrayIdType * MEDCoupling1GTUMesh::findBoundaryNodes ( ) const
virtual

◆ buildBoundaryMesh()

MEDCouplingPointSet * MEDCoupling1GTUMesh::buildBoundaryMesh ( bool  keepCoords) const
virtual

◆ findCommonCells()

void MEDCoupling1GTUMesh::findCommonCells ( int  compType,
mcIdType  startCellId,
DataArrayIdType *&  commonCellsArr,
DataArrayIdType *&  commonCellsIArr 
) const
virtual

◆ AggregateOnSameCoordsToUMesh()

MEDCouplingUMesh * MEDCoupling1GTUMesh::AggregateOnSameCoordsToUMesh ( const std::vector< const MEDCoupling1GTUMesh * > &  parts)
static

This method aggregates all the meshes in parts to put them in a single unstructured mesh (those returned). The order of cells is the returned instance is those in the order of instances in parts.

Parameters
[in]parts- all not null parts of single geo type meshes to be aggreagated having the same mesh dimension and same coordinates.
Returns
MEDCouplingUMesh * - new object to be dealt by the caller.
Exceptions
Ifone element is null in parts.
Ifnot all the parts do not have the same mesh dimension.
Ifnot all the parts do not share the same coordinates.
Ifnot all the parts have their connectivity set properly.
Ifparts is empty.

References MEDCoupling::MEDCouplingPointSet::getCoords(), MEDCoupling::MEDCouplingMesh::getDescription(), getMeshDimension(), MEDCoupling::MEDCouplingMesh::getName(), MEDCoupling::MEDCoupling1DGTUMesh::getNodalConnectivityIndex(), MEDCoupling::MEDCoupling1SGTUMesh::getNumberOfNodesPerCell(), and MEDCoupling::MEDCouplingUMesh::New().

◆ allocateCells()

virtual void MEDCoupling::MEDCoupling1GTUMesh::allocateCells ( mcIdType  nbOfCells = 0)
pure virtual

◆ insertNextCell()

virtual void MEDCoupling::MEDCoupling1GTUMesh::insertNextCell ( const mcIdType *  nodalConnOfCellBg,
const mcIdType *  nodalConnOfCellEnd 
)
pure virtual

◆ getNodalConnectivity()

virtual DataArrayIdType* MEDCoupling::MEDCoupling1GTUMesh::getNodalConnectivity ( ) const
pure virtual

◆ checkConsistencyOfConnectivity()

virtual void MEDCoupling::MEDCoupling1GTUMesh::checkConsistencyOfConnectivity ( ) const
pure virtual

Member Data Documentation

◆ _cm