24#ifndef vtkCameraManipulator_h
25#define vtkCameraManipulator_h
29#include "vtkInteractionStyleModule.h"
32VTK_ABI_NAMESPACE_BEGIN
94 vtkSetMacro(Alt,
bool);
95 vtkGetMacro(Alt,
bool);
96 vtkBooleanMacro(Alt,
bool);
104 vtkSetMacro(Control,
bool);
105 vtkGetMacro(Control,
bool);
106 vtkBooleanMacro(Control,
bool);
114 vtkSetMacro(Shift,
bool);
115 vtkGetMacro(Shift,
bool);
116 vtkBooleanMacro(Shift,
bool);
125 vtkSetVector3Macro(CenterOfRotation,
double);
126 vtkGetVector3Macro(CenterOfRotation,
double);
133 vtkSetMacro(MouseMotionFactor,
double);
134 vtkGetMacro(MouseMotionFactor,
double);
141 vtkSetStringMacro(ManipulatorName);
142 vtkGetStringMacro(ManipulatorName);
163 char* ManipulatorName =
nullptr;
165 MouseButtonType MouseButton = MouseButtonType::Left;
168 bool Control =
false;
171 double CenterOfRotation[3] = { 0.0, 0.0, 0.0 };
172 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