diff --git a/src/src/Rendering/Viewer/DICOMImageViewer.cxx b/src/src/Rendering/Viewer/DICOMImageViewer.cxx index daf3751..91b0911 100644 --- a/src/src/Rendering/Viewer/DICOMImageViewer.cxx +++ b/src/src/Rendering/Viewer/DICOMImageViewer.cxx @@ -494,6 +494,15 @@ void DICOMImageViewer::GetSlicePoint(double *point) { point[2] = focusPoint[2]; } +void DICOMImageViewer::TransformPointM2W(double *point) +{ + double focusPoint[4] = {point[0], point[1], point[2], 1.0}; + ModelToWorldMatrix->MultiplyPoint(focusPoint, focusPoint); + point[0] = focusPoint[0]; + point[1] = focusPoint[1]; + point[2] = focusPoint[2]; +} + void DICOMImageViewer::applySliceOffset(double offset, double direction){ double projV = Renderer->GetActiveCamera()->GetDirectionOfProjection()[SliceIJK]; double defaultProjV = defaultProjection[SliceIJK][SliceIJK]; diff --git a/src/src/Rendering/Viewer/DICOMImageViewer.h b/src/src/Rendering/Viewer/DICOMImageViewer.h index 93e948d..d894911 100644 --- a/src/src/Rendering/Viewer/DICOMImageViewer.h +++ b/src/src/Rendering/Viewer/DICOMImageViewer.h @@ -373,6 +373,8 @@ public: void GetSlicePoint(double *point); + void TransformPointM2W(double *point); + void applySliceOffset(double offset, double direction); virtual void UpdateReconPlane();