-
- std::shared_ptr<GeomAPI_Pnt> aPnt1 = aLine1->firstPoint();
- std::shared_ptr<GeomAPI_Pnt> aPnt2 = aLine1->lastPoint();
- gp_Pnt aP1((aPnt1->x() + aPnt2->x())/2.,
- (aPnt1->y() + aPnt2->y())/2.,
- (aPnt1->z() + aPnt2->z())/2.);
-
- gp_Vec aVec1(aPnt1->impl<gp_Pnt>(), aPnt2->impl<gp_Pnt>());
- gp_Vec aShift = aVec1.Crossed(myPlane->norm()->impl<gp_Dir>());
- aShift.Normalize();
- aShift.Multiply(20);
- aP1.Translate(aShift);
-
- aPnt1 = aLine2->firstPoint();
- aPnt2 = aLine2->lastPoint();
- gp_Pnt aP2((aPnt1->x() + aPnt2->x())/2.,
- (aPnt1->y() + aPnt2->y())/2.,
- (aPnt1->z() + aPnt2->z())/2.);
-
- gp_Vec aVec2(aPnt1->impl<gp_Pnt>(), aPnt2->impl<gp_Pnt>());
- aShift = aVec1.Crossed(myPlane->norm()->impl<gp_Dir>());
- aShift.Normalize();
- aShift.Multiply(20);
- aP2.Translate(aShift);
+
+ SketcherPrs_PositionMgr* aMgr = SketcherPrs_PositionMgr::get();
+ gp_Pnt aP1 = aMgr->getPosition(aObj1, this);
+ gp_Pnt aP2 = aMgr->getPosition(aObj2, this);