diff --git a/src/src/Rendering/Measure/LineAnnotationActor.cpp b/src/src/Rendering/Measure/LineAnnotationActor.cpp index b90bce1..559a5b1 100644 --- a/src/src/Rendering/Measure/LineAnnotationActor.cpp +++ b/src/src/Rendering/Measure/LineAnnotationActor.cpp @@ -91,9 +91,8 @@ void LineAnnotationActor::onMeasureMouseMove(vtkRenderWindowInteractor *iren) { int y = iren->GetEventPosition()[1]; vtkRenderer *renderer = iren->FindPokedRenderer(x, y); if (!renderer) return; - renderer->SetDisplayPoint(x, y, 0.0); - renderer->DisplayToWorld(); - double *p = renderer->GetWorldPoint(); + double p[3]={0}; + MapScreenPointToWorld(x,y,renderer,p); controlP2->SetWorldPosition(p); this->SetWorldPosition2(p); iren->Render(); @@ -104,9 +103,8 @@ bool LineAnnotationActor::onMeasureLeftButtonDown(vtkRenderWindowInteractor *ire int y = iren->GetEventPosition()[1]; vtkRenderer *renderer = iren->FindPokedRenderer(x, y); if (!renderer) return false; - renderer->SetDisplayPoint(x, y, 0.0); - renderer->DisplayToWorld(); - double *p = renderer->GetWorldPoint(); + double p[3]={0}; + MapScreenPointToWorld(x,y,renderer,p); controlP1->SetWorldPosition(p); controlP1->Highlight(0); controlP2->SetWorldPosition(p);