0029715: Mesh - Estimate the grid size of the acceleration structure by the complexit...
[occt.git] / src / BRepMesh / BRepMesh_Delaun.hxx
index e8fcba5..8741d8b 100755 (executable)
@@ -52,6 +52,12 @@ public:
   Standard_EXPORT BRepMesh_Delaun (const Handle(BRepMesh_DataStructureOfDelaun)& theOldMesh,
                                    BRepMesh::Array1OfInteger&                    theVertexIndices);
 
+  //! Creates the triangulation with an existant Mesh data structure.
+  Standard_EXPORT BRepMesh_Delaun (const Handle (BRepMesh_DataStructureOfDelaun)& theOldMesh,
+                                   BRepMesh::Array1OfInteger&                     theVertexIndices,
+                                   const Standard_Integer                         theCellsCountU,
+                                   const Standard_Integer                         theCellsCountV);
+
   //! Initializes the triangulation with an array of vertices.
   Standard_EXPORT void Init (BRepMesh::Array1OfVertexOfDelaun& theVertices);
 
@@ -144,12 +150,15 @@ private:
   //! that have number of connected elements less or equal 1.
   BRepMesh::HMapOfInteger getEdgesByType (const BRepMesh_DegreeOfFreedom theEdgeType) const;
 
-  //! Create super mesh and run triangulation procedure.
-  void perform (Bnd_Box2d&                 theBndBox,
-                BRepMesh::Array1OfInteger& theVertexIndices);
+  //! Run triangulation procedure.
+  void perform (BRepMesh::Array1OfInteger& theVertexIndices,
+                const Standard_Integer     theCellsCountU = -1,
+                const Standard_Integer     theCellsCountV = -1);
 
   //! Build the super mesh.
-  void superMesh (const Bnd_Box2d& theBox);
+  void superMesh (const Bnd_Box2d&       theBox,
+                  const Standard_Integer theCellsCountU,
+                  const Standard_Integer theCellsCountV);
 
   //! Computes the triangulation and adds the vertices,
   //! edges and triangles to the Mesh data structure.