25 #ifndef vtkVRInteractorStyle_h
26 #define vtkVRInteractorStyle_h
31 #include "vtkRenderingVRModule.h"
87 void OnPan()
override;
99 virtual void LoadNextCameraPose() = 0;
127 void AddTooltipForInput(
141 vtkSetMacro(HoverPick,
bool);
142 vtkGetMacro(HoverPick,
bool);
143 vtkBooleanMacro(HoverPick,
bool);
151 vtkSetMacro(GrabWithRay,
bool);
152 vtkGetMacro(GrabWithRay,
bool);
153 vtkBooleanMacro(GrabWithRay,
bool);
167 vtkSetMacro(Style, MovementStyle);
168 vtkGetMacro(Style, MovementStyle);
176 return this->InteractionState[
static_cast<int>(device)];
192 void HideBillboard();
211 void HidePickActor();
217 void ToggleDrawControls();
218 void SetDrawControls(
bool);
246 static void MenuCallback(
247 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
263 void Movement3D(
int interactionState,
vtkEventData* edata);
265 bool HoverPick =
false;
266 bool GrabWithRay =
true;
278 std::map<std::tuple<vtkCommand::EventIds, vtkEventDataAction>,
int>
InputMap;
287 double HeadsetDir[3] = { 0, 0, 0 };
pick an actor/prop given a controller position and orientation
vtkNew< vtkVRHardwarePicker > HardwarePicker
abstract base class for most VTK objects
std::vector< vtkSmartPointer< vtkProp3D > > InteractionProps
vtkNew< vtkVRMenuWidget > Menu
void SetInteractor(vtkRenderWindowInteractor *interactor) override
Set/Get the Interactor wrapper being controlled by this object.
std::map< std::tuple< vtkCommand::EventIds, vtkEventDataAction >, int > InputMap
extends interaction to support 3D input
data object that represents a "selection" in VTK.
represents an 3D object for placement in a rendered scene
int GetInteractionState(vtkEventDataDevice device)
Return interaction state for the specified device (dolly, pick, none, etc...).
const int vtkEventDataNumberOfDevices
const int vtkEventDataNumberOfInputs
platform-independent render window interaction including picking and frame rate control.
abstract class to specify cell behavior
create a polygonal sphere centered at the origin
supports function callbacks
virtual void OnMove3D(vtkEventData *)
Generic 3D event bindings can be overridden in subclasses.
virtual void OnSelect3D(vtkEventData *)
a simple class to control print indentation
perform various plane computations
std::vector< vtkSmartPointer< vtkPlane > > ClippingPlanes
vtkEventDataDevice
platform-independent event data structures
An actor that displays text.
vtkNew< vtkVRMenuRepresentation > MenuRepresentation
virtual void OnMenu3D(vtkEventData *)
vtkNew< vtkActor > PickActor
virtual void OnNextPose3D(vtkEventData *)
Extended from vtkInteractorStyle3D to override command methods.
vtkNew< vtkCallbackCommand > MenuCommand
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkNew< vtkSphereSource > Sphere
virtual void OnElevation3D(vtkEventData *)
vtkNew< vtkTextActor3D > TextActor3D
virtual void OnViewerMovement3D(vtkEventData *)
vtkVRMenuWidget * GetMenu()
Return the menu to allow the user to add options to it.
Tooltip helper explaining controls Helper class to draw one tooltip per button around the controller...
virtual void PositionProp(vtkEventData *, double *lwpos=nullptr, double *lwori=nullptr)