From 60a6de9bacaafcc1e0031a0053c0b4b65afbdbcd Mon Sep 17 00:00:00 2001 From: Paddle Date: Wed, 12 Apr 2023 17:50:42 +0200 Subject: [PATCH] TaskImage : fix X Y distances that were not taken into account for SoDatumLabel transform. --- src/Gui/TaskView/TaskImage.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Gui/TaskView/TaskImage.cpp b/src/Gui/TaskView/TaskImage.cpp index 1a80089090..c6547186c0 100644 --- a/src/Gui/TaskView/TaskImage.cpp +++ b/src/Gui/TaskView/TaskImage.cpp @@ -679,15 +679,16 @@ void InteractiveScale::setPlacement(Base::Placement plc) SbVec3f InteractiveScale::getCoordsOnImagePlane(const SbVec3f& point) { // Plane form - Base::Vector3d R0(0, 0, 0), RX(1, 0, 0), RY(0, 1, 0); + Base::Vector3d RX(1, 0, 0), RY(0, 1, 0); // move to position of Sketch Base::Rotation tmp(placement.getRotation()); RX = tmp.multVec(RX); RY = tmp.multVec(RY); + Base::Vector3d pos = placement.getPosition(); Base::Vector3d S(point[0], point[1], point[2]); - S.TransformToCoordinateSystem(R0, RX, RY); + S.TransformToCoordinateSystem(pos, RX, RY); return SbVec3f(S.x, S.y, 0.); }