13 #ifndef vtkVRInteractorStyle_h
14 #define vtkVRInteractorStyle_h
19 #include "vtkRenderingVRModule.h"
25 VTK_ABI_NAMESPACE_BEGIN
76 void OnPan()
override;
88 virtual void LoadNextCameraPose() = 0;
116 void AddTooltipForInput(
130 vtkSetMacro(HoverPick,
bool);
131 vtkGetMacro(HoverPick,
bool);
132 vtkBooleanMacro(HoverPick,
bool);
140 vtkSetMacro(GrabWithRay,
bool);
141 vtkGetMacro(GrabWithRay,
bool);
142 vtkBooleanMacro(GrabWithRay,
bool);
156 vtkSetMacro(Style, MovementStyle);
157 vtkGetMacro(Style, MovementStyle);
165 return this->InteractionState[
static_cast<int>(device)];
181 void HideBillboard();
200 void HidePickActor();
206 void ToggleDrawControls();
207 void SetDrawControls(
bool);
235 static void MenuCallback(
236 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
252 void Movement3D(
int interactionState,
vtkEventData* edata);
254 bool HoverPick =
false;
255 bool GrabWithRay =
true;
267 std::map<std::tuple<vtkCommand::EventIds, vtkEventDataAction>,
int>
InputMap;
276 double HeadsetDir[3] = { 0, 0, 0 };
286 double LastGroundMovementTrackPadPosition[2] = { 0, 0 };
287 double LastElevationTrackPadPosition[2] = { 0, 0 };
294 VTK_ABI_NAMESPACE_END
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 *)
vtkNew< vtkTimerLog > LastGroundMovement3DEventTime
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...
vtkNew< vtkTimerLog > LastElevation3DEventTime
virtual void PositionProp(vtkEventData *, double *lwpos=nullptr, double *lwori=nullptr)