Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[slicer-5.6-v9.2.20230607-1ff325c54-2] Backport VR related fixes to support SlicerVirtualReality extension built against Slicer 5.6.1 #47

Conversation

jcfr
Copy link
Member

@jcfr jcfr commented Dec 22, 2023

These fixes are specific to the vtkRenderingVR, vtkRenderingOpenVR and vtkRenderingOpenXR built and distributed through the SlicerVirtualReality extension.

Note that change to Rendering/Core/vtkInteractorStyle.h consist in defining the new macro VTKIS_TELEPORTATION and has no impact on the ABI requirement related to the VTK libraries distributed within the Slicer 5.6.1 release.


These changes are a subset of the ones integrated in branch slicer-v9.2.20230607-1ff325c54-2 through #46

Tiffany-Chhim and others added 20 commits December 21, 2023 19:36
White cross-like markers can be displayed at the tip of the controllers.
This can be useful to help with point placement for example.

Merge-request: vtk/vtk!10478
(cherry picked from commit Kitware/VTK@9014167)
(cherry picked from commit 3811752)
Merge-request: vtk/vtk!10509
(cherry picked from commit Kitware/VTK@179d044)
(cherry picked from commit 69c7dcd)
Merge-request: vtk/vtk!10546
(cherry picked from commit Kitware/VTK@8e8b0fe)
(cherry picked from commit a923a45)
…rCheckOutput instead of XrCheckError"

This reverts commit 5c31352.

(cherry picked from commit ecbaa5b)
…constness of level parameter"

This reverts commit 259459f.

(cherry picked from commit c597d7f)
Merge-request: vtk/vtk!10450
(cherry picked from commit Kitware/VTK@8eee120)
(cherry picked from commit 7cbc3d5)
… plugin"

This reverts commit abbbb1b.

(cherry picked from commit de24afe)
…ntime dynamically

The default OpenXRManagerConnection ensure that XR_RUNTIME_JSON
environment variable is unset in Initialize.
This enable multiple version queries or OpenXR render windows to use
different OpenXR runtimes.

Merge-request: vtk/vtk!10543
(cherry picked from commit Kitware/VTK@d32293b)
(cherry picked from commit 57192b2)
This doesn't need a full vtkOpenXRManager initialization, this function
instantiates an independent xrInstance to query the version.

Merge-request: vtk/vtk!10543
(cherry picked from commit Kitware/VTK@b46651d)
(cherry picked from commit 793aeb7)
To support scenario where OpenXRRemoting library and companion files
provided by the "microsoft.holographic.remoting.openxr" package are not
distributed along side the application executable, this commit updates
the heuristic looking up for "RemotingXR.json" to first consider the
vtkRenderingOpenXRRemoting library directory.

Merge-request: vtk/vtk!10449
(cherry picked from commit Kitware/VTK@7c0474c)
(cherry picked from commit 0233aff)
Merge-request: vtk/vtk!10550
(cherry picked from commit Kitware/VTK@b22f520)
(cherry picked from commit ceb1fa2)
Fix ForEachNonWidgetProp

Merge-request: vtk/vtk!10555
(cherry picked from commit Kitware/VTK@2904bb8)
(cherry picked from commit be6f152)
It is included by `vtkVRRenderWindow.h`.

Merge-request: vtk/vtk!10621
(cherry picked from commit Kitware/VTK@d79eba4)
(cherry picked from commit fabb615)
Merge-request: vtk/vtk!10735
(cherry picked from commit Kitware/VTK@dd2a56a)
(cherry picked from commit d43336b)
Merge-request: vtk/vtk!10735
(cherry picked from commit Kitware/VTK@d1699eb)
(cherry picked from commit c003544)
This enables interactor styles to override controller pose, in events such
as PositionProp or Move3D events, but still getting access to the up to
date value in said events.

Merge-request: vtk/vtk!10742
(cherry picked from commit Kitware/VTK@a155740)
(cherry picked from commit 9e103ca)
…nd left trigger with triggeraction

This is required to support using the trigger button for complex gesture.
See vtkVirtualRealityViewInteractor::SetGestureButtonToTrigger()

Co-authored-by: Lucas Gandel <lucas.gandel@kitware.com>
(cherry picked from commit 2e91328)
…ressed consecutively

This commit introduces an additional action named `ComplexGestureAction_Event2`
to address the recognition of complex gestures in OpenVR. In cases where two
complex gesture buttons are pressed consecutively, the `actionData.bChanged`
condition (utilized in `DoOneEvent`) is already false when the user is already
holding down one button, leading to the absence of additional event synthesis.

By introducing `ComplexGestureAction_Event2`, a second event is synthesized,
resulting in a second invocation of `HandleComplexGestureEvents`. This enables
the function `RecognizeComplexGesture()` to effectively identify and recognize
the associated gesture.

Co-authored-by: Lucas Gandel <lucas.gandel@kitware.com>
Merge-request: vtk/vtk!10778
(cherry picked from commit 0816137)
Merge-request: vtk/vtk!10435
(cherry picked from commit Kitware/VTK@3755243)
(cherry picked from commit 4f26038)
… function to vtkVRInteractorStyle

This commit reverts the previous commit and adds the fixed implementation
of `Dolly3D()` directly in the `vtkVRInteractorStyle` class. This allow to
build the extension with the fix without requiring to modify VTK already
compiled and part of the Slicer 5.6.1 releases.
@jcfr jcfr changed the title [slicer-5.6-v9.2.20230607-1ff325c54-2] Backport VR related fixes to support Slicer 5.6.1 [slicer-5.6-v9.2.20230607-1ff325c54-2] Backport VR related fixes to support SlicerVirtualReality extension built against Slicer 5.6.1 Dec 22, 2023
@jcfr
Copy link
Member Author

jcfr commented Dec 22, 2023

Locally build & testing confirmed the SlicerVirtuaReality extension could be packaged and uploaded ✅

@jcfr jcfr merged commit 7115d98 into Slicer:slicer-5.6-v9.2.20230607-1ff325c54-2 Dec 22, 2023
@jcfr jcfr deleted the slicer-5.6-v9.2.20230607-1ff325c54-2-backports branch December 22, 2023 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
7 participants