15 #ifndef vtkZSpaceCoreCompatibilitySDKManager_h
16 #define vtkZSpaceCoreCompatibilitySDKManager_h
21 #pragma warning(disable : 4201)
23 #pragma warning(default : 4201)
28 VTK_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
154 VTK_ABI_NAMESPACE_END
struct ZCCompatFrustumOpaque * ZCCompatFrustum
ZCCompatTarget StylusHandle
struct ZCCompatContextOpaque * ZCCompatContext
represent and manipulate 4x4 transformation matrices
void UpdateTrackers() override
Update the position of the stylus and head trakers.
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...
Structure holding the loaded zSpace Core Compatibility API entry point function pointers.
static vtkZSpaceCoreCompatibilitySDKManager * New()
void ConvertAndTransposeZSpaceMatrixToVTKMatrix(ZSMatrix4 zSpaceMatrix, vtkMatrix4x4 *vtkMatrix)
zSpace stores matrix in column-major format (as OpenGL).
bool loadZspaceCoreCompatibilityEntryPoints(const char *zSpaceCoreCompatDllFilePath, HMODULE &zSpaceCoreCompatDllModuleHandle, zSpaceCoreCompatEntryPoints &entryPoints)
Load the "zSpaceCoreCompatibility64.dll" shared library then load the zSpace Core Compatibility API e...
zSpaceCoreCompatEntryPoints EntryPts
#define ZC_COMPAT_SAMPLE_LOCAL_ENTRY_POINT_MEMBER(undecoratedFuncName)
bool Initialized
Set to true if zSpaceCoreCompatibility dynamic libraries are found upon vtkZSpaceCoreCompatibilitySDK...
void UpdateViewAndProjectionMatrix() override
Update the zSpace view and projection matrix for each eye.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void UpdateButtonState() override
Update the stylus buttons state.
vtkZSpaceCoreCompatibilitySDKManager()
a simple class to control print indentation
Union representing 4x4 matrix (right-handed OpenGL column-major format). / This structure is used by ...
Abstract zSpace SDK manager class.
void EndFrame() override
Notify the zSpace SDK for the begining/end of a frame.
void BeginFrame() override
Notify the zSpace SDK for the begining/end of a frame.
ZCCompatDisplay DisplayHandle
ZCCompatContext ZSpaceContext
void InitializeZSpace() override
Initialize the zSpace SDK and check for zSpace devices : the display, the stylus and the head tracker...
create a window for renderers to draw into
#define ZC_COMPAT_REFLECTION_LIST_UNDECORATED_FUNC_NAMES(_)
~vtkZSpaceCoreCompatibilitySDKManager() override
struct ZCCompatDisplayOpaque * ZCCompatDisplay
zSpace Core Compatibility SDK manager class.
void ConvertZSpaceMatrixToVTKMatrix(ZSMatrix4 zSpaceMatrix, vtkMatrix4x4 *vtkMatrix)
zSpace stores matrix in column-major format (as OpenGL).
ZCCompatViewport ViewportHandle
void UpdateViewport() override
Update the zSpace viewport position and size based on the position and size of the application window...
ZCCompatFrustum FrustumHandle
struct ZCCompatViewportOpaque * ZCCompatViewport
void SetRenderWindow(vtkRenderWindow *) override
Set the render windwow the manager makes viewport computations from.
struct ZCCompatTargetOpaque * ZCCompatTarget
HMODULE zSpaceCoreCompatDllModuleHandle