#include <memory>
class GeomAPI_Ax1;
+class GeomAPI_Ax2;
+class GeomAPI_Pnt;
/**\class GeomAPI_Trsf
* \ingroup DataModel
const double theDy,
const double theDz);
+ /** \brief Sets a translation transformation using two points.
+ * \param[in] theStartPoint Start point of the translation vector.
+ * \param[in] theEndPoint End point of the translation vector.
+ */
+ GEOMAPI_EXPORT void setTranslation(const std::shared_ptr<GeomAPI_Pnt> theStartPoint,
+ const std::shared_ptr<GeomAPI_Pnt> theEndPoint);
+
/** \brief Sets a rotation transformation.
* \param[in] theAxis rotation axis.
* \param[in] theAngle rotation angle(in degree).
*/
GEOMAPI_EXPORT void setRotation(const std::shared_ptr<GeomAPI_Ax1> theAxis,
const double theAngle);
+
+ /** \brief Sets a rotation transformation using three points.
+ * \param[in] theCenterPoint rotation center.
+ * \param[in] theStartPoint start rotation point.
+ * \param[in] theEndPoint end rotation point.
+ */
+ GEOMAPI_EXPORT void setRotation(const std::shared_ptr<GeomAPI_Pnt> theCenterPoint,
+ const std::shared_ptr<GeomAPI_Pnt> theStartPoint,
+ const std::shared_ptr<GeomAPI_Pnt> theEndPoint);
+
+ /** \brief Sets a point symmetry transformation.
+ * \param[in] thePoint symmetry point.
+ */
+ GEOMAPI_EXPORT void setSymmetry(const std::shared_ptr<GeomAPI_Pnt> thePoint);
+
+ /** \brief Sets an axis symmetry transformation.
+ * \param[in] theAxis symmetry axis.
+ */
+ GEOMAPI_EXPORT void setSymmetry(const std::shared_ptr<GeomAPI_Ax1> theAxis);
+
+ /** \brief Sets a plane symmetry transformation.
+ * \param[in] thePlane symmetry plane.
+ */
+ GEOMAPI_EXPORT void setSymmetry(const std::shared_ptr<GeomAPI_Ax2> thePlane);
};
#endif