X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_MakeShape.h;h=ea89fe89ede7807a76f8a2347c5cb96d53015ed8;hb=f5c7bb3100ed321392da42f61c2ab505833ec61a;hp=89dae08a5458671271e8a58f8afb2bf445230a40;hpb=9eb5801ea57b763b26db2c7bf897a50b34e2cc31;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h index 89dae08a5..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,34 +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 : GeomAPI_Interface +class GeomAlgoAPI_MakeShape : public GeomAPI_Interface { - public: - /// Constructor - GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder); +public: + /// Algo type enum + enum AlgoType { + MakeShape, + BOPAlgoBuilder + }; + +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 deleted + GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr theShape); - /// Returns whether the shape is an edge - GEOMALGOAPI_EXPORT virtual bool isDeleted(const boost::shared_ptr theShape); +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