25 #include "vtkObjectFactory.h"
28 #include "vtkRenderer.h"
30 #define MY_MAX(x, y) ((x) < (y) ? (y) : (x))
31 #define MY_SQR(x) ((x) * (x))
53 this->Superclass::PrintSelf(os, indent);
58 int x,
int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi)
61 viewSize = ren->GetSize();
63 viewCenter[0] = 0.5 * viewSize[0];
64 viewCenter[1] = 0.5 * viewSize[1];
65 double rotateRadius = 0.9 * (
MY_MAX(viewCenter[0], viewCenter[1]));
66 double dist2 =
MY_SQR(viewCenter[0] -
x) +
MY_SQR(viewCenter[1] -
y);
68 if (rotateRadius * rotateRadius > dist2)
87 int x,
int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi)
97 int x,
int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi)
virtual void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)
virtual void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)
virtual void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)
void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
vtkPVTrackballRotate * RotateManipulator
vtkPVTrackballMultiRotate()
void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
~vtkPVTrackballMultiRotate() override
void PrintSelf(ostream &os, vtkIndent indent) override
vtkPVTrackballRoll * RollManipulator
vtkCameraManipulator * CurrentManipulator
static vtkPVTrackballRoll * New()
static vtkPVTrackballRotate * New()
vtkStandardNewMacro(vtkPVTrackballMultiRotate)