View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003165||Slicer4||Core: MRML||public||2013-06-13 10:18||2016-06-16 19:12|
|Product Version||Slicer 4.2.0|
|Target Version||Fixed in Version|
|Summary||0003165: change the SetPosition method to always call resetclippingrange after the position was changed|
|Tags||No tags attached.|
what class are you talking when you say "SetPosition method"?
The fundamental issue here is that a vtkCamera does not know what vtkRenderer is drawing it, and so it cannot know the bounding box of the props in the scene. Therefore, any classes which can adjust the camera, such as vtkMRMLCameraNode but which do not have access to a renderer cannot predict whether they will cause clipping issues when they move the camera, and cannot preemptively fix those clipping issues.
So, either vtkCamera must gain a reference to vtkRenderer (untenable) or everyone who moves a vtkCamera must also have a reference to the associated vtkRenderer and remember to call vtkRenderer::ResetClippingRange (untenable)
Or, we could just set the far clipping distance to be the max(10000, 2*vtkCamera->GetDistance) which is a hack but would make the problems go away as long as our patients are less that 10 meters tall
Nice investigative work.
Other possible alternative:
Assumption: A camera node can be associated with only one view.
|2013-06-13 10:18||kotwicz||New Issue|
|2013-06-13 10:18||kotwicz||Status||new => assigned|
|2013-06-13 10:18||kotwicz||Assigned To||=> alexy|
|2013-06-25 06:17||alexy||Note Added: 0008807|
|2013-06-25 06:22||kotwicz||Note Added: 0008808|
|2016-06-14 15:29||jcfr||Assigned To||alexy => hastings.greer|
|2016-06-16 17:27||hastings.greer||Note Added: 0013974|
|2016-06-16 17:34||hastings.greer||Note Added: 0013975|
|2016-06-16 17:46||hastings.greer||Note Edited: 0013974||View Revisions|
|2016-06-16 19:03||hastings.greer||Relationship added||related to 0004209|
|2016-06-16 19:12||jcfr||Note Added: 0013982|