public:
MEDLOADER_EXPORT static MEDFileMeshStruct *New(const MEDFileMesh *mesh);
std::size_t getHeapMemorySizeWithoutChildren() const;
- std::vector<const BigMemoryObject *> getDirectChildren() const;
+ std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
const MEDFileMesh *getTheMesh() const { return _mesh; }
int getNumberOfNodes() const { return _nb_nodes; }
bool doesManageGeoType(INTERP_KERNEL::NormalizedCellType t) const;
{
public:
std::size_t getHeapMemorySizeWithoutChildren() const;
- std::vector<const BigMemoryObject *> getDirectChildren() const;
+ std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
public:
static MEDMeshMultiLev *New(const MEDFileMesh *m, const std::vector<INTERP_KERNEL::NormalizedCellType>& gts, const std::vector<const DataArrayInt *>& pfls, const std::vector<int>& nbEntities);
static MEDMeshMultiLev *New(const MEDFileMesh *m, const std::vector<int>& levs);
static MEDMeshMultiLev *NewOnlyOnNode(const MEDFileMesh *m, const DataArrayInt *pflOnNode);
void setNodeReduction(const DataArrayInt *nr);
+ void setCellReduction(const DataArrayInt *cr);
bool isFastlyTheSameStruct(const MEDFileField1TSStructItem& fst, const MEDFileFieldGlobsReal *globs) const;
MEDLOADER_EXPORT DataArray *buildDataArray(const MEDFileField1TSStructItem& fst, const MEDFileFieldGlobsReal *globs, const DataArray *vals) const;
MEDLOADER_EXPORT void retrieveFamilyIdsOnCells(DataArrayInt *& famIds, bool& isWithoutCopy) const;
MEDLOADER_EXPORT void retrieveFamilyIdsOnNodes(DataArrayInt *& famIds, bool& isWithoutCopy) const;
MEDLOADER_EXPORT void retrieveNumberIdsOnNodes(DataArrayInt *& numIds, bool& isWithoutCopy) const;
MEDLOADER_EXPORT std::vector< INTERP_KERNEL::NormalizedCellType > getGeoTypes() const;
- void setFamilyIdsOnCells(DataArrayInt *famIds, bool isNoCopy);
- void setNumberIdsOnCells(DataArrayInt *numIds, bool isNoCopy);
- void setFamilyIdsOnNodes(DataArrayInt *famIds, bool isNoCopy);
- void setNumberIdsOnNodes(DataArrayInt *numIds, bool isNoCopy);
+ void setFamilyIdsOnCells(DataArrayInt *famIds);
+ void setNumberIdsOnCells(DataArrayInt *numIds);
+ void setFamilyIdsOnNodes(DataArrayInt *famIds);
+ void setNumberIdsOnNodes(DataArrayInt *numIds);
virtual void selectPartOfNodes(const DataArrayInt *pflNodes) = 0;
virtual MEDMeshMultiLev *prepare() const = 0;
int getNumberOfCells(INTERP_KERNEL::NormalizedCellType t) const;
int _nb_nodes;
//
MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _cell_fam_ids;
- bool _cell_fam_ids_nocpy;
MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _cell_num_ids;
- bool _cell_num_ids_nocpy;
MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _node_fam_ids;
- bool _node_fam_ids_nocpy;
MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _node_num_ids;
- bool _node_num_ids_nocpy;
public:
- static const int PARAMEDMEM_2_VTKTYPE_LGTH=34;
- static const unsigned char PARAMEDMEM_2_VTKTYPE[PARAMEDMEM_2_VTKTYPE_LGTH];
- static const unsigned char HEXA27_PERM_ARRAY[27];
+ MEDLOADER_EXPORT static const int PARAMEDMEM_2_VTKTYPE_LGTH=34;
+ MEDLOADER_EXPORT static const unsigned char PARAMEDMEM_2_VTKTYPE[PARAMEDMEM_2_VTKTYPE_LGTH];
+ MEDLOADER_EXPORT static const unsigned char HEXA27_PERM_ARRAY[27];
};
class MEDStructuredMeshMultiLev;
void selectPartOfNodes(const DataArrayInt *pflNodes);
virtual std::vector<int> getNodeGridStructure() const = 0;
protected:
- MEDStructuredMeshMultiLev(const MEDFileStructuredMesh *m);
MEDStructuredMeshMultiLev(const MEDStructuredMeshMultiLev& other);
MEDStructuredMeshMultiLev(const MEDFileStructuredMesh *m, const std::vector<int>& lev);
MEDStructuredMeshMultiLev(const MEDFileStructuredMesh *m, int nbOfNodes, const std::vector<INTERP_KERNEL::NormalizedCellType>& gts, const std::vector<const DataArrayInt *>& pfls, const std::vector<int>& nbEntities);
void dealWithImplicitUnstructuredMesh(const MEDFileMesh *m);
protected:
+ void moveFaceToCell() const;
bool prepareForImplicitUnstructuredMeshCase(MEDMeshMultiLev *&ret) const;
+ private:
+ void initStdFieldOfIntegers(const MEDFileStructuredMesh *m);
protected:
bool _is_internal;
+ MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _face_fam_ids;
+ MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _face_num_ids;
};
class MEDCMeshMultiLev : public MEDStructuredMeshMultiLev
void checkWithMeshStructForGaussPT(const MEDFileMeshStruct *mst, const MEDFileFieldGlobsReal *globs);
//
MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const;
- MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildren() const;
+ MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
//
const DataArrayInt *getPfl(const MEDFileFieldGlobsReal *globs) const;
INTERP_KERNEL::NormalizedCellType getGeo() const { return _geo_type; }
void checkWithMeshStruct(const MEDFileMeshStruct *mst, const MEDFileFieldGlobsReal *globs);
bool operator==(const MEDFileField1TSStructItem& other) const;
MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const;
- MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildren() const;
+ MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
bool isEntityCell() const;
bool isComputed() const { return _computed; }
TypeOfField getType() const { return _type; }
static MEDFileField1TSStruct *New(const MEDFileAnyTypeField1TS *ref, MEDFileMeshStruct *mst);
void checkWithMeshStruct(MEDFileMeshStruct *mst, const MEDFileFieldGlobsReal *globs);
std::size_t getHeapMemorySizeWithoutChildren() const;
- std::vector<const BigMemoryObject *> getDirectChildren() const;
+ std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
bool isEqualConsideringThePast(const MEDFileAnyTypeField1TS *other, const MEDFileMeshStruct *mst) const;
bool isSupportSameAs(const MEDFileAnyTypeField1TS *other, const MEDFileMeshStruct *meshSt);
bool isCompatibleWithNodesDiscr(const MEDFileAnyTypeField1TS *other, const MEDFileMeshStruct *meshSt);
bool isEqual(const MEDFileAnyTypeFieldMultiTS *other);
bool isCompatibleWithNodesDiscr(const MEDFileAnyTypeFieldMultiTS *other);
std::size_t getHeapMemorySizeWithoutChildren() const;
- std::vector<const BigMemoryObject *> getDirectChildren() const;
+ std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
private:
MEDFileFastCellSupportComparator(const MEDFileMeshStruct *m, const MEDFileAnyTypeFieldMultiTS *ref);
private: