89 #ifndef vtkInteractorStyle_h
90 #define vtkInteractorStyle_h
93 #include "vtkRenderingCoreModule.h"
101 #define VTKIS_ROTATE 1
104 #define VTKIS_DOLLY 4
106 #define VTKIS_USCALE 6
107 #define VTKIS_TIMER 7
108 #define VTKIS_FORWARDFLY 8
109 #define VTKIS_REVERSEFLY 9
110 #define VTKIS_TWO_POINTER 10
111 #define VTKIS_CLIP 11
112 #define VTKIS_PICK 12 // perform a pick at the last location
113 #define VTKIS_LOAD_CAMERA_POSE 13 // iterate through saved camera poses
114 #define VTKIS_POSITION_PROP 14 // adjust the position, orientation of a prop
115 #define VTKIS_EXIT 15 // call exit callback
116 #define VTKIS_TOGGLE_DRAW_CONTROLS 16 // draw device controls helpers
117 #define VTKIS_MENU 17 // invoke an application menu
118 #define VTKIS_GESTURE 18 // touch interaction in progress
119 #define VTKIS_ENV_ROTATE 19 // rotate the renderer environment texture
120 #define VTKIS_GROUNDMOVEMENT 20 // horizontal movement according to the 4 directions
121 #define VTKIS_ELEVATION 21 // vertical movement (up and down)
122 #define VTKIS_TELEPORTATION 22 // teleportation (move instantly between two positions)
124 #define VTKIS_ANIM_OFF 0
125 #define VTKIS_ANIM_ON 1
127 VTK_ABI_NAMESPACE_BEGIN
168 void SetEnabled(
int) override;
179 vtkSetClampMacro(AutoAdjustCameraClippingRange,
vtkTypeBool, 0, 1);
180 vtkGetMacro(AutoAdjustCameraClippingRange, vtkTypeBool);
181 vtkBooleanMacro(AutoAdjustCameraClippingRange, vtkTypeBool);
189 void FindPokedRenderer(
int,
int);
195 vtkGetMacro(State,
int);
202 vtkGetMacro(UseTimers, vtkTypeBool);
203 vtkSetMacro(UseTimers, vtkTypeBool);
204 vtkBooleanMacro(UseTimers, vtkTypeBool);
214 vtkSetClampMacro(TimerDuration,
unsigned long, 1, 100000);
215 vtkGetMacro(TimerDuration,
unsigned long);
222 vtkSetMacro(HandleObservers, vtkTypeBool);
223 vtkGetMacro(HandleObservers, vtkTypeBool);
224 vtkBooleanMacro(HandleObservers, vtkTypeBool);
230 virtual
void OnMouseMove() {}
301 virtual void OnTimer();
339 virtual void StartState(
int newstate);
340 virtual void StopState();
347 virtual void StartAnimate();
348 virtual void StopAnimate();
349 virtual void StartRotate();
350 virtual void EndRotate();
351 virtual void StartZoom();
352 virtual void EndZoom();
353 virtual void StartPan();
354 virtual void EndPan();
355 virtual void StartSpin();
356 virtual void EndSpin();
357 virtual void StartDolly();
358 virtual void EndDolly();
359 virtual void StartUniformScale();
360 virtual void EndUniformScale();
361 virtual void StartTimer();
362 virtual void EndTimer();
363 virtual void StartTwoPointer();
364 virtual void EndTwoPointer();
365 virtual void StartGesture();
366 virtual void EndGesture();
367 virtual void StartEnvRotate();
368 virtual void EndEnvRotate();
393 virtual void HighlightProp(
vtkProp* prop);
394 virtual void HighlightActor2D(
vtkActor2D* actor2D);
395 virtual void HighlightProp3D(
vtkProp3D* prop3D);
403 vtkSetVector3Macro(PickColor,
double);
404 vtkGetVectorMacro(PickColor,
double, 3);
413 vtkSetMacro(MouseWheelMotionFactor,
double);
414 vtkGetMacro(MouseWheelMotionFactor,
double);
423 vtkSetVector3Macro(CenterOfRotation,
double);
424 vtkGetVector3Macro(CenterOfRotation,
double);
435 virtual
void SetTDxStyle(vtkTDxInteractorStyle* tdxStyle);
441 void DelegateTDxEvent(
unsigned long event,
void* calldata);
451 static
void TranslateCamera(
vtkRenderer* renderer,
int toX,
int toY,
int fromX,
int fromY);
455 ~vtkInteractorStyle() override;
460 static
void ProcessEvents(
461 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
483 double MouseWheelMotionFactor;
484 double CenterOfRotation[3] = { 0.0, 0.0, 0.0 };
499 VTK_ABI_NAMESPACE_END
a simple event forwarder command
virtual void OnLeftButtonDoubleClick()
virtual void OnLeftButtonDown()
virtual void Rotate()
These methods for the different interactions in different modes are overridden in subclasses to perfo...
abstract superclass for all actors, volumes and annotations
virtual void OnMouseWheelRight()
virtual void OnMiddleButtonDown()
virtual void OnRightButtonDown()
represents an object (geometry & properties) in a rendered scene
abstract base class for most VTK objects
virtual void OnClip3D(vtkEventData *)
virtual void OnButton3D(vtkEventData *)
virtual void OnLeftButtonUp()
virtual void OnMiddleButtonUp()
virtual void OnEndPinch()
virtual void OnFifthButtonUp()
a actor that draws 2D data
virtual void OnPositionProp3D(vtkEventData *)
virtual void OnDropLocation(double *position)
When the mouse location is updated while dragging files.
#define VTK_MARSHAL_EXCLUDE_REASON_IS_REDUNDANT
virtual void UniformScale()
a vtkAbstractArray subclass for strings
abstract specification for renderers
virtual void OnMouseWheelLeft()
virtual void OnMouseWheelForward()
represents an 3D object for placement in a rendered scene
virtual void OnKeyRelease()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void OnKeyPress()
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor ...
virtual void OnRightButtonUp()
platform-independent render window interaction including picking and frame rate control.
virtual void OnMiddleButtonDoubleClick()
vtkEventForwarderCommand * EventForwarder
virtual void OnExpose()
These are more esoteric events, but are useful in some cases.
supports function callbacks
virtual void OnMove3D(vtkEventData *)
Generic 3D event bindings can be overridden in subclasses.
virtual void OnRightButtonDoubleClick()
virtual void OnConfigure()
virtual void OnSelect3D(vtkEventData *)
a simple class to control print indentation
virtual void OnMouseWheelBackward()
unsigned long TimerDuration
virtual void OnStartPinch()
create wireframe outline around bounding box
virtual void OnEndSwipe()
virtual void OnDropFiles(vtkStringArray *filePaths)
When files are dropped on the render window.
virtual void OnStartPan()
#define VTK_MARSHALEXCLUDE(reason)
virtual void OnMenu3D(vtkEventData *)
provide 3DConnexion device event-driven interface to the rendering window
virtual void OnFifthButtonDown()
map vtkPolyData to graphics primitives
virtual void OnNextPose3D(vtkEventData *)
virtual void OnStartSwipe()
gesture based events
virtual void OnStartRotate()
virtual void OnPick3D(vtkEventData *)
provide event-driven interface to the rendering window (defines trackball mode)
virtual void OnElevation3D(vtkEventData *)
virtual void OnViewerMovement3D(vtkEventData *)
virtual void OnChar()
Sets up the keypress-i event.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual void OnEndRotate()
virtual void OnFourthButtonDown()
virtual void EnvironmentRotate()
virtual void OnFourthButtonUp()
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
vtkTDxInteractorStyle * TDxStyle