Salome HOME
Correct selection attributes dependencies checkings
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Boolean.h
1 // File:        GeomAlgoAPI_Boolean.h
2 // Created:     02 Sept 2014
3 // Author:      Vitaly Smetannikov
4
5 #ifndef GeomAlgoAPI_Boolean_H_
6 #define GeomAlgoAPI_Boolean_H_
7
8 #include <GeomAlgoAPI.h>
9 #include <GeomAPI_Shape.h>
10 #include <boost/shared_ptr.hpp>
11
12 /**\class GeomAlgoAPI_Boolean
13  * \ingroup DataAlgo
14  * \brief Allows to perform of boolean operations
15  */
16 class GEOMALGOAPI_EXPORT GeomAlgoAPI_Boolean
17 {
18  public:
19   /* \brief Creates cut boolean operation
20    * \param[in] theShape the main shape
21    * \param[in] theTool  toole shape for boolean
22    * \return a solid as result of operation
23    */
24   static boost::shared_ptr<GeomAPI_Shape> makeCut(boost::shared_ptr<GeomAPI_Shape> theShape,
25                                                         boost::shared_ptr<GeomAPI_Shape> theTool);
26
27   /* \brief Creates fuse boolean operation
28    * \param[in] theShape the main shape
29    * \param[in] theTool  second shape
30    * \return a solid as result of operation
31    */
32   static boost::shared_ptr<GeomAPI_Shape> makeFuse(boost::shared_ptr<GeomAPI_Shape> theShape,
33                                                    boost::shared_ptr<GeomAPI_Shape> theTool);
34
35   /* \brief Creates common boolean operation
36    * \param[in] theShape the main shape
37    * \param[in] theTool  second shape
38    * \return a solid as result of operation
39    */
40   static boost::shared_ptr<GeomAPI_Shape> makeCommon(boost::shared_ptr<GeomAPI_Shape> theShape,
41                                                      boost::shared_ptr<GeomAPI_Shape> theTool);
42 };
43
44 #endif