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

Public Member Functions

std::string advancedRepr () const
 
MEDCouplingIMeshasSingleCell () const
 
MEDCouplingStructuredMeshbuildStructuredSubPart (const std::vector< std::pair< int, int > > &cellPart) const
 
MEDCouplingIMeshbuildWithGhost (int ghostLev) 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
 
MEDCouplingIMeshclone (bool recDeepCpy) const
 
DataArrayDoublecomputeCellCenterOfMass () const
 
DataArrayDoublecomputeIsoBarycenterOfNodesPerCell () const
 
MEDCouplingCMeshconvertToCartesian () const
 
void copyTinyStringsFrom (const MEDCouplingMesh *other)
 
MEDCouplingIMeshdeepCopy () const
 
std::string getAxisUnit () 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< double > getDXYZ () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
MEDCouplingFieldDoublegetMeasureField (bool isAbs) const
 
MEDCouplingFieldDoublegetMeasureFieldOnNode (bool isAbs) const
 
double getMeasureOfAnyCell () const
 
void getNodeGridStructure (int *res) const
 
std::vector< int > getNodeGridStructure () const
 
std::vector< int > getNodeStruct () const
 
std::vector< double > getOrigin () const
 
int getSpaceDimension () const
 
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< int > &tinyInfo, std::vector< std::string > &littleStrings) const
 
MEDCouplingMeshType getType () const
 
std::string getVTKFileExtension () 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 refineWithFactor (const std::vector< int > &factors)
 
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
 
void setAxisUnit (const std::string &unitName)
 
void setDXYZ (const double *dxyzStart, const double *dxyzStop)
 
void setNodeStruct (const int *nodeStrctStart, const int *nodeStrctStop)
 
void setOrigin (const double *originStart, const double *originStop)
 
void setSpaceDimension (int spaceDim)
 
std::string simpleRepr () 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::MEDCouplingStructuredMesh
MEDCoupling1SGTUMeshbuild1SGTSubLevelMesh () const
 
MEDCoupling1SGTUMeshbuild1SGTUnstructured () const
 
MEDCouplingFieldDoublebuildOrthogonalField () const
 
MEDCouplingMeshbuildPart (const int *start, const int *end) const
 
MEDCouplingMeshbuildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const
 
MEDCouplingUMeshbuildUnstructured () const
 
DataArrayIntcheckTypeConsistencyAndContig (const std::vector< int > &code, const std::vector< const DataArrayInt * > &idsPerType) const
 
DataArrayIntcomputeEffectiveNbOfNodesPerCell () const
 
DataArrayIntcomputeNbOfFacesPerCell () const
 
DataArrayIntcomputeNbOfNodesPerCell () const
 
double computeSquareness () const
 
void copyTinyStringsFrom (const MEDCouplingMesh *other)
 
std::set
< INTERP_KERNEL::NormalizedCellType
getAllGeoTypes () const
 
std::vector< int > getCellGridStructure () const
 
int getCellIdFromPos (int i, int j, int k) const
 
std::vector< int > getDistributionOfTypes () const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
std::vector< int > getLocationFromCellId (int cellId) const
 
std::vector< int > getLocationFromNodeId (int nodeId) const
 
int getMeshDimension () const
 
int getNodeIdFromPos (int i, int j, int k) const
 
void getNodeIdsOfCell (int cellId, std::vector< int > &conn) const
 
int getNumberOfCells () const
 
int getNumberOfCellsOfSubLevelMesh () const
 
int getNumberOfCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
 
int getNumberOfNodes () const
 
void getReverseNodalConnectivity (DataArrayInt *revNodal, DataArrayInt *revNodalIndx) const
 
int getSpaceDimensionOnNodeStruct () const
 
virtual void getSplitCellValues (int *res) const
 
virtual void getSplitNodeValues (int *res) const
 
INTERP_KERNEL::NormalizedCellType getTypeOfCell (int cellId) const
 
