ENH: Always discard display position for 3D Event#134
ENH: Always discard display position for 3D Event#134jcfr wants to merge 1 commit intoKitwareMedical:masterfrom
Conversation
Adapted from Slicer/Slicer@a0ad2a328 (ENH: Handle 3D events in MRML interactor style and markups VTK widgets)
| } | ||
|
|
||
| // Assumes event are all 3D and invalidates display position | ||
| ed->SetDisplayPositionInvalid(); |
There was a problem hiding this comment.
You should not have to do this. Based on our discussion, it looks like this is native to Slicer's bookkeeping of whether to compute the world position again. See https://github.com/Slicer/Slicer/blob/4ed0396cf865870dffe887e28db588434ce23b02/Libs/MRML/DisplayableManager/vtkMRMLInteractionEventData.cxx#L356C79-L358
There was a problem hiding this comment.
All events have 3D and display position, too. Display position may be less useful in virtual reality (e.g., a Google-glass-like 2D overlay), but we may use it in the future. The flags for valid "accurate" and "display" positions are indeed for avoiding (potentially costly) recomputations. The same event is given to many displayable managers, so we can save time by computing it only once and storing the result.
There was a problem hiding this comment.
but we may use it in the future
That is sensible.
Should we simply remove this method then ?
For reference, it was originally introduced here:
Slicer/Slicer@a0ad2a3#diff-3c145879816516bad207b32924f5bb882c68f6c0de514970fca6f372eee76b86R290-R295
Adapted from Slicer/Slicer@a0ad2a328 (
ENH: Handle 3D events in MRML interactor style and markups VTK widgets)