C++ SDK for MANUS Core 2.0
Loading...
Searching...
No Matches
ManusSDK

Functions

CORESDK_API SDKReturnCode CoreSdk_Initialize (SessionType p_TypeOfSession)
 Initialize the wrapper. Call this before using the wrapper. More...
 
CORESDK_API SDKReturnCode CoreSdk_ShutDown ()
 Shut down the wrapper. This needs to be called last. More...
 
CORESDK_API SDKReturnCode CoreSdk_WasDllBuiltInDebugConfiguration (bool *p_WasBuiltInDebugConfiguration)
 Check if the wrapper DLL was built in the debug configuration. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetTimestampInfo (ManusTimestamp p_Timestamp, ManusTimestampInfo *p_Info)
 Gets the timestamp info (more readable form of timestamp). More...
 
CORESDK_API SDKReturnCode CoreSdk_SetTimestampInfo (ManusTimestamp *p_Timestamp, ManusTimestampInfo p_Info)
 Sets the timestamp according to the info (more readable form of timestamp). More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetIsConnectedToCore (bool *p_ConnectedToCore)
 Check if the wrapper is connected to ManusCore. More...
 
CORESDK_API SDKReturnCode CoreSdk_ConnectGRPC ()
 Connect to the preset GRPC address. More...
 
CORESDK_API SDKReturnCode CoreSdk_ConnectToHost (ManusHost p_Host)
 Connect to a host using the given host information. More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetSessionId (uint32_t *p_SessionId)
 Get the current session Id. More...
 
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnConnect (ConnectedToCoreCallback_t p_ConnectedCallback)
 Register the callback function that is called when manus core gets connected to the sdk. More...
 
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnDisconnect (DisconnectedFromCoreCallback_t p_DisconnectedCallback)
 Register the callback function that is called when manus core gets disconnected from the sdk. More...
 
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSkeletonStream (SkeletonStreamCallback_t p_SkeletonStreamCallback)
 Register the callback function that is called when skeleton data comes in. More...
 
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForLandscapeStream (LandscapeStreamCallback_t p_LandscapeStreamCallback)
 Register the callback function that is called when the landscape data comes in. More...
 
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSystemStream (SystemStreamCallback_t p_SystemStreamCallback)
 Register the callback function that is called when core system related data comes in. More...
 
CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForErgonomicsStream (ErgonomicsStreamCallback_t p_ErgonomicsStreamCallback)
 Register the callback function that is called when ergonomics data comes in. More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableGloves (uint32_t *p_NumberOfAvailableGloves)
 Get the number of gloves that are available. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetDataForGlove_UsingGloveId (uint32_t p_GloveId, GloveLandscapeData *p_GloveData)
 Get data for the glove with the given glove ID. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetDataForDongle (uint32_t p_DongleId, DongleLandscapeData *p_DongleData)
 Gets the data for a dongle with the given id. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfDongles (uint32_t *p_NumberOfDongles)
 Get the number of available dongles. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfHapticsDongles (uint32_t *p_NumberOfHapticsDongles)
 Get the number of available haptics dongles. More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackers (uint32_t *p_NumberOfAvailableTrackers)
 Get the number of available trackers. More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetDataForTracker_UsingTrackerId (TrackerId p_TrackerId, TrackerData *p_TrackerData)
 Get data for the tracker with the given tracker Id. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_SendDataForTrackers (const TrackerData *p_TrackerData, uint32_t p_NumberOfTrackers)
 Send data to Core for a tracker. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonInfo (uint32_t p_SkeletonIndex, SkeletonInfo *p_Info)
 Get information about the final animated skeleton with given index. More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_AddNodeToSkeletonSetup (uint32_t p_SkeletonSetupIndex, NodeSetup p_Node)
 Add a node to a SkeletonSetup at a given index. More...
 
CORESDK_API SDKReturnCode CoreSdk_AddChainToSkeletonSetup (uint32_t p_SkeletonSetupIndex, ChainSetup p_Chain)
 Add a chain to a SkeletonSetup at a given index. More...
 
CORESDK_API SDKReturnCode CoreSdk_AddColliderToSkeletonSetup (uint32_t p_SkeletonSetupIndex, ColliderSetup p_Collider)
 Add a collider to a SkeletonSetup at a given index. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_AllocateChainsForSkeletonSetup (uint32_t p_SkeletonSetupIndex)
 Allocate chains for a SkeletonSetup at a given index. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupInfo (uint32_t p_SkeletonSetupIndex, SkeletonSetupInfo *p_SDK)
 Get setup info for a SkeletonSetup at a given index. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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! More...
 
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. More...
 
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. More...
 
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. More...
 
CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonsForAllSessions (TemporarySkeletonSessionsData *p_temporarySkeletonSessionsData)
 Get information (name and index) for the SkeletonSetups of the all sessions connected to Core. More...
 

Detailed Description

Function Documentation

◆ CoreSdk_AddChainToSkeletonSetup()

CORESDK_API SDKReturnCode CoreSdk_AddChainToSkeletonSetup ( uint32_t  p_SkeletonSetupIndex,
ChainSetup  p_Chain 
)

Add a chain to a SkeletonSetup at a given index.

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.

◆ CoreSdk_AddColliderToSkeletonSetup()

CORESDK_API SDKReturnCode CoreSdk_AddColliderToSkeletonSetup ( uint32_t  p_SkeletonSetupIndex,
ColliderSetup  p_Collider 
)

Add a collider to a SkeletonSetup at a given index.

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.

◆ CoreSdk_AddMeshSetupToSkeletonSetup()

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.

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.

◆ CoreSdk_AddNodeToSkeletonSetup()

CORESDK_API SDKReturnCode CoreSdk_AddNodeToSkeletonSetup ( uint32_t  p_SkeletonSetupIndex,
NodeSetup  p_Node 
)

Add a node to a SkeletonSetup at a given index.

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.

◆ CoreSdk_AddTriangleToMeshSetup()

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.

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.

◆ CoreSdk_AddVertexToMeshSetup()

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.

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.

◆ CoreSdk_AllocateChainsForSkeletonSetup()

CORESDK_API SDKReturnCode CoreSdk_AllocateChainsForSkeletonSetup ( uint32_t  p_SkeletonSetupIndex)

Allocate chains for a SkeletonSetup at a given index.

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.

◆ CoreSdk_ClearAllTemporarySkeletons()

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.

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,

◆ CoreSdk_ClearTemporarySkeleton()

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.

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.

◆ CoreSdk_CompressTemporarySkeletonAndGetSize()

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.

Parameters
p_SkeletonSetupIndex
p_SessionId
p_TemporarySkeletonLengthInBytes
Returns

◆ CoreSdk_ConnectGRPC()

CORESDK_API SDKReturnCode CoreSdk_ConnectGRPC ( )

Connect to the preset GRPC address.

Returns
SDKReturnCode_Success SDKReturnCode_NotConnected if there is no connection to core.

◆ CoreSdk_ConnectToHost()

CORESDK_API SDKReturnCode CoreSdk_ConnectToHost ( ManusHost  p_Host)

Connect to a host using the given host information.

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.

◆ CoreSdk_CreateSkeletonSetup()

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.

Parameters
p_SkeletonThe SkeletonSetup information used by this skeleton.
p_SkeletonSetupIndexThe 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.

◆ CoreSdk_DoesSkeletonGloveSupportHaptics()

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.

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.

◆ CoreSdk_GetAvailableHostsFound()

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.

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.

◆ CoreSdk_GetCompressedTemporarySkeletonData()

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.

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.

◆ CoreSdk_GetDataForDongle()

CORESDK_API SDKReturnCode CoreSdk_GetDataForDongle ( uint32_t  p_DongleId,
DongleLandscapeData p_DongleData 
)

Gets the data for a dongle with the given id.

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.

◆ CoreSdk_GetDataForGlove_UsingGloveId()

CORESDK_API SDKReturnCode CoreSdk_GetDataForGlove_UsingGloveId ( uint32_t  p_GloveId,
GloveLandscapeData p_GloveData 
)

Get data for the glove with the given glove ID.

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.

◆ CoreSdk_GetDataForTracker_UsingIdAndType()

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.

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.

◆ CoreSdk_GetDataForTracker_UsingTrackerId()

