-//--------------------------------------------------------------------------------------
-// TODO(spo): make add* as static functions of the class
-PointPtr addPoint(
- const std::shared_ptr<ModelAPI_Document> & thePart,
- const ModelHighAPI_Double& theX,
- const ModelHighAPI_Double& theY,
- const ModelHighAPI_Double& theZ)
+//==================================================================================================
+void ConstructionAPI_Point::setByDistanceOnEdge(const ModelHighAPI_Selection& theEdge,
+ const ModelHighAPI_Double& theDistanceValue,
+ const bool theDistancePercent,
+ const bool theReverse)
+{
+ fillAttribute(ConstructionPlugin_Point::CREATION_METHOD_BY_DISTANCE_ON_EDGE(), mycreationMethod);
+ fillAttribute(theEdge, myedge);
+ fillAttribute(theDistanceValue, mydistanceValue);
+ fillAttribute(theDistancePercent, mydistancePercent);
+ fillAttribute(theReverse, myreverse);
+
+ execute();
+}
+
+//==================================================================================================
+void ConstructionAPI_Point::setByProjection(const ModelHighAPI_Selection& theVertex,
+ const ModelHighAPI_Selection& thePlane)
+{
+ fillAttribute(ConstructionPlugin_Point::CREATION_METHOD_BY_PROJECTION(), mycreationMethod);
+ fillAttribute(theVertex, mypoint);
+ fillAttribute(thePlane, myplane);
+
+ execute();
+}
+
+//==================================================================================================
+PointPtr addPoint(const std::shared_ptr<ModelAPI_Document>& thePart,
+ const ModelHighAPI_Double& theX,
+ const ModelHighAPI_Double& theY,
+ const ModelHighAPI_Double& theZ)