- /** \brief Creates revolution for the given shape
- * \param[in] theBasis face for revolution
- * \param[in] theFromShape from bounding shape
- * \param[in] theFromAngle from angle
- * \param[in] theToShape to bounding shape
- * \param[in] theToAngle to angle
- * \return a solid which is obtained from specified one
- */
- GEOMALGOAPI_EXPORT GeomAlgoAPI_Revolution(std::shared_ptr<GeomAPI_Shape> theBasis,
- std::shared_ptr<GeomAPI_Ax1> theAxis,
- std::shared_ptr<GeomAPI_Shape> theFromShape,
- double theFromAngle,
- std::shared_ptr<GeomAPI_Shape> theToShape,
- double theToAngle);
-
- /// \return true if algorithm succeed.
- GEOMALGOAPI_EXPORT const bool isDone() const;
-
- /// \return true if resulting shape is valid.
- GEOMALGOAPI_EXPORT const bool isValid() const;
-
- /// \return true if resulting shape has volume.
- GEOMALGOAPI_EXPORT const bool hasVolume() const;
-
- /// \return result of the Revolution algorithm.
- GEOMALGOAPI_EXPORT const std::shared_ptr<GeomAPI_Shape>& shape() const;
-
- /// \return the first shape.
- GEOMALGOAPI_EXPORT const std::shared_ptr<GeomAPI_Shape>& firstShape();
-
- /// \return the last shape.
- GEOMALGOAPI_EXPORT const std::shared_ptr<GeomAPI_Shape>& lastShape();
-
- /// \return map of sub-shapes of the result. To be used for History keeping.
- GEOMALGOAPI_EXPORT void mapOfShapes(GeomAPI_DataMapOfShapeShape& theMap) const;
-
- /// \return interface for History processing.
- GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape* makeShape() const;
-
- /// Destructor.
- GEOMALGOAPI_EXPORT ~GeomAlgoAPI_Revolution();
+ /// \brief Creates revolution for the given shape.
+ /// \param[in] theBaseShape face for revolution.
+ /// \param[in] theAxis axis for revolution.
+ /// \param[in] theToShape to bounding shape. Can be empty.
+ /// In this case offset will be applied to the basis.
+ /// \param[in] theToAngle to angle.
+ /// \param[in] theFromShape from bounding shape. Can be empty.
+ /// In this case offset will be applied to the basis.
+ /// \param[in] theFromAngle from angle.
+ GEOMALGOAPI_EXPORT GeomAlgoAPI_Revolution(const GeomShapePtr theBaseShape,
+ const std::shared_ptr<GeomAPI_Ax1> theAxis,
+ const GeomShapePtr theToShape,
+ const double theToAngle,
+ const GeomShapePtr theFromShape,
+ const double theFromAngle);