15#ifndef vtkZSpaceCoreCompatibilitySDKManager_h
16#define vtkZSpaceCoreCompatibilitySDKManager_h
21#pragma warning(disable : 4201)
23#pragma warning(default : 4201)
28VTK_ABI_NAMESPACE_BEGIN
40#define ZC_COMPAT_SAMPLE_LOCAL_ENTRY_POINT_MEMBER(undecoratedFuncName) \
41 ZCCompat##undecoratedFuncName##FuncPtrType zccompat##undecoratedFuncName;
44#undef ZC_COMPAT_SAMPLE_LOCAL_ENTRY_POINT_MEMBER
113 void SubmitFrame(
unsigned int leftText,
unsigned int rightText)
override;
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
create a window for renderers to draw into
zSpace Core Compatibility SDK manager class.
void SetStereoDisplayEnabled(bool enabled) override
Set/Get if the "Stereo Display" is enabled.
void ConvertZSpaceMatrixToVTKMatrix(ZSMatrix4 zSpaceMatrix, vtkMatrix4x4 *vtkMatrix)
zSpace stores matrix in column-major format (as OpenGL).
void ConvertAndTransposeZSpaceMatrixToVTKMatrix(ZSMatrix4 zSpaceMatrix, vtkMatrix4x4 *vtkMatrix)
zSpace stores matrix in column-major format (as OpenGL).
static vtkZSpaceCoreCompatibilitySDKManager * New()
void UpdateViewport() override
Update the zSpace viewport position and size based on the position and size of the application window...
bool GetStereoDisplayEnabled() override
Set/Get if the "Stereo Display" is enabled.
void UpdateTrackers() override
Update the position of the stylus and head trackers.
void CalculateFrustumFit(const double bounds[6], double position[3], double viewUp[3]) override
Let zSpace compute the viewer scale, camera position and camera view up from the input bounds.
bool Initialized
Set to true if zSpaceCoreCompatibility dynamic libraries are found upon vtkZSpaceCoreCompatibilitySDK...
void InitializeZSpace() override
Initialize the zSpace SDK and check for zSpace devices : the display, the stylus and the head tracker...
void GetPerEyeImageResolution(signed int *width, signed int *height) override
Request from the zSpace Core Compatibility API the resolution needed to create left / right eye textu...
StereoDisplayMode GetStereoDisplayMode() override
Return the actual stereo display mode, depending on zSpace hardware.
zSpaceCoreCompatEntryPoints EntryPts
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkZSpaceCoreCompatibilitySDKManager() override
vtkZSpaceCoreCompatibilitySDKManager()
ZCCompatTarget StylusHandle
ZCCompatContext ZSpaceContext
void SubmitFrame(unsigned int leftText, unsigned int rightText) override
Submit left / right eyes textures to the zSpace Core Compatibility API in order to let it handle the ...
bool loadZspaceCoreCompatibilityEntryPoints(const char *zSpaceCoreCompatDllFilePath, HMODULE &zSpaceCoreCompatDllModuleHandle, zSpaceCoreCompatEntryPoints &entryPoints)
Load the "zSpaceCoreCompatibility64.dll" shared library then load the zSpace Core Compatibility API e...
void EnableGraphicsBinding() override
Allow the zSpace Core Compatibility API to create its internal OpenGL resources and prepare to accept...
HMODULE zSpaceCoreCompatDllModuleHandle
ZCCompatDisplay DisplayHandle
ZCCompatFrustum FrustumHandle
void UpdateButtonState() override
Update the stylus buttons state.
void ShutDown() override
Shutdown the zSpace SDK (clean its internal state).
void BeginFrame() override
Notify the zSpace SDK for the beginning/end of a frame.
void UpdateViewAndProjectionMatrix() override
Update the zSpace view and projection matrix for each eye.
void EndFrame() override
Notify the zSpace SDK for the beginning/end of a frame.
void SetRenderWindow(vtkRenderWindow *) override
Set the render window the manager makes viewport computations from.
ZCCompatViewport ViewportHandle
Abstract zSpace SDK manager class.
Structure holding the loaded zSpace Core Compatibility API entry point function pointers.
Union representing 4x4 matrix (right-handed OpenGL column-major format). / This structure is used by ...
#define ZC_COMPAT_SAMPLE_LOCAL_ENTRY_POINT_MEMBER(undecoratedFuncName)
#define ZC_COMPAT_REFLECTION_LIST_UNDECORATED_FUNC_NAMES(_)
struct ZCCompatTargetOpaque * ZCCompatTarget
struct ZCCompatDisplayOpaque * ZCCompatDisplay
struct ZCCompatViewportOpaque * ZCCompatViewport
struct ZCCompatContextOpaque * ZCCompatContext
struct ZCCompatFrustumOpaque * ZCCompatFrustum