Salome HOME
Issue #1112 tab key doesn't work on the last field of left panels
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_MakeSweep.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAlgoAPI_MakeSweep.h
4 // Created:     23 November 2015
5 // Author:      Dmitry Bobylev
6 #ifndef GeomAlgoAPI_MakeSweep_H_
7 #define GeomAlgoAPI_MakeSweep_H_
8
9 #include <GeomAlgoAPI.h>
10
11 #include <GeomAlgoAPI_MakeShapeList.h>
12
13 /**\class GeomAlgoAPI_MakeSweep
14  * \ingroup DataAlgo
15  * \brief The abstract class MakeSweep is the root class of swept primitives.
16  * Sweeps are objects you obtain by sweeping a profile along a path.
17  * The profile can be any topology and the path is usually a curve or
18  * a wire. The profile generates objects according to the following rules:
19  * - Vertices generate Edges.
20  * - Edges generate Faces.
21  * - Wires generate Shells.
22  * - Faces generate Solids.
23  * - Shells generate Composite Solids.
24  * You are not allowed to sweep Solids and Composite Solids.
25  */
26 class GeomAlgoAPI_MakeSweep : public GeomAlgoAPI_MakeShapeList
27 {
28 public:
29   /// \returns the list of from faces.
30   GEOMALGOAPI_EXPORT virtual const ListOfShape& fromFaces() const;
31
32   /// \return the list of to faces.
33   GEOMALGOAPI_EXPORT virtual const ListOfShape& toFaces() const;
34
35 protected:
36   /// Empty constructor.
37   GeomAlgoAPI_MakeSweep() : GeomAlgoAPI_MakeShapeList() {};
38
39   /// \brief Adds a face to list of from faces.
40   /// \param[in] theFace a face to add.
41   void addFromFace(const std::shared_ptr<GeomAPI_Shape> theFace);
42
43   /// \brief Sets from faces
44   /// \param[in] theListOfFaces list of from faces.
45   void setFromFaces(const ListOfShape& theListOfFaces);
46
47   /// \brief Adds a face to list of to faces.
48   /// \param[in] theFace a face to add.
49   void addToFace(const std::shared_ptr<GeomAPI_Shape> theFace);
50
51   /// \brief Sets to faces
52   /// \param[in] theListOfFaces list of to faces.
53   void setToFaces(const ListOfShape& theListOfFaces);
54
55 private:
56   ListOfShape myFromFaces;
57   ListOfShape myToFaces;
58 };
59
60 #endif