return MY_CIRCLE_ID;
}
+ inline static const std::string& CIRCLE_TYPE()
+ {
+ static const std::string TYPE("CircleType");
+ return TYPE;
+ }
+
+ /// Creation method by center and radius.
+ inline static const std::string& CIRCLE_TYPE_CENTER_AND_RADIUS()
+ {
+ static const std::string TYPE("CenterRadius");
+ return TYPE;
+ }
+
+ /// Creation method by three points.
+ inline static const std::string& CIRCLE_TYPE_THREE_POINTS()
+ {
+ static const std::string TYPE("ThreePoints");
+ return TYPE;
+ }
+
/// 2D point - center of the circle
inline static const std::string& CENTER_ID()
{
return MY_CIRCLE_RADIUS_ID;
}
+ /// First point id.
+ inline static const std::string& FIRST_POINT_ID()
+ {
+ static const std::string FIRST_PNT("FirstPoint");
+ return FIRST_PNT;
+ }
+
+ /// Second point id.
+ inline static const std::string& SECOND_POINT_ID()
+ {
+ static const std::string SECOND_PNT("SecondPoint");
+ return SECOND_PNT;
+ }
+
+ /// Third point id.
+ inline static const std::string& THIRD_POINT_ID()
+ {
+ static const std::string THIRD_PNT("ThirdPoint");
+ return THIRD_PNT;
+ }
+
/// Returns the kind of a feature
SKETCHPLUGIN_EXPORT virtual const std::string& getKind()
{
private:
/// Returns true if all obligatory attributes are initialized
bool isFeatureValid();
+
+ /// Update coordinates of representation by three points
+ void adjustThreePoints();
};
#endif