CORESDK_API SDKReturnCode CoreSdk_GetDataForTracker_UsingTrackerId ( TrackerId  p_TrackerId,
TrackerData p_TrackerData 
)

Get data for the tracker with the given tracker Id.

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.

◆ CoreSdk_GetDongleIds()

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.

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.

◆ CoreSdk_GetGloveIdOfUser_UsingUserId()

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.

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.

◆ CoreSdk_GetGlovesForDongle()

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.

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.

◆ CoreSdk_GetHapticsDongleIds()

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.

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.

◆ CoreSdk_GetIdsOfAvailableGloves()

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.

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.

◆ CoreSdk_GetIdsOfAvailableTrackers()

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.

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.

◆ CoreSdk_GetIdsOfAvailableTrackersForUserId()

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.

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.

◆ CoreSdk_GetIdsOfAvailableUsers()

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.

Parameters
p_IdsOfAvailableUsers,Thearray 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.

◆ CoreSdk_GetIsConnectedToCore()

CORESDK_API SDKReturnCode CoreSdk_GetIsConnectedToCore ( bool *  p_ConnectedToCore)

Check if the wrapper is connected to ManusCore.

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.

◆ CoreSdk_GetNumberOfAvailableGloves()

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableGloves ( uint32_t *  p_NumberOfAvailableGloves)

Get the number of gloves that are available.

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.

◆ CoreSdk_GetNumberOfAvailableHostsFound()

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.

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.

◆ CoreSdk_GetNumberOfAvailableTrackers()

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfAvailableTrackers ( uint32_t *  p_NumberOfAvailableTrackers)

Get the number of available trackers.

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.

◆ CoreSdk_GetNumberOfAvailableTrackersForUserId()

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.

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.

◆ CoreSdk_GetNumberOfAvailableUsers()

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.

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.

◆ CoreSdk_GetNumberOfDongles()

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfDongles ( uint32_t *  p_NumberOfDongles)

Get the number of available dongles.

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.

◆ CoreSdk_GetNumberOfHapticsDongles()

CORESDK_API SDKReturnCode CoreSdk_GetNumberOfHapticsDongles ( uint32_t *  p_NumberOfHapticsDongles)

Get the number of available haptics dongles.

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.

◆ CoreSdk_GetSessionId()

CORESDK_API SDKReturnCode CoreSdk_GetSessionId ( uint32_t *  p_SessionId)

Get the current session Id.

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.

◆ CoreSdk_GetSkeletonData()

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.

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.

◆ CoreSdk_GetSkeletonInfo()

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonInfo ( uint32_t  p_SkeletonIndex,
SkeletonInfo p_Info 
)

Get information about the final animated skeleton with given index.

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.

◆ CoreSdk_GetSkeletonSetupArraySizes()

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.

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.

◆ CoreSdk_GetSkeletonSetupChains()

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.

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.

◆ CoreSdk_GetSkeletonSetupColliders()

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.

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.

◆ CoreSdk_GetSkeletonSetupInfo()

CORESDK_API SDKReturnCode CoreSdk_GetSkeletonSetupInfo ( uint32_t  p_SkeletonSetupIndex,
SkeletonSetupInfo p_SDK 
)

Get setup info for a SkeletonSetup at a given index.

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.

◆ CoreSdk_GetSkeletonSetupNodes()

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.

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.

◆ CoreSdk_GetTemporarySkeleton()

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!

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,

◆ CoreSdk_GetTemporarySkeletonFromCompressedData()

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.

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,

◆ CoreSdk_GetTemporarySkeletonsForAllSessions()

CORESDK_API SDKReturnCode CoreSdk_GetTemporarySkeletonsForAllSessions ( TemporarySkeletonSessionsData p_temporarySkeletonSessionsData)

Get information (name and index) for the SkeletonSetups of the all sessions connected to Core.

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.

◆ CoreSdk_GetTimestampInfo()

CORESDK_API SDKReturnCode CoreSdk_GetTimestampInfo ( ManusTimestamp  p_Timestamp,
ManusTimestampInfo p_Info 
)

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

Parameters
p_TimestampTimestamp to get info from
p_InfoInfo of the timestamp
Returns
SDKReturnCode_Success if successful.

◆ CoreSdk_GetVersionsAndCheckCompatibility()

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.

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.

◆ CoreSdk_Initialize()

