X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_Mesh.hxx;h=7c728d6f96569de4fe510d87103148c0a9c631ab;hb=193c49c87753b6ccabb2b5e6dc935aa480d2d43e;hp=e447d059b471077d6ede8edd7904664cf81ea5d5;hpb=b0a908c0d20341651771d0249fb10882f54b2aad;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_Mesh.hxx b/src/SMDS/SMDS_Mesh.hxx index e447d059b..7c728d6f9 100644 --- a/src/SMDS/SMDS_Mesh.hxx +++ b/src/SMDS/SMDS_Mesh.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -58,7 +58,7 @@ #define MYASSERT(val) if (!(val)) throw SALOME_Exception(LOCALIZED("assertion not verified")); -class SMDS_EXPORT SMDS_Mesh:public SMDS_MeshObject +class SMDS_EXPORT SMDS_Mesh : public SMDS_MeshObject { public: friend class SMDS_MeshIDFactory; @@ -576,14 +576,22 @@ public: virtual SMDS_MeshFace* AddPolygonalFace (const std::vector & nodes); + virtual SMDS_MeshFace* AddQuadPolygonalFaceWithID(const std::vector & nodes_ids, + const int ID); + + virtual SMDS_MeshFace* AddQuadPolygonalFaceWithID(const std::vector & nodes, + const int ID); + + virtual SMDS_MeshFace* AddQuadPolygonalFace(const std::vector & nodes); + virtual SMDS_MeshVolume* AddPolyhedralVolumeWithID - (const std::vector & nodes_ids, - const std::vector & quantities, - const int ID); + (const std::vector & nodes_ids, + const std::vector & quantities, + const int ID); virtual SMDS_MeshVolume* AddPolyhedralVolumeWithID - (const std::vector & nodes, - const std::vector & quantities, + (const std::vector & nodes, + const std::vector & quantities, const int ID); virtual SMDS_MeshVolume* AddPolyhedralVolume @@ -774,7 +782,7 @@ protected: bool registerElement(int ID, SMDS_MeshElement * element); void addChildrenWithNodes(std::set& setOfChildren, - const SMDS_MeshElement * element, + const SMDS_MeshElement * element, std::set& nodes); inline void adjustmyCellsCapacity(int ID) @@ -818,8 +826,8 @@ protected: //! SMDS_MeshCells refer to vtk cells (vtk id != index in myCells),store reference to this mesh, and sub-shape SetOfCells myCells; - //! for cells only: index = ID for SMDS users, value = ID in vtkUnstructuredGrid - //std::vector myCellIdSmdsToVtk; + //! a buffer to speed up elements addition by excluding some memory allocation + std::vector myNodeIds; //! for cells only: index = ID in vtkUnstructuredGrid, value = ID for SMDS users std::vector myCellIdVtkToSmds;