Skip to content

File ManusSDK.h

FileList > api > cppSDK > SDKClient > ManusSDK.h

Go to the source code of this file

  • #include "ManusSDKTypes.h"
  • #include "ManusSDKTypeInitializers.h"
  • #include <stdint.h>

Public Functions

Type Name
CORESDK_API SDKReturnCode CoreSdk_AddChainToSkeletonSetup (uint32_t p_SkeletonSetupIndex, ChainSetup p_Chain)
Add a chain to a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_AddColliderToSkeletonSetup (uint32_t p_SkeletonSetupIndex, ColliderSetup p_Collider)
Add a collider to a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_AddMeshSetupToSkeletonSetup (uint32_t p_SkeletonSetupIndex, uint32_t p_NodeID, uint32_t * p_MeshSetupIndex)
Add a mesh setup to a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_AddNodeToSkeletonSetup (uint32_t p_SkeletonSetupIndex, NodeSetup p_Node)
Add a node to a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_AddTriangleToMeshSetup (uint32_t p_SkeletonSetupIndex, uint32_t p_MeshSetupIndex, Triangle p_Triangle)
Add a Triangle to a mesh setup at a given index.
CORESDK_API SDKReturnCode CoreSdk_AddVertexToMeshSetup (uint32_t p_SkeletonSetupIndex, uint32_t p_MeshSetupIndex, Vertex p_Vertex)
Add a Vertex to a mesh setup at a given index.
CORESDK_API SDKReturnCode CoreSdk_AllocateChainsForSkeletonSetup (uint32_t p_SkeletonSetupIndex)
Allocate chains for a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_ClearAllTemporarySkeletons ()
Clear all temporary skeletons associated to the current session both in the sdk and core. All skeleton setups will no longer be valid after this call.
CORESDK_API SDKReturnCode CoreSdk_ClearTemporarySkeleton (uint32_t p_SkeletonSetupIndex, uint32_t p_SessionId)
Clear a SkeletonSetup at a given index and sessionId in Manus Core and the SDK. The given setup index will no longer be valid after this call.
CORESDK_API SDKReturnCode CoreSdk_CompressTemporarySkeletonAndGetSize (uint32_t p_SkeletonSetupIndex, uint32_t p_SessionId, uint32_t * p_TemporarySkeletonLengthInBytes)
Send a temporary skeleton to Core to compress it (convert it into an array of bytes) and then get the compressed data back in the SDK, the skeleton compressed data are stored internally. It returns the length of the bytes array for correct memory allocation. This function must be called before CoreSdk_GetCompressedTemporarySkeletonData.
CORESDK_API SDKReturnCode CoreSdk_ConnectGRPC ()
Connect to the preset GRPC address.
CORESDK_API SDKReturnCode CoreSdk_ConnectToHost (ManusHost p_Host)
Connect to a host using the given host information.
CORESDK_API SDKReturnCode CoreSdk_CreateSkeletonSetup (SkeletonSetupInfo p_Skeleton, uint32_t * p_SkeletonSetupIndex)
Create a new SkeletonSetup with the given information and returns the index on which it is saved.
CORESDK_API SDKReturnCode CoreSdk_Disconnect ()
Disconnects from the current host.
CORESDK_API SDKReturnCode CoreSdk_DoesSkeletonGloveSupportHaptics (uint32_t p_SkeletonId, Side p_HandType, bool * p_IsHaptics)
Identifies if the glove associated to the skeleton with given id and side is a haptic one.
CORESDK_API SDKReturnCode CoreSdk_GetAvailableHostsFound (ManusHost * p_AvailableHostsFound, const uint32_t p_NumberOfHostsThatFitInArray)
Fill the given array with information on the hosts that were found. This is the third and final function to call when looking for hosts to connect to.
CORESDK_API SDKReturnCode CoreSdk_GetCompressedTemporarySkeletonData (unsigned char * p_TemporarySkeletonData, uint32_t p_TemporarySkeletonLengthInBytes)
Get the compressed temporary skeleton data which are stored internally when calling function CoreSdk_CompressTemporarySkeletonAndGetSize. The size of p_TemporarySkeletonData must match with p_TemporarySkeletonLengthInBytes.
CORESDK_API SDKReturnCode CoreSdk_GetDataForDongle (uint32_t p_DongleId, DongleLandscapeData * p_DongleData)
Gets the data for a dongle with the given id.
CORESDK_API SDKReturnCode CoreSdk_GetDataForGlove_UsingGloveId (uint32_t p_GloveId, GloveLandscapeData * p_GloveData)
Get data for the glove with the given glove ID.
CORESDK_API SDKReturnCode CoreSdk_GetDataForTracker_UsingIdAndType (uint32_t p_UserId, uint32_t p_TrackerType, TrackerData * p_TrackerData)
Get data for the tracker with the given user id and type.
CORESDK_API SDKReturnCode CoreSdk_GetDataForTracker_UsingTrackerId (TrackerId p_TrackerId, TrackerData * p_TrackerData)
Get data for the tracker with the given tracker Id.
CORESDK_API SDKReturnCode CoreSdk_GetDongleIds (uint32_t * p_DongleIds, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of all available dongles. The size of the given array must match the number of available dongles. Note that the number of available dongles can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetGestureLandscapeData (GestureLandscapeData * p_LandscapeDataArray, uint32_t p_ArraySize)
Get the landscape data for all the gestures in the latest landscape.
CORESDK_API SDKReturnCode CoreSdk_GetGestureStreamData (uint32_t p_GestureStreamDataIndex, uint32_t p_StartDataIndex, GestureProbabilities * p_GestureProbabilitiesCollection)
The start data index allows you to get more data if there are more than MAX_GESTURE_DATA_CHUNK_SIZE gestures.
CORESDK_API SDKReturnCode CoreSdk_GetGloveIdOfUser_UsingUserId (uint32_t p_UserId, Side p_HandType, uint32_t * p_GloveId)
Get a glove ID for the given hand of the given user identified by its Id.
CORESDK_API SDKReturnCode CoreSdk_GetGlovesForDongle (uint32_t p_DongleId, uint32_t * p_LeftGloveId, uint32_t * p_RightGloveId)
Get glove id's for given dongle id.
CORESDK_API SDKReturnCode CoreSdk_GetHapticsDongleIds (uint32_t * p_HapticsDongleIds, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of all available haptics dongles. The size of the given array must match the number of available haptics dongles. Note that the number of available haptics dongles can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableGloves (uint32_t * p_IdsOfAvailableGloves, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of all available gloves. The size of the given array must match the number of available gloves. Note that the number of available gloves can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableTrackers (TrackerId * p_IdsOfAvailableTrackers, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of available trackers. The size of the given array must match the number of available trackers. Note that the number of available trackers can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableTrackersForUserId (TrackerId * p_IdsOfAvailableTrackers, uint32_t p_UserId, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of available trackers for a user with given Id. The size of the given array must match the number of available trackers. Note that the number of available trackers can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableTrackersForUserIndex (TrackerId * p_IdsOfAvailableTrackers, uint32_t p_UserIndex, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of available trackers for a user with given Id. The size of the given array must match the number of available trackers. Note that the number of available trackers can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableUsers (uint32_t * p_IdsOfAvailableUsers, uint32_t p_NumberOfIdsThatFitInArray)
Fill the given array with the IDs of all available users. The size of the given array must match the number of available users. Note that the number of available users can change at any time depending on the landscape.
CORESDK_API SDKReturnCode CoreSdk_GetIsConnectedToCore (bool * p_ConnectedToCore)
Check if the wrapper is connected to ManusCore.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableGloves (uint32_t * p_NumberOfAvailableGloves)
Get the number of gloves that are available.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableHostsFound (uint32_t * p_NumberOfAvailableHostsFound)
Get the number of hosts running Manus Core that were found. This is the second function to call when looking for hosts to connect to.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackers (uint32_t * p_NumberOfAvailableTrackers)
Get the number of available trackers.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackersForUserId (uint32_t * p_NumberOfAvailableTrackers, uint32_t p_UserId)
Get the number of available trackers for a user with given Id.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackersForUserIndex (uint32_t * p_NumberOfAvailableTrackers, uint32_t p_UserIndex)
Get the number of available trackers for a user with given Id.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableUsers (uint32_t * p_NumberOfAvailableUsers)
Get the number of available users. Note that this is reliant on the landscape, and the first second after connecting the client to the core it will not yet have landscape data, so the number of users wil be 0. Since there will always be a default users, just wait until the count is above 0 and then proceed.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfDongles (uint32_t * p_NumberOfDongles)
Get the number of available dongles.
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfHapticsDongles (uint32_t * p_NumberOfHapticsDongles)
Get the number of available haptics dongles.
CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonData (uint32_t p_SkeletonIndex, SkeletonNode * p_Nodes, uint32_t p_NodeCount)
Get data for the raw skeleton with given index. The size of the given array must match the nodes count. Note that the nodes count can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonInfo (uint32_t p_SkeletonIndex, RawSkeletonInfo * p_Info)
Get information about the raw skeleton data with given index.
CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonNodeCount (uint32_t p_GloveId, uint32_t & p_NodeCount)
Get the amount of nodes for the raw skeleton with given id.
CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonNodeInfo (uint32_t p_GloveId, NodeInfo * p_NodeInfo)
Get the information for nodes of the raw skeleton with given id The size of the given array p_NodeInfo must match the node count retrieved from CoreSdk_GetRawSkeletonNodeCount.
CORESDK_API SDKReturnCode CoreSdk_GetSessionId (uint32_t * p_SessionId)
Get the current session Id.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonData (uint32_t p_SkeletonIndex, SkeletonNode * p_Nodes, uint32_t p_NodeCount)
Get data for the final animated skeleton with given index. The size of the given array must match the nodes count. Note that the nodes count can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonInfo (uint32_t p_SkeletonIndex, SkeletonInfo * p_Info)
Get information about the final animated skeleton with given index.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupArraySizes (uint32_t p_SkeletonSetupIndex, SkeletonSetupArraySizes * p_SkeletonInfo)
Get the skeleton info (number of nodes and chains) for a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupChains (uint32_t p_SkeletonSetupIndex, ChainSetup * p_SDK)
Get setup chains for a SkeletonSetup at a given index. The size of the given array must match the chains count. Note that the chains count can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupColliders (uint32_t p_SkeletonSetupIndex, ColliderSetup * p_SDK)
Get setup colliders for a SkeletonSetup at a given index. The size of the given array must match the colliders count. Note that the colliders count can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupInfo (uint32_t p_SkeletonSetupIndex, SkeletonSetupInfo * p_SDK)
Get setup info for a SkeletonSetup at a given index.
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupNodes (uint32_t p_SkeletonSetupIndex, NodeSetup * p_SDK)
Get setup nodes for a SkeletonSetup at a given index. The size of the given array must match the nodes count. Note that the nodes count can change at any time.
CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeleton (uint32_t p_SkeletonSetupIndex, uint32_t p_SessionId)
Get a SkeletonSetup at a given index and sessionId from Manus Core. This function does NOT return a loaded skeleton!
CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonCountForAllSessions (TemporarySkeletonCountForAllSessions * p_TemporarySkeletonCountForAllSessions)
Get temporary skeleton counts for all sessions connected to Core.
CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonFromCompressedData (uint32_t p_SkeletonSetupIndex, uint32_t p_SessionId, unsigned char * p_TemporarySkeletonData, uint32_t p_TemporarySkeletonLengthInBytes)
Send the compressed data (an array of bytes) retrieved from a file to Core to be decompressed and converted back into a temporary skeleton. The received temporary skeleton is saved internally with the given index and to the given session id. The size of p_TemporarySkeletonData must match with p_TemporarySkeletonLengthInBytes.
CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonsInfoForSession (uint32_t p_SessionId, TemporarySkeletonsInfoForSession * p_TemporarySkeletonsInfoForSession)
Get information (name and index) for the SkeletonSetups of the specified session.
CORESDK_API SDKReturnCode CoreSdk_GetTimestampInfo (ManusTimestamp p_Timestamp, ManusTimestampInfo * p_Info)
Gets the timestamp info (more readable form of timestamp).
CORESDK_API SDKReturnCode CoreSdk_GetTrackerData (uint32_t p_TrackerIndex, TrackerData * p_TrackerData)
Get data for a tracker at a given index in the TrackerStream callback.
CORESDK_API SDKReturnCode CoreSdk_GetVersionsAndCheckCompatibility (ManusVersion * p_SdkVersion, ManusVersion * p_CoreVersion, bool * p_AreVersionsCompatible)
Get the SDK and Core version used and check if they are compatible with each other.
CORESDK_API SDKReturnCode CoreSdk_Initialize (SessionType p_TypeOfSession)
Initialize the wrapper. Call this before using the wrapper.
CORESDK_API SDKReturnCode CoreSdk_InitializeCoordinateSystemWithDirection (CoordinateSystemDirection p_CoordinateSystem, bool p_UseWorldCoordinates)
Initialize a coordinate system of type CoordinateSystemDirection . This has to be called before a connection is made.
CORESDK_API SDKReturnCode CoreSdk_InitializeCoordinateSystemWithVUH (CoordinateSystemVUH p_CoordinateSystem, bool p_UseWorldCoordinates)
Initialize a coordinate system of type CoordinateSystemVUH . (View Up Handedness) This has to be called before a connection is made.
CORESDK_API SDKReturnCode CoreSdk_LoadSkeleton (uint32_t p_SkeletonSetupIndex, uint32_t * p_SkeletonId)
Sends a skeleton setup to core to become a skeleton upon which data is applied. Returns the skeleton ID of the loaded skeleton, this ID is used to identify the skeleton in the SkeletonStreamCallback. Loading a skeleton into core for retargetting removes it from the temporary skeletons array, thus causing the p_SkeletonSetupIndex to no longer be valid after this call.
CORESDK_API SDKReturnCode CoreSdk_LookForHosts (uint32_t p_WaitSeconds=1, bool p_LoopbackOnly=false)
Start a background task that looks for hosts running Manus Core. Call this first when looking for hosts to connect to. Underlying function will sleep for p_WaitSeconds to allow servers to reply.
CORESDK_API SDKReturnCode CoreSdk_OverwriteChainToSkeletonSetup (uint32_t p_SkeletonSetupIndex, ChainSetup p_Chain)
Overwrite a chain in a SkeletonSetup, the chain to be overwritten is idenfified by p_Chain.id.
CORESDK_API SDKReturnCode CoreSdk_OverwriteNodeToSkeletonSetup (uint32_t p_SkeletonSetupIndex, NodeSetup p_Node)
Overwrite a node in a SkeletonSetup, the node to be overwritten is identified by p_Node.id.
CORESDK_API SDKReturnCode CoreSdk_OverwriteSkeletonSetup (uint32_t p_SkeletonSetupIndex, SkeletonSetupInfo p_SkeletonSetup)
Overwrite an existing SkeletonSetup at a given index. This will remove all chains and nodes from the current skeleton at this index.
CORESDK_API SDKReturnCode CoreSdk_PrepareSkeletonSetup (uint32_t p_SkeletonSetupIndex)
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForErgonomicsStream (ErgonomicsStreamCallback_t p_ErgonomicsStreamCallback)
Register the callback function that is called when ergonomics data comes in.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForGestureStream (GestureStreamCallback_t p_GestureStreamCallback)
Register the callback function that is called when gesture data comes in.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForLandscapeStream (LandscapeStreamCallback_t p_LandscapeStreamCallback)
Register the callback function that is called when the landscape data comes in.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnConnect (ConnectedToCoreCallback_t p_ConnectedCallback)
Register the callback function that is called when manus core gets connected to the sdk.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnDisconnect (DisconnectedFromCoreCallback_t p_DisconnectedCallback)
Register the callback function that is called when manus core gets disconnected from the sdk.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForRawSkeletonStream (RawSkeletonStreamCallback_t p_RawSkeletonStreamCallback)
Register the callback function that is called when skeleton data comes in.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSkeletonStream (SkeletonStreamCallback_t p_SkeletonStreamCallback)
Register the callback function that is called when skeleton data comes in.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSystemStream (SystemStreamCallback_t p_SystemStreamCallback)
Register the callback function that is called when core system related data comes in.
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForTrackerStream (TrackerStreamCallback_t p_TrackerStreamCallback)
Register the callback function that is called when tracker data comes in.
CORESDK_API SDKReturnCode CoreSdk_SaveTemporarySkeleton (uint32_t p_SkeletonSetupIndex, uint32_t p_SessionId, bool p_IsSkeletonModified)
Save a SkeletonSetup at a given index and sessionId into Manus Core for use in the Dev Tools. p_IsSkeletonModified is intended to be used mainly by the Dev Tools, it is set to true after saving any modification to the skeleton, this triggers the OnSyStemCallback which is used in the SDK to be notified about a change to its temporary skeletons.
CORESDK_API SDKReturnCode CoreSdk_SendDataForTrackers (const TrackerData * p_TrackerData, uint32_t p_NumberOfTrackers)
Send data to Core for a tracker.
CORESDK_API SDKReturnCode CoreSdk_SetTimestampInfo (ManusTimestamp * p_Timestamp, ManusTimestampInfo p_Info)
Sets the timestamp according to the info (more readable form of timestamp).
CORESDK_API SDKReturnCode CoreSdk_ShutDown ()
Shut down the wrapper. This needs to be called last.
CORESDK_API SDKReturnCode CoreSdk_UnloadSkeleton (uint32_t p_SkeletonId)
Unload a skeleton with a certain ID from Manus Core, so data will no longer be generated for it.
CORESDK_API SDKReturnCode CoreSdk_VibrateFingers (uint32_t p_DongleId, Side p_HandType, const float * p_Powers)
Vibrate the motor on the given fingers of a haptic glove. The order of the fingers is Thumb, Index, Middle, Ring, Pinky.
CORESDK_API SDKReturnCode CoreSdk_VibrateFingersForSkeleton (uint32_t p_SkeletonId, Side p_HandType, const float * p_Powers)
Vibrate the motor on the fingers of a haptic glove associated to skeleton with given id. The order of the fingers is Thumb, Index, Middle, Ring, Pinky.
CORESDK_API SDKReturnCode CoreSdk_WasDllBuiltInDebugConfiguration (bool * p_WasBuiltInDebugConfiguration)
Check if the wrapper DLL was built in the debug configuration.

Public Functions Documentation

function CoreSdk_AddChainToSkeletonSetup

Add a chain to a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AddChainToSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    ChainSetup p_Chain
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_Chain

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_AddColliderToSkeletonSetup

Add a collider to a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AddColliderToSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    ColliderSetup p_Collider
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_Collider

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_AddMeshSetupToSkeletonSetup

Add a mesh setup to a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AddMeshSetupToSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_NodeID,
    uint32_t * p_MeshSetupIndex
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_NodeID
  • p_MeshSetupIndex

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_AddNodeToSkeletonSetup

Add a node to a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AddNodeToSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    NodeSetup p_Node
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_Node

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_AddTriangleToMeshSetup

Add a Triangle to a mesh setup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AddTriangleToMeshSetup (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_MeshSetupIndex,
    Triangle p_Triangle
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_MeshSetupIndex
  • p_Triangle

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_AddVertexToMeshSetup

Add a Vertex to a mesh setup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AddVertexToMeshSetup (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_MeshSetupIndex,
    Vertex p_Vertex
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_MeshSetupIndex
  • p_Vertex

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_AllocateChainsForSkeletonSetup

Allocate chains for a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_AllocateChainsForSkeletonSetup (
    uint32_t p_SkeletonSetupIndex
) 

Parameters:

  • p_SkeletonSetupIndex

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_ClearAllTemporarySkeletons

Clear all temporary skeletons associated to the current session both in the sdk and core. All skeleton setups will no longer be valid after this call.

CORESDK_API SDKReturnCode CoreSdk_ClearAllTemporarySkeletons () 

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK,

function CoreSdk_ClearTemporarySkeleton

Clear a SkeletonSetup at a given index and sessionId in Manus Core and the SDK. The given setup index will no longer be valid after this call.

CORESDK_API SDKReturnCode CoreSdk_ClearTemporarySkeleton (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_SessionId
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SessionId

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_CompressTemporarySkeletonAndGetSize

Send a temporary skeleton to Core to compress it (convert it into an array of bytes) and then get the compressed data back in the SDK, the skeleton compressed data are stored internally. It returns the length of the bytes array for correct memory allocation. This function must be called before CoreSdk_GetCompressedTemporarySkeletonData.

CORESDK_API SDKReturnCode CoreSdk_CompressTemporarySkeletonAndGetSize (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_SessionId,
    uint32_t * p_TemporarySkeletonLengthInBytes
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SessionId
  • p_TemporarySkeletonLengthInBytes

Returns:

function CoreSdk_ConnectGRPC

Connect to the preset GRPC address.

CORESDK_API SDKReturnCode CoreSdk_ConnectGRPC () 

Returns:

SDKReturnCode_Success SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_ConnectToHost

Connect to a host using the given host information.

CORESDK_API SDKReturnCode CoreSdk_ConnectToHost (
    ManusHost p_Host
) 

Parameters:

  • p_Host

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_SdkIsTerminating if the sdk is being terminated, SDKReturnCode_FunctionCalledAtWrongTime if the function was not intended to be called at this time, SDKReturnCode_NoCoordinateSystemSet if the user tried to connect without first setting up the coordinate system settings.

function CoreSdk_CreateSkeletonSetup

Create a new SkeletonSetup with the given information and returns the index on which it is saved.

CORESDK_API SDKReturnCode CoreSdk_CreateSkeletonSetup (
    SkeletonSetupInfo p_Skeleton,
    uint32_t * p_SkeletonSetupIndex
) 

Parameters:

  • p_Skeleton The SkeletonSetup information used by this skeleton.
  • p_SkeletonSetupIndex The index which is used by this SkeletonSetup.

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if the maximum number of temporary skeletons per session has been reached, when this happens the user can either load or clear a temporary skeleton in order to create a new skeleton setup.

function CoreSdk_Disconnect

Disconnects from the current host.

CORESDK_API SDKReturnCode CoreSdk_Disconnect () 

Returns:

SDKReturnCode_Success SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_DoesSkeletonGloveSupportHaptics

Identifies if the glove associated to the skeleton with given id and side is a haptic one.

CORESDK_API SDKReturnCode CoreSdk_DoesSkeletonGloveSupportHaptics (
    uint32_t p_SkeletonId,
    Side p_HandType,
    bool * p_IsHaptics
) 

Parameters:

  • p_SkeletonId
  • p_HandType
  • p_IsHaptics

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_DataNotAvailable if the requested glove is not found or if the skeleton does not have any user associated to it, SDKReturnCode_InvalidArgument if the provided p_HandType is neither Left nor Right.

function CoreSdk_GetAvailableHostsFound

Fill the given array with information on the hosts that were found. This is the third and final function to call when looking for hosts to connect to.

CORESDK_API SDKReturnCode CoreSdk_GetAvailableHostsFound (
    ManusHost * p_AvailableHostsFound,
    const uint32_t p_NumberOfHostsThatFitInArray
) 

Parameters:

  • p_AvailableHostsFound
  • p_NumberOfHostsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_FunctionCalledAtWrongTime if the function was not intended to be called at this time SDKReturnCode_ArgumentSizeMismatch if p_NumberOfHostsThatFitInArray does not match the number of available hosts found in the network, SDKReturnCode_InvalidArgument if the provided p_AvailableHostsFound is a null pointer, SDKReturnCode_InternalError if the number of available hosts found is higher than the defined MAX_NUMBER_OF_HOSTS, SDKReturnCode_UnsupportedStringSizeEncountered if the name of a host is higher than the defined MAX_NUM_CHARS_IN_HOST_NAME, SDKReturnCode_Error if copying the string representing the host name was not successful, SDKReturnCode_NullPointer if invalid host data was found.

function CoreSdk_GetCompressedTemporarySkeletonData

Get the compressed temporary skeleton data which are stored internally when calling function CoreSdk_CompressTemporarySkeletonAndGetSize. The size of p_TemporarySkeletonData must match with p_TemporarySkeletonLengthInBytes.

CORESDK_API SDKReturnCode CoreSdk_GetCompressedTemporarySkeletonData (
    unsigned char * p_TemporarySkeletonData,
    uint32_t p_TemporarySkeletonLengthInBytes
) 

Parameters:

  • p_TemporarySkeletonData
  • p_TemporarySkeletonLengthInBytes

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_GetDataForDongle

Gets the data for a dongle with the given id.

CORESDK_API SDKReturnCode CoreSdk_GetDataForDongle (
    uint32_t p_DongleId,
    DongleLandscapeData * p_DongleData
) 

Parameters:

  • p_DongleId
  • p_DongleData

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_DataNotAvailable if no dongle with the provided p_DongleId was found in the landscape.

function CoreSdk_GetDataForGlove_UsingGloveId

Get data for the glove with the given glove ID.

CORESDK_API SDKReturnCode CoreSdk_GetDataForGlove_UsingGloveId (
    uint32_t p_GloveId,
    GloveLandscapeData * p_GloveData
) 

Parameters:

  • p_GloveId
  • p_GloveData

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_DataNotAvailable if no glove with the provided p_GloveId was found in the landscape.

function CoreSdk_GetDataForTracker_UsingIdAndType

Get data for the tracker with the given user id and type.

CORESDK_API SDKReturnCode CoreSdk_GetDataForTracker_UsingIdAndType (
    uint32_t p_UserId,
    uint32_t p_TrackerType,
    TrackerData * p_TrackerData
) 

Parameters:

  • p_UserId
  • p_TrackerType
  • p_TrackerData

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_DataNotAvailable if no tracker with the given p_TrackerId and the given p_TrackerType was found in the landscape.

function CoreSdk_GetDataForTracker_UsingTrackerId

Get data for the tracker with the given tracker Id.

CORESDK_API SDKReturnCode CoreSdk_GetDataForTracker_UsingTrackerId (
    TrackerId p_TrackerId,
    TrackerData * p_TrackerData
) 

Parameters:

  • p_TrackerId
  • p_TrackerData

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_DataNotAvailable if no tracker with the given p_TrackerId was found in the landscape.

function CoreSdk_GetDongleIds

Fill the given array with the IDs of all available dongles. The size of the given array must match the number of available dongles. Note that the number of available dongles can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetDongleIds (
    uint32_t * p_DongleIds,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_DongleIds
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with the number of dongles found, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is zero or higher than the defined MAX_NUMBER_OF_HAPTICS_DONGLES.

function CoreSdk_GetGestureLandscapeData

Get the landscape data for all the gestures in the latest landscape.

CORESDK_API SDKReturnCode CoreSdk_GetGestureLandscapeData (
    GestureLandscapeData * p_LandscapeDataArray,
    uint32_t p_ArraySize
) 

Parameters:

  • p_LandscapeDataArray
  • p_ArraySize

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_ArraySize is higher than the total number of gestures in the landscape stream.

function CoreSdk_GetGestureStreamData

The start data index allows you to get more data if there are more than MAX_GESTURE_DATA_CHUNK_SIZE gestures.

CORESDK_API SDKReturnCode CoreSdk_GetGestureStreamData (
    uint32_t p_GestureStreamDataIndex,
    uint32_t p_StartDataIndex,
    GestureProbabilities * p_GestureProbabilitiesCollection
) 

Parameters:

  • p_GestureStreamDataIndex
  • p_StartDataIndex
  • p_GestureProbabilitiesCollection

Returns:

SDKReturnCode_Success if successful, or if there is no more data to get SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_ArraySize is higher than the total number of gestures in the landscape stream.

function CoreSdk_GetGloveIdOfUser_UsingUserId

Get a glove ID for the given hand of the given user identified by its Id.

CORESDK_API SDKReturnCode CoreSdk_GetGloveIdOfUser_UsingUserId (
    uint32_t p_UserId,
    Side p_HandType,
    uint32_t * p_GloveId
) 

Parameters:

  • p_UserId
  • p_HandType
  • p_GloveId

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidArgument if the provided p_HandType was neither left nor right, SDKReturnCode_InvalidID if no user with the provided p_UserId was found in the landscape.

function CoreSdk_GetGlovesForDongle

Get glove id's for given dongle id.

CORESDK_API SDKReturnCode CoreSdk_GetGlovesForDongle (
    uint32_t p_DongleId,
    uint32_t * p_LeftGloveId,
    uint32_t * p_RightGloveId
) 

Parameters:

  • p_DongleId
  • p_LeftGloveId
  • p_RightGloveId

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_GetHapticsDongleIds

Fill the given array with the IDs of all available haptics dongles. The size of the given array must match the number of available haptics dongles. Note that the number of available haptics dongles can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetHapticsDongleIds (
    uint32_t * p_HapticsDongleIds,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_HapticsDongleIds
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with the number of haptic dongles found, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is zero or higher than the defined MAX_NUMBER_OF_HAPTICS_DONGLES.

function CoreSdk_GetIdsOfAvailableGloves

Fill the given array with the IDs of all available gloves. The size of the given array must match the number of available gloves. Note that the number of available gloves can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableGloves (
    uint32_t * p_IdsOfAvailableGloves,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_IdsOfAvailableGloves
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with the number of available gloves found, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is zero or is higher than the defined MAX_NUMBER_OF_GLOVES.

function CoreSdk_GetIdsOfAvailableTrackers

Fill the given array with the IDs of available trackers. The size of the given array must match the number of available trackers. Note that the number of available trackers can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableTrackers (
    TrackerId * p_IdsOfAvailableTrackers,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_IdsOfAvailableTrackers
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is zero or higher than the defined MAX_NUMBER_OF_TRACKERS, or if p_IdsOfAvailableTrackers is a null array. SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with the number of available trackers found.

function CoreSdk_GetIdsOfAvailableTrackersForUserId

Fill the given array with the IDs of available trackers for a user with given Id. The size of the given array must match the number of available trackers. Note that the number of available trackers can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableTrackersForUserId (
    TrackerId * p_IdsOfAvailableTrackers,
    uint32_t p_UserId,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_IdsOfAvailableTrackers
  • p_UserId
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is zero or higher than the defined MAX_NUMBER_OF_TRACKERS, or if p_IdsOfAvailableTrackers is a null array. SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with the number of available trackers found.

function CoreSdk_GetIdsOfAvailableTrackersForUserIndex

Fill the given array with the IDs of available trackers for a user with given Id. The size of the given array must match the number of available trackers. Note that the number of available trackers can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableTrackersForUserIndex (
    TrackerId * p_IdsOfAvailableTrackers,
    uint32_t p_UserIndex,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_IdsOfAvailableTrackers
  • p_UserIndex
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is zero or higher than the defined MAX_NUMBER_OF_TRACKERS, or if p_IdsOfAvailableTrackers is a null array. SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with the number of available trackers found.

function CoreSdk_GetIdsOfAvailableUsers

Fill the given array with the IDs of all available users. The size of the given array must match the number of available users. Note that the number of available users can change at any time depending on the landscape.

CORESDK_API SDKReturnCode CoreSdk_GetIdsOfAvailableUsers (
    uint32_t * p_IdsOfAvailableUsers,
    uint32_t p_NumberOfIdsThatFitInArray
) 

Parameters:

  • p_IdsOfAvailableUsers array of ids that will get filled
  • p_NumberOfIdsThatFitInArray

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidArgument if p_NumberOfIdsThatFitInArray is null or higher than the defined MAX_NUMBER_OF_USERS, or if p_IdsOfAvailableUsers is a null array. SDKReturnCode_ArgumentSizeMismatch if p_NumberOfIdsThatFitInArray does not match with number of available users found.

function CoreSdk_GetIsConnectedToCore

Check if the wrapper is connected to ManusCore.

CORESDK_API SDKReturnCode CoreSdk_GetIsConnectedToCore (
    bool * p_ConnectedToCore
) 

Parameters:

  • p_ConnectedToCore

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_GetNumberOfAvailableGloves

Get the number of gloves that are available.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableGloves (
    uint32_t * p_NumberOfAvailableGloves
) 

Parameters:

  • p_NumberOfAvailableGloves

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of available gloves found is higher than the defined MAX_NUMBER_OF_GLOVES.

function CoreSdk_GetNumberOfAvailableHostsFound

Get the number of hosts running Manus Core that were found. This is the second function to call when looking for hosts to connect to.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableHostsFound (
    uint32_t * p_NumberOfAvailableHostsFound
) 

Parameters:

  • p_NumberOfAvailableHostsFound

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_FunctionCalledAtWrongTime if the function was not intended to be called at this time.

function CoreSdk_GetNumberOfAvailableTrackers

Get the number of available trackers.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackers (
    uint32_t * p_NumberOfAvailableTrackers
) 

Parameters:

  • p_NumberOfAvailableTrackers

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of trackers found is higher than the defined MAX_NUMBER_OF_TRACKERS.

function CoreSdk_GetNumberOfAvailableTrackersForUserId

Get the number of available trackers for a user with given Id.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackersForUserId (
    uint32_t * p_NumberOfAvailableTrackers,
    uint32_t p_UserId
) 

Parameters:

  • p_NumberOfAvailableTrackers
  • p_UserId

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of trackers found is higher than the defined MAX_NUMBER_OF_TRACKERS.

function CoreSdk_GetNumberOfAvailableTrackersForUserIndex

Get the number of available trackers for a user with given Id.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackersForUserIndex (
    uint32_t * p_NumberOfAvailableTrackers,
    uint32_t p_UserIndex
) 

Parameters:

  • p_NumberOfAvailableTrackers
  • p_UserIndex

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of trackers found is higher than the defined MAX_NUMBER_OF_TRACKERS.

function CoreSdk_GetNumberOfAvailableUsers

Get the number of available users. Note that this is reliant on the landscape, and the first second after connecting the client to the core it will not yet have landscape data, so the number of users wil be 0. Since there will always be a default users, just wait until the count is above 0 and then proceed.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableUsers (
    uint32_t * p_NumberOfAvailableUsers
) 

Parameters:

  • p_NumberOfAvailableUsers

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of available users found is higher than the defined MAX_NUMBER_OF_USERS.

function CoreSdk_GetNumberOfDongles

Get the number of available dongles.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfDongles (
    uint32_t * p_NumberOfDongles
) 

Parameters:

  • p_NumberOfDongles

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of dongles found is higher than the defined MAX_NUMBER_OF_DONGLES.

function CoreSdk_GetNumberOfHapticsDongles

Get the number of available haptics dongles.

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfHapticsDongles (
    uint32_t * p_NumberOfHapticsDongles
) 

Parameters:

  • p_NumberOfHapticsDongles

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InternalError if the number of haptic dongles found is higher than the defined MAX_NUMBER_OF_HAPTICS_DONGLES.

function CoreSdk_GetRawSkeletonData

Get data for the raw skeleton with given index. The size of the given array must match the nodes count. Note that the nodes count can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonData (
    uint32_t p_SkeletonIndex,
    SkeletonNode * p_Nodes,
    uint32_t p_NodeCount
) 

Parameters:

  • p_SkeletonIndex
  • p_Nodes
  • p_NodeCount

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_SkeletonIndex is higher than the total number of skeletons received from the skeleton stream or if the provided p_NodeCount is different from the node count of that skeleton.

function CoreSdk_GetRawSkeletonInfo

Get information about the raw skeleton data with given index.

CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonInfo (
    uint32_t p_SkeletonIndex,
    RawSkeletonInfo * p_Info
) 

Parameters:

  • p_SkeletonIndex
  • p_Info

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_SkeletonIndex is higher than the total number of skeletons received from the skeleton stream.

function CoreSdk_GetRawSkeletonNodeCount

Get the amount of nodes for the raw skeleton with given id.

CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonNodeCount (
    uint32_t p_GloveId,
    uint32_t & p_NodeCount
) 

Parameters:

  • p_GloveId
  • p_NodeCount

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided glove id does not match any skeleton in core

function CoreSdk_GetRawSkeletonNodeInfo

Get the information for nodes of the raw skeleton with given id The size of the given array p_NodeInfo must match the node count retrieved from CoreSdk_GetRawSkeletonNodeCount.

CORESDK_API SDKReturnCode CoreSdk_GetRawSkeletonNodeInfo (
    uint32_t p_GloveId,
    NodeInfo * p_NodeInfo
) 

Parameters:

  • p_GloveId
  • p_NodeInfo

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided glove id does not match any skeleton in core

function CoreSdk_GetSessionId

Get the current session Id.

CORESDK_API SDKReturnCode CoreSdk_GetSessionId (
    uint32_t * p_SessionId
) 

Parameters:

  • p_SessionId

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_InvalidID if the session id is zero, which means it was not correctly assigned.

function CoreSdk_GetSkeletonData

Get data for the final animated skeleton with given index. The size of the given array must match the nodes count. Note that the nodes count can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonData (
    uint32_t p_SkeletonIndex,
    SkeletonNode * p_Nodes,
    uint32_t p_NodeCount
) 

Parameters:

  • p_SkeletonIndex
  • p_Nodes
  • p_NodeCount

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_SkeletonIndex is higher than the total number of skeletons received from the skeleton stream or if the provided p_NodeCount is different from the node count of that skeleton.

function CoreSdk_GetSkeletonInfo

Get information about the final animated skeleton with given index.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonInfo (
    uint32_t p_SkeletonIndex,
    SkeletonInfo * p_Info
) 

Parameters:

  • p_SkeletonIndex
  • p_Info

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_SkeletonIndex is higher than the total number of skeletons received from the skeleton stream.

function CoreSdk_GetSkeletonSetupArraySizes

Get the skeleton info (number of nodes and chains) for a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupArraySizes (
    uint32_t p_SkeletonSetupIndex,
    SkeletonSetupArraySizes * p_SkeletonInfo
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SkeletonInfo

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_GetSkeletonSetupChains

Get setup chains for a SkeletonSetup at a given index. The size of the given array must match the chains count. Note that the chains count can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupChains (
    uint32_t p_SkeletonSetupIndex,
    ChainSetup * p_SDK
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SDK

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_NullPointer if the provided p_SDK (used to store the setup chains) is a null pointer, it should be initialized to an array with size equal to the chains count, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_GetSkeletonSetupColliders

Get setup colliders for a SkeletonSetup at a given index. The size of the given array must match the colliders count. Note that the colliders count can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupColliders (
    uint32_t p_SkeletonSetupIndex,
    ColliderSetup * p_SDK
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SDK

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_NullPointer if the provided p_SDK (used to store the setup colliders) is a null pointer, it should be initialized to an array with size equal to the colliders count, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_GetSkeletonSetupInfo

Get setup info for a SkeletonSetup at a given index.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupInfo (
    uint32_t p_SkeletonSetupIndex,
    SkeletonSetupInfo * p_SDK
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SDK

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, /// SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_GetSkeletonSetupNodes

Get setup nodes for a SkeletonSetup at a given index. The size of the given array must match the nodes count. Note that the nodes count can change at any time.

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupNodes (
    uint32_t p_SkeletonSetupIndex,
    NodeSetup * p_SDK
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SDK

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_NullPointer if the provided p_SDK (used to store the setup nodes) is a null pointer, it should be initialized to an array with size equal to the nodes count, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_GetTemporarySkeleton

Get a SkeletonSetup at a given index and sessionId from Manus Core. This function does NOT return a loaded skeleton!

CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeleton (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_SessionId
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SessionId

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK,

function CoreSdk_GetTemporarySkeletonCountForAllSessions

Get temporary skeleton counts for all sessions connected to Core.

CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonCountForAllSessions (
    TemporarySkeletonCountForAllSessions * p_TemporarySkeletonCountForAllSessions
) 

Parameters:

  • p_temporarySkeletonSessionsData

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_GetTemporarySkeletonFromCompressedData

Send the compressed data (an array of bytes) retrieved from a file to Core to be decompressed and converted back into a temporary skeleton. The received temporary skeleton is saved internally with the given index and to the given session id. The size of p_TemporarySkeletonData must match with p_TemporarySkeletonLengthInBytes.

CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonFromCompressedData (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_SessionId,
    unsigned char * p_TemporarySkeletonData,
    uint32_t p_TemporarySkeletonLengthInBytes
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SessionId
  • p_PathName

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK,

function CoreSdk_GetTemporarySkeletonsInfoForSession

Get information (name and index) for the SkeletonSetups of the specified session.

CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonsInfoForSession (
    uint32_t p_SessionId,
    TemporarySkeletonsInfoForSession * p_TemporarySkeletonsInfoForSession
) 

Parameters:

  • p_SessionId
  • p_temporarySkeletonSessionsData

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_GetTimestampInfo

Gets the timestamp info (more readable form of timestamp).

CORESDK_API SDKReturnCode CoreSdk_GetTimestampInfo (
    ManusTimestamp p_Timestamp,
    ManusTimestampInfo * p_Info
) 

Parameters:

  • p_Timestamp Timestamp to get info from
  • p_Info Info of the timestamp

Returns:

SDKReturnCode_Success if successful.

function CoreSdk_GetTrackerData

Get data for a tracker at a given index in the TrackerStream callback.

CORESDK_API SDKReturnCode CoreSdk_GetTrackerData (
    uint32_t p_TrackerIndex,
    TrackerData * p_TrackerData
) 

Parameters:

  • p_TrackerIndex
  • p_Nodes

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_ArgumentSizeMismatch if p_TrackerIndex is higher than the total number of trackers received from the tracker stream.

function CoreSdk_GetVersionsAndCheckCompatibility

Get the SDK and Core version used and check if they are compatible with each other.

CORESDK_API SDKReturnCode CoreSdk_GetVersionsAndCheckCompatibility (
    ManusVersion * p_SdkVersion,
    ManusVersion * p_CoreVersion,
    bool * p_AreVersionsCompatible
) 

Parameters:

  • p_SdkVersion
  • p_CoreVersion
  • p_AreVersionsCompatible

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_Initialize

Initialize the wrapper. Call this before using the wrapper.

CORESDK_API SDKReturnCode CoreSdk_Initialize (
    SessionType p_TypeOfSession
) 

Parameters:

  • p_TypeOfSession

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_FunctionCalledAtWrongTime if the function was not intended to be called at this time.

function CoreSdk_InitializeCoordinateSystemWithDirection

Initialize a coordinate system of type CoordinateSystemDirection . This has to be called before a connection is made.

CORESDK_API SDKReturnCode CoreSdk_InitializeCoordinateSystemWithDirection (
    CoordinateSystemDirection p_CoordinateSystem,
    bool p_UseWorldCoordinates
) 

Parameters:

  • p_CoordinateSystem
  • p_UseWorldCoordinates if true all data will be defined with respect to a world coordinate system, if false all data will be defined with respect to a local one,

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_InitializeCoordinateSystemWithVUH

Initialize a coordinate system of type CoordinateSystemVUH . (View Up Handedness) This has to be called before a connection is made.

CORESDK_API SDKReturnCode CoreSdk_InitializeCoordinateSystemWithVUH (
    CoordinateSystemVUH p_CoordinateSystem,
    bool p_UseWorldCoordinates
) 

Parameters:

  • p_CoordinateSystem
  • p_UseWorldCoordinates if true all data will be defined with respect to a world coordinate system, if false all data will be defined with respect to a local one,

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_LoadSkeleton

Sends a skeleton setup to core to become a skeleton upon which data is applied. Returns the skeleton ID of the loaded skeleton, this ID is used to identify the skeleton in the SkeletonStreamCallback. Loading a skeleton into core for retargetting removes it from the temporary skeletons array, thus causing the p_SkeletonSetupIndex to no longer be valid after this call.

CORESDK_API SDKReturnCode CoreSdk_LoadSkeleton (
    uint32_t p_SkeletonSetupIndex,
    uint32_t * p_SkeletonId
) 

Parameters:

  • p_SkeletonSetupIndex The SkeletonSetup's index, will become invalid after this function.
  • p_SkeletonId This is the ID of the loaded skeleton.

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_LookForHosts

Start a background task that looks for hosts running Manus Core. Call this first when looking for hosts to connect to. Underlying function will sleep for p_WaitSeconds to allow servers to reply.

CORESDK_API SDKReturnCode CoreSdk_LookForHosts (
    uint32_t p_WaitSeconds=1,
    bool p_LoopbackOnly=false
) 

Parameters:

  • p_WaitSeconds defines the time the function will sleep for to allow servers to reply,
  • p_LoopbackOnly if true it looks for hosts only locally, if false it looks for hosts anywhere in the network,

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_FunctionCalledAtWrongTime if the function was not intended to be called at this time.

function CoreSdk_OverwriteChainToSkeletonSetup

Overwrite a chain in a SkeletonSetup, the chain to be overwritten is idenfified by p_Chain.id.

CORESDK_API SDKReturnCode CoreSdk_OverwriteChainToSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    ChainSetup p_Chain
) 

Parameters:

  • p_SkeletonSetupIndex The SkeletonSetup's index, not to be confused by the Chain's ID.
  • p_Chain The chain to replace the matching (via id) chain with.

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_OverwriteNodeToSkeletonSetup

Overwrite a node in a SkeletonSetup, the node to be overwritten is identified by p_Node.id.

CORESDK_API SDKReturnCode CoreSdk_OverwriteNodeToSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    NodeSetup p_Node
) 

Parameters:

  • p_SkeletonSetupIndex The SkeletonSetup's index, not to be confused by the Chain's ID.
  • p_Node The node to replace the matching (via id) node with.

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_OverwriteSkeletonSetup

Overwrite an existing SkeletonSetup at a given index. This will remove all chains and nodes from the current skeleton at this index.

CORESDK_API SDKReturnCode CoreSdk_OverwriteSkeletonSetup (
    uint32_t p_SkeletonSetupIndex,
    SkeletonSetupInfo p_SkeletonSetup
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SkeletonSetup

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup, SDKReturnCode_NullPointer if the skeleton setup was not correctly saved, thus the new skeleton setup is a null pointer.

function CoreSdk_PrepareSkeletonSetup

CORESDK_API SDKReturnCode CoreSdk_PrepareSkeletonSetup (
    uint32_t p_SkeletonSetupIndex
) 

function CoreSdk_RegisterCallbackForErgonomicsStream

Register the callback function that is called when ergonomics data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForErgonomicsStream (
    ErgonomicsStreamCallback_t p_ErgonomicsStreamCallback
) 

Parameters:

  • p_ErgonomicsStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForGestureStream

Register the callback function that is called when gesture data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForGestureStream (
    GestureStreamCallback_t p_GestureStreamCallback
) 

Parameters:

  • p_GestureStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForLandscapeStream

Register the callback function that is called when the landscape data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForLandscapeStream (
    LandscapeStreamCallback_t p_LandscapeStreamCallback
) 

Parameters:

  • p_LandscapeStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForOnConnect

Register the callback function that is called when manus core gets connected to the sdk.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnConnect (
    ConnectedToCoreCallback_t p_ConnectedCallback
) 

Parameters:

  • p_ConnectedCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForOnDisconnect

Register the callback function that is called when manus core gets disconnected from the sdk.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnDisconnect (
    DisconnectedFromCoreCallback_t p_DisconnectedCallback
) 

Parameters:

  • p_DisconnectedCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForRawSkeletonStream

Register the callback function that is called when skeleton data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForRawSkeletonStream (
    RawSkeletonStreamCallback_t p_RawSkeletonStreamCallback
) 

Parameters:

  • p_SkeletonStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForSkeletonStream

Register the callback function that is called when skeleton data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSkeletonStream (
    SkeletonStreamCallback_t p_SkeletonStreamCallback
) 

Parameters:

  • p_SkeletonStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForSystemStream

Register the callback function that is called when core system related data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSystemStream (
    SystemStreamCallback_t p_SystemStreamCallback
) 

Parameters:

  • p_SystemStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_RegisterCallbackForTrackerStream

Register the callback function that is called when tracker data comes in.

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForTrackerStream (
    TrackerStreamCallback_t p_TrackerStreamCallback
) 

Parameters:

  • p_TrackerStreamCallback

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_SaveTemporarySkeleton

Save a SkeletonSetup at a given index and sessionId into Manus Core for use in the Dev Tools. p_IsSkeletonModified is intended to be used mainly by the Dev Tools, it is set to true after saving any modification to the skeleton, this triggers the OnSyStemCallback which is used in the SDK to be notified about a change to its temporary skeletons.

CORESDK_API SDKReturnCode CoreSdk_SaveTemporarySkeleton (
    uint32_t p_SkeletonSetupIndex,
    uint32_t p_SessionId,
    bool p_IsSkeletonModified
) 

Parameters:

  • p_SkeletonSetupIndex
  • p_SessionId
  • p_IsSkeletonModified

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_InvalidID if the provided p_SkeletonSetupIndex does not correspond to any skeleton setup.

function CoreSdk_SendDataForTrackers

Send data to Core for a tracker.

CORESDK_API SDKReturnCode CoreSdk_SendDataForTrackers (
    const TrackerData * p_TrackerData,
    uint32_t p_NumberOfTrackers
) 

Parameters:

  • p_TrackerData
  • p_NumberOfTrackers amount of trackers for which we send the information

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_NullPointer if the provided p_TrackerData is a null pointer, SDKReturnCode_InvalidArgument if p_NumberOfTrackers is null or higher than the defined MAX_NUMBER_OF_TRACKERS.

function CoreSdk_SetTimestampInfo

Sets the timestamp according to the info (more readable form of timestamp).

CORESDK_API SDKReturnCode CoreSdk_SetTimestampInfo (
    ManusTimestamp * p_Timestamp,
    ManusTimestampInfo p_Info
) 

Parameters:

  • p_Timestamp the Timestamp to set info of
  • p_Info Info to get info from

Returns:

SDKReturnCode_Success if successful.

function CoreSdk_ShutDown

Shut down the wrapper. This needs to be called last.

CORESDK_API SDKReturnCode CoreSdk_ShutDown () 

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available.

function CoreSdk_UnloadSkeleton

Unload a skeleton with a certain ID from Manus Core, so data will no longer be generated for it.

CORESDK_API SDKReturnCode CoreSdk_UnloadSkeleton (
    uint32_t p_SkeletonId
) 

Parameters:

  • p_SkeletonId The Skeleton's ID which is assigned by Manus Core.

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_StubNullPointer if the stub has been reset but someone is trying to use it anyway. This usually happens after a shutdown of the SDK, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_VibrateFingers

Vibrate the motor on the given fingers of a haptic glove. The order of the fingers is Thumb, Index, Middle, Ring, Pinky.

CORESDK_API SDKReturnCode CoreSdk_VibrateFingers (
    uint32_t p_DongleId,
    Side p_HandType,
    const float * p_Powers
) 

Parameters:

  • p_DongleId
  • p_HandType
  • p_Powers strength of the vibration, should be an array of 5 values

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_VibrateFingersForSkeleton

Vibrate the motor on the fingers of a haptic glove associated to skeleton with given id. The order of the fingers is Thumb, Index, Middle, Ring, Pinky.

CORESDK_API SDKReturnCode CoreSdk_VibrateFingersForSkeleton (
    uint32_t p_SkeletonId,
    Side p_HandType,
    const float * p_Powers
) 

Parameters:

  • p_SkeletonId
  • p_HandType
  • p_Powers strength of the vibration, should be an array of 5 values

Returns:

SDKReturnCode_Success if successful, SDKReturnCode_SdkNotAvailable if the Core SDK is not available, SDKReturnCode_NotConnected if there is no connection to core.

function CoreSdk_WasDllBuiltInDebugConfiguration

Check if the wrapper DLL was built in the debug configuration.

CORESDK_API SDKReturnCode CoreSdk_WasDllBuiltInDebugConfiguration (
    bool * p_WasBuiltInDebugConfiguration
) 

Parameters:

  • p_WasBuiltInDebugConfiguration

Returns:

SDKReturnCode_Success if successful.


The documentation for this class was generated from the following file api/cppSDK/SDKClient/ManusSDK.h