Salome HOME
Merge branch 'Dev_0.7.1' of newgeom:newgeom into Dev_0.7.1
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_MakeShape.h
index 9357ff432d384322c222df64b44a629e67050fc2..25812634c1324b30302cc280d47df2eb1ae937ec 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        GeomAlgoAPI_MakeShape.h
 // Created:     17 Oct 2014
 // Author:      Sergey ZARITCHNY
@@ -5,34 +7,39 @@
 #define GeomAlgoAPI_MakeShape_H_
 
 #include <GeomAPI_Shape.h>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <GeomAlgoAPI.h>
-#include <BRepBuilderAPI_MakeShape.hxx>
+//#include <BRepBuilderAPI_MakeShape.hxx>
 /**\class GeomAlgoAPI_MakeShape
  * \ingroup DataModel
- * \Interface to the root class of all topological shapes constructions
+ * \brief Interface to the root class of all topological shapes constructions
  */
-class GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape
+class GeomAlgoAPI_MakeShape : public GeomAPI_Interface
 {
  public:
    /// Constructor
-  GeomAlgoAPI_MakeShape(BRepBuilderAPI_MakeShape * theBuilder);
+  GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape();
+
+  GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder);
+
   /// Returns a shape built by the shape construction algorithm
-  const boost::shared_ptr<GeomAPI_Shape>  shape() const;
+  GEOMALGOAPI_EXPORT const std::shared_ptr<GeomAPI_Shape>  shape() const;
 
   /// Returns the  list   of shapes generated   from the shape <theShape>
-  virtual const ListOfShape& generated(const boost::shared_ptr<GeomAPI_Shape> theShape);
+  GEOMALGOAPI_EXPORT virtual void generated(
+    const std::shared_ptr<GeomAPI_Shape> theShape, ListOfShape& theHistory);
 
   /// Returns the  list   of shapes modified   from the shape <theShape>
-  virtual const ListOfShape& modified(const boost::shared_ptr<GeomAPI_Shape> theShape);
+  GEOMALGOAPI_EXPORT virtual void modified(
+    const std::shared_ptr<GeomAPI_Shape> theShape, ListOfShape& theHistory);
 
   /// Returns whether the shape is an edge
-  virtual bool isDeleted(const boost::shared_ptr<GeomAPI_Shape> theShape);
+  GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape);
+
+  GEOMALGOAPI_EXPORT void init(void* theMkShape);
 
   protected:
-       boost::shared_ptr<GeomAPI_Shape> myShape;
-       ListOfShape myHistory;
-       BRepBuilderAPI_MakeShape * myBuilder;
+       std::shared_ptr<GeomAPI_Shape> myShape;
 };
 
-#endif
\ No newline at end of file
+#endif