X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_Mesh.hxx;h=7e54f5efe14bf57d60576005a045fe91e57af0ed;hb=f79e964b7592c63818f892516f3b4936d7704397;hp=b42f22dbb43988fe74bf95cf1e1bf5ddac7d8762;hpb=385d4cede5f752d0eec26c306f3b5e14511e2a3d;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_Mesh.hxx b/src/SMDS/SMDS_Mesh.hxx index b42f22dbb..7e54f5efe 100644 --- a/src/SMDS/SMDS_Mesh.hxx +++ b/src/SMDS/SMDS_Mesh.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -613,12 +613,16 @@ public: bool ChangeElementNodes(const SMDS_MeshElement * elem, const SMDS_MeshNode * nodes[], const int nbnodes); + bool ChangePolyhedronNodes(const SMDS_MeshElement * elem, + const std::vector& nodes, + const std::vector& 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 static const ELEMTYPE* DownCast( const SMDS_MeshElement* e ) @@ -675,12 +679,12 @@ public: * \param doNotRaise - if true, suppress exception, just return free memory size * \retval int - amount of available memory in MB or negative number in failure case */ - static int CheckMemory(const bool doNotRaise=false) throw (std::bad_alloc); + static int CheckMemory(const bool doNotRaise=false); - 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; } @@ -707,7 +711,7 @@ public: void Modified(); vtkMTimeType GetMTime() const; -protected: + protected: SMDS_Mesh(SMDS_Mesh * parent); void addChildrenWithNodes(std::set& setOfChildren, @@ -724,6 +728,11 @@ protected: else if (z < zmin) zmin = z; } + void updateInverseElements( const SMDS_MeshElement * element, + const SMDS_MeshNode* const* nodes, + const int nbnodes, + std::set& oldNodes ); + void setNbShapes( size_t nbShapes );