Salome HOME
Fix valgrind error: Mismatched free() / delete / delete []
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_FinderShapeOn2.hxx
index 60291c365d713dd6dc12a7bf087a98760fa29d99..88dffc5e64ecc9b93ac04efe9807e5e9542eee98 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 #include <Standard.hxx>
 #include <Standard_Macro.hxx>
+
 #include <TopAbs_ShapeEnum.hxx>
-#include <GEOMAlgo_State.hxx>
+
 #include <Standard_Integer.hxx>
-//#include <Handle_GEOMAlgo_Clsf.hxx>
-#include <GEOMAlgo_Clsf.hxx>
-#include <TopTools_ListOfShape.hxx>
-#include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>
-#include <GEOMAlgo_ShapeAlgo.hxx>
-#include <GEOMAlgo_Clsf.hxx>
+
 #include <TopoDS_Face.hxx>
 #include <TopoDS_Edge.hxx>
+
+#include <TopTools_ListOfShape.hxx>
+
+#include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>
+#include <GEOMAlgo_State.hxx>
 #include <GEOMAlgo_ListOfPnt.hxx>
+#include <GEOMAlgo_Clsf.hxx>
+#include <GEOMAlgo_ShapeAlgo.hxx>
 
 //=======================================================================
 //function : GEOMAlgo_FinderShapeOn2
@@ -59,7 +62,7 @@ class GEOMAlgo_FinderShapeOn2  : public GEOMAlgo_ShapeAlgo
     void SetClsf(const Handle(GEOMAlgo_Clsf)& aClsf) ;
 
   Standard_EXPORT
-    const Handle_GEOMAlgo_Clsf& Clsf() const;
+    const Handle(GEOMAlgo_Clsf)& Clsf() const;
 
   Standard_EXPORT
     void SetShapeType(const TopAbs_ShapeEnum aST) ;
@@ -112,23 +115,26 @@ protected:
 
   Standard_EXPORT
     void InnerPoints(const TopoDS_Face& aF,
-                    GEOMAlgo_ListOfPnt& aLP) ;
+                     GEOMAlgo_ListOfPnt& aLP) ;
 
   Standard_EXPORT
     void InnerPoints(const TopoDS_Edge& aE,
-                    GEOMAlgo_ListOfPnt& aLP) ;
+                     GEOMAlgo_ListOfPnt& aLP) ;
 
   Standard_EXPORT
     void InnerPoints(const TopoDS_Edge& aE,
-                    const Standard_Integer aNbPnts,
-                    GEOMAlgo_ListOfPnt& aLP) ;
+                     const Standard_Integer aNbPnts,
+                     GEOMAlgo_ListOfPnt& aLP) ;
+
+  Standard_EXPORT
+    Standard_Boolean BuildTriangulation(const TopoDS_Shape& aS) ;
 
 
   TopAbs_ShapeEnum myShapeType;
   GEOMAlgo_State myState;
   Standard_Integer myNbPntsMin;
   Standard_Integer myNbPntsMax;
-  Handle_GEOMAlgo_Clsf myClsf;
+  Handle(GEOMAlgo_Clsf) myClsf;
   TopTools_ListOfShape myLS;
   GEOMAlgo_IndexedDataMapOfShapeState myMSS;
 };