Public Member Functions | |
MEDCoupling1SGTUMesh * | build1SGTSubLevelMesh () const |
MEDCoupling1SGTUMesh * | build1SGTUnstructured () const |
MEDCouplingFieldDouble * | buildOrthogonalField () const |
MEDCouplingMesh * | buildPart (const int *start, const int *end) const |
MEDCouplingMesh * | buildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const |
virtual MEDCouplingStructuredMesh * | buildStructuredSubPart (const std::vector< std::pair< int, int > > &cellPart) const =0 |
MEDCouplingUMesh * | buildUnstructured () const |
DataArrayInt * | checkTypeConsistencyAndContig (const std::vector< int > &code, const std::vector< const DataArrayInt * > &idsPerType) const |
DataArrayInt * | computeEffectiveNbOfNodesPerCell () const |
DataArrayInt * | computeNbOfFacesPerCell () const |
DataArrayInt * | computeNbOfNodesPerCell () 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 |
virtual void | getNodeGridStructure (int *res) const =0 |
virtual std::vector< int > | getNodeGridStructure () const =0 |
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 |
DataArrayInt * | giveCellsWithType (INTERP_KERNEL::NormalizedCellType type) const |
bool | isEqualIfNotWhy (const MEDCouplingMesh *other, double prec, std::string &reason) const |
DataArrayInt * | simplexize (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 std::string | advancedRepr () const =0 |
virtual bool | areCompatibleForMerge (const MEDCouplingMesh *other) const |
virtual MEDCouplingMesh * | buildPartRange (int beginCellIds, int endCellIds, int stepCellIds) const |
virtual MEDCouplingMesh * | buildPartRangeAndReduceNodes (int beginCellIds, int endCellIds, int stepCellIds, int &beginOut, int &endOut, int &stepOut, DataArrayInt *&arr) const |
virtual void | checkConsistency (double eps=1e-12) const =0 |
virtual void | checkConsistencyLight () const =0 |
virtual void | checkDeepEquivalOnSameNodesWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor) const =0 |
virtual void | checkDeepEquivalWith (const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const =0 |
virtual void | checkFastEquivalWith (const MEDCouplingMesh *other, double prec) const |
void | checkGeoEquivalWith (const MEDCouplingMesh *other, int levOfCheck, double prec, DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const |
virtual MEDCouplingMesh * | clone (bool recDeepCpy) const =0 |
virtual DataArrayDouble * | computeCellCenterOfMass () const =0 |
virtual DataArrayDouble * | computeIsoBarycenterOfNodesPerCell () const =0 |
virtual void | copyTinyInfoFrom (const MEDCouplingMesh *other) |
virtual MEDCouplingMesh * | deepCopy () const =0 |
virtual MEDCouplingFieldDouble * | fillFromAnalytic (TypeOfField t, int nbOfComp, FunctionToEvaluate func) const |
virtual MEDCouplingFieldDouble * | fillFromAnalytic (TypeOfField t, int nbOfComp, const std::string &func) const |
virtual MEDCouplingFieldDouble * | fillFromAnalyticCompo (TypeOfField t, int nbOfComp, const std::string &func) const |
virtual MEDCouplingFieldDouble * | fillFromAnalyticNamedCompo (TypeOfField t, int nbOfComp, const std::vector< std::string > &varsOrder, const std::string &func) const |
virtual void | getBoundingBox (double *bbox) const =0 |
virtual int | getCellContainingPoint (const double *pos, double eps) const =0 |
virtual DataArrayInt * | getCellIdsFullyIncludedInNodeIds (const int *partBg, const int *partEnd) const |
virtual void | getCellsContainingPoint (const double *pos, double eps, std::vector< int > &elts) const =0 |
virtual void | getCellsContainingPoints (const double *pos, int nbOfPoints, double eps, MCAuto< DataArrayInt > &elts, MCAuto< DataArrayInt > &eltsIndex) const |
virtual DataArrayDouble * | getCoordinatesAndOwner () const =0 |
virtual void | getCoordinatesOfNode (int nodeId, std::vector< double > &coo) const =0 |
std::string | getDescription () const |
virtual const DataArrayDouble * | getDirectAccessOfCoordsArrIfInStructure () const =0 |
virtual MEDCouplingFieldDouble * | getMeasureField (bool isAbs) const =0 |
virtual MEDCouplingFieldDouble * | getMeasureFieldOnNode (bool isAbs) const =0 |
std::string | getName () const |
virtual int | getSpaceDimension () const =0 |
double | getTime (int &iteration, int &order) const |
std::string | getTimeUnit () const |
virtual void | getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< int > &tinyInfo, std::vector< std::string > &littleStrings) const =0 |
virtual MEDCouplingMeshType | getType () const =0 |
virtual std::string | getVTKFileExtension () const =0 |
std::string | getVTKFileNameOf (const std::string &fileName) const |
virtual bool | isEqual (const MEDCouplingMesh *other, double prec) const |
virtual bool | isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) const =0 |
bool | isStructured () const |
virtual MEDCouplingMesh * | mergeMyselfWith (const MEDCouplingMesh *other) const =0 |
virtual void | renumberCells (const int *old2NewBg, bool check=true)=0 |
virtual void | reprQuickOverview (std::ostream &stream) const =0 |
virtual void | resizeForUnserialization (const std::vector< int > &tinyInfo, DataArrayInt *a1, DataArrayDouble *a2, std::vector< std::string > &littleStrings) const =0 |
virtual void | rotate (const double *center, const double *vector, double angle)=0 |
virtual void | scale (const double *point, double factor)=0 |
virtual void | serialize (DataArrayInt *&a1, DataArrayDouble *&a2) 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 void | translate (const double *vector)=0 |
virtual void | unserialization (const std::vector< double > &tinyInfoD, const std::vector< int > &tinyInfo, const DataArrayInt *a1, DataArrayDouble *a2, const std::vector< std::string > &littleStrings)=0 |
std::string | writeVTK (const std::string &fileName, bool isBinary=true) const |
virtual void | writeVTKLL (std::ostream &ofs, const std::string &cellData, const std::string &pointData, DataArrayByte *byteData) const =0 |
Public Member Functions inherited from MEDCoupling::TimeLabel | |
void | declareAsNew () const |
std::size_t | getTimeOfThis () const |
TimeLabel & | operator= (const TimeLabel &other) |
virtual void | updateTime () const =0 |
Static Public Member Functions | |
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 DataArrayInt * | Build1GTNodalConnectivity (const int *nodeStBg, const int *nodeStEnd) |
static DataArrayInt * | Build1GTNodalConnectivityOfSubLevelMesh (const int *nodeStBg, const int *nodeStEnd) |
static DataArrayInt * | BuildExplicitIdsFrom (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 DataArrayInt * | ComputeCornersGhost (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 DataArrayDouble * | ExtractFieldOfDoubleFrom (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 MEDCouplingMesh * | MergeMeshes (const MEDCouplingMesh *mesh1, const MEDCouplingMesh *mesh2) |
static MEDCouplingMesh * | MergeMeshes (std::vector< const MEDCouplingMesh * > &meshes) |
Protected Member Functions | |
MEDCouplingStructuredMesh () | |
MEDCouplingStructuredMesh (const MEDCouplingStructuredMesh &other, bool deepCopy) | |
~MEDCouplingStructuredMesh () | |
Protected Member Functions inherited from MEDCoupling::MEDCouplingMesh | |
virtual std::string | getVTKDataSetType () const =0 |
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 | |
static int | ZipNodeStructure (const int *nodeStBg, const int *nodeStEnd, int zipNodeSt[3]) |
|
protected |
|
protected |
|
protected |
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References GetGeoTypeGivenMeshDimension(), and getMeshDimension().
Referenced by checkTypeConsistencyAndContig(), computeNbOfFacesPerCell(), computeNbOfNodesPerCell(), getAllGeoTypes(), getDistributionOfTypes(), MEDCoupling::MEDFileStructuredMesh::getGeoTypesAtLevel(), getNumberOfCellsWithType(), giveCellsWithType(), and splitProfilePerType().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References getTypeOfCell().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References getNumberOfCells(), and getTypeOfCell().
|
virtual |
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References MEDCoupling::DataArrayTemplate< T >::alloc(), MEDCoupling::DataArrayTemplate< T >::fillWithValue(), getNumberOfCells(), getTypeOfCell(), MEDCoupling::DataArrayInt::New(), and MEDCoupling::MCAuto< T >::retn().
Referenced by computeEffectiveNbOfNodesPerCell().
|
virtual |
|
virtual |
This method computes effective number of nodes per cell. That is to say nodes appearing several times in nodal connectivity of a cell, will be counted only once here whereas it will be counted several times in MEDCouplingMesh::computeNbOfNodesPerCell method. Here for structured mesh it returns exactly as MEDCouplingStructuredMesh::computeNbOfNodesPerCell does.
Implements MEDCoupling::MEDCouplingMesh.
References computeNbOfNodesPerCell().
std::vector< int > MEDCouplingStructuredMesh::getLocationFromCellId | ( | int | cellId | ) | const |
This method returns for a cell which id is cellId the location (locX,locY,locZ) of this cell in this.
[in] | cellId |
if | cellId not in [ 0, this->getNumberOfCells() ) |
References getCellGridStructure(), getMeshDimension(), GetPosFromId(), and GetSplitVectFromStruct().
std::vector< int > MEDCouplingStructuredMesh::getLocationFromNodeId | ( | int | nodeId | ) | const |
This method returns for a node which id is nodeId the location (locX,locY,locZ) of this node in this.
[in] | nodeId |
if | cellId not in [ 0, this->getNumberOfNodes() ) |
References getNodeGridStructure(), GetPosFromId(), MEDCoupling::MEDCouplingMesh::getSpaceDimension(), and GetSplitVectFromStruct().
|
static |
Referenced by MEDCoupling::MEDCouplingCMesh::computeCellCenterOfMass(), MEDCoupling::MEDCouplingIMesh::computeCellCenterOfMass(), MEDCoupling::MEDCouplingCMesh::getCoordinatesAndOwner(), MEDCoupling::MEDCouplingIMesh::getCoordinatesAndOwner(), MEDCoupling::MEDCouplingCMesh::getCoordinatesOfNode(), MEDCoupling::MEDCouplingIMesh::getCoordinatesOfNode(), getLocationFromCellId(), getLocationFromNodeId(), MEDCoupling::MEDCouplingCMesh::getMeasureField(), getNodeIdsOfCell(), and IsPartStructured().
|
static |
References INTERP_KERNEL::NORM_HEXA8, INTERP_KERNEL::NORM_POINT1, INTERP_KERNEL::NORM_QUAD4, and INTERP_KERNEL::NORM_SEG2.
Referenced by build1SGTSubLevelMesh(), build1SGTUnstructured(), MEDCoupling::MEDFileStructuredMesh::buildImplicitPartIfAny(), MEDCoupling::MEDFileStructuredMesh::GetGeoTypeFromMeshDim(), MEDCoupling::MEDFileStructuredMesh::getGeoTypesAtLevel(), MEDCoupling::MEDFileStructuredMesh::getNumberOfCellsWithType(), getTypeOfCell(), MEDCoupling::MEDCoupling1SGTUMesh::structurizeMe(), and MEDCoupling::MEDFileStructuredMesh::whichAreNodesFetched().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References getMeshDimension(), GetPosFromId(), getSplitCellValues(), and getSplitNodeValues().
Referenced by MEDCoupling::MEDFileStructuredMesh::whichAreNodesFetched().
|
virtual |
Reimplemented from MEDCoupling::MEDCouplingMesh.
References MEDCoupling::MEDCouplingMesh::getHeapMemorySizeWithoutChildren().
Referenced by MEDCoupling::MEDCouplingCurveLinearMesh::getHeapMemorySizeWithoutChildren(), MEDCoupling::MEDCouplingCMesh::getHeapMemorySizeWithoutChildren(), and MEDCoupling::MEDCouplingIMesh::getHeapMemorySizeWithoutChildren().
|
virtual |
This method copyies all tiny strings from other (name and components name).
if | other and this have not same mesh type. |
Reimplemented from MEDCoupling::MEDCouplingMesh.
References MEDCoupling::MEDCouplingMesh::copyTinyStringsFrom().
Referenced by MEDCoupling::MEDCouplingCurveLinearMesh::copyTinyStringsFrom(), MEDCoupling::MEDCouplingCMesh::copyTinyStringsFrom(), and MEDCoupling::MEDCouplingIMesh::copyTinyStringsFrom().
|
virtual |
|
virtual |
See MEDCouplingUMesh::getDistributionOfTypes for more information
Implements MEDCoupling::MEDCouplingMesh.
References getNumberOfCells(), and getTypeOfCell().
|
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 MEDCouplingUMesh::checkTypeConsistencyAndContig for more information
Implements MEDCoupling::MEDCouplingMesh.
References MEDCoupling::DataArrayInt::checkAllIdsInRange(), getNumberOfCells(), MEDCoupling::DataArray::getNumberOfComponents(), getTypeOfCell(), and MEDCoupling::RefCountObjectOnly::incrRef().
|
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.
[out] | code | is 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] | idsInPflPerType | is 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] | idsPerType | is 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. |
if | profile 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:
Example2:
Implements MEDCoupling::MEDCouplingMesh.
References MEDCoupling::DataArrayInt::checkAllIdsInRange(), MEDCoupling::DataArrayInt::deepCopy(), getNumberOfCells(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), getTypeOfCell(), MEDCoupling::DataArrayTemplate< T >::isAllocated(), MEDCoupling::DataArrayInt::isIota(), and MEDCoupling::DataArrayInt::Range().
MEDCoupling1SGTUMesh * MEDCouplingStructuredMesh::build1SGTUnstructured | ( | ) | const |
Creates a new unstructured mesh (MEDCoupling1SGTUMesh) from this structured one.
In the returned mesh, the nodes are ordered with the first axis varying first: (X0,Y0), (X1,Y0), ... (X0,Y1), (X1,Y1), ... and the cells are ordered with the same logic, i.e. in (i,j) notation: (0,0), (1,0), (2,0), ... (0,1), (1,1), ...
If | this->getMeshDimension() is not among [1,2,3]. |
References Build1GTNodalConnectivity(), MEDCoupling::MEDCouplingMesh::copyTinyInfoFrom(), MEDCoupling::MEDCouplingMesh::getCoordinatesAndOwner(), GetGeoTypeGivenMeshDimension(), getMeshDimension(), MEDCoupling::MEDCouplingMesh::getName(), getNodeGridStructure(), getSpaceDimensionOnNodeStruct(), MEDCoupling::MEDCoupling1SGTUMesh::New(), MEDCoupling::MCAuto< T >::retn(), MEDCoupling::MEDCouplingPointSet::setCoords(), and MEDCoupling::MEDCoupling1SGTUMesh::setNodalConnectivity().
Referenced by buildUnstructured().
|
virtual |
Creates a new unstructured mesh (MEDCouplingUMesh) from this structured one.
In the returned mesh, the nodes are ordered with the first axis varying first: (X0,Y0), (X1,Y0), ... (X0,Y1), (X1,Y1), ... and the cells are ordered with the same logic, i.e. in (i,j) notation: (0,0), (1,0), (2,0), ... (0,1), (1,1), ...
If | this->getMeshDimension() is not among [1,2,3]. |
Implements MEDCoupling::MEDCouplingMesh.
References build1SGTUnstructured(), and MEDCoupling::MEDCoupling1SGTUMesh::buildUnstructured().
Referenced by MEDCoupling::MEDCouplingUMesh::Build1DMeshFromCoords(), buildPart(), buildPartAndReduceNodes(), and MEDCoupling::MEDCoupling1SGTUMesh::structurizeMe().
|
virtual |
Creates a new MEDCouplingUMesh containing a part of cells of this mesh. The cells to include to the result mesh are specified by an array of cell ids.
[in] | start | - an array of cell ids to include to the result mesh. |
[in] | end | - specifies the end of the array start, so that the last value of start is end[ -1 ]. |
Implements MEDCoupling::MEDCouplingMesh.
References MEDCoupling::MEDCouplingPointSet::buildPart(), and buildUnstructured().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References MEDCoupling::DataArrayTemplate< T >::alloc(), MEDCoupling::DataArrayTemplate< T >::begin(), BuildExplicitIdsFrom(), MEDCoupling::MEDCouplingPointSet::buildPartAndReduceNodes(), buildStructuredSubPart(), buildUnstructured(), MEDCoupling::DataArrayTemplate< T >::fillWithValue(), getCellGridStructure(), getNodeGridStructure(), getNumberOfNodes(), MEDCoupling::DataArrayInt::iota(), IsPartStructured(), MEDCoupling::DataArrayInt::New(), MEDCoupling::MCAuto< T >::retn(), and MEDCoupling::DataArrayTemplate< T >::setPartOfValues3().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
|
virtual |
Returns a new MEDCouplingFieldDouble holding normal vectors to cells of this 2D mesh. The computed vectors have 3 components and are normalized.
If | this->getMeshDimension() != 2. |
Implements MEDCoupling::MEDCouplingMesh.
References MEDCoupling::DataArrayTemplate< T >::alloc(), getMeshDimension(), getNumberOfCells(), MEDCoupling::DataArrayTemplate< T >::getPointer(), MEDCoupling::MEDCouplingFieldDouble::New(), MEDCoupling::DataArrayDouble::New(), MEDCoupling::NO_TIME, MEDCoupling::ON_CELLS, MEDCoupling::MCAuto< T >::retn(), MEDCoupling::MEDCouplingFieldT< T >::setArray(), and MEDCoupling::MEDCouplingField::setMesh().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References getNodeGridStructure(), and MEDCoupling::MEDCouplingMesh::getSpaceDimension().
MEDCoupling1SGTUMesh * MEDCouplingStructuredMesh::build1SGTSubLevelMesh | ( | ) | const |
This method returns the unstructured mesh (having single geometric type) of the sub level mesh of this. This method is equivalent to computing MEDCouplingUMesh::buildDescendingConnectivity on the unstructurized this mesh.
The caller is to delete the returned mesh using decrRef() as it is no more needed.
References Build1GTNodalConnectivityOfSubLevelMesh(), MEDCoupling::MEDCouplingMesh::getCoordinatesAndOwner(), GetGeoTypeGivenMeshDimension(), getMeshDimension(), MEDCoupling::MEDCouplingMesh::getName(), getNodeGridStructure(), MEDCoupling::MEDCoupling1SGTUMesh::New(), MEDCoupling::MCAuto< T >::retn(), MEDCoupling::MEDCouplingPointSet::setCoords(), and MEDCoupling::MEDCoupling1SGTUMesh::setNodalConnectivity().
Referenced by MEDCoupling::MEDFileStructuredMesh::buildImplicitPart().
int MEDCouplingStructuredMesh::getCellIdFromPos | ( | int | i, |
int | j, | ||
int | k | ||
) | const |
Returns a cell id by its (i,j,k) index. The cell is located between the i-th and ( i + 1 )-th nodes along X axis etc.
[in] | i | - a index of node coordinates array along X axis. |
[in] | j | - a index of node coordinates array along Y axis. |
[in] | k | - a index of node coordinates array along Z axis. |
References getMeshDimension(), and getSplitCellValues().
Referenced by MEDCoupling::MEDCouplingFieldDiscretizationP0::getValueOnPos().
int MEDCouplingStructuredMesh::getNodeIdFromPos | ( | int | i, |
int | j, | ||
int | k | ||
) | const |
Returns a node id by its (i,j,k) index.
[in] | i | - a index of node coordinates array along X axis. |
[in] | j | - a index of node coordinates array along Y axis. |
[in] | k | - a index of node coordinates array along Z axis. |
References MEDCoupling::MEDCouplingMesh::getSpaceDimension(), and getSplitNodeValues().
Referenced by MEDCoupling::MEDCouplingFieldDiscretizationOnNodes::getValueOnPos().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References getNodeGridStructure().
Referenced by MEDCoupling::MEDCouplingAMRAttribute::buildCellFieldOnWithoutGhost(), buildOrthogonalField(), checkTypeConsistencyAndContig(), MEDCoupling::MEDCouplingCMesh::computeCellCenterOfMass(), MEDCoupling::MEDCouplingIMesh::computeCellCenterOfMass(), computeNbOfFacesPerCell(), computeNbOfNodesPerCell(), getDistributionOfTypes(), MEDCoupling::MEDCouplingCMesh::getMeasureField(), MEDCoupling::MEDCouplingIMesh::getMeasureField(), MEDCoupling::MEDCouplingCurveLinearMesh::getNumberOfCells(), MEDCoupling::MEDFileStructuredMesh::getNumberOfCellsAtLevel(), getNumberOfCellsWithType(), MEDCoupling::MEDFileStructuredMesh::getSizeAtLevel(), giveCellsWithType(), MEDCoupling::MEDFileStructuredMesh::setFamilyFieldArr(), MEDCoupling::MEDFileStructuredMesh::setNameFieldAtLevel(), MEDCoupling::MEDFileStructuredMesh::setRenumFieldArr(), and splitProfilePerType().
|
virtual |
Implements MEDCoupling::MEDCouplingMesh.
References getNodeGridStructure().
Referenced by buildPartAndReduceNodes(), MEDCoupling::MEDCouplingCMesh::getCoordinatesAndOwner(), MEDCoupling::MEDCouplingIMesh::getCoordinatesAndOwner(), MEDCoupling::MEDCouplingCurveLinearMesh::getNumberOfNodes(), MEDCoupling::MEDFileStructuredMesh::getNumberOfNodes(), MEDCoupling::MEDFileStructuredMesh::getSizeAtLevel(), MEDCoupling::MEDFileStructuredMesh::setFamilyFieldArr(), MEDCoupling::MEDFileStructuredMesh::setNameFieldAtLevel(), MEDCoupling::MEDFileStructuredMesh::setRenumFieldArr(), and MEDCoupling::MEDCoupling1SGTUMesh::structurizeMe().
|
virtual |
This method returns the mesh dimension of this. It can be different from space dimension in case of a not null dimension contains only one node.
Implements MEDCoupling::MEDCouplingMesh.
References getNodeGridStructure().
Referenced by build1SGTSubLevelMesh(), build1SGTUnstructured(), buildOrthogonalField(), MEDCoupling::MEDCouplingCurveLinearMesh::buildOrthogonalField(), MEDCoupling::MEDCouplingCurveLinearMesh::buildStructuredSubPart(), MEDCoupling::MEDCouplingCurveLinearMesh::computeCellCenterOfMass(), MEDCoupling::MEDCouplingCurveLinearMesh::getCellContainingPoint(), getCellIdFromPos(), MEDCoupling::MEDFileStructuredMesh::getGeoTypesAtLevel(), getLocationFromCellId(), MEDCoupling::MEDCouplingCurveLinearMesh::getMeasureField(), getNodeIdsOfCell(), getNumberOfCellsOfSubLevelMesh(), and getTypeOfCell().
int MEDCouplingStructuredMesh::getNumberOfCellsOfSubLevelMesh | ( | ) | const |
This method returns the number of cells of unstructured sub level mesh, without building it.
References getCellGridStructure(), and getMeshDimension().
Referenced by MEDCoupling::MEDFileStructuredMesh::buildImplicitPartIfAny(), MEDCoupling::MEDFileStructuredMesh::getNumberOfCellsAtLevel(), MEDCoupling::MEDFileStructuredMesh::getSizeAtLevel(), MEDCoupling::MEDFileStructuredMesh::setFamilyFieldArr(), MEDCoupling::MEDFileStructuredMesh::setNameFieldAtLevel(), and MEDCoupling::MEDFileStructuredMesh::setRenumFieldArr().
int MEDCouplingStructuredMesh::getSpaceDimensionOnNodeStruct | ( | ) | const |
This method returns the space dimension by only considering the node grid structure. For cartesian mesh the returned value is equal to those returned by getSpaceDimension. But for curvelinear is could be different !
References getNodeGridStructure().
Referenced by build1SGTUnstructured().
|
pure virtual |
|
virtual |
|
virtual |
References getNodeGridStructure(), and GetSplitVectFromStruct().
Referenced by MEDCoupling::MEDCouplingCMesh::getCoordinatesAndOwner(), MEDCoupling::MEDCouplingIMesh::getCoordinatesAndOwner(), MEDCoupling::MEDCouplingCMesh::getCoordinatesOfNode(), MEDCoupling::MEDCouplingIMesh::getCoordinatesOfNode(), getNodeIdFromPos(), and getNodeIdsOfCell().
|
pure virtual |
Implemented in MEDCoupling::MEDCouplingIMesh, MEDCoupling::MEDCouplingCMesh, and MEDCoupling::MEDCouplingCurveLinearMesh.
Referenced by build1SGTSubLevelMesh(), build1SGTUnstructured(), buildPartAndReduceNodes(), getCellGridStructure(), getLocationFromNodeId(), getMeshDimension(), getNumberOfCells(), getNumberOfNodes(), getReverseNodalConnectivity(), getSpaceDimensionOnNodeStruct(), and getSplitNodeValues().
std::vector< int > MEDCouplingStructuredMesh::getCellGridStructure | ( | ) | const |
References getNodeGridStructure().
Referenced by MEDCoupling::MEDCouplingAMRAttribute::buildCellFieldOnWithoutGhost(), buildPartAndReduceNodes(), computeSquareness(), getLocationFromCellId(), getNumberOfCellsOfSubLevelMesh(), getSplitCellValues(), and MEDCoupling::MEDCouplingAMRAttribute::projectTo().
double MEDCouplingStructuredMesh::computeSquareness | ( | ) | const |
This method returns the squareness of this (quadrature). this is expected to be with a mesh dimension equal to 2 or 3.
References getCellGridStructure().
|
pure virtual |
Implemented in MEDCoupling::MEDCouplingIMesh, MEDCoupling::MEDCouplingCMesh, and MEDCoupling::MEDCouplingCurveLinearMesh.
Referenced by buildPartAndReduceNodes().
|
static |
Given a struct strct it returns a split vector [1,strct[0],strct[0]*strct[1]...] This decomposition allows to quickly find i,j,k given a global id.
Referenced by getLocationFromCellId(), getLocationFromNodeId(), getSplitCellValues(), and getSplitNodeValues().
|
static |
This method states if given part ids [ startIds, stopIds) and a structure st returns if it can be considered as a structured dataset. If true is returned partCompactFormat will contain the information to build the corresponding part.
References GetPosFromId().
Referenced by buildPartAndReduceNodes().
|
static |
This method takes in input a compact format [[Xmax,Xmin),[Ymin,Ymax)] and returns the corresponding dimensions for each axis that is to say [Xmax-Xmin,Ymax-Ymin].
if | an axis range is so that max<min |
Referenced by MEDCoupling::MEDCouplingIMesh::CondenseFineToCoarse(), MEDCoupling::MEDCouplingIMesh::CondenseFineToCoarseGhost(), ExtractFieldOfBoolFrom(), ExtractFieldOfDoubleFrom(), FindMinimalPartOf(), MEDCoupling::MEDCouplingCartesianAMRMeshSub::positionRelativeToGodFather(), MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFine(), MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFineGhost(), MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFineGhostZone(), and SwitchOnIdsFrom().
|
static |
This method takes in input a vector giving the number of entity per axis and returns for each axis a range starting from [0,0...]
if | there is an axis in dims that is < 0. |
Referenced by MEDCoupling::MEDCouplingAMRAttribute::buildCellFieldOnWithoutGhost(), MEDCoupling::MEDCouplingCartesianAMRMeshGen::extractGhostFrom(), MEDCoupling::MEDCouplingCartesianAMRMesh::positionRelativeToGodFather(), and MEDCoupling::MEDCouplingAMRAttribute::writeVTHB().
|
static |
This method returns the intersection zone of two ranges (in compact format) r1 and r2. This method will throw exception if on one axis the intersection is empty.
|
static |
This method states if r1 and r2 do overlap of not. If yes you can call IntersectRanges to know the intersection area.
|
static |
This method is close to BuildExplicitIdsFrom except that instead of returning a DataArrayInt instance containing explicit ids it enable elems in the vector of booleans (for performance reasons). As it is method for performance, this method is not available in python.
[in] | st | The entity structure. |
[in] | partCompactFormat | The compact subpart to be enabled. |
[in,out] | vectToSwitchOn | Vector which fetched items are enabled. |
References DeduceNumberOfGivenStructure(), and GetDimensionsFromCompactFrmt().
Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::buildCellFieldOnRecurseWithoutOverlapWithoutGhost(), and MEDCoupling::MEDCouplingCartesianAMRMeshGen::buildUnstructured().
|
static |
Obviously this method is NOT wrapped in python. This method is close to SwitchOnIdsFrom except that here, a sub field fieldOut is built starting from the input field fieldOfBool having the structure st. The extraction is defined by partCompactFormat.
[in] | st | The entity structure. |
[in] | fieldOfBool | field of booleans having the size equal to MEDCouplingStructuredMesh::DeduceNumberOfGivenStructure(st) . |
[in] | partCompactFormat | The compact subpart to be enabled. |
[out] | fieldOut | the result of the extraction. |
References DeduceNumberOfGivenStructure(), and GetDimensionsFromCompactFrmt().
Referenced by FindMinimalPartOf().
|
static |
This method is close to SwitchOnIdsFrom except that here, a sub field fieldOut is built starting from the input field fieldOfDbl having the structure st. The extraction is defined by partCompactFormat.
[in] | st | The entity structure. |
[in] | fieldOfDbl | field of doubles having a number of tuples equal to MEDCouplingStructuredMesh::DeduceNumberOfGivenStructure(st) . |
[in] | partCompactFormat | The compact subpart to be enabled. |
References MEDCoupling::DataArrayTemplate< T >::begin(), DeduceNumberOfGivenStructure(), GetDimensionsFromCompactFrmt(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::DataArrayTemplate< T >::isAllocated(), and MEDCoupling::DataArrayDouble::New().
Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::extractGhostFrom().
|
static |
This method assign a part of values in fieldOfDbl using entirely values of other.
[in] | st | - the structure of fieldOfDbl. |
[in,out] | fieldOfDbl | - the array that will be partially filled using other. |
[in] | partCompactFormat | - the specification of the part. |
[in] | other | - the array that will be used to fill fieldOfDbl. |
References MEDCoupling::MEDCouplingIMesh::CondenseFineToCoarse().
|
static |
This method changes the reference of a part of structured mesh partOfBigInAbs define in absolute reference to a new reference bigInAbs. So this method only performs a translation by doing partOfBigRelativeToBig = partOfBigInAbs - bigInAbs This method also checks (if check=true) that partOfBigInAbs is included in bigInAbs. This method is useful to extract a part from a field lying on a big mesh.
|
static |
|
static |
This method performs a translation (defined by translation) of part and returns the result of translated part.
|
static |
|
static |
This method builds the explicit entity array from the structure in st and the range in partCompactFormat. If the range contains invalid values regarding sructure an exception will be thrown.
References MEDCoupling::DataArrayTemplate< T >::alloc(), MEDCoupling::DataArrayTemplate< T >::getPointer(), MEDCoupling::DataArrayInt::New(), and MEDCoupling::MCAuto< T >::retn().
Referenced by buildPartAndReduceNodes(), and MEDCoupling::MEDCouplingCurveLinearMesh::buildStructuredSubPart().
|
static |
This method multiplies by factor values in tuples located by part in da.
[in] | st | - the structure of grid ( without considering ghost cells). |
[in] | part | - the part in the structure ( without considering ghost cells) contained in grid whose structure is defined by st. |
[in] | factor | - the factor, the tuples in da will be multiply by. |
[in,out] | da | - The DataArray in wich only tuples specified by part will be modified. |
References DeduceNumberOfGivenStructure(), MEDCoupling::DataArray::getNumberOfComponents(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::DataArrayTemplate< T >::getPointer(), and MEDCoupling::DataArrayTemplate< T >::isAllocated().
Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldComingFromPatch(), and MultiplyPartOfByGhost().
|
static |
This method multiplies by factor values in tuples located by part in da.
[in] | st | - the structure of grid ( without considering ghost cells). |
[in] | part | - the part in the structure ( without considering ghost cells) contained in grid whose structure is defined by st. |
[in] | ghostSize | - ghostSize must be >= 0. |
[in] | factor | - the factor, the tuples in da will be multiply by. |
[in,out] | da | - The DataArray in wich only tuples specified by part will be modified. |
References MultiplyPartOf(), and PutInGhostFormat().
Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldComingFromPatchGhost().
|
static |
This method multiplies by factor values in tuples located by part in da.
[in] | st | - the structure of grid ( without considering ghost cells). |
[in] | part | - the part in the structure ( without considering ghost cells) contained in grid whose structure is defined by st. |
[in] | ghostSize | - ghostSize must be >= 0. |
[out] | stWithGhost | - the structure considering ghost cells. |
[out] | partWithGhost | - the part considering the ghost cells. |
References ApplyGhostOnCompactFrmt().
Referenced by MultiplyPartOfByGhost().
|
static |
[in,out] | partBeforeFact | - the part of a image mesh in compact format that will be put in ghost reference. |
[in] | ghostSize | - the ghost size of zone for all axis. |
Referenced by MEDCoupling::MEDCouplingAMRAttribute::buildCellFieldOnWithoutGhost(), MEDCoupling::MEDCouplingCartesianAMRMeshGen::extractGhostFrom(), PutInGhostFormat(), and MEDCoupling::MEDCouplingAMRAttribute::writeVTHB().
|
static |
References MEDCoupling::DataArrayTemplate< T >::alloc(), MEDCoupling::DataArrayInt::New(), MEDCoupling::MCAuto< T >::retn(), MEDCoupling::DataArrayTemplate< T >::setIJ(), and ZipNodeStructure().
Referenced by build1SGTUnstructured().
|
static |
Referenced by build1SGTSubLevelMesh().
|
static |
This method returns the list of ids sorted ascendingly of entities that are in the corner in ghost zone. The ids are returned in a newly created DataArrayInt having a single component.
[in] | st | - The structure without ghost cells. |
[in] | ghostLev | - The size of the ghost zone (>=0) |
References MEDCoupling::DataArrayInt::New().
|
static |
This method retrieves the number of entities (it can be cells or nodes) given a range in compact standard format used in methods like BuildExplicitIdsFrom,IsPartStructured.
Referenced by MEDCoupling::MEDCouplingIMesh::CondenseFineToCoarse(), and MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFine().
|
static |
Referenced by MEDCoupling::MEDCouplingIMesh::CondenseFineToCoarse(), MEDCoupling::MEDCouplingIMesh::CondenseFineToCoarseGhost(), ExtractFieldOfBoolFrom(), ExtractFieldOfDoubleFrom(), MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldComingFromPatch(), MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldComingFromPatchGhost(), MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldOnPatch(), MEDCoupling::MEDCouplingCartesianAMRMeshGen::fillCellFieldOnPatchGhost(), FindMinimalPartOf(), MultiplyPartOf(), MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFine(), MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFineGhost(), MEDCoupling::MEDCouplingIMesh::SpreadCoarseToFineGhostZone(), and SwitchOnIdsFrom().
|
static |
|
static |
This method is NOT wrapped in python because it has no sense in python (for performance reasons). This method starts from a structured mesh with structure st on which a boolean field crit is set. This method find for such minimalist information of mesh and field which is the part of the mesh, given by the range per axis in output parameter partCompactFormat that contains all the True in crit. The returned vector of boolean is the field reduced to that part. So the number of True is equal in st and in returned vector of boolean.
[in] | minPatchLgth | - minimum length that the patch may have for all directions. |
[in] | st | - The structure per axis of the structured mesh considered. |
[in] | crit | - The field of boolean (for performance reasons) lying on the mesh defined by st. |
[out] | partCompactFormat | - The minimal part of st containing all the true of crit. |
[out] | reducedCrit | - The reduction of criterion on partCompactFormat. |
References DeduceNumberOfGivenStructure(), ExtractFieldOfBoolFrom(), and GetDimensionsFromCompactFrmt().
Referenced by MEDCoupling::MEDCouplingCartesianAMRMeshGen::createPatchesFromCriterion().
|
static |
This method is NOT wrapped in python. This method considers crit input parameter as a matrix having dimensions specified by st. This method returns for each axis the signature, that is to say the number of elems equal to true in crit along this axis.
|
staticprotected |
This method computes given the nodal structure defined by [ nodeStBg , nodeStEnd ) the zipped form. std::distance( nodeStBg, nodeStEnd ) is equal to the space dimension. The returned value is equal to the meshDimension (or the zipped spaceDimension).
[out] | zipNodeSt | - The zipped node strucutre |
Referenced by Build1GTNodalConnectivity().