C++ SDK for MANUS Core 2.0
Loading...
Searching...
No Matches
ManusSDKTypes.h
Go to the documentation of this file.
1#ifndef _MANUS_SDK_TYPES_H_
2#define _MANUS_SDK_TYPES_H_
3
4// Set up a Doxygen group.
9#ifdef __cplusplus
10extern "C"
11{
12#endif
13
14#include <stdint.h>
15
16/******************************************************************************
17 * Preprocessor defines.
18 *****************************************************************************/
19
23#define NUM_FINGERS_ON_HAND 5
24
28#define NUM_FLEX_SEGMENTS_PER_FINGER 2
29
33#define MAX_NUM_IMUS_ON_GLOVE (NUM_FINGERS_ON_HAND + 1)
34
38#define MAX_USERS 8 // we should never reach that
39
43#define MAX_NUM_CHARS_IN_USERNAME 64
44
48#define MAX_NUM_CHARS_IN_MEASUREMENT 64
49
56#define MAX_NUM_CHARS_IN_HOST_NAME 256
57
63#define MAX_NUM_CHARS_IN_IP_ADDRESS 40
64
68#define MAX_NUM_CHARS_IN_TRACKER_ID 32
69
73#define MAX_NUM_CHARS_IN_TARGET_ID 32
74
78#define MAX_NUM_CHARS_IN_VERSION 16
79
81#define UNINITIALIZED_ID 0
82
84#define MAX_NUMBER_OF_HOSTS 100
85
89#define MAX_NUMBER_OF_DONGLES 16 // we only have 35 radio channels available. if we got 16 dongles, expect wireless issues! and no 16 usb ports is also not likely.
90
92#define MAX_NUM_CHARS_IN_LICENSE_TYPE 64
93
97#define MAX_NUMBER_OF_GLOVES (MAX_NUMBER_OF_DONGLES* 2)
98#define MAX_NUMBER_OF_HAPTICS_DONGLES MAX_NUMBER_OF_DONGLES
99
103#define MAX_NUMBER_OF_SKELETONS MAX_NUMBER_OF_DONGLES
104
108#define MAX_NUMBER_OF_USERS MAX_NUMBER_OF_SKELETONS
109
113#define NUMBER_OF_TRACKERS_PER_POLYGON_SKELETON 8
114
118#define MAX_NUMBER_OF_TRACKERS (MAX_NUMBER_OF_SKELETONS * NUMBER_OF_TRACKERS_PER_POLYGON_SKELETON)
119
123#define MAX_NUM_CHARS_IN_NODE_NAME 256 // this is for a UTF8 string , NOT an ASCII CHAR array (same base type though)
124
125
129#define MAX_CHAIN_LENGTH 32
130
134#define MAX_NUM_FINGER_IDS 10
135
139#define MAX_NUM_TOE_IDS 10
140
144#define MAX_NUM_CHARS_IN_SYSTEM_ERROR_MESSAGE 256
145
149#define MAX_NUM_CHAR_DEBUGGING_ID 64
150
154#define MAX_NUMBER_OF_ERGONOMICS_DATA MAX_NUMBER_OF_GLOVES
155
159#define MAX_NUMBER_OF_SESSIONS 8 // this is not the real limit for Core but just for the SDKClient to handle
160
164#define MAX_NUMBER_OF_SKELETONS_PER_SESSION 16
165
169#define MAX_NUM_CHARS_IN_SKELETON_NAME 256 // we already encountered 34 char names in unreal, but its utf8 so enbiggen even more!
170
172#define MAX_NUM_CHARS_IN_TIMECODE_INTERFACE_STRINGS 64
173
175#define MAX_NUMBER_OF_AUDIO_INTERFACES 32
176
178#define MAX_BONE_WEIGHTS_PER_VERTEX 4
179
181#define BROADCAST_ADDRESS "255.255.255.255"
182#define BROADCAST_PORT "62687"
183#define SECONDS_TO_FIND_HOSTS 2
184#define SECONDS_TO_FIND_LOCAL_HOSTS 2
185#define DEFAULT_BUFFER_SIZE 512
186
187/******************************************************************************
188 * Enums.
189 *****************************************************************************/
190
192typedef enum SDKReturnCode
193{
196
199
202
206
209
212
215
218
221
224
227
230
233
236
239
242
245
248
251
254
255
258
261typedef enum SessionType
262{
272
274typedef enum TrackerType
275{
289
292
294typedef enum TrackingQuality
295{
300
303{
312
315{
321
323typedef enum DeviceClassType
324{
330
333{
340
342typedef enum ProfileType
343{
346
349
351typedef enum MeasurementType
352{
373
374 MeasurementType_MAX_SIZE // Warning, this value is used to define the UserProfile.Measurement[SIZE]
376
379{
383
388
392
397
398 TrackerOffsetType_MAX_SIZE // Warning, this value is used to define the UserProfile.TrackerOffset[SIZE]
400
403{
408 ExtraTrackerOffsetType_MAX_SIZE // Warning, this value is used to define the UserProfile.TrackerOffset[SIZE]
410
412typedef enum MeasurementUnit
413{
417
420{
427
430{
437
439typedef enum SkeletonType
440{
446
449{
456
458typedef enum NodeType
459{
464
467{
474
476typedef enum ChainType
477{
495
497typedef enum CollisionType
498{
503
505typedef enum ColliderType
506{
512
514typedef enum Side
515{
521
523typedef enum HandMotion
524{
531
533typedef enum AxisDirection
534{
543
548typedef enum AxisView
549{
551
555
560
562typedef enum AxisPolarity
563{
565
569
574
577{
582
586
595
597
599
601
604
609typedef uint32_t TrackerType_t;
610
613{
614// ErgonomicsDataType_Invalid,
615
620
625
630
635
640
641
646
651
656
661
666
669
671typedef enum LicenseType
672{
679
681typedef enum TimecodeFPS
682{
684 TimecodeFPS_23_976, // drop frame is active
687 TimecodeFPS_29_97, // drop frame is active
690 TimecodeFPS_59_94, // drop frame is active
693
694/******************************************************************************
695 * Structs.
696 *****************************************************************************/
697
699typedef struct ManusVec3
700{
701 float x; //default = 0.0f;
702 float y; //default = 0.0f;
703 float z; //default = 0.0f;
705
707typedef struct ManusVec2
708{
709 float x; //default = 0.0f;
710 float y; //default = 0.0f;
712
714typedef struct ManusQuaternion
715{
716 float w; //default = 1.0f;
717 float x; //default = 0.0f;
718 float y; //default = 0.0f;
719 float z; //default = 0.0f;
721
723typedef struct ManusTransform
724{
729
731typedef struct Color
732{
733 float r; //default = 0.0f;
734 float g; //default = 0.0f;
735 float b; //default = 0.0f;
736 float a; //default = 0.0f;
738
740typedef struct ManusTimestampInfo
741{
742 uint16_t fraction; //is either frame in timecode or miliseconds in non timecode
743 uint8_t second;
744 uint8_t minute;
745 uint8_t hour;
746 uint8_t day; //is 0 in timecode
747 uint8_t month; //is 0 in timecode
748 uint32_t year; //is 0 in timecode
749 bool timecode;
751
753typedef struct ManusTimestamp
754{
755 uint64_t time;
757
759typedef struct IMUCalibrationInfo
760{
761 uint32_t mag; // Magnometer calibration level 0-3
762 uint32_t acc; // Accelerometer caibraton level 0-3
763 uint32_t gyr; // Gyroscope calibration level 0-3
764 uint32_t sys; // System accuracy
766
768typedef struct Version
769{
770 uint32_t major;
771 uint32_t minor;
772 uint32_t patch;
777
778typedef struct FirmwareVersion
779{
780 int32_t version;
783
785typedef struct ManusVersion
786{
789
793typedef struct ManusHost
794{
795 char hostName[MAX_NUM_CHARS_IN_HOST_NAME]; // TODO utf8 compliant?
799
800/******************************************************************************
801 * Tracking
802 *****************************************************************************/
803
805typedef struct TrackerId
806{
807 char id[MAX_NUM_CHARS_IN_TRACKER_ID]; // todo. make this UTF8 compliant ?
809
811typedef struct TrackerData
812{
813 ManusTimestamp lastUpdateTime; //default = 0;
814
816
817 uint32_t userId; //default = 0;
818
819 bool isHmd; //default = false;
820 TrackerType_t trackerType; //default = TrackerType::TrackerType_Unknown;
821
824
825 TrackingQuality quality; //default = TrackingQuality::TrackingQuality_Untrackable;
827
828// ------------------------------------------------------------------------------------------------------------------------------
829// end of Tracking
830// ------------------------------------------------------------------------------------------------------------------------------
831
832// ------------------------------------------------------------------------------------------------------------------------------
833// Skeleton Stream
834// ------------------------------------------------------------------------------------------------------------------------------
835
839typedef struct SkeletonNode
840{
841 uint32_t id;
844
846typedef struct SkeletonInfo
847{
848 uint32_t id; //default = 0;
849 uint32_t nodesCount; //default = 0;
850 ManusTimestamp publishTime; //default = 0; // DateTime.UtcNow.
852
854typedef struct SkeletonStreamInfo
855{
856 ManusTimestamp publishTime; //default = 0; // DateTime.UtcNow.
857 uint32_t skeletonsCount; //default = 0;
859
860
861// ------------------------------------------------------------------------------------------------------------------------------
862// end of Skeleton Stream
863// ------------------------------------------------------------------------------------------------------------------------------
864
865// ------------------------------------------------------------------------------------------------------------------------------
866// Ergonomics
867// ------------------------------------------------------------------------------------------------------------------------------
868
870typedef struct ErgonomicsData
871{
872 uint32_t id; //default = 0;
873 bool isUserID; //default = false;
874 float data[ErgonomicsDataType_MAX_SIZE]; //default = { 0 };
876
878typedef struct ErgonomicsStream
879{
880 ManusTimestamp publishTime; //default = 0;
882 uint32_t dataCount; //default = 0;
884
885// ------------------------------------------------------------------------------------------------------------------------------
886// end of Ergonomics
887// ------------------------------------------------------------------------------------------------------------------------------
888
889// ------------------------------------------------------------------------------------------------------------------------------
890// Landscape
891// ------------------------------------------------------------------------------------------------------------------------------
892
894typedef struct DongleLandscapeData
895{
896 uint32_t id;
899 bool isHaptics;
900
904
905 uint32_t chargingState;
906
907 int32_t channel;
908
910
912
913 ManusTimestamp lastSeen; // this may be used in playback/recording TBD
914
915 uint32_t leftGloveID;
916 uint32_t rightGloveID;
917
918 LicenseType licenseLevel; //default = LicenseType::LicenseType_Undefined;
919
920
921
922
924
926typedef struct GloveLandscapeData
927{
928 uint32_t id;
931 Side side;
932 bool isHaptics;
933
935 uint32_t dongleID;
936
940
942
943 uint32_t batteryPercentage;
944 int32_t transmissionStrength;
945
947
948 ManusTimestamp lastSeen; // this may be used in playback/recording TBD
950
952typedef struct Measurement
953{
954 MeasurementType entryType; //default = MeasurementType::MeasurementType_Unknown;
955 float value; //default = 0.0f;
956
957 MeasurementUnit unit; //default = MeasurementUnit_Meters;
958 MeasurementCategory category; //default = MeasurementCategory_Misc;
961
963typedef struct TrackerOffset
964{
969
971typedef struct ExtraTrackerOffset
972{
973 ExtraTrackerOffsetType entryType; //default = ExtraTrackerOffsetType::ExtraTrackerOffsetType_Unknown;
974 float value; //default = 0.0f;
976
978typedef struct TrackerLandscapeData
979{
981 TrackerType type; //default = TrackerType::TrackerType_Unknown;
982 TrackerSystemType systemType; //default = TrackerSystemType::TrackerSystemType_Unknown;
983 uint32_t user; //default = 0;
984 bool isHMD; //default = false;
986
988typedef struct UserProfileLandscapeData
989{
990 ProfileType profileType; //default = ProfileType::ProfileType_Hands;
995
997typedef struct UserLandscapeData
998{
999 uint32_t id; //default = 0;
1001 Color color;
1002 uint32_t dongleID; //default = 0;
1003 uint32_t leftGloveID; //default = 0;
1004 uint32_t rightGloveID; //default = 0;
1006 uint32_t userIndex; //default = 0;
1008
1010typedef struct SkeletonLandscapeData
1011{
1012 uint32_t id; //default = 0;
1014 uint32_t userId; //default = 0;
1015 SkeletonType type; //default = SkeletonType::SkeletonType_Invalid;
1017 bool scaled; //default = false;
1019
1021typedef struct DeviceLandscape
1022{
1024 uint32_t dongleCount; //default = 0;
1026 uint32_t gloveCount; //default = 0;
1028
1030typedef struct UserLandscape
1031{
1033 uint32_t userCount; //default = 0;
1035
1037typedef struct SkeletonLandscape
1038{
1040 uint32_t skeletonCount; //default = 0;
1042
1044typedef struct TrackerLandscape
1045{
1047 uint32_t trackerCount; //default = 0;
1049
1051typedef struct LicenseInfo
1052{
1053 bool skeletalData; //default = false;
1054 bool recordingAndPlayback; //default = false;
1055 bool timeCode; //default = false;
1056 bool pluginsIcIdoVredSiemens; //default = false;
1057 bool xsensSession; //default = false;
1058 bool optitrackSession; //default = false;
1059 bool unlimitedGloves; //default = false;
1060 bool ergonomicData; //default = false;
1061 bool pluginsMB; //default = false;
1063
1065typedef struct SettingsLandscape
1066{
1069 bool playbackMode; //default = false;
1070 bool ignoreSessionTimeOuts; //default = false;
1074
1075typedef struct TimecodeInterface
1076{
1079 int index; //default = -1;
1081
1082typedef struct TimeLandscape
1083{
1085 uint32_t interfaceCount; //default = 0;
1087 TimecodeFPS fps; //default = Undefined;
1088 bool fakeTimecode; //default = false;
1089 bool useSyncPulse; //default = false;
1090 bool deviceKeepAlive; //default = false;
1091 bool syncStatus; //default = false;
1092 bool timecodeStatus; //default = false;
1094
1096typedef struct Landscape
1097{
1105
1106// ------------------------------------------------------------------------------------------------------------------------------
1107// end of Landscape
1108// ------------------------------------------------------------------------------------------------------------------------------
1109
1110// ------------------------------------------------------------------------------------------------------------------------------
1111// Skeleton
1112// ------------------------------------------------------------------------------------------------------------------------------
1114typedef struct NodeSettingsIK
1115{
1116 float ikAim;
1118
1120typedef struct NodeSettingsFoot
1121{
1122 float heightFromGround;
1124
1126typedef struct NodeSettingsRotationOffset
1127{
1130
1132typedef struct NodeSettingsLeaf
1133{
1135 float length;
1137
1139typedef struct NodeSettings
1140{
1147
1150typedef struct NodeSetup
1151{
1152 uint32_t id; //default = 0;
1153 char name[MAX_NUM_CHARS_IN_NODE_NAME]; // this is a UTF8 string , NOT an ASCII CHAR array (same base type though)
1154 NodeType type; //default = NodeType::NodeType_Invalid;
1156 uint32_t parentID; //default = 0;
1159
1161typedef struct ChainSettingsPelvis
1162{
1163 float hipHeight; //default = 0.0f;
1164 float hipBendOffset; //default = 0.0f;
1165 float thicknessMultiplier; //default = 1.0f;
1167
1169typedef struct ChainSettingsLeg
1170{
1171 bool reverseKneeDirection; //default = false;
1172 float kneeRotationOffset; //default = 0.0f;
1173 float footForwardOffset; //default = 0.0f;
1174 float footSideOffset; //default = 0.0f;
1176
1178typedef struct ChainSettingsSpine
1179{
1180 float spineBendOffset; //default = 0.0f;
1182
1184typedef struct ChainSettingsNeck
1185{
1186 float neckBendOffset; //default = 0.0f;
1188
1190typedef struct ChainSettingsHead
1191{
1192 float headPitchOffset; //default = 0.0f;
1193 float headYawOffset; //default = 0.0f;
1194 float headTiltOffset; //default = 0.0f;
1195 bool useLeafAtEnd; //default = false;
1197
1199typedef struct ChainSettingsArm
1200{
1201 float armLengthMultiplier; //default = 0.0f;
1202 float elbowRotationOffset; //default = 0.0f;
1203
1205
1209
1211typedef struct ChainSettingsShoulder
1212{
1213 float forwardOffset; //default = 0.0f;
1214 float shrugOffset; //default = 0.0f;
1215
1216 float forwardMultiplier; //default = 0.0f;
1217 float shrugMultiplier; //default = 0.0f;
1219
1221typedef struct ChainSettingsFinger
1222{
1223 bool useLeafAtEnd; //default = false;
1224 int32_t metacarpalBoneId; //default = 0;
1225 int32_t handChainId; //default = 0;
1226 float fingerWidth; //default = 0;
1228
1230typedef struct ChainSettingsHand
1231{
1233 int32_t fingerChainIdsUsed; //default = 0;
1234 HandMotion handMotion; //default = HandMotion::HandMotion_None;
1236
1238typedef struct ChainSettingsFoot
1239{
1241 int32_t toeChainIdsUsed; //default = 0;
1243
1245typedef struct ChainSettingsToe
1246{
1247 int32_t footChainId; //default = 0;
1248 bool useLeafAtEnd; //default = false;
1250
1252typedef struct ChainSettings
1253{
1267
1269typedef struct ChainSetup
1270{
1271 uint32_t id; //default = 0;
1272 ChainType type; //default = ChainType::ChainType_Invalid;
1273 ChainType dataType; //default = ChainType::ChainType_Invalid;
1274 uint32_t dataIndex; //default = 0;
1275 uint32_t nodeIdCount; //default = 0;
1276 uint32_t nodeIds[MAX_CHAIN_LENGTH];
1278 Side side; //default = Side::Side_Invalid;
1280
1282typedef struct SphereColliderSetup
1283{
1284 float radius; //default = 0;
1286
1288typedef struct CapsuleColliderSetup
1289{
1290 float radius; //default = 0;
1291 float length; //default = 0;
1293
1295typedef struct BoxColliderSetup
1296{
1297 ManusVec3 size; //default = 0,0,0;
1299
1301typedef struct ColliderSetup
1302{
1303 uint32_t nodeID; //default = 0;
1304 ManusVec3 localPosition; // default 0,0,0
1305 ManusVec3 localRotation; // default 0,0,0
1306
1307 ColliderType type;//default = ColliderType::ColliderType_Invalid
1312
1314typedef struct Weight
1315{
1316 uint32_t nodeID;
1317 float weightValue;
1319
1321typedef struct Vertex
1322{
1323 ManusVec3 position; // default 0,0,0
1324 uint32_t weightsCount; //default = 0;
1327
1329typedef struct Triangle
1330{
1331 int32_t vertexIndex1;
1332 int32_t vertexIndex2;
1333 int32_t vertexIndex3;
1335
1337typedef struct SkeletonTargetUserData
1338{
1339 uint32_t userID; //default = 0;
1341
1343typedef struct SkeletonTargetUserIndexData
1344{
1345 uint32_t userIndex; //default = 0;
1347
1349typedef struct SkeletonTargetAnimationData
1350{
1353
1355typedef struct SkeletonTargetGloveData
1356{
1357 uint32_t gloveID; //default = 0;
1359
1361typedef struct SkeletonSettings
1362{
1363 bool scaleToTarget; //default = false;
1364 bool useEndPointApproximations; //default = false;
1365 CollisionType collisionType; //default = CollisionType::CollisionType_None
1366
1373
1375typedef struct SkeletonSetupInfo
1376{
1377 uint32_t id; //default = 0;
1378 SkeletonType type; //default = SkeletonType::SkeletonType_Invalid;
1380 char name[MAX_NUM_CHARS_IN_SKELETON_NAME]; // this is a UTF8 string , NOT an ASCII CHAR array (same base type though)
1382
1383
1385typedef struct SkeletonSetupArraySizes
1386{
1387 uint32_t nodesCount; //default = 0;
1388 uint32_t chainsCount; //default = 0;
1389 uint32_t collidersCount; //default = 0;
1390 uint32_t meshCount; //default = 0;
1392
1394typedef struct TemporarySkeletonInfo
1395{
1396 char name[MAX_NUM_CHARS_IN_SKELETON_NAME]; // this is a UTF8 string , NOT an ASCII CHAR array (same base type though)
1397 uint32_t index; //default = UINT32_MAX;
1399
1401typedef struct TemporarySkeletonsForSession
1402{
1403 uint32_t sessionId; //default = 0;
1405 uint32_t skeletonCount; //default = 0;
1408
1410typedef struct TemporarySkeletonSessionsData
1411{
1412 uint32_t sessionsCount; //default = 0;
1415
1417typedef struct SystemMessage
1418{
1421 uint32_t infoUInt;
1423
1424// ------------------------------------------------------------------------------------------------------------------------------
1425// end of Skeleton
1426// ------------------------------------------------------------------------------------------------------------------------------
1427
1428// ------------------------------------------------------------------------------------------------------------------------------
1429// Coordinate system settings
1430// ------------------------------------------------------------------------------------------------------------------------------
1431
1433typedef struct CoordinateSystemVUH
1434{
1435 AxisView view;
1438 float unitScale; // in meters
1440
1442typedef struct CoordinateSystemDirection
1443{
1447 float unitScale; // in meters
1449
1450// ------------------------------------------------------------------------------------------------------------------------------
1451// end of Coordinate system settings
1452// ------------------------------------------------------------------------------------------------------------------------------
1453
1454// ------------------------------------------------------------------------------------------------------------------------------
1455// Callbacks
1456// ------------------------------------------------------------------------------------------------------------------------------
1457
1459typedef void(*ConnectedToCoreCallback_t)(const ManusHost* const p_Host);
1461typedef void(*DisconnectedFromCoreCallback_t)(const ManusHost* const p_Host);
1463typedef void(*SkeletonStreamCallback_t)(const SkeletonStreamInfo* const p_SkeletonInfo);
1465typedef void(*LandscapeStreamCallback_t)(const Landscape* const p_Landscape);
1467typedef void(*ErgonomicsStreamCallback_t)(const ErgonomicsStream* const p_Ergonomics);
1469typedef void(*SystemStreamCallback_t)(const SystemMessage* const p_SystemMessage);
1470
1471// ------------------------------------------------------------------------------------------------------------------------------
1472// end of Callbacks
1473// ------------------------------------------------------------------------------------------------------------------------------
1474#ifdef __cplusplus
1475} // extern "C"
1476#endif
1477
1478// Close the Doxygen group.
1481#endif // #ifndef H_CORESDKWRAPPERTYPES
ChainType dataType
int32_t fingerChainIdsUsed
ManusVec3 position
char api[MAX_NUM_CHARS_IN_TIMECODE_INTERFACE_STRINGS]
SkeletonTargetGloveData skeletonGloveData
TemporarySkeletonInfo skeletonInfo[MAX_NUMBER_OF_SKELETONS_PER_SESSION]
SphereColliderSetup sphere
NodeSettingsIK ik
ManusQuaternion rotation
int32_t vertexIndex2
LicenseInfo license
DeviceLandscape gloveDevices
ChainSettingsPelvis pelvis
bool recordingAndPlayback
int32_t vertexIndex1
uint32_t batteryPercentage
SkeletonLandscapeData skeletons[MAX_NUMBER_OF_SKELETONS]
ChainSettingsHead head
ManusVec3 localRotation
ChainSettingsSpine spine
TrackerLandscapeData trackers[MAX_NUMBER_OF_TRACKERS]
ManusVec3 scale
NodeSettingsLeaf leaf
TimecodeInterface currentInterface
ManusTimestamp publishTime
ChainSettingsNeck neck
float r
TimeLandscape time
bool useEndPointApproximations
NodeType type
float a
bool pluginsIcIdoVredSiemens
DevicePairedState pairedState
TrackerId trackerId
ManusVec3 positionMultiplier
UserLandscape users
int32_t toeChainIds[MAX_NUM_TOE_IDS]
char rootBoneName[MAX_NUM_CHARS_IN_NODE_NAME]
ChainSettings settings
uint32_t weightsCount
uint32_t parentID
SkeletonTargetType targetType
UserLandscapeData users[MAX_USERS]
ChainSettingsToe toe
bool unlimitedGloves
TrackerOffset trackerOffsets[TrackerOffsetType_MAX_SIZE]
int32_t transmissionStrength
uint32_t patch
CollisionType collisionType
ChainType type
MeasurementUnit unit
char versionInfo[MAX_NUM_CHARS_IN_VERSION]
TrackerType_t trackerType
ManusTimestamp lastUpdateTime
char label[MAX_NUM_CHARS_IN_VERSION]
UserProfileLandscapeData profile
NodeSettings settings
char session[MAX_NUM_CHARS_IN_HOST_NAME]
char displayName[MAX_NUM_CHARS_IN_MEASUREMENT]
TrackerOffsetType entryType
NodeSettingsRotationOffset rotationOffset
FirmwareVersion firmwareOne
SettingsLandscape settings
ManusVec3 localPosition
uint32_t minor
char hostName[MAX_NUM_CHARS_IN_HOST_NAME]
float b
ChainSettingsArm arm
char infoString[MAX_NUM_CHARS_IN_SYSTEM_ERROR_MESSAGE]
char name[MAX_NUM_CHARS_IN_TIMECODE_INTERFACE_STRINGS]
SystemMessageType type
SkeletonSettings settings
ColliderType type
float g
uint32_t infoUInt
char ipAddress[MAX_NUM_CHARS_IN_IP_ADDRESS]
MeasurementType entryType
ManusVec3 armRotationOffset
ChainSettingsFinger finger
CapsuleColliderSetup capsule
uint32_t dongleCount
uint32_t dataIndex
DongleLandscapeData dongles[MAX_NUMBER_OF_DONGLES]
uint32_t nodeIds[MAX_CHAIN_LENGTH]
ExtraTrackerOffset extraTrackerOffsets[ExtraTrackerOffsetType_MAX_SIZE]
HandMotion handMotion
SkeletonTargetUserIndexData skeletonTargetUserIndexData
MeasurementCategory category
char sessionName[MAX_NUM_CHARS_IN_HOST_NAME]
int32_t fingerChainIds[MAX_NUM_FINGER_IDS]
char name[MAX_NUM_CHARS_IN_SKELETON_NAME]
ManusTimestamp firmwareTimestamp
SkeletonTargetUserData skeletonTargetUserData
BoxColliderSetup box
uint32_t nodeIdCount
ChainSettingsFoot foot
ChainSettingsHand hand
ChainSettingsLeg leg
uint32_t userCount
UpdateStatusEnum updateStatus
char name[MAX_NUM_CHARS_IN_NODE_NAME]
ExtraTrackerOffsetType entryType
int32_t vertexIndex3
ErgonomicsData data[MAX_NUMBER_OF_ERGONOMICS_DATA]
char tag[MAX_NUM_CHARS_IN_VERSION]
char licenseType[MAX_NUM_CHARS_IN_LICENSE_TYPE]
char name[MAX_NUM_CHARS_IN_USERNAME]
IMUCalibrationInfo iMUCalibrationInfo[MAX_NUM_IMUS_ON_GLOVE]
SkeletonTargetAnimationData skeletonTargetAnimationData
TimecodeFPS fps
TrackingQuality quality
TrackerSystemType systemType
uint32_t major
Weight weights[MAX_BONE_WEIGHTS_PER_VERTEX]
float data[ErgonomicsDataType_MAX_SIZE]
DeviceFamilyType familyType
ManusTimestamp timestamp
GloveLandscapeData gloves[MAX_NUMBER_OF_GLOVES]
float weightValue
TimecodeInterface interfaces[MAX_NUMBER_OF_AUDIO_INTERFACES]
ChainSettingsShoulder shoulder
ChainType usedSettings
char sha[MAX_NUM_CHARS_IN_VERSION]
LicenseType licenseLevel
Version manusCoreVersion
SkeletonLandscape skeletons
ManusTransform transform
ManusTimestamp lastSeen
NodeSettingsFoot foot
ManusVec3 translation
DeviceClassType classType
TemporarySkeletonsForSession temporarySkeletonsSessions[MAX_NUMBER_OF_SESSIONS]
Measurement measurements[MeasurementType_MAX_SIZE]
bool optitrackSession
FirmwareVersion firmwareTwo
TrackerLandscape trackers
uint32_t interfaceCount
uint32_t userId
uint32_t nodesCount
ManusVec3 positionOffset
NodeSettingsFlag usedSettings
SDKReturnCode
The return values that can be given by SDK wrapper functions.
struct NodeSettingsIK NodeSettingsIK
Stores the inverse kinematics settings of a node, the ikAim is used to control the IK solve,...
SessionType
Used to tell what client is using the wrapper. This makes the session easier to identify in the lands...
#define MAX_NUM_CHARS_IN_SYSTEM_ERROR_MESSAGE
Used to descriptively refer to the max length of a system error message string. Used with arrays to m...
struct Triangle Triangle
Stores the triangle information.
LicenseType
Describes the possible Manus license types.
#define MAX_NUMBER_OF_DONGLES
Used to descriptively refer to the max number of supported dongles. Used with arrays and loops to mak...
Definition: ManusSDKTypes.h:89
struct ColliderSetup ColliderSetup
Stores the collider setup information.
void(* LandscapeStreamCallback_t)(const Landscape *const p_Landscape)
Describes the LandscapeStreamCallback function type.
struct SkeletonSetupInfo SkeletonSetupInfo
Stores the skeleton setup information.
ErgonomicsDataType
Describes the possible types for the ergonomics data.
struct ChainSetup ChainSetup
Stores the chain setup information.
#define MAX_NUMBER_OF_SKELETONS
Constants for the maximum number of skeletons. Used with arrays and loops to make them more descripti...
struct ChainSettingsPelvis ChainSettingsPelvis
Stores all the settings of a chain of type pelvis.
struct ErgonomicsData ErgonomicsData
Stores the received ergonomics data.
struct ChainSettingsFoot ChainSettingsFoot
Stores all the settings of a chain of type foot.
#define MAX_NUM_IMUS_ON_GLOVE
Used to descriptively refer to the maximum IMUs count on a glove. Used with arrays and loops to make ...
Definition: ManusSDKTypes.h:33
#define MAX_USERS
Used to descriptively refer to the maximum number of Polygon users. Used with arrays and loops to mak...
Definition: ManusSDKTypes.h:38
struct ChainSettingsSpine ChainSettingsSpine
Stores all the settings of a chain of type spine.
struct Vertex Vertex
Stores the vertex information.
struct TimeLandscape TimeLandscape
struct TrackerOffset TrackerOffset
Stores the local offsets to the trackers.
#define MAX_NUMBER_OF_AUDIO_INTERFACES
Used to descriptively refer to the max amount of timecode interfaces.
struct NodeSettingsFoot NodeSettingsFoot
Stores the settings for a node of type foot, heightFromGround is used to set the height of the 3d mod...
struct TrackerId TrackerId
Stores the name of a tracker.
AxisView
Describes the view of the coordinate system axis. Consider yourself sitting in front of your computer...
struct SkeletonLandscapeData SkeletonLandscapeData
Stores all the received skeleton data.
struct SkeletonInfo SkeletonInfo
Stores the information regarding the skeletons that have been added to Manus Core.
MeasurementUnit
Describes the different types of body measurement units.
struct ChainSettingsToe ChainSettingsToe
Stores all the settings of a chain of type toe.
#define MAX_NUM_CHARS_IN_NODE_NAME
Used to descriptively refer to the maximum node name length. Used with arrays to make them more descr...
AxisPolarity
Describes the polarity of the coordinate system axis.
struct SkeletonTargetUserIndexData SkeletonTargetUserIndexData
Stores the information regarding the user index data used to animate the skeleton.
struct NodeSettingsRotationOffset NodeSettingsRotationOffset
Stores the rotation offset of a node, this is used internally for building the skeleton.
#define MAX_NUM_CHARS_IN_HOST_NAME
Used to descriptively refer to the maximum host name length. Used with arrays to make them more descr...
Definition: ManusSDKTypes.h:56
struct ManusQuaternion ManusQuaternion
A quaternion, used for rotations.
struct TrackerLandscapeData TrackerLandscapeData
Stores all the received tracker data.
struct ChainSettingsHand ChainSettingsHand
Stores all the settings of a chain of type hand.
struct Weight Weight
Stores the vertex weight information.
AxisDirection
Describes the direction of the coordinate system axis in 3d space.
struct CapsuleColliderSetup CapsuleColliderSetup
Stores all the settings of a collider of type capsule.
#define MAX_NUM_CHARS_IN_TIMECODE_INTERFACE_STRINGS
Used to descriptively refer to the max length of a timecode interface string.
struct ExtraTrackerOffset ExtraTrackerOffset
Stores possible extra offsets to the trackers.
struct TrackerLandscape TrackerLandscape
Stores all the information related to the trackers present in the landscape.
struct ChainSettingsFinger ChainSettingsFinger
Stores all the settings of a chain of type finger.
struct TemporarySkeletonInfo TemporarySkeletonInfo
Stores the temporary skeleton information.
struct SkeletonStreamInfo SkeletonStreamInfo
Stores the information sent by the skeleton stream.
struct ManusVec3 ManusVec3
A 3D vector, used for translations.
struct NodeSettingsLeaf NodeSettingsLeaf
Stores the settings of a node of type leaf, the direction vector is defined with respect to the previ...
struct ChainSettingsHead ChainSettingsHead
Stores all the settings of a chain of type head.
enum TrackingQuality TrackerQuality
Describes the tracking quality.
struct TrackerData TrackerData
Stores all the tracker data that can be sent or received.
ChainType
Describes the possible chain types used when setting up the skeleton.
uint32_t TrackerType_t
Used instead of TrackerType enum values to ensure a known data size.
struct ManusHost ManusHost
Contains information for connecting to a host running Manus Core. Note that if one of these values is...
struct GloveLandscapeData GloveLandscapeData
Stores all the received glove data.
#define MAX_NUMBER_OF_SKELETONS_PER_SESSION
Used to descriptively refer to the max number of skeletons for each session. Used with arrays and loo...
UpdateStatusEnum
Describes the different possibilities for the update status.
struct SkeletonTargetAnimationData SkeletonTargetAnimationData
Stores the information regarding the animation data used to animate the skeleton.
struct ManusTimestamp ManusTimestamp
A compressed timestamp.
struct UserLandscape UserLandscape
Stores all the information related to the users present in the landscape.
ColliderType
Describes the possible collider types.
struct NodeSettings NodeSettings
Stores all the node settings.
struct Version Version
Used to describe hardware, firmware or ManusCore version.
struct SkeletonTargetGloveData SkeletonTargetGloveData
Stores the information regarding the glove data used to animate the skeleton.
struct ManusTransform ManusTransform
Transform containing position, rotation and scaling.
Side
Describes the possible chain side.
void(* ErgonomicsStreamCallback_t)(const ErgonomicsStream *const p_Ergonomics)
Describes the ErgonomicsStreamCallback type.
SkeletonType
Describes the different skeleton types.
#define MAX_NUM_CHARS_IN_SKELETON_NAME
Used to descriptively refer to the max length of a skeleton name string. Used with arrays to make the...
struct SkeletonSettings SkeletonSettings
Stores all the possible skeleton settings.
struct Measurement Measurement
Stores informations regarding the lengths of different parts of the body.
SkeletonTargetType
Describes the possible data that can be used for the skeleton animation.
DevicePairedState
Describes the paired state of the device.
struct SkeletonTargetUserData SkeletonTargetUserData
Stores the information regarding the user data used to animate the skeleton.
ExtraTrackerOffsetType
Describes the different types of extra tracker offsets.
struct TimecodeInterface TimecodeInterface
#define MAX_NUMBER_OF_TRACKERS
Constants for the maximum number of trackers. Used with arrays and loops to make them more descriptiv...
struct ManusTimestampInfo ManusTimestampInfo
A Timestamp.
TrackerOffsetType
Describes the different types of tracker offsets.
MeasurementCategory
Describes the different types of body measurement categories used for the polygon calibration.
DeviceClassType
Describes the different types of device classes.
struct TemporarySkeletonSessionsData TemporarySkeletonSessionsData
Stores the temporary skeleton available for all sessions connected to Core.
struct BoxColliderSetup BoxColliderSetup
Stores all the settings of a collider of type box.
#define MAX_NUM_CHARS_IN_TRACKER_ID
Used to descriptively refer to the maximum tracker name length. Used with arrays to make them more de...
Definition: ManusSDKTypes.h:68
CollisionType
Describes the possible collider types.
struct Landscape Landscape
Stores the landscape data.
#define MAX_NUM_CHARS_IN_LICENSE_TYPE
Used to descriptively refer to the maximum license type string length.
Definition: ManusSDKTypes.h:92
struct SkeletonSetupArraySizes SkeletonSetupArraySizes
Stores the amount of nodes and chains in the skeleton setup.
#define MAX_NUMBER_OF_ERGONOMICS_DATA
Used to descriptively refer to the max number of ergonomics data. Used with arrays and loops to make ...
struct Color Color
Color containing red, green, blue and alpha.
#define MAX_NUM_CHARS_IN_VERSION
Used to descriptively refer to the maximum version string length. Used with arrays to make them more ...
Definition: ManusSDKTypes.h:78
#define MAX_BONE_WEIGHTS_PER_VERTEX
Used to descriptively refer to the maximum number of bone weights per vertex.
TrackerSystemType
Describes the different types of tracker systems.
DeviceFamilyType
Describes the different types of Manus devices.
struct IMUCalibrationInfo IMUCalibrationInfo
Information regarding IMU sensors used for calibration.
struct FirmwareVersion FirmwareVersion
struct ChainSettingsNeck ChainSettingsNeck
Stores all the settings of a chain of type neck.
#define MAX_NUM_CHARS_IN_USERNAME
Used to descriptively refer to the maximum user name length. Used with arrays to make them more descr...
Definition: ManusSDKTypes.h:43
#define MAX_CHAIN_LENGTH
Used to descriptively refer to the max number of chain nodes. Used with arrays and loops to make them...
struct ManusVersion ManusVersion
Stores a single version string.
struct CoordinateSystemVUH CoordinateSystemVUH
Stores the information regarding the coordinate system used by the client, defined as VUH (view,...
struct UserLandscapeData UserLandscapeData
Stores all the received user data.
TrackerType
Describes the different types of trackers that can be used.
#define MAX_NUM_TOE_IDS
Used to descriptively refer to the max number of toes we support per foot in chains ( we can retarget...
struct ChainSettingsLeg ChainSettingsLeg
Stores all the settings of a chain of type leg.
NodeType
Describes the possible nodes types used when setting up the skeleton.
struct CoordinateSystemDirection CoordinateSystemDirection
Stores the information regarding the coordinate system used by the client, defined by each axis direc...
void(* SkeletonStreamCallback_t)(const SkeletonStreamInfo *const p_SkeletonInfo)
Describes the SkeletonStreamCallback function type.
TrackingQuality
Describes the tracking quality.
struct TemporarySkeletonsForSession TemporarySkeletonsForSession
Stores the temporary skeletons available for a specific session.
HandMotion
Describes which sensor data the hand motion is based on.
MeasurementType
The different types of body measurements used for the polygon calibration.
struct DongleLandscapeData DongleLandscapeData
Stores all the received dongle data.
struct ErgonomicsStream ErgonomicsStream
Stores the information sent by the ergonomics stream.
#define MAX_NUM_FINGER_IDS
Used to descriptively refer to the max number of fingers we support per hand in chains (not the same ...
struct SystemMessage SystemMessage
Stores the data associated to System messages received from Core.
struct DeviceLandscape DeviceLandscape
Stores all the information related to the devices present in the landscape.
#define MAX_NUM_CHARS_IN_IP_ADDRESS
Used to descriptively refer to the maximum IP address length. Used with arrays to make them more desc...
Definition: ManusSDKTypes.h:63
struct SkeletonNode SkeletonNode
Stores the information regarding each skeleton node. The transform is defined as a local or global tr...
#define MAX_NUM_CHARS_IN_MEASUREMENT
Used to descriptively refer to the maximum body measurement name length. Used with arrays to make the...
Definition: ManusSDKTypes.h:48
void(* SystemStreamCallback_t)(const SystemMessage *const p_SystemMessage)
Describes the SystemStreamCallback function type.
NodeSettingsFlag
Describes the settings that can be applied to a node, it is defined as a flag so that more than one s...
SystemMessageType
Describes the possible types for system messages received from core.
ProfileType
Describes the different types of profile used during the calibration.
struct SettingsLandscape SettingsLandscape
Stores the landscape settings.
struct ChainSettingsShoulder ChainSettingsShoulder
Stores all the settings of a chain of type shoulder.
void(* DisconnectedFromCoreCallback_t)(const ManusHost *const p_Host)
Describes the DisconnectedToCoreCallback function type.
#define MAX_NUM_CHARS_IN_TARGET_ID
Used to descriptively refer to the maximum target name length. Used with arrays to make them more des...
Definition: ManusSDKTypes.h:73
struct ChainSettingsArm ChainSettingsArm
Stores all the settings of a chain of type arm.
struct SkeletonLandscape SkeletonLandscape
Stores all the information related to the skeletons present in the landscape.
struct ChainSettings ChainSettings
Stores all chain settings.
struct ManusVec2 ManusVec2
A 2D vector, used for translations.
TimecodeFPS
The possible FPS rates.
#define MAX_NUMBER_OF_GLOVES
Constants for the maximum number of devices considered plausible. Used with arrays and loops to make ...
Definition: ManusSDKTypes.h:97
struct NodeSetup NodeSetup
Stores the node setup information. Each node represents a segment of the skeleton that can be animate...
#define MAX_NUMBER_OF_SESSIONS
Used to descriptively refer to the max number of sessions connected to Core. Used with arrays and loo...
struct SphereColliderSetup SphereColliderSetup
Stores all the settings of a collider of type sphere.
struct UserProfileLandscapeData UserProfileLandscapeData
Stores all the received user profile data.
struct LicenseInfo LicenseInfo
Stores the license information.
void(* ConnectedToCoreCallback_t)(const ManusHost *const p_Host)
Describes the ConnectedToCoreCallback function type.
@ SDKReturnCode_NullPointer
memory unallocated or just a null pointer passed where it wasn't supposed to be!
@ SDKReturnCode_Error
Something went wrong, but no specific reason can be given.
@ SDKReturnCode_ConnectionTimeout
The connection with Core timed out.
@ SDKReturnCode_HostFinderNotAvailable
The network host finder is not available.
@ SDKReturnCode_MemoryError
Failed to allocate memory for something.
@ SDKReturnCode_DataNotAvailable
The data requested is not available.
@ SDKReturnCode_UnsupportedStringSizeEncountered
A string of an unsupported size was encountered.
@ SDKReturnCode_NoCoordinateSystemSet
don't forget to set the coordinate system type or there will be trouble
@ SDKReturnCode_InternalError
Something went wrong in the SDK internally.
@ SDKReturnCode_SkeletonNotLoaded
Skeleton could not be loaded. usually when using more then the max skeletons per session (16).
@ SDKReturnCode_StubNullPointer
the stub has been reset but someone is tryign to use it anyway. usually after a shutdown of the SDK.
@ SDKReturnCode_MAX_SIZE
@ SDKReturnCode_SdkIsTerminating
if everything is being terminated. don't restart
@ SDKReturnCode_InvalidArgument
One of the arguments given had an invalid value.
@ SDKReturnCode_NotConnected
No connection to Core was made.
@ SDKReturnCode_SdkNotAvailable
The Core SDK is not available.
@ SDKReturnCode_ArgumentSizeMismatch
@ SDKReturnCode_FunctionCalledAtWrongTime
The function was not intended to be called at this time.
@ SDKReturnCode_Success
No issues occurred.
@ SDKReturnCode_InvalidID
using an uninitialized ID is bad.
@ SDKReturnCode_InvalidSequence
null sequence type for polygon calibration
@ SessionType_MotionBuilder
@ SessionType_CoreSDK
@ SessionType_VRED
@ SessionType_Xsens
@ SessionType_UnrealPlugin
@ SessionType_Optitrack
@ SessionType_UnityPlugin
@ SessionType_Unknown
@ LicenseType_CoreXO
@ LicenseType_CorePro
@ LicenseType_CoreXOPro
@ LicenseType_Undefined
@ LicenseType_Polygon
@ ErgonomicsDataType_LeftFingerMiddleMCPSpread
@ ErgonomicsDataType_LeftFingerThumbDIPStretch
@ ErgonomicsDataType_RightFingerPinkyMCPStretch
@ ErgonomicsDataType_LeftFingerMiddlePIPStretch
@ ErgonomicsDataType_LeftFingerThumbMCPSpread
@ ErgonomicsDataType_LeftFingerPinkyMCPSpread
@ ErgonomicsDataType_RightFingerRingMCPSpread
@ ErgonomicsDataType_RightFingerPinkyPIPStretch
@ ErgonomicsDataType_RightFingerMiddleMCPStretch
@ ErgonomicsDataType_RightFingerMiddleMCPSpread
@ ErgonomicsDataType_RightFingerRingPIPStretch
@ ErgonomicsDataType_LeftFingerMiddleDIPStretch
@ ErgonomicsDataType_RightFingerIndexMCPSpread
@ ErgonomicsDataType_LeftFingerPinkyMCPStretch
@ ErgonomicsDataType_RightFingerRingDIPStretch
@ ErgonomicsDataType_RightFingerMiddleDIPStretch
@ ErgonomicsDataType_RightFingerMiddlePIPStretch
@ ErgonomicsDataType_LeftFingerThumbMCPStretch
@ ErgonomicsDataType_RightFingerThumbMCPSpread
@ ErgonomicsDataType_RightFingerThumbMCPStretch
@ ErgonomicsDataType_LeftFingerIndexPIPStretch
@ ErgonomicsDataType_LeftFingerMiddleMCPStretch
@ ErgonomicsDataType_RightFingerIndexPIPStretch
@ ErgonomicsDataType_LeftFingerPinkyPIPStretch
@ ErgonomicsDataType_RightFingerThumbDIPStretch
@ ErgonomicsDataType_LeftFingerRingMCPStretch
@ ErgonomicsDataType_LeftFingerRingDIPStretch
@ ErgonomicsDataType_LeftFingerThumbPIPStretch
@ ErgonomicsDataType_RightFingerIndexDIPStretch
@ ErgonomicsDataType_LeftFingerIndexDIPStretch
@ ErgonomicsDataType_RightFingerThumbPIPStretch
@ ErgonomicsDataType_RightFingerPinkyDIPStretch
@ ErgonomicsDataType_MAX_SIZE
@ ErgonomicsDataType_RightFingerPinkyMCPSpread
@ ErgonomicsDataType_LeftFingerPinkyDIPStretch
@ ErgonomicsDataType_LeftFingerRingPIPStretch
@ ErgonomicsDataType_RightFingerIndexMCPStretch
@ ErgonomicsDataType_RightFingerRingMCPStretch
@ ErgonomicsDataType_LeftFingerRingMCPSpread
@ ErgonomicsDataType_LeftFingerIndexMCPSpread
@ ErgonomicsDataType_LeftFingerIndexMCPStretch
@ AxisView_YToViewer
@ AxisView_ZFromViewer
@ AxisView_Invalid
@ AxisView_ZToViewer
@ AxisView_XToViewer
@ AxisView_XFromViewer
@ AxisView_YFromViewer
@ MeasurementUnit_Meters
@ MeasurementUnit_Percentage
@ AxisPolarity_Invalid
@ AxisPolarity_NegativeZ
@ AxisPolarity_PositiveZ
@ AxisPolarity_NegativeY
@ AxisPolarity_PositiveX
@ AxisPolarity_NegativeX
@ AxisPolarity_PositiveY
@ AxisDirection_Right
@ AxisDirection_Backward
@ AxisDirection_Left
@ AxisDirection_Up
@ AxisDirection_Invalid
@ AxisDirection_Down
@ AxisDirection_Forward
@ ChainType_FingerPinky
@ ChainType_Spine
@ ChainType_Neck
@ ChainType_Leg
@ ChainType_Invalid
@ ChainType_Toe
@ ChainType_FingerIndex
@ ChainType_Pelvis
@ ChainType_FingerMiddle
@ ChainType_Hand
@ ChainType_Foot
@ ChainType_Shoulder
@ ChainType_FingerThumb
@ ChainType_Head
@ ChainType_Arm
@ ChainType_FingerRing
@ UpdateStatusEnum_Unknown
@ UpdateStatusEnum_UpdateAvailable
@ UpdateStatusEnum_Updating
@ UpdateStatusEnum_NoUpdateAvailable
@ UpdateStatusEnum_MandatoryUpdateAvailable
@ ColliderType_Sphere
@ ColliderType_Invalid
@ ColliderType_Capsule
@ ColliderType_Box
@ Side_Left
@ Side_Center
@ Side_Right
@ Side_Invalid
@ SkeletonType_Invalid
@ SkeletonType_Body
@ SkeletonType_Hand
@ SkeletonType_Both
@ SkeletonTarget_Invalid
@ SkeletonTarget_AnimationData
@ SkeletonTarget_UserData
@ SkeletonTarget_GloveData
@ SkeletonTarget_UserIndexData
@ DevicePairedState_Paired
@ DevicePairedState_Pairing
@ DevicePairedState_Unknown
@ DevicePairedState_Unpaired
@ ExtraTrackerOffsetType_HeadForward
@ ExtraTrackerOffsetType_Unknown
@ ExtraTrackerOffsetType_HipForward
@ ExtraTrackerOffsetType_MAX_SIZE
@ ExtraTrackerOffsetType_HipHeight
@ TrackerOffsetType_RightUpperArmTrackerToElbow
@ TrackerOffsetType_HeadTrackerToTopOfHead
@ TrackerOffsetType_LeftUpperArmTrackerToShoulder
@ TrackerOffsetType_RightHandTrackerToWrist
@ TrackerOffsetType_Unknown
@ TrackerOffsetType_RightFootTrackerToAnkle
@ TrackerOffsetType_LeftFootTrackerToAnkle
@ TrackerOffsetType_MAX_SIZE
@ TrackerOffsetType_LeftUpperArmTrackerToElbow
@ TrackerOffsetType_HeadTrackerToHead
@ TrackerOffsetType_HipTrackerToHip
@ TrackerOffsetType_HipTrackerToRightLeg
@ TrackerOffsetType_RightUpperArmTrackerToShoulder
@ TrackerOffsetType_HipTrackerToLeftLeg
@ TrackerOffsetType_LeftHandTrackerToWrist
@ MeasurementCategory_Arms
@ MeasurementCategory_Body
@ MeasurementCategory_Generic
@ MeasurementCategory_Legs
@ MeasurementCategory_Misc
@ DeviceClassType_Glove
@ DeviceClassType_Unknown
@ DeviceClassType_Dongle
@ DeviceClassType_Glongle
@ CollisionType_None
@ CollisionType_Continuous
@ CollisionType_Discrete
@ TrackerSystemType_Antilatency
@ TrackerSystemType_OpenXR
@ TrackerSystemType_Unknown
@ TrackerSystemType_ART
@ TrackerSystemType_Vicon
@ TrackerSystemType_OpenVR
@ TrackerSystemType_Optitrack
@ DeviceFamilyType_Prime1
@ DeviceFamilyType_Quantum
@ DeviceFamilyType_PrimeX
@ DeviceFamilyType_Unknown
@ DeviceFamilyType_Prime2
@ TrackerType_LeftUpperArm
@ TrackerType_RightHand
@ TrackerType_Controller
@ TrackerType_LeftUpperLeg
@ TrackerType_RightUpperArm
@ TrackerType_LeftHand
@ TrackerType_Camera
@ TrackerType_Head
@ TrackerType_MAX_SIZE
@ TrackerType_Unknown
@ TrackerType_Waist
@ TrackerType_LeftFoot
@ TrackerType_RightFoot
@ TrackerType_RightUpperLeg
@ NodeType_Joint
@ NodeType_Invalid
@ NodeType_Mesh
@ TrackingQuality_Untrackable
@ TrackingQuality_BadTracking
@ TrackingQuality_Trackable
@ HandMotion_IMU
@ HandMotion_Auto
@ HandMotion_None
@ HandMotion_Tracker_RotationOnly
@ HandMotion_Tracker
@ MeasurementType_NeckLength
@ MeasurementType_ShoulderHeight
@ MeasurementType_FootLength
@ MeasurementType_HipWidth
@ MeasurementType_ArmSpan
@ MeasurementType_HandLength
@ MeasurementType_MAX_SIZE
@ MeasurementType_Unknown
@ MeasurementType_ShoulderWidth
@ MeasurementType_HeadLength
@ MeasurementType_LegLength
@ MeasurementType_LegRatio
@ MeasurementType_PlayerHeight
@ MeasurementType_UpperLegLength
@ MeasurementType_LowerArmLength
@ MeasurementType_LowerLegLength
@ MeasurementType_ArmRatio
@ MeasurementType_SpineLength
@ MeasurementType_UpperArmLength
@ MeasurementType_ArmLength
@ MeasurementType_Thickness
@ NodeSettingsFlag_IK
@ NodeSettingsFlag_Foot
@ NodeSettingsFlag_Leaf
@ NodeSettingsFlag_None
@ NodeSettingsFlag_RotationOffset
@ SystemMessageType_GloveSanityErrorQCID
@ SystemMessageType_GloveSanityErrorQCBatV
@ SystemMessageType_TrackerSystemOutOfDate
@ SystemMessageType_TrackerOk
@ SystemMessageType_TrackerError
@ SystemMessageType_GloveSanityErrorPSOCInit
@ SystemMessageType_GloveSanityErrorQCIMUInit
@ SystemMessageType_GloveSanityErrorQCInterCPU
@ SystemMessageType_GloveSanityErrorQCFlexInit
@ SystemMessageType_SessionRefusedDueToLicenseIssue
@ SystemMessageType_LaunchDevTools
@ SystemMessageType_Unknown
@ SystemMessageType_LibDebugTxStall
@ SystemMessageType_GloveSanityErrorQCIMUCalib
@ SystemMessageType_GloveSanityErrorQCLRACalib
@ SystemMessageType_LibDebugRxStall
@ SystemMessageType_LibDebugReplugDongle
@ SystemMessageType_TemporarySkeletonModified
@ SystemMessageType_SessionConnectionVersionMismatch
@ ProfileType_MAX_SIZE
@ ProfileType_Hands
@ ProfileType_FullBody
@ TimecodeFPS_60
@ TimecodeFPS_Undefined
@ TimecodeFPS_25
@ TimecodeFPS_23_976
@ TimecodeFPS_30
@ TimecodeFPS_29_97
@ TimecodeFPS_50
@ TimecodeFPS_24
@ TimecodeFPS_59_94
Stores all the settings of a collider of type box.
Stores all the settings of a collider of type capsule.
Stores all chain settings.
Stores all the settings of a chain of type arm.
Stores all the settings of a chain of type finger.
Stores all the settings of a chain of type foot.
Stores all the settings of a chain of type hand.
Stores all the settings of a chain of type head.
Stores all the settings of a chain of type leg.
Stores all the settings of a chain of type neck.
Stores all the settings of a chain of type pelvis.
Stores all the settings of a chain of type shoulder.
Stores all the settings of a chain of type spine.
Stores all the settings of a chain of type toe.
Stores the chain setup information.
Stores the collider setup information.
Color containing red, green, blue and alpha.
Stores the information regarding the coordinate system used by the client, defined by each axis direc...
Stores the information regarding the coordinate system used by the client, defined as VUH (view,...
Stores all the information related to the devices present in the landscape.
Stores all the received dongle data.
Stores the received ergonomics data.
Stores the information sent by the ergonomics stream.
Stores possible extra offsets to the trackers.
Stores all the received glove data.
Information regarding IMU sensors used for calibration.
Stores the landscape data.
Stores the license information.
Contains information for connecting to a host running Manus Core. Note that if one of these values is...
A quaternion, used for rotations.
A compressed timestamp.
Transform containing position, rotation and scaling.
A 2D vector, used for translations.
A 3D vector, used for translations.
Stores a single version string.
Stores informations regarding the lengths of different parts of the body.
Stores all the node settings.
Stores the settings for a node of type foot, heightFromGround is used to set the height of the 3d mod...
Stores the inverse kinematics settings of a node, the ikAim is used to control the IK solve,...
Stores the settings of a node of type leaf, the direction vector is defined with respect to the previ...
Stores the rotation offset of a node, this is used internally for building the skeleton.
Stores the node setup information. Each node represents a segment of the skeleton that can be animate...
Stores the landscape settings.
Stores the information regarding the skeletons that have been added to Manus Core.
Stores all the information related to the skeletons present in the landscape.
Stores all the received skeleton data.
Stores the information regarding each skeleton node. The transform is defined as a local or global tr...
Stores all the possible skeleton settings.
Stores the amount of nodes and chains in the skeleton setup.
Stores the skeleton setup information.
Stores the information sent by the skeleton stream.
Stores the information regarding the animation data used to animate the skeleton.
Stores the information regarding the glove data used to animate the skeleton.
Stores the information regarding the user data used to animate the skeleton.
Stores the information regarding the user index data used to animate the skeleton.
Stores all the settings of a collider of type sphere.
Stores the data associated to System messages received from Core.
Stores the temporary skeleton information.
Stores the temporary skeleton available for all sessions connected to Core.
Stores the temporary skeletons available for a specific session.
Stores all the tracker data that can be sent or received.
Stores the name of a tracker.
Stores all the information related to the trackers present in the landscape.
Stores all the received tracker data.
Stores the local offsets to the trackers.
Stores the triangle information.
Stores all the information related to the users present in the landscape.
Stores all the received user data.
Stores all the received user profile data.
Used to describe hardware, firmware or ManusCore version.
Stores the vertex information.
Stores the vertex weight information.