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;
118 unsigned int vtkNotUsed(leftText),
unsigned int vtkNotUsed(rightText)) {};
126 QUAD_BUFFER_STEREO = 0,
127 STEREO_DISPLAY_API = 1
150 vtkGetMacro(WindowX,
int);
156 vtkGetMacro(WindowY,
int);
161 vtkGetMacro(WindowWidth,
int);
166 vtkGetMacro(WindowHeight,
int);
171 vtkGetMacro(StylusTargets,
int);
176 vtkGetMacro(HeadTargets,
int);
181 vtkGetMacro(SecondaryTargets,
int);
187 vtkGetMacro(InterPupillaryDistance,
float);
188 vtkSetClampMacro(InterPupillaryDistance,
float, 0.f, 1.f);
194 void SetClippingRange(
const float nearPlane,
const float farPlane);
199 vtkGetMacro(ViewerScale,
float);
204 vtkGetMacro(NearPlane,
float);
209 vtkGetMacro(FarPlane,
float);
227 vtkGetObjectMacro(CenterEyeProjectionMatrix,
vtkMatrix4x4);
253 vtkGetObjectMacro(StylusTransformRowMajor,
vtkTransform);
266 static std::string ButtonToString(ButtonIds buttonId);
306 vtkGetMacro(LeftButtonState,
int);
314 vtkGetMacro(MiddleButtonState,
int);
322 vtkGetMacro(RightButtonState,
int);
331 bool GetUseDefaultBehavior(
ButtonIds buttonId)
const;
358 int WindowHeight = 0;
363 int StylusTargets = 0;
367 int SecondaryTargets = 0;
370 float InterPupillaryDistance = 0.056f;
371 float ViewerScale = 1.f;
373 float NearPlane = 0.0001f;
375 float FarPlane = 1000.f;
382 ButtonState* ButtonsState[NumberOfButtons] = { &MiddleButtonState, &RightButtonState,
386 bool DefaultStylusButtonEventsEnabled[NumberOfButtons] = {
true,
true,
true };
393 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.
virtual void EnableGraphicsBinding()
These functions are overridden by vtkZSpaceCoreCompatibility (specific to zSpace Inspire).
vtkNew< vtkMatrix4x4 > LeftEyeViewMatrix
virtual void SubmitFrame(unsigned int leftText, unsigned int rightText)
These functions are overridden by vtkZSpaceCoreCompatibility (specific to zSpace Inspire).
vtkNew< vtkMatrix4x4 > StylusMatrixRowMajor
virtual bool GetStereoDisplayEnabled()
These functions are overridden by vtkZSpaceCoreCompatibility (specific to zSpace Inspire).
virtual void ShutDown()
Shutdown the zSpace SDK (clean its internal state).
vtkNew< vtkMatrix4x4 > RightEyeViewMatrix
vtkNew< vtkMatrix4x4 > LeftEyeProjectionMatrix
virtual void SetStereoDisplayEnabled(bool enabled)
These functions are overridden by vtkZSpaceCoreCompatibility (specific to zSpace Inspire).
Event data structure used for sending vtkCommand::UserEvent considered here also as custom stylus eve...
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
virtual StereoDisplayMode GetStereoDisplayMode()
StylusEventData(ButtonIds button, ButtonState state)
virtual void GetPerEyeImageResolution(int *width, int *height)
These functions are overridden by vtkZSpaceCoreCompatibility (specific to zSpace Inspire).