DataArrayIntgiveCellsWithType (INTERP_KERNEL::NormalizedCellType type) const
 
bool isEqualIfNotWhy (const MEDCouplingMesh *other, double prec, std::string &reason) const
 
DataArrayIntsimplexize (int policy)
 
void splitProfilePerType (const DataArrayInt *profile, std::vector< int > &code, std::vector< DataArrayInt * > &idsInPflPerType, std::vector< DataArrayInt * > &idsPerType) 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::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 void CondenseFineToCoarse (const std::vector< int > &coarseSt, const DataArrayDouble *fineDA, const std::vector< std::pair< int, int > > &fineLocInCoarse, const std::vector< int > &facts, DataArrayDouble *coarseDA)
 
static void CondenseFineToCoarseGhost (const std::vector< int > &coarseSt, const DataArrayDouble *fineDA, const std::vector< std::pair< int, int > > &fineLocInCoarse, const std::vector< int > &facts, DataArrayDouble *coarseDA, int ghostSize)
 
static MEDCouplingIMeshNew ()
 
static MEDCouplingIMeshNew (const std::string &meshName, int spaceDim, const int *nodeStrctStart, const int *nodeStrctStop, const double *originStart, const double *originStop, const double *dxyzStart, const double *dxyzStop)
 
static void SpreadCoarseToFine (const DataArrayDouble *coarseDA, const std::vector< int > &coarseSt, DataArrayDouble *fineDA, const std::vector< std::pair< int, int > > &fineLocInCoarse, const std::vector< int > &facts)
 
static void SpreadCoarseToFineGhost (const DataArrayDouble *coarseDA, const std::vector< int > &coarseSt, DataArrayDouble *fineDA, const std::vector< std::pair< int, int > > &fineLocInCoarse, const std::vector< int > &facts, int ghostSize)
 
static void SpreadCoarseToFineGhostZone (const DataArrayDouble *coarseDA, const std::vector< int > &coarseSt, DataArrayDouble *fineDA, const std::vector< std::pair< int, int > > &fineLocInCoarse, const std::vector< int > &facts, int ghostSize)
 
- Static Public Member Functions inherited from MEDCoupling::MEDCouplingStructuredMesh
static void ApplyGhostOnCompactFrmt (std::vector< std::pair< int, int > > &partBeforeFact, int ghostSize)
 
static bool AreRangesIntersect (const std::vector< std::pair< int, int > > &r1, const std::vector< std::pair< int, int > > &r2)
 
static void AssignPartOfFieldOfDoubleUsing (const std::vector< int > &st, DataArrayDouble *fieldOfDbl, const std::vector< std::pair< int, int > > &partCompactFormat, const DataArrayDouble *other)
 
static DataArrayIntBuild1GTNodalConnectivity (const int *nodeStBg, const int *nodeStEnd)
 
static DataArrayIntBuild1GTNodalConnectivityOfSubLevelMesh (const int *nodeStBg, const int *nodeStEnd)
 
static DataArrayIntBuildExplicitIdsFrom (const std::vector< int > &st, const std::vector< std::pair< int, int > > &partCompactFormat)
 
static void ChangeReferenceFromGlobalOfCompactFrmt (const std::vector< std::pair< int, int > > &bigInAbs, const std::vector< std::pair< int, int > > &partOfBigInAbs, std::vector< std::pair< int, int > > &partOfBigRelativeToBig, bool check=true)
 
static void ChangeReferenceToGlobalOfCompactFrmt (const std::vector< std::pair< int, int > > &bigInAbs, const std::vector< std::pair< int, int > > &partOfBigRelativeToBig, std::vector< std::pair< int, int > > &partOfBigInAbs, bool check=true)
 
static DataArrayIntComputeCornersGhost (const std::vector< int > &st, int ghostLev)
 
static std::vector
< std::vector< int > > 
ComputeSignaturePerAxisOf (const std::vector< int > &st, const std::vector< bool > &crit)
 
