+ /// to avoid cyclic dependencies in automatic updates: they mean that
+ /// update is performed right now and automatic updates are not needed
+ bool myStartUpdate, myEndUpdate;
+ /// to avoid (if possible) additional modification of changed coordinate (issue #855)
+ double myXEndBefore, myYEndBefore;
+
+ /// to define in which direction draw arc
+ double myParamBefore;
+
+ public:
+ /// Arc feature kind
+ inline static const std::string& ID()
+ {
+ static const std::string MY_SKETCH_ARC_ID("SketchArc");
+ return MY_SKETCH_ARC_ID;
+ }
+
+ inline static const std::string& ARC_TYPE()
+ {
+ static const std::string TYPE("ArcType");
+ return TYPE;
+ }
+
+ inline static const std::string& ARC_TYPE_TANGENT()
+ {
+ static const std::string TYPE("Tangent");
+ return TYPE;
+ }
+
+ static const std::string& ARC_TYPE_CENTER_START_END()
+ {
+ static const std::string TYPE("CenterStartEnd");
+ return TYPE;
+ }
+ static const std::string& ARC_TYPE_THREE_POINTS()
+ {
+ static const std::string TYPE("ThreePoints");
+ return TYPE;
+ }
+
+ static const std::string& TANGENT_POINT_ID()
+ {
+ static const std::string TANGENT_PNT("ArcTangentPoint");
+ return TANGENT_PNT;
+ }
+
+ /// Central 2D point of the circle which contains the arc
+ inline static const std::string& CENTER_ID()
+ {
+ static const std::string MY_CENTER_ID = "ArcCenter";
+ return MY_CENTER_ID;
+ }
+ /// Start 2D point of the arc
+ inline static const std::string& START_ID()
+ {
+ static const std::string MY_START_ID = "ArcStartPoint";
+ return MY_START_ID;
+ }
+ /// End 2D point of the arc
+ inline static const std::string& END_ID()
+ {
+ static const std::string MY_END_ID = "ArcEndPoint";
+ return MY_END_ID;
+ }
+
+ /// Inversed flag
+ inline static const std::string& INVERSED_ID()
+ {
+ static const std::string MY_INVERSED_ID("InversedArc");
+ return MY_INVERSED_ID;
+ }
+
+ /// Passed point of the arc.
+ static const std::string& PASSED_POINT_ID()
+ {
+ static const std::string PASSED_PNT("ArcPassedPoint");
+ return PASSED_PNT;
+ }
+
+ /// Arc radius.
+ static const std::string& RADIUS_ID()
+ {
+ static const std::string RADIUS("ArcRadius");
+ return RADIUS;
+ }
+
+ /// Arc angle.
+ static const std::string& ANGLE_ID()
+ {
+ static const std::string ANGLE("ArcAngle");
+ return ANGLE;
+ }
+