X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_MakeShape.h;h=ea89fe89ede7807a76f8a2347c5cb96d53015ed8;hb=f5c7bb3100ed321392da42f61c2ab505833ec61a;hp=4fa0ef0a13522ec6d794db8e62369a56c31ca740;hpb=5b841e9801c659d762d708378df8c4d85565fda0;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h index 4fa0ef0a1..ea89fe89e 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h @@ -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,39 +7,52 @@ #define GeomAlgoAPI_MakeShape_H_ #include -#include #include -//#include + +#include +#include + /**\class GeomAlgoAPI_MakeShape - * \ingroup DataModel - * \Interface to the root class of all topological shapes constructions + * \ingroup DataAlgo + * \brief Interface to the root class of all topological shapes constructions */ class GeomAlgoAPI_MakeShape : public GeomAPI_Interface { - public: - /// Constructor - GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(); +public: + /// Algo type enum + enum AlgoType { + MakeShape, + BOPAlgoBuilder + }; - GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder); +public: + /// Constructor by the already stored builder in the interface + GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder, const AlgoType theAlgoType = MakeShape); /// Returns a shape built by the shape construction algorithm - GEOMALGOAPI_EXPORT const boost::shared_ptr shape() const; + GEOMALGOAPI_EXPORT virtual const std::shared_ptr shape() const; - /// Returns the list of shapes generated from the shape + /// Returns the list of shapes generated from the shape \a theShape GEOMALGOAPI_EXPORT virtual void generated( - const boost::shared_ptr theShape, ListOfShape& theHistory); + const std::shared_ptr theShape, ListOfShape& theHistory); - /// Returns the list of shapes modified from the shape + /// Returns the list of shapes modified from the shape \a theShape GEOMALGOAPI_EXPORT virtual void modified( - const boost::shared_ptr theShape, ListOfShape& theHistory); + const std::shared_ptr theShape, ListOfShape& theHistory); - /// Returns whether the shape is an edge - GEOMALGOAPI_EXPORT virtual bool isDeleted(const boost::shared_ptr theShape); + /// Returns whether the shape is deleted + GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr theShape); - GEOMALGOAPI_EXPORT void init(void* theMkShape); +protected: + GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(){}; - protected: - boost::shared_ptr myShape; +protected: + GeomAlgoAPI_MakeShape::AlgoType myAlgoType; ///< Type of make shape algo. + std::shared_ptr myShape; ///< Resulting shape. + std::shared_ptr myWire; ///< Wire for pipe algo. + std::shared_ptr myBaseShape; ///< Base shape of algo. }; +typedef std::list > ListOfMakeShape; + #endif