static int DeduceNumberOfGivenRangeInCompactFrmt (const std::vector< std::pair< int, int > > &partCompactFormat)
 
static int DeduceNumberOfGivenStructure (const std::vector< int > &st)
 
static void ExtractFieldOfBoolFrom (const std::vector< int > &st, const std::vector< bool > &fieldOfBool, const std::vector< std::pair< int, int > > &partCompactFormat, std::vector< bool > &fieldOut)
 
static DataArrayDoubleExtractFieldOfDoubleFrom (const std::vector< int > &st, const DataArrayDouble *fieldOfDbl, const std::vector< std::pair< int, int > > &partCompactFormat)
 
static int FindMinimalPartOf (int minPatchLgth, const std::vector< int > &st, const std::vector< bool > &crit, std::vector< bool > &reducedCrit, std::vector< std::pair< int, int > > &partCompactFormat)
 
static void FindTheWidestAxisOfGivenRangeInCompactFrmt (const std::vector< std::pair< int, int > > &partCompactFormat, int &axisId, int &sizeOfRange)
 
static std::vector< int > FindTranslationFrom (const std::vector< std::pair< int, int > > &startingFrom, const std::vector< std::pair< int, int > > &goingTo)
 
static std::vector< std::pair
< int, int > > 
GetCompactFrmtFromDimensions (const std::vector< int > &dims)
 
static std::vector< int > GetDimensionsFromCompactFrmt (const std::vector< std::pair< int, int > > &partCompactFormat)
 
static
INTERP_KERNEL::NormalizedCellType 
GetGeoTypeGivenMeshDimension (int meshDim)
 
static void GetPosFromId (int eltId, int meshDim, const int *split, int *res)
 
static std::vector< int > GetSplitVectFromStruct (const std::vector< int > &strct)
 
static std::vector< std::pair
< int, int > > 
IntersectRanges (const std::vector< std::pair< int, int > > &r1, const std::vector< std::pair< int, int > > &r2)
 
static bool IsPartStructured (const int *startIds, const int *stopIds, const std::vector< int > &st, std::vector< std::pair< int, int > > &partCompactFormat)
 
static void MultiplyPartOf (const std::vector< int > &st, const std::vector< std::pair< int, int > > &part, double factor, DataArrayDouble *da)
 
static void MultiplyPartOfByGhost (const std::vector< int > &st, const std::vector< std::pair< int, int > > &part, int ghostSize, double factor, DataArrayDouble *da)
 
static void PutInGhostFormat (int ghostSize, const std::vector< int > &st, const std::vector< std::pair< int, int > > &part, std::vector< int > &stWithGhost, std::vector< std::pair< int, int > > &partWithGhost)
 
static void SwitchOnIdsFrom (const std::vector< int > &st, const std::vector< std::pair< int, int > > &partCompactFormat, std::vector< bool > &vectToSwitchOn)
 
static std::vector< std::pair
< int, int > > 
TranslateCompactFrmt (const std::vector< std::pair< int, int > > &part, const std::vector< int > &translation)
 
- 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::MEDCouplingStructuredMesh
 MEDCouplingStructuredMesh ()
 
 MEDCouplingStructuredMesh (const MEDCouplingStructuredMesh &other, bool deepCopy)
 
 ~MEDCouplingStructuredMesh ()
 
- Static Protected Member Functions inherited from MEDCoupling::MEDCouplingStructuredMesh
static int ZipNodeStructure (const int *nodeStBg, const int *nodeStEnd, int zipNodeSt[3])
 

Member Function Documentation

MEDCouplingIMesh * MEDCouplingIMesh::New ( const std::string &  meshName,
int  spaceDim,
const int *  nodeStrctStart,
const int *  nodeStrctStop,
const double *  originStart,
const double *  originStop,
const double *  dxyzStart,
const double *  dxyzStop 
)
static
void MEDCouplingIMesh::setSpaceDimension ( int  spaceDim)