CORESDK_API SDKReturnCode CoreSdk_Initialize ( SessionType  p_TypeOfSession)

Initialize the wrapper. Call this before using the wrapper.

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

◆ CoreSdk_InitializeCoordinateSystemWithDirection()

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.

Parameters
p_CoordinateSystem
p_UseWorldCoordinatesif 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.

◆ CoreSdk_InitializeCoordinateSystemWithVUH()

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.

Parameters
p_CoordinateSystem
p_UseWorldCoordinatesif 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.

◆ CoreSdk_LoadSkeleton()

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.

Parameters
p_SkeletonSetupIndexThe SkeletonSetup's index, will become invalid after this function.
p_SkeletonIdThis 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.

◆ CoreSdk_LookForHosts()

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.

Parameters
p_WaitSecondsdefines the time the function will sleep for to allow servers to reply,
p_LoopbackOnlyif 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.

◆ CoreSdk_OverwriteChainToSkeletonSetup()

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.

Parameters
p_SkeletonSetupIndexThe SkeletonSetup's index, not to be confused by the Chain's ID.
p_ChainThe 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.

◆ CoreSdk_OverwriteNodeToSkeletonSetup()

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.

Parameters
p_SkeletonSetupIndexThe SkeletonSetup's index, not to be confused by the Chain's ID.
p_NodeThe 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.

◆ CoreSdk_OverwriteSkeletonSetup()

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.

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.

◆ CoreSdk_RegisterCallbackForErgonomicsStream()

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForErgonomicsStream ( ErgonomicsStreamCallback_t  p_ErgonomicsStreamCallback)

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

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

◆ CoreSdk_RegisterCallbackForLandscapeStream()

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForLandscapeStream ( LandscapeStreamCallback_t  p_LandscapeStreamCallback)

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

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

◆ CoreSdk_RegisterCallbackForOnConnect()

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnConnect ( ConnectedToCoreCallback_t  p_ConnectedCallback)

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

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

◆ CoreSdk_RegisterCallbackForOnDisconnect()

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForOnDisconnect ( DisconnectedFromCoreCallback_t  p_DisconnectedCallback)

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

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

◆ CoreSdk_RegisterCallbackForSkeletonStream()

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSkeletonStream ( SkeletonStreamCallback_t  p_SkeletonStreamCallback)

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

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

◆ CoreSdk_RegisterCallbackForSystemStream()

CORESDK_API SDKReturnCode CoreSdk_RegisterCallbackForSystemStream ( SystemStreamCallback_t  p_SystemStreamCallback)

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

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

◆ CoreSdk_SaveTemporarySkeleton()

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.

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.

◆ CoreSdk_SendDataForTrackers()

CORESDK_API SDKReturnCode CoreSdk_SendDataForTrackers ( const TrackerData p_TrackerData,
uint32_t  p_NumberOfTrackers 
)

Send data to Core for a tracker.

Parameters
p_TrackerData
p_NumberOfTrackersamount 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.

◆ CoreSdk_SetTimestampInfo()

CORESDK_API SDKReturnCode CoreSdk_SetTimestampInfo ( ManusTimestamp p_Timestamp,
ManusTimestampInfo  p_Info 
)

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

Parameters
p_Timestampthe Timestamp to set info of
p_InfoInfo to get info from
Returns
SDKReturnCode_Success if successful.

◆ CoreSdk_ShutDown()

CORESDK_API SDKReturnCode CoreSdk_ShutDown ( )

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

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

◆ CoreSdk_UnloadSkeleton()

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.

Parameters
p_SkeletonIdThe 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.

◆ CoreSdk_VibrateFingers()

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.

Parameters
p_DongleId
p_HandType
p_Powersstrength 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.

◆ CoreSdk_VibrateFingersForSkeleton()

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.

Parameters
p_SkeletonId
p_HandType
p_Powersstrength 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.

◆ CoreSdk_WasDllBuiltInDebugConfiguration()

CORESDK_API SDKReturnCode CoreSdk_WasDllBuiltInDebugConfiguration ( bool *  p_WasBuiltInDebugConfiguration)

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

Parameters
p_WasBuiltInDebugConfiguration
Returns
SDKReturnCode_Success if successful.