- boost::shared_ptr<GeomAPI_Pnt> aFlyoutPnt =
- aFlyOutAttr->isInitialized() ?
- sketch()->to3D(aFlyOutAttr->x(), aFlyOutAttr->y()) : boost::shared_ptr<GeomAPI_Pnt>();
-
+ boost::shared_ptr<GeomAPI_Pnt> aFlyoutPnt = boost::shared_ptr<GeomAPI_Pnt>();
+ if (aFlyOutAttr->isInitialized()) {
+ aFlyoutPnt = sketch()->to3D(aFlyOutAttr->x(), aFlyOutAttr->y());
+ } else {
+ boost::shared_ptr<GeomAPI_Lin2d> aLine =
+ boost::shared_ptr<GeomAPI_Lin2d>(new GeomAPI_Lin2d(aStartPoint->pnt(), anEndPoint->pnt()));
+ double aDist = aPoint1->distance(aPoint2)/5.;
+ boost::shared_ptr<GeomAPI_Pnt2d> aFPnt = aLine->shiftedLocation(aDist);
+ aFlyOutAttr->setValue(aFPnt);
+ aFlyoutPnt = sketch()->to3D(aFPnt->x(), aFPnt->y());
+ }