32 #ifndef vtkZSpaceSDKManager_h
33 #define vtkZSpaceSDKManager_h
37 #include "vtkRenderingZSpaceModule.h"
41 VTK_ABI_NAMESPACE_BEGIN
47 class vtkPVZSpaceView;
66 virtual void InitializeZSpace() = 0;
72 virtual void UpdateViewport() = 0;
77 virtual void UpdateTrackers() = 0;
82 virtual void UpdateViewAndProjectionMatrix() = 0;
87 virtual void UpdateButtonState() = 0;
93 virtual void CalculateFrustumFit(
94 const double bounds[6],
double position[3],
double viewUp[3]) = 0;
101 virtual void BeginFrame() = 0;
102 virtual void EndFrame() = 0;
123 vtkGetMacro(WindowX,
int);
129 vtkGetMacro(WindowY,
int);
134 vtkGetMacro(WindowWidth,
int);
139 vtkGetMacro(WindowHeight,
int);
144 vtkGetMacro(StylusTargets,
int);
149 vtkGetMacro(HeadTargets,
int);
154 vtkGetMacro(SecondaryTargets,
int);
160 vtkGetMacro(InterPupillaryDistance,
float);
161 vtkSetClampMacro(InterPupillaryDistance,
float, 0.f, 1.f);
167 void SetClippingRange(
const float nearPlane,
const float farPlane);
172 vtkGetMacro(ViewerScale,
float);
177 vtkGetMacro(NearPlane,
float);
182 vtkGetMacro(FarPlane,
float);
200 vtkGetObjectMacro(CenterEyeProjectionMatrix,
vtkMatrix4x4);
226 vtkGetObjectMacro(StylusTransformRowMajor,
vtkTransform);
249 vtkGetMacro(LeftButtonState,
int);
250 vtkSetEnumMacro(LeftButtonState, ButtonState);
257 vtkGetMacro(MiddleButtonState,
int);
258 vtkSetEnumMacro(MiddleButtonState, ButtonState);
265 vtkGetMacro(RightButtonState,
int);
266 vtkSetEnumMacro(RightButtonState, ButtonState);
292 int WindowHeight = 0;
297 int StylusTargets = 0;
301 int SecondaryTargets = 0;
304 float InterPupillaryDistance = 0.056f;
305 float ViewerScale = 1.f;
307 float NearPlane = 0.0001f;
309 float FarPlane = 1000.f;
316 ButtonState* ButtonsState[NumberOfButtons] = { &MiddleButtonState, &RightButtonState,
324 VTK_ABI_NAMESPACE_END
vtkNew< vtkTransform > StylusTransformRowMajor
std::vector< std::string > Displays
abstract base class for most VTK objects
represent and manipulate 4x4 transformation matrices
vtkNew< vtkMatrix4x4 > CenterEyeViewMatrix
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkNew< vtkMatrix4x4 > LeftEyeViewMatrix
vtkNew< vtkMatrix4x4 > StylusMatrixRowMajor
vtkNew< vtkMatrix4x4 > RightEyeViewMatrix
vtkNew< vtkMatrix4x4 > LeftEyeProjectionMatrix
vtkNew< vtkMatrix4x4 > CenterEyeProjectionMatrix
vtkNew< vtkMatrix4x4 > StylusMatrixColMajor
a simple class to control print indentation
a virtual camera for 3D rendering
Abstract zSpace SDK manager class.
vtkNew< vtkMatrix4x4 > RightEyeProjectionMatrix
create a window for renderers to draw into