+
+ /// Performs a symmetry by a point.
+ /// \param theSourceShape Shape be symmetrized
+ /// \param thePoint Point of symmetry
+ static std::shared_ptr<GeomAPI_Shape> makeSymmetry(
+ std::shared_ptr<GeomAPI_Shape> theSourceShape,
+ std::shared_ptr<GeomAPI_Pnt> thePoint) throw (GeomAlgoAPI_Exception);
+
+ /// Performs a symmetry by an axis.
+ /// \param theSourceShape Shape be symmetrized
+ /// \param theAxis Axis of symmetry
+ static std::shared_ptr<GeomAPI_Shape> makeSymmetry(
+ std::shared_ptr<GeomAPI_Shape> theSourceShape,
+ std::shared_ptr<GeomAPI_Ax1> theAxis) throw (GeomAlgoAPI_Exception);
+
+ /// Performs a symmetry by a plane.
+ /// \param theSourceShape Shape be symmetrized
+ /// \param thePlane Plane of symmetry
+ static std::shared_ptr<GeomAPI_Shape> makeSymmetry(
+ std::shared_ptr<GeomAPI_Shape> theSourceShape,
+ std::shared_ptr<GeomAPI_Ax2> thePlane) throw (GeomAlgoAPI_Exception);
+
+ /// Performs a scale by a scale factor.
+ /// \param theSourceShape Shape be scaled
+ /// \param theCenterPoint Point of scale
+ /// \param theScaleFactor Factor of scale
+ static std::shared_ptr<GeomAPI_Shape> makeScale(
+ std::shared_ptr<GeomAPI_Shape> theSourceShape,
+ std::shared_ptr<GeomAPI_Pnt> theCenterPoint,
+ const double theScaleFactor) throw (GeomAlgoAPI_Exception);
+
+ /// Creates a cone segment using standard GDML parameters.
+ /// \param theRMin1 Inner radius at base of cone
+ /// \param theRMax1 Outer radius at base of cone
+ /// \param theRMin2 Inner radius at top of cone
+ /// \param theRMax2 Outer radius at top of cone
+ /// \param theZ Height of cone segment
+ /// \param theStartPhi Start angle of the segment
+ /// \param theDeltaPhi Angle of the segment
+ static std::shared_ptr<GeomAPI_Shape> makeConeSegment(
+ const double theRMin1,
+ const double theRMax1,
+ const double theRMin2,
+ const double theRMax2,
+ const double theZ,
+ const double theStartPhi,
+ const double theDeltaPhi) throw (GeomAlgoAPI_Exception);