1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAlgoAPI_MakeShapeList.h
4 // Created: 27 May 2015
5 // Author: Dmitry Bobylev
6 #ifndef GeomAlgoAPI_MakeShapeList_H_
7 #define GeomAlgoAPI_MakeShapeList_H_
9 #include <GeomAPI_Shape.h>
10 #include <GeomAlgoAPI.h>
11 #include <GeomAlgoAPI_MakeShape.h>
15 /** \class GeomAlgoAPI_MakeShapeList
17 * \brief Interface to the root class of all topological shapes constructions
19 class GeomAlgoAPI_MakeShapeList : public GeomAlgoAPI_MakeShape
27 /// Default constructor
28 GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShapeList();
30 /** \brief Constructor
31 * \param[in] theMakeShapeList list of algorithms.
33 GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShapeList(const ListOfMakeShape& theMakeShapeList);
35 /** \brief Initializes a class with new list of algorithms.
36 * \param[in] theMakeShapeList list of algorithms.
38 GEOMALGOAPI_EXPORT void init(const ListOfMakeShape& theMakeShapeList);
40 /// \return a shape built by the shape construction algorithms
41 GEOMALGOAPI_EXPORT const std::shared_ptr<GeomAPI_Shape> shape() const;
43 /// \return the list of shapes generated from the shape \a theShape
44 GEOMALGOAPI_EXPORT virtual void generated(const std::shared_ptr<GeomAPI_Shape> theShape,
45 ListOfShape& theHistory);
47 /// \return the list of shapes modified from the shape \a theShape
48 GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
49 ListOfShape& theHistory);
51 /// Returns whether the shape is deleted
52 GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape);
55 void result(const std::shared_ptr<GeomAPI_Shape> theShape,
56 ListOfShape& theHistory,
57 OperationType theOperationType);
61 ListOfMakeShape myListOfMakeShape;