Salome HOME
Fix for the "0021179: EDF 1654 SMESH GEOM: better look'n'feel" issue:
[modules/geom.git] / src / GEOMAlgo_NEW / GEOMAlgo_FinderShapeOn2.hxx
index d0587576337abdf331d479f2656b5d7405db4009..a70d04e2ce9af3f600e629eb87b416691cbcd536 100644 (file)
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
-//\r
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
-//\r
-// This library is free software; you can redistribute it and/or\r
-// modify it under the terms of the GNU Lesser General Public\r
-// License as published by the Free Software Foundation; either\r
-// version 2.1 of the License.\r
-//\r
-// This library is distributed in the hope that it will be useful,\r
-// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-// Lesser General Public License for more details.\r
-//\r
-// You should have received a copy of the GNU Lesser General Public\r
-// License along with this library; if not, write to the Free Software\r
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-//\r
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
-//\r
-// File:        GEOMAlgo_FinderShapeOn2.hxx\r
-// Created:     Fri Mar  4 10:31:06 2005\r
-// Author:      Peter KURNEV\r
-//              <pkv@irinox>\r
-//\r
-#ifndef _GEOMAlgo_FinderShapeOn2_HeaderFile\r
-#define _GEOMAlgo_FinderShapeOn2_HeaderFile\r
-\r
-#include <Standard.hxx>\r
-#include <Standard_Macro.hxx>\r
-#include <TopAbs_ShapeEnum.hxx>\r
-#include <GEOMAlgo_State.hxx>\r
-#include <Standard_Integer.hxx>\r
-//#include <Handle_GEOMAlgo_Clsf.hxx>\r
-#include <GEOMAlgo_Clsf.hxx>\r
-#include <TopTools_ListOfShape.hxx>\r
-#include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>\r
-#include <GEOMAlgo_ShapeAlgo.hxx>\r
-#include <GEOMAlgo_Clsf.hxx>\r
-#include <TopoDS_Face.hxx>\r
-#include <TopoDS_Edge.hxx>\r
-#include <GEOMAlgo_ListOfPnt.hxx>\r
-\r
-//=======================================================================\r
-//function : GEOMAlgo_FinderShapeOn2\r
-//purpose  : \r
-//=======================================================================\r
-class GEOMAlgo_FinderShapeOn2  : public GEOMAlgo_ShapeAlgo \r
-{\r
- public:\r
-  Standard_EXPORT\r
-    GEOMAlgo_FinderShapeOn2();\r
-  \r
-  Standard_EXPORT\r
-    virtual ~GEOMAlgo_FinderShapeOn2();\r
-  \r
-  Standard_EXPORT\r
-    void SetClsf(const Handle(GEOMAlgo_Clsf)& aClsf) ;\r
-  \r
-  Standard_EXPORT\r
-    const Handle_GEOMAlgo_Clsf& Clsf() const;\r
-  \r
-  Standard_EXPORT\r
-    void SetShapeType(const TopAbs_ShapeEnum aST) ;\r
-  \r
-  Standard_EXPORT\r
-    TopAbs_ShapeEnum ShapeType() const;\r
-  \r
-  Standard_EXPORT\r
-    void SetState(const GEOMAlgo_State aSF) ;\r
-  \r
-  Standard_EXPORT\r
-    GEOMAlgo_State State() const;\r
-  \r
-  Standard_EXPORT\r
-    void SetNbPntsMin(const Standard_Integer aNb) ;\r
-  \r
-  Standard_EXPORT\r
-    Standard_Integer NbPntsMin() const;\r
-  \r
-  Standard_EXPORT\r
-    void SetNbPntsMax(const Standard_Integer aNb) ;\r
-  \r
-  Standard_EXPORT\r
-    Standard_Integer NbPntsMax() const;\r
-  \r
-  Standard_EXPORT\r
-    virtual  void Perform() ;\r
-  \r
-  Standard_EXPORT\r
-    const TopTools_ListOfShape& Shapes() const;\r
-  \r
-  Standard_EXPORT\r
-    const GEOMAlgo_IndexedDataMapOfShapeState& MSS() const;\r
-\r
-protected:\r
-  Standard_EXPORT\r
-    virtual  void CheckData() ;\r
-  \r
-  Standard_EXPORT\r
-    void ProcessVertices() ;\r
-  \r
-  Standard_EXPORT\r
-    void ProcessEdges() ;\r
-  \r
-  Standard_EXPORT\r
-    void ProcessFaces() ;\r
-  \r
-  Standard_EXPORT\r
-    void ProcessSolids() ;\r
-  \r
-  Standard_EXPORT\r
-    void InnerPoints(const TopoDS_Face& aF,\r
-                    GEOMAlgo_ListOfPnt& aLP) ;\r
-  \r
-  Standard_EXPORT\r
-    void InnerPoints(const TopoDS_Edge& aE,\r
-                    GEOMAlgo_ListOfPnt& aLP) ;\r
-  \r
-  Standard_EXPORT\r
-    void InnerPoints(const TopoDS_Edge& aE,\r
-                    const Standard_Integer aNbPnts,\r
-                    GEOMAlgo_ListOfPnt& aLP) ;\r
-\r
-\r
-  TopAbs_ShapeEnum myShapeType;\r
-  GEOMAlgo_State myState;\r
-  Standard_Integer myNbPntsMin;\r
-  Standard_Integer myNbPntsMax;\r
-  Handle_GEOMAlgo_Clsf myClsf;\r
-  TopTools_ListOfShape myLS;\r
-  GEOMAlgo_IndexedDataMapOfShapeState myMSS;\r
-};\r
-\r
-#endif\r
+// Copyright (C) 2007-2012  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
+//
+// 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.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+// File:        GEOMAlgo_FinderShapeOn2.hxx
+// Created:     Fri Mar  4 10:31:06 2005
+// Author:      Peter KURNEV
+//              <pkv@irinox>
+//
+#ifndef _GEOMAlgo_FinderShapeOn2_HeaderFile
+#define _GEOMAlgo_FinderShapeOn2_HeaderFile
+
+#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 <GEOMAlgo_ListOfPnt.hxx>
+
+//=======================================================================
+//function : GEOMAlgo_FinderShapeOn2
+//purpose  :
+//=======================================================================
+class GEOMAlgo_FinderShapeOn2  : public GEOMAlgo_ShapeAlgo
+{
+ public:
+  Standard_EXPORT
+    GEOMAlgo_FinderShapeOn2();
+
+  Standard_EXPORT
+    virtual ~GEOMAlgo_FinderShapeOn2();
+
+  Standard_EXPORT
+    void SetClsf(const Handle(GEOMAlgo_Clsf)& aClsf) ;
+
+  Standard_EXPORT
+    const Handle_GEOMAlgo_Clsf& Clsf() const;
+
+  Standard_EXPORT
+    void SetShapeType(const TopAbs_ShapeEnum aST) ;
+
+  Standard_EXPORT
+    TopAbs_ShapeEnum ShapeType() const;
+
+  Standard_EXPORT
+    void SetState(const GEOMAlgo_State aSF) ;
+
+  Standard_EXPORT
+    GEOMAlgo_State State() const;
+
+  Standard_EXPORT
+    void SetNbPntsMin(const Standard_Integer aNb) ;
+
+  Standard_EXPORT
+    Standard_Integer NbPntsMin() const;
+
+  Standard_EXPORT
+    void SetNbPntsMax(const Standard_Integer aNb) ;
+
+  Standard_EXPORT
+    Standard_Integer NbPntsMax() const;
+
+  Standard_EXPORT
+    virtual  void Perform() ;
+
+  Standard_EXPORT
+    const TopTools_ListOfShape& Shapes() const;
+
+  Standard_EXPORT
+    const GEOMAlgo_IndexedDataMapOfShapeState& MSS() const;
+
+protected:
+  Standard_EXPORT
+    virtual  void CheckData() ;
+
+  Standard_EXPORT
+    void ProcessVertices() ;
+
+  Standard_EXPORT
+    void ProcessEdges() ;
+
+  Standard_EXPORT
+    void ProcessFaces() ;
+
+  Standard_EXPORT
+    void ProcessSolids() ;
+
+  Standard_EXPORT
+    void InnerPoints(const TopoDS_Face& aF,
+                    GEOMAlgo_ListOfPnt& aLP) ;
+
+  Standard_EXPORT
+    void InnerPoints(const TopoDS_Edge& aE,
+                    GEOMAlgo_ListOfPnt& aLP) ;
+
+  Standard_EXPORT
+    void InnerPoints(const TopoDS_Edge& aE,
+                    const Standard_Integer aNbPnts,
+                    GEOMAlgo_ListOfPnt& aLP) ;
+
+
+  TopAbs_ShapeEnum myShapeType;
+  GEOMAlgo_State myState;
+  Standard_Integer myNbPntsMin;
+  Standard_Integer myNbPntsMax;
+  Handle_GEOMAlgo_Clsf myClsf;
+  TopTools_ListOfShape myLS;
+  GEOMAlgo_IndexedDataMapOfShapeState myMSS;
+};
+
+#endif