Hey there, I am using VTK-8.0 for MPR, which is initialing 3 windows of axial,coronal and sagittal plane, and each plane with 2 crosslines in it.
With moving slice is correct while my rotation is wrong! For example:
- I grabbed
line1
inplane3
and rotate the line. - As a result,
plane1
’s slice is changing and display is updating, and theline3
ofplane1
stands still, whileline2
is rotating.
refer to Slicer, the crossline(line2
/line3
) inplane1
will rotate because the rotation ofplane1
.
My crossline updation is like: each time update the current renderwindow with calculating the crossline of two plane(the plane is defined with one point and the parallel vector), and then the crossline is project to the current plane as a sech, then add polyline to the crossshape(the shapedata I defined myself).
The update order is like:
-GradMouseButtonHangOn/Release
-GetTheRotationMatrixWithMousePoint
-GetTheFlipAngle-NotifyWithResetTheRotatedPlaneOrientZ/Origin
-UpdateRender(ImageMapper/ImageActor/WindowLevel/Camera…Modified)
-UpdateDecorators-UpdateCrosslines(See the description above)
-RendererWindowUpdate(vtkTypeMacro(wRenderWindow, vtkWin32OpenGLRenderWindow);
)
It’s very ok for me if you need more details and looking for some advice! Thanks a lot!!!