-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Labels
Description
A very flexible way for showing menus in VR would be to implement off-line rendering of any Qt widget in a texture that is shown on a VTK plane actor, which can respond to virtual mouse events generated by the laser pointer (currently called probe mode in VTK) in VR.
Tasks that need to be done, start with first and only move to next one once it is done.
- Generate 2D texture with Qt of arbitrary QWidget. Done when you have a QImage or QPixmap containing a QWidget with some other widgets in it (for example a QFrame with a QVBoxLayout having a QCheckBox and a QSlider on it) so that the widget is never shown on the Windows desktop (i.e. everything happens in the background).
- Show texture generated in the previous step on a VTK plane actor (for example vtkImageActor). Done when the Qt GUI is visible in the scene shown in VR (positioning can be arbitrary at this point).
- Refactor VR interactor style according the new events design (Csaba)
- Re-add laser pointer (called probe mode in vtkOpenVRMenu*), TBD
- Send laser pointer events to Qt, re-render the widget if necessary, TBD
- Create default "pipboy" style panel with basic settings. Show up attached to left forearm if left controller is turned outside 180(ish) degrees. Make panel look like it's obviously interactive (back side not visible, slight frame on the edges, etc.)
Useful UI panels (extend as needs arise):
- "Main menu" widget that takes the user to the "apps" (below)
- Subject hierarchy (show/hide)
- Segment Editor (simplified)
- Interaction settings: group objects (moving them under the same interaction transform), toggle selectable, etc.
Related issues
Related pull requests
adamrankin and pieper