References MEDCoupling::TimeLabel::declareAsNew().

Referenced by New().

void MEDCouplingIMesh::setNodeStruct ( const int *  nodeStrctStart,
const int *  nodeStrctStop 
)
std::vector< int > MEDCouplingIMesh::getNodeStruct ( ) const
void MEDCouplingIMesh::setOrigin ( const double *  originStart,
const double *  originStop 
)
std::vector< double > MEDCouplingIMesh::getOrigin ( ) const
void MEDCouplingIMesh::setDXYZ ( const double *  dxyzStart,
const double *  dxyzStop 
)

References MEDCoupling::TimeLabel::declareAsNew().

Referenced by New().

std::vector< double > MEDCouplingIMesh::getDXYZ ( ) const
void MEDCouplingIMesh::setAxisUnit ( const std::string &  unitName)
std::string MEDCouplingIMesh::getAxisUnit ( ) const
double MEDCouplingIMesh::getMeasureOfAnyCell ( ) const

This method returns the measure of any cell in this. This specific method of image grid mesh utilizes the fact that any cell in this have the same measure. The value returned by this method is those used to feed the returned field in the MEDCouplingIMesh::getMeasureField.

See Also
getMeasureField

References checkConsistencyLight(), and getSpaceDimension().

Referenced by getMeasureField().

void MEDCouplingIMesh::refineWithFactor ( const std::vector< int > &  factors)

This method refines this uniformaly along all of its dimensions. In case of success the space covered by this will remain the same before the invocation except that the number of cells will be multiplied by factor ^ this->getMeshDimension(). The origin of this will be not touched only spacing and node structure will be changed. This method can be useful for AMR users.

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

Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::addPatch().

MEDCouplingIMesh * MEDCouplingIMesh::asSingleCell ( ) const

This method returns a newly created mesh containing a single cell in it. This returned cell covers exactly the space covered by this.

Returns
MEDCouplingIMesh * - A newly created object (to be managed by the caller with decrRef) containing simply one cell.
Exceptions
ifthis does not pass the checkConsistencyLight test.

References checkConsistencyLight(), MEDCoupling::MEDCouplingMesh::copyTinyInfoFrom(), MEDCoupling::MEDCouplingMesh::getName(), getSpaceDimension(), New(), and MEDCoupling::MCAuto< T >::retn().

void MEDCouplingIMesh::CondenseFineToCoarse ( const std::vector< int > &  coarseSt,
const DataArrayDouble fineDA,
const std::vector< std::pair< int, int > > &  fineLocInCoarse,
const std::vector< int > &  facts,
DataArrayDouble coarseDA 
)
static

This static method is useful to condense field on cells of a MEDCouplingIMesh instance coming from a refinement ( MEDCouplingIMesh::refineWithFactor for example) to a coarse MEDCouplingIMesh instance. So this method can be seen as a specialization in P0P0 conservative interpolation non overlaping from fine image mesh to a coarse image mesh. Only tuples ( deduced from fineLocInCoarse ) of coarseDA will be modified. Other tuples of coarseDA will be let unchanged.

Parameters
[in]coarseStThe cell structure of coarse mesh.
[in]fineDAThe DataArray containing the cell field on uniformly refined mesh
[in]fineLocInCoarseThe cell localization of refined mesh into the coarse one.
[in]factsThe refinement coefficient per axis.
[in,out]coarseDAThe DataArrayDouble corresponding to the a cell field of a coarse mesh whose cell structure is defined by coarseSt.
See Also
CondenseFineToCoarseGhost,SpreadCoarseToFine

References MEDCoupling::DataArrayTemplate< T >::begin(), MEDCoupling::MEDCouplingStructuredMesh::DeduceNumberOfGivenRangeInCompactFrmt(), MEDCoupling::MEDCouplingStructuredMesh::DeduceNumberOfGivenStructure(), MEDCoupling::MEDCouplingStructuredMesh::GetDimensionsFromCompactFrmt(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::DataArrayTemplate< T >::getPointer(), and MEDCoupling::DataArrayTemplate< T >::isAllocated().

Referenced by MEDCoupling::MEDCouplingStructuredMesh::AssignPartOfFieldOfDoubleUsing(), and MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldComingFromPatch().

void MEDCouplingIMesh::CondenseFineToCoarseGhost ( const std::vector< int > &  coarseSt,
const DataArrayDouble fineDA,
const std::vector< std::pair< int, int > > &  fineLocInCoarse,
const std::vector< int > &  facts,
DataArrayDouble coarseDA,
int  ghostSize 
)
static

This static method is useful to condense field on cells of a MEDCouplingIMesh instance coming from a refinement ( MEDCouplingIMesh::refineWithFactor for example) to a coarse MEDCouplingIMesh instance. So this method can be seen as a specialization in P0P0 conservative interpolation non overlaping from fine image mesh to a coarse image mesh. Only tuples ( deduced from fineLocInCoarse ) of coarseDA will be modified. Other tuples of coarseDA will be let unchanged.

Parameters
[in]coarseStThe cell structure of coarse mesh.
[in]fineDAThe DataArray containing the cell field on uniformly refined mesh
[in]fineLocInCoarseThe cell localization of refined mesh into the coarse one.
[in]factsThe refinement coefficient per axis.
[in,out]coarseDAThe DataArrayDouble corresponding to the a cell field of a coarse mesh whose cell structure is defined by coarseSt.
[in]ghostSize- The size of the ghost zone. The ghost zone is expected to be the same for all axis and both for coarse and fine meshes.
See Also
CondenseFineToCoarse,SpreadCoarseToFineGhost

References MEDCoupling::DataArrayTemplate< T >::begin(), MEDCoupling::MEDCouplingStructuredMesh::DeduceNumberOfGivenStructure(), MEDCoupling::MEDCouplingStructuredMesh::GetDimensionsFromCompactFrmt(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::DataArrayTemplate< T >::getPointer(), and MEDCoupling::DataArrayTemplate< T >::isAllocated().

Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldComingFromPatchGhost().

void MEDCouplingIMesh::SpreadCoarseToFine ( const DataArrayDouble coarseDA,
const std::vector< int > &  coarseSt,
DataArrayDouble fineDA,
const std::vector< std::pair< int, int > > &  fineLocInCoarse,
const std::vector< int > &  facts 
)
static
void MEDCouplingIMesh::SpreadCoarseToFineGhost ( const DataArrayDouble coarseDA,
const std::vector< int > &  coarseSt,
DataArrayDouble fineDA,
const std::vector< std::pair< int, int > > &  fineLocInCoarse,
const std::vector< int > &  facts,
int  ghostSize 
)
static

This method spreads the values of coarse data coarseDA into fineDA.

Parameters
[in]coarseDAThe DataArrayDouble corresponding to the a cell field of a coarse mesh whose cell structure is defined by coarseSt.
[in]coarseStThe cell structure of coarse mesh.
[in,out]fineDAThe DataArray containing the cell field on uniformly refined mesh
[in]fineLocInCoarseThe cell localization of refined mesh into the coarse one.
[in]factsThe refinement coefficient per axis.
[in]ghostSize- The size of the ghost zone. The ghost zone is expected to be the same for all axis and both for coarse and fine meshes.
See Also
CondenseFineToCoarse, SpreadCoarseToFineGhostZone

References MEDCoupling::DataArrayTemplate< T >::begin(), MEDCoupling::MEDCouplingStructuredMesh::DeduceNumberOfGivenStructure(), MEDCoupling::MEDCouplingStructuredMesh::GetDimensionsFromCompactFrmt(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::DataArrayTemplate< T >::getPointer(), and MEDCoupling::DataArrayTemplate< T >::isAllocated().

Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldOnPatchGhost().

void MEDCouplingIMesh::SpreadCoarseToFineGhostZone ( const DataArrayDouble coarseDA,
const std::vector< int > &  coarseSt,
DataArrayDouble fineDA,
const std::vector< std::pair< int, int > > &  fineLocInCoarse,
const std::vector< int > &  facts,
int  ghostSize 
)
static

This method spreads the values of coarse data coarseDA into fineDA ONLY in the ghost zone (contrary to SpreadCoarseToFineGhost that spread the values everywhere).

Parameters
[in]coarseDAThe DataArrayDouble corresponding to the a cell field of a coarse mesh whose cell structure is defined by coarseSt.
[in]coarseStThe cell structure of coarse mesh.
[in,out]fineDAThe DataArray containing the cell field on uniformly refined mesh
[in]fineLocInCoarseThe cell localization of refined mesh into the coarse one.
[in]factsThe refinement coefficient per axis.
[in]ghostSize- The size of the ghost zone. The ghost zone is expected to be the same for all axis and both for coarse and fine meshes.
See Also
SpreadCoarseToFineGhost

References MEDCoupling::DataArrayTemplate< T >::begin(), MEDCoupling::MEDCouplingStructuredMesh::DeduceNumberOfGivenStructure(), MEDCoupling::MEDCouplingStructuredMesh::GetDimensionsFromCompactFrmt(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::DataArrayTemplate< T >::getPointer(), and MEDCoupling::DataArrayTemplate< T >::isAllocated().

Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldOnPatchOnlyOnGhostZone().

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

Implements MEDCoupling::MEDCouplingMesh.

Referenced by deepCopy().

const DataArrayDouble * MEDCouplingIMesh::getDirectAccessOfCoordsArrIfInStructure ( ) const
virtual
MEDCouplingIMesh * MEDCouplingIMesh::buildWithGhost ( int  ghostLev) const

This method creates a copy of this enlarged by ghostLev cells on each axis. If ghostLev equal to 0 this method behaves as MEDCouplingIMesh::clone.

Parameters
[in]ghostLev- the ghost level expected
Returns
MEDCouplingIMesh * - a newly alloacted object to be managed by the caller.
Exceptions
ifghostLev < 0.

References checkConsistencyLight(), MEDCoupling::MEDCouplingMesh::copyTinyInfoFrom(), MEDCoupling::MEDCouplingMesh::getName(), getSpaceDimension(), New(), and MEDCoupling::MCAuto< T >::retn().

Referenced by MEDCoupling::MEDCouplingAMRAttribute::buildCellFieldOnWithGhost(), and MEDCoupling::MEDCouplingAMRAttribute::buildCellFieldOnWithoutGhost().

void MEDCouplingIMesh::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.

std::size_t MEDCouplingIMesh::getHeapMemorySizeWithoutChildren ( ) const
virtual
std::vector< const BigMemoryObject * > MEDCouplingIMesh::getDirectChildrenWithNull ( ) const
virtual
MEDCouplingMeshType MEDCoupling::MEDCouplingIMesh::getType ( ) const
virtual
void MEDCouplingIMesh::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::MEDCouplingStructuredMesh::copyTinyStringsFrom(), and MEDCoupling::TimeLabel::declareAsNew().

bool MEDCouplingIMesh::isEqualIfNotWhy ( const MEDCouplingMesh other,
double  prec,
std::string &  reason 
) const
virtual
bool MEDCouplingIMesh::isEqualWithoutConsideringStr ( const MEDCouplingMesh other,
double  prec 
) const
virtual
void MEDCouplingIMesh::checkDeepEquivalWith ( const MEDCouplingMesh other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor,
DataArrayInt *&  nodeCor 
) const
virtual
void MEDCouplingIMesh::checkDeepEquivalOnSameNodesWith ( const MEDCouplingMesh other,
int  cellCompPol,
double  prec,
DataArrayInt *&  cellCor 
) const
virtual

Nothing is done here (except to check that the other is a MEDCoupling::MEDCouplingIMesh instance too). The user intend that the nodes are the same, so by construction of MEDCoupling::MEDCouplingIMesh, this and other are the same !

Implements MEDCoupling::MEDCouplingMesh.

References isEqualWithoutConsideringStr().

void MEDCouplingIMesh::checkConsistency ( double  eps = 1e-12) const
virtual
void MEDCouplingIMesh::getCoordinatesOfNode ( int  nodeId,
std::vector< double > &  coo 
) const
virtual
std::string MEDCouplingIMesh::advancedRepr ( ) const
virtual

Implements MEDCoupling::MEDCouplingMesh.

References simpleRepr().

void MEDCouplingIMesh::getBoundingBox ( double *  bbox) const
virtual
MEDCouplingFieldDouble * MEDCouplingIMesh::getMeasureField ( bool  isAbs) const
virtual
MEDCouplingFieldDouble * MEDCouplingIMesh::getMeasureFieldOnNode ( bool  isAbs) const
virtual

not implemented yet !

Implements MEDCoupling::MEDCouplingMesh.

int MEDCouplingIMesh::getCellContainingPoint ( const double *  pos,
double  eps 
) const
virtual
void MEDCouplingIMesh::getCellsContainingPoint ( const double *  pos,
double  eps,
std::vector< int > &  elts 
) const
virtual
void MEDCouplingIMesh::rotate ( const double *  center,
const double *  vector,
double  angle 
)
virtual
void MEDCouplingIMesh::translate ( const double *  vector)
virtual

Translates all nodes of this mesh by a given vector. Actually, it adds each component of the vector to all node coordinates of a corresponding axis.

Parameters
[in]vector- the translation vector whose size must be not less than this->getSpaceDimension().

Implements MEDCoupling::MEDCouplingMesh.

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

void MEDCouplingIMesh::scale ( const double *  point,
double  factor 
)
virtual

Applies scaling transformation to all nodes of this mesh.

Parameters
[in]point- coordinates of a scaling center. This array is to be of size this->getSpaceDimension() at least.
[in]factor- a scale factor.

Implements MEDCoupling::MEDCouplingMesh.

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

MEDCouplingMesh * MEDCouplingIMesh::mergeMyselfWith ( const MEDCouplingMesh other) const
virtual
DataArrayDouble * MEDCouplingIMesh::computeIsoBarycenterOfNodesPerCell ( ) const
virtual
void MEDCouplingIMesh::renumberCells ( const int *  old2NewBg,
bool  check = true 
)
virtual
void MEDCouplingIMesh::getNodeGridStructure ( int *  res) const
virtual
std::vector< int > MEDCouplingIMesh::getNodeGridStructure ( ) const
virtual
MEDCouplingStructuredMesh * MEDCouplingIMesh::buildStructuredSubPart ( const std::vector< std::pair< int, int > > &  cellPart) const
virtual
void MEDCouplingIMesh::getTinySerializationInformation ( std::vector< double > &  tinyInfoD,
std::vector< int > &  tinyInfo,
std::vector< std::string > &  littleStrings 
) const
virtual
void MEDCouplingIMesh::resizeForUnserialization ( const std::vector< int > &  tinyInfo,
DataArrayInt a1,
DataArrayDouble a2,
std::vector< std::string > &  littleStrings 
) const
virtual
void MEDCouplingIMesh::unserialization ( const std::vector< double > &  tinyInfoD,
const std::vector< int > &  tinyInfo,
const DataArrayInt a1,
DataArrayDouble a2,
const std::vector< std::string > &  littleStrings 
)
virtual
void MEDCouplingIMesh::reprQuickOverview ( std::ostream &  stream) const
virtual
std::string MEDCouplingIMesh::getVTKFileExtension ( ) const
virtual