- size_t myNumberOfObjects; ///< number of previous initial objects
- size_t myNumberOfCopies; ///< number of previous copies of initial objects
- Slvs_hEntity myRotationCenter; ///< ID of center of rotation
- double myAngle; ///< angle of rotation
+ /// \brief Convert absolute coordinates to relative coordinates
+ virtual void getRelative(double theAbsX, double theAbsY, double& theRelX, double& theRelY);
+ /// \brief Convert relative coordinates to absolute coordinates
+ virtual void getAbsolute(double theRelX, double theRelY, double& theAbsX, double& theAbsY);
+ /// \brief Apply transformation for relative coordinates
+ virtual void transformRelative(double& theX, double& theY);
+
+ /// \brief Returns name of NUMBER_OF_COPIES parameter for corresponding feature
+ virtual const std::string& nameNbObjects();
+
+private:
+ AttributePoint2DPtr myCenterPointAttribute; ///< a center of rotation
+ double myAngle; ///< angle of rotation
+ bool myIsFullValue; ///< value whether the angle is a full or single for objects
+
+ double myCenterCoord[2]; ///< coordinates of rotation center
+ double myRotationVal[2]; ///< sinus and cosine of rotation angle