16 #ifndef vtkWebXRRenderWindowInteractor_h
17 #define vtkWebXRRenderWindowInteractor_h
19 #include "vtkRenderingWebXRModule.h"
24 VTK_ABI_NAMESPACE_BEGIN
70 double wxyz[4],
double ppos[3],
double wdir[3]);
98 void UpdateXRControllers();
109 static void StartXR(SessionMode
mode = SessionMode::VR, vtkTypeUInt32 requiredFeatures = 1,
110 vtkTypeUInt32 optionalFeatures = 2);
111 static void StopXR();
124 bool UseFunction =
false;
125 bool IsHandPose =
false;
131 bool LoadActions(
const std::string& actionFilename);
150 if (this->hand != other.
hand)
152 return this->hand < other.
hand;
154 else if (this->button != other.
button)
156 return this->button < other.
button;
160 return this->mode < other.
mode;
171 #ifdef __EMSCRIPTEN__
176 VTK_ABI_NAMESPACE_END
std::map< WebXRInput, ActionData * > ButtonToActionMap
virtual void DoOneEvent(vtkVRRenderWindow *renWin, vtkRenderer *ren)=0
Implements the event loop.
Implements VR specific functions required by vtkRenderWindowInteractor.
std::function< void(vtkEventData *)> Function
Minimal WebXR Device API wrapper.
vtkCommand::EventIds EventId
abstract specification for renderers
std::map< std::string, ActionData > ActionMap
WebXRInputPoseMode
WebXR 'XRSessionMode' enum.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
implements WebXR specific functions required by vtkVRRenderWindowInteractor.
a simple class to control print indentation
WebXRHandedness
WebXR handedness.
virtual void AddAction(const std::string &path, const vtkCommand::EventIds &, bool isAnalog)=0
Assign an event or std::function to an event path.
void Initialize() override
Initialize the event handler.
WebXRGamepadButtonMapping
void StartEventLoop() override
This will start up the event loop and never return.
virtual void TerminateApp()
This function is called on 'q','e' keypress if exitmethod is not specified and should be overridden b...
static vtkRenderWindowInteractor3D * New()
Construct object so that light follows camera motion.
WebXR Gamepad see https://www.w3.org/TR/2024/WD-webxr-gamepads-module-1-20240409/#xr-standard-heading...