1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAlgoAPI_MakeSweep.h
4 // Created: 23 November 2015
5 // Author: Dmitry Bobylev
6 #ifndef GeomAlgoAPI_MakeSweep_H_
7 #define GeomAlgoAPI_MakeSweep_H_
9 #include <GeomAlgoAPI.h>
11 #include <GeomAlgoAPI_MakeShapeList.h>
13 /**\class GeomAlgoAPI_MakeSweep
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.
26 class GeomAlgoAPI_MakeSweep : public GeomAlgoAPI_MakeShapeList
29 /// \returns the list of from shapes.
30 GEOMALGOAPI_EXPORT const ListOfShape& fromShapes() const;
32 /// \return the list of to shapes.
33 GEOMALGOAPI_EXPORT const ListOfShape& toShapes() const;
35 /// \brief Adds a shape to list of from shape.
36 /// \param[in] theShape a shape to add.
37 GEOMALGOAPI_EXPORT void addFromShape(const std::shared_ptr<GeomAPI_Shape> theShape);
39 /// \brief Sets from shapes
40 /// \param[in] theListOfShapes list of from shapes.
41 GEOMALGOAPI_EXPORT void setFromShapes(const ListOfShape& theListOfShapes);
43 /// \brief Adds a face to list of to shape.
44 /// \param[in] theShape a face to add.
45 GEOMALGOAPI_EXPORT void addToShape(const std::shared_ptr<GeomAPI_Shape> theShape);
47 /// \brief Sets to shapes
48 /// \param[in] theListOfShapes list of to shapes.
49 GEOMALGOAPI_EXPORT void setToShapes(const ListOfShape& theListOfShapes);
52 /// Empty constructor.
53 GeomAlgoAPI_MakeSweep() : GeomAlgoAPI_MakeShapeList() {};
56 ListOfShape myFromShapes;
57 ListOfShape myToShapes;