General API

Detailed Description

The functions in the general API support basic initialization, updates, and cleanup upon shutdown. Your application must call zsInitialize() before calling any other functions in the zSpace Core SDK.

List of Functions

ZSError  zsInitialize (ZSContext* context)
ZSError  zsUpdate (ZSContext context)
ZSError  zsShutdown (ZSContext context)
ZSError  zsSetTrackingEnabled (ZSContext context, ZSBool isEnabled)
ZSError  zsIsTrackingEnabled (ZSContext context, ZSBool* isEnabled)
ZSError  zsGetRuntimeVersion (ZSContext context, ZSInt32* major, ZSInt32* minor, ZSInt32* patch)
ZSError  zsGetErrorString (ZSError error, char* buffer, ZSInt32 bufferSize)

List of Data Structures

union   ZSVector3
  Union representing a vector of 3 floats. More...
union   ZSMatrix4
  Union representing 4x4 matrix (right-handed OpenGL column-major format). More...
union   ZSBoundingBox
  Union representing an axis-aligned bounding box (AABB). More...

List of Enumerations

enum   ZSError {
  ZS_ERROR_OKAY = 0,
  ZS_ERROR_NOT_IMPLEMENTED = 1,
  ZS_ERROR_NOT_INITIALIZED = 2,
  ZS_ERROR_ALREADY_INITIALIZED = 3,
  ZS_ERROR_INVALID_PARAMETER = 4,
  ZS_ERROR_INVALID_CONTEXT = 5,
  ZS_ERROR_INVALID_HANDLE = 6,
  ZS_ERROR_RUNTIME_INCOMPATIBLE = 7,
  ZS_ERROR_RUNTIME_NOT_FOUND = 8,
  ZS_ERROR_SYMBOL_NOT_FOUND = 9,
  ZS_ERROR_DISPLAY_NOT_FOUND = 10,
  ZS_ERROR_DEVICE_NOT_FOUND = 11,
  ZS_ERROR_TARGET_NOT_FOUND = 12,
  ZS_ERROR_CAPABILITY_NOT_FOUND = 13,
  ZS_ERROR_BUFFER_TOO_SMALL = 14
}

Function Descriptions

ZSError zsGetErrorString ( ZSError  error,
char*   buffer,
ZSInt32  bufferSize 
)

Gets the string literal for a specified error code.

Parameters:
[in] error The error code.
[out] buffer The user allocated character buffer to store the error string.
[in] bufferSize The size of the user allocated character buffer.
ZSError zsGetRuntimeVersion ( ZSContext  context,
ZSInt32*   major,
ZSInt32*   minor,
ZSInt32*   patch 
)

Gets the version of the runtime that has been loaded by zsInitialize(). The version is in the following format: major.minor.patch

Parameters:
[in] context A handle to the internal state of the zSpace SDK.
[out] major The major component of the revision number.
[out] minor The minor component of the revision number.
[out] patch The patch component of the revision number.
ZSError zsInitialize ( ZSContext*   context )

Loads the zSpace SDK runtime library and detects connected peripherals. For the detected peripherals, zsInitialize() creates instances of all underlying Displays, TrackerDevices, and TrackerTargets.

Parameters:
[out] context A handle to the internal state of the zSpace SDK.
ZSError zsIsTrackingEnabled ( ZSContext  context,
ZSBool*   isEnabled 
)

Checks whether tracking for all devices is enabled.

Parameters:
[in] context A handle to the internal state of the zSpace SDK.
[out] isEnabled True if enabled, false otherwise.
ZSError zsSetTrackingEnabled ( ZSContext  context,
ZSBool  isEnabled 
)

Sets whether or not tracking for all devices is enabled.

Parameters:
[in] context A handle to the internal state of the zSpace SDK.
[in] isEnabled True to enable tracking, false to disable it.
ZSError zsShutdown ( ZSContext  context )

Frees allocated memory and unloads plugins. Call this on application shutdown.

Parameters:
[in] context A handle to the internal state of the zSpace SDK.
ZSError zsUpdate ( ZSContext  context )

Updates the underlying state of the SDK. This includes polling and caching tracker target pose information. Additionally, any stereo frustums will receive the latest pose information from the default head target. Call this once per frame.

Parameters:
[in] context A handle to the internal state of the zSpace SDK.

Enumeration Descriptions

enum ZSError

Defines the error codes returned by all Core SDK functions.

Enumerator:
ZS_ERROR_OKAY 
ZS_ERROR_NOT_IMPLEMENTED 
ZS_ERROR_NOT_INITIALIZED 
ZS_ERROR_ALREADY_INITIALIZED 
ZS_ERROR_INVALID_PARAMETER 
ZS_ERROR_INVALID_CONTEXT 
ZS_ERROR_INVALID_HANDLE 
ZS_ERROR_RUNTIME_INCOMPATIBLE 
ZS_ERROR_RUNTIME_NOT_FOUND 
ZS_ERROR_SYMBOL_NOT_FOUND 
ZS_ERROR_DISPLAY_NOT_FOUND 
ZS_ERROR_DEVICE_NOT_FOUND 
ZS_ERROR_TARGET_NOT_FOUND 
ZS_ERROR_CAPABILITY_NOT_FOUND 
ZS_ERROR_BUFFER_TOO_SMALL