17 #include "vtkCamera.h"
18 #include "vtkObjectFactory.h"
19 #include "vtkRenderWindow.h"
20 #include "vtkRenderWindowInteractor.h"
21 #include "vtkRenderer.h"
40 int*
size = ren->GetSize();
41 vtkCamera* camera = ren->GetActiveCamera();
43 if (camera->GetParallelProjection() || !this->UseDollyForPerspectiveProjection)
49 double* range = camera->GetClippingRange();
61 int vtkNotUsed(
x),
int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi)
63 double dy = rwi->GetLastEventPosition()[1] -
y;
64 vtkCamera* camera = ren->GetActiveCamera();
65 double pos[3], fp[3], *norm, k, tmp;
67 if (camera->GetParallelProjection() || !this->UseDollyForPerspectiveProjection)
71 if (camera->GetParallelProjection())
73 camera->SetParallelScale((1.0 - k) * camera->GetParallelScale());
77 camera->SetViewAngle((1.0 - k) * camera->GetViewAngle());
82 camera->GetPosition(pos);
83 camera->GetFocalPoint(fp);
84 norm = camera->GetDirectionOfProjection();
99 if (!camera->GetFreezeFocalPoint())
101 camera->SetFocalPoint(fp);
103 camera->SetPosition(pos);
111 this->Superclass::PrintSelf(os, indent);
bool UseDollyForPerspectiveProjection
void PrintSelf(ostream &os, vtkIndent indent) override
~vtkPVTrackballZoom() override
void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
QTextStream & endl(QTextStream &stream)
vtkStandardNewMacro(vtkPVTrackballZoom)