C++ SDK for MANUS Core 2.0
Loading...
Searching...
No Matches
ManusSDK.h File Reference
#include "ManusSDKTypes.h"
#include "ManusSDKTypeInitializers.h"
#include <stdint.h>

Go to the source code of this file.

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