24#ifndef vtkCameraManipulator_h
25#define vtkCameraManipulator_h
29#include "vtkInteractionStyleModule.h"
31VTK_ABI_NAMESPACE_BEGIN
93 vtkSetMacro(Alt,
bool);
94 vtkGetMacro(Alt,
bool);
95 vtkBooleanMacro(Alt,
bool);
103 vtkSetMacro(Control,
bool);
104 vtkGetMacro(Control,
bool);
105 vtkBooleanMacro(Control,
bool);
113 vtkSetMacro(Shift,
bool);
114 vtkGetMacro(Shift,
bool);
115 vtkBooleanMacro(Shift,
bool);
124 vtkSetVector3Macro(CenterOfRotation,
double);
125 vtkGetVector3Macro(CenterOfRotation,
double);
132 vtkSetMacro(MouseMotionFactor,
double);
133 vtkGetMacro(MouseMotionFactor,
double);
140 vtkSetStringMacro(ManipulatorName);
141 vtkGetStringMacro(ManipulatorName);
162 char* ManipulatorName =
nullptr;
164 MouseButtonType MouseButton = MouseButtonType::Left;
167 bool Control =
false;
170 double CenterOfRotation[3] = { 0.0, 0.0, 0.0 };
171 double MouseMotionFactor = 1.0;
Abstraction of style away from button.
virtual void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)=0
These methods are called on the active manipulator when the corresponding events occur.
vtkSetEnumMacro(MouseButton, MouseButtonType)
These settings determine which button the manipulator responds to.
virtual void OnKeyDown(vtkRenderWindowInteractor *iren)=0
These methods are called on all registered manipulators, not just the active one.
vtkGetEnumMacro(MouseButton, MouseButtonType)
These settings determine which button the manipulator responds to.
virtual void StartInteraction()=0
The vtkInterctorStyleManipulator will call these methods when the corresponding events occur.
virtual void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)=0
double CenterOfRotationInDisplayCoordinates[2]
virtual void OnKeyUp(vtkRenderWindowInteractor *iren)=0
These methods are called on all registered manipulators, not just the active one.
virtual void EndInteraction()=0
The vtkInterctorStyleManipulator will call these methods when the corresponding events occur.
void ComputeCenterOfRotationInDisplayCoordinates(vtkRenderer *ren)
Compute the center of rotation in display coordinates.
~vtkCameraManipulator() override
virtual void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)=0
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers