-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
bool ChangeElementNodes(const SMDS_MeshElement * elem,
const SMDS_MeshNode * nodes[],
const int nbnodes);
+ bool ChangePolyhedronNodes(const SMDS_MeshElement * elem,
+ const std::vector<const SMDS_MeshNode*>& nodes,
+ const std::vector<int>& quantities);
//virtual void Renumber (const bool isNodes, const int startID = 1, const int deltaID = 1);
// Renumber all nodes or elements.
virtual void CompactMesh();
- bool IsCompacted();
+ virtual bool IsCompacted();
+ virtual bool HasNumerationHoles();
template<class ELEMTYPE>
static const ELEMTYPE* DownCast( const SMDS_MeshElement* e )
*/
static int CheckMemory(const bool doNotRaise=false) throw (std::bad_alloc);
- int MaxNodeID() const;
- int MinNodeID() const;
- int MaxElementID() const;
- int MinElementID() const;
+ virtual int MaxNodeID() const;
+ virtual int MinNodeID() const;
+ virtual int MaxElementID() const;
+ virtual int MinElementID() const;
const SMDS_MeshInfo& GetMeshInfo() const { return myInfo; }
void Modified();
vtkMTimeType GetMTime() const;
-protected:
+ protected:
SMDS_Mesh(SMDS_Mesh * parent);
void addChildrenWithNodes(std::set<const SMDS_MeshElement*>& setOfChildren,
else if (z < zmin) zmin = z;
}
+ void updateInverseElements( const SMDS_MeshElement * element,
+ const SMDS_MeshNode* const* nodes,
+ const int nbnodes,
+ std::set<const SMDS_MeshNode*>& oldNodes );
+
void setNbShapes( size_t nbShapes );