Hermes SDK Documentation
HermesSDK.h
Go to the documentation of this file.
1 
3 #pragma once
4 
6 #include "protodefinitions/Landscape.pb.h"
7 #include "protodefinitions/Devices.pb.h"
8 #include "protodefinitions/MeshConfig.pb.h"
9 #include "protodefinitions/Manus/RetargetParameters.pb.h"
10 #include "LeafInfo.h"
11 
12 namespace HermesSDK
13 {
14  // Set up a Doxygen group.
23 
35  void ConnectLocal(const std::string& _clientName,
36  const std::string& _clientInfo,
37  HermesSDK::filterSetupCallback& _onFilterSetup,
38  HermesSDK::deviceDataCallback& _onDeviceData,
39  HermesSDK::deviceLandscapeCallback& _onDeviceLandscape,
40  HermesSDK::polygonDataCallback& _onPolygonData,
41  HermesSDK::trackingDataCallback& _onTrackingData,
43  HermesSDK::connectedToCoreCallback& _onConnectedToCore,
44  HermesSDK::disconnectedFromCoreCallback& _onDisconnectedFromCore);
45 
56  HermesSDK::deviceDataCallback& _onDeviceData,
57  HermesSDK::deviceLandscapeCallback& _onDeviceLandscape,
58  HermesSDK::polygonDataCallback& _onPolygonData,
59  HermesSDK::trackingDataCallback& _onTrackingData,
61  HermesSDK::connectedToCoreCallback& _onConnectedToCore,
62  HermesSDK::disconnectedFromCoreCallback& _onDisconnectedFromCore);
63 
76  void ConnectNetworkHostName(const std::string& _clientName,
77  const std::string& _clientInfo,
78  const std::string& _hostName,
79  HermesSDK::filterSetupCallback& _onFilterSetup,
80  HermesSDK::deviceDataCallback& _onDeviceData,
81  HermesSDK::deviceLandscapeCallback& _onDeviceLandscape,
82  HermesSDK::polygonDataCallback& _onPolygonData,
83  HermesSDK::trackingDataCallback& _onTrackingData,
85  HermesSDK::connectedToCoreCallback& _onConnectedToCore,
86  HermesSDK::disconnectedFromCoreCallback& _onDisconnectedFromCore);
87 
100  void ConnectNetworkAddress(const std::string& _clientName,
101  const std::string& _clientInfo,
102  const std::string& _address,
103  HermesSDK::filterSetupCallback& _onFilterSetup,
104  HermesSDK::deviceDataCallback& _onDeviceData,
105  HermesSDK::deviceLandscapeCallback& _onDeviceLandscape,
106  HermesSDK::polygonDataCallback& _onPolygonData,
107  HermesSDK::trackingDataCallback& _onTrackingData,
109  HermesSDK::connectedToCoreCallback& _onConnectedToCore,
110  HermesSDK::disconnectedFromCoreCallback& _onDisconnectedFromCore);
111 
119  bool VibrateWrist(uint32_t _deviceId, float _unitStrength, uint16_t _durationInMilliseconds);
120 
127  bool VibrateFingers(uint32_t _dongleId, Hermes::Protocol::HandType _handType, const std::array<float, 5>& _powers);
128 
131  void Stop();
132 
135  bool IsRunning();
136 
143 
147 
151  bool SetPipeline(Hermes::Protocol::Pipeline* _pipeline);
152 
155  std::map<std::string, std::string> GetFoundHosts();
156 
163 
167  bool GetAllUsers(Hermes::Protocol::UserCollection& _userCollection);
168 
174  bool UpdateTrackers(const Hermes::Protocol::TrackerData& _trackerData);
175 
180 
185 
190 
195 
200 
204  bool RemoveTargetSkeleton(std::string& _Name);
205 
209 
214 
215  // Close the Doxygen group.
217 }
HermesSDK::IsRunning
bool IsRunning()
Definition: HermesSDK.cpp:260
HermesSDK::trackingDataCallback
std::function< void(const Hermes::Protocol::TrackerData &_data)> trackingDataCallback
Typedef to support callback for tracking data.
Definition: HermesCallbackTypes.hpp:124
HermesSDK::GetActivePipeline
Hermes::Protocol::Pipeline * GetActivePipeline()
Definition: HermesSDK.cpp:284
Hermes::Protocol::Polygon::SetTargetArgs
Definition: Skeleton.proto:113
Hermes::Protocol::FilterInventory
Definition: Pipeline.proto:17
HermesSDK::Stop
void Stop()
Definition: HermesSDK.cpp:221
HermesSDK::SetSkeletonTarget
bool SetSkeletonTarget(Hermes::Protocol::Polygon::SetTargetArgs &_Args)
Definition: HermesSDK.cpp:355
Hermes::Protocol::Hardware::DeviceLeaf
Definition: Landscape.proto:18
HermesSDK::connectedToCoreCallback
std::function< void(void)> connectedToCoreCallback
Typedef to support callback on connect to manus core.
Definition: HermesCallbackTypes.hpp:130
HermesSDK::GetFilterInventory
bool GetFilterInventory(Hermes::Protocol::FilterInventory &_inventory)
Definition: HermesSDK.cpp:272
HermesSDK::ConnectLocal
void ConnectLocal(const std::string &_clientName, const std::string &_clientInfo, HermesSDK::filterSetupCallback &_onFilterSetup, HermesSDK::deviceDataCallback &_onDeviceData, HermesSDK::deviceLandscapeCallback &_onDeviceLandscape, HermesSDK::polygonDataCallback &_onPolygonData, HermesSDK::trackingDataCallback &_onTrackingData, HermesSDK::errorMessageCallback &_onError, HermesSDK::connectedToCoreCallback &_onConnectedToCore, HermesSDK::disconnectedFromCoreCallback &_onDisconnectedFromCore)
Definition: HermesSDK.cpp:100
Hermes::Protocol::UserCollection
Definition: User.proto:13
HermesSDK::SetSkeletonSettings
bool SetSkeletonSettings(Hermes::Protocol::Polygon::Retargeting::SettingsArgs &_Args)
Definition: HermesSDK.cpp:365
Hermes::Protocol::Polygon::TargetSkeleton
Definition: Skeleton.proto:99
HermesSDK::AddOrUpdatePolygonSkeleton
bool AddOrUpdatePolygonSkeleton(Hermes::Protocol::Polygon::Skeleton _skeleton)
Definition: HermesSDK.cpp:333
HermesSDK::GetSdkAndCoreVersion
void GetSdkAndCoreVersion(Hermes::Protocol::Version &_sdkVersion, Hermes::Protocol::Version &_coreVersion)
Definition: HermesSDK.cpp:87
HermesCallbackTypes.hpp
HermesSDK::RemoveTargetSkeleton
bool RemoveTargetSkeleton(std::string &_Name)
Definition: HermesSDK.cpp:385
HermesSDK::GetAllUsers
bool GetAllUsers(Hermes::Protocol::UserCollection &_userCollection)
Definition: HermesSDK.cpp:313
HermesSDK::disconnectedFromCoreCallback
std::function< void(void)> disconnectedFromCoreCallback
Typedef to support callback on disconnect from manus core.
Definition: HermesCallbackTypes.hpp:132
Hermes::Protocol::Polygon::Version
Definition: Polygon.proto:16
HermesSDK::SetPipeline
bool SetPipeline(Hermes::Protocol::Pipeline *_pipeline)
Definition: HermesSDK.cpp:296
HermesSDK::ConnectNetworkAddress
void ConnectNetworkAddress(const std::string &_clientName, const std::string &_clientInfo, const std::string &_address, HermesSDK::filterSetupCallback &_onFilterSetup, HermesSDK::deviceDataCallback &_onDeviceData, HermesSDK::deviceLandscapeCallback &_onDeviceLandscape, HermesSDK::polygonDataCallback &_onPolygonData, HermesSDK::trackingDataCallback &_onTrackingData, HermesSDK::errorMessageCallback &_onError, HermesSDK::connectedToCoreCallback &_onConnectedToCore, HermesSDK::disconnectedFromCoreCallback &_onDisconnectedFromCore)
Definition: HermesSDK.cpp:192
HermesSDK::ConnectNetworkHostName
void ConnectNetworkHostName(const std::string &_clientName, const std::string &_clientInfo, const std::string &_hostName, HermesSDK::filterSetupCallback &_onFilterSetup, HermesSDK::deviceDataCallback &_onDeviceData, HermesSDK::deviceLandscapeCallback &_onDeviceLandscape, HermesSDK::polygonDataCallback &_onPolygonData, HermesSDK::trackingDataCallback &_onTrackingData, HermesSDK::errorMessageCallback &_onError, HermesSDK::connectedToCoreCallback &_onConnectedToCore, HermesSDK::disconnectedFromCoreCallback &_onDisconnectedFromCore)
Definition: HermesSDK.cpp:164
HermesSDK::deviceDataCallback
std::function< void(const Hermes::Protocol::Devices &_devices)> deviceDataCallback
Typedef to support callback for device data.
Definition: HermesCallbackTypes.hpp:118
HermesSDK::errorMessageCallback
std::function< void(const ErrorMessage &msg)> errorMessageCallback
Typedef to support callback for error messages.
Definition: HermesCallbackTypes.hpp:128
HermesSDK::GetLeafInfo
LeafInfo GetLeafInfo(Hermes::Protocol::Hardware::DeviceLeaf &leaf)
Definition: HermesSDK.cpp:308
Hermes::Protocol::Polygon::RemoveSkeletonArgs
Definition: Polygon.proto:22
HermesSDK::GetFoundHosts
std::map< std::string, std::string > GetFoundHosts()
Definition: HermesSDK.cpp:82
Hermes::Protocol::Version
Definition: Version.proto:4
Hermes::Protocol::Pipeline
Definition: Pipeline.proto:23
HermesSDK::polygonDataCallback
std::function< void(const Hermes::Protocol::Polygon::Data &_data)> polygonDataCallback
Typedef to support callback for Polygon data.
Definition: HermesCallbackTypes.hpp:122
HermesSDK::FindNetworkHosts
void FindNetworkHosts(HermesSDK::filterSetupCallback &_onFilterSetup, HermesSDK::deviceDataCallback &_onDeviceData, HermesSDK::deviceLandscapeCallback &_onDeviceLandscape, HermesSDK::polygonDataCallback &_onPolygonData, HermesSDK::trackingDataCallback &_onTrackingData, HermesSDK::errorMessageCallback &_onError, HermesSDK::connectedToCoreCallback &_onConnectedToCore, HermesSDK::disconnectedFromCoreCallback &_onDisconnectedFromCore)
Definition: HermesSDK.cpp:140
HermesSDK::deviceLandscapeCallback
std::function< void(const Hermes::Protocol::Hardware::DeviceLandscape &_landscape)> deviceLandscapeCallback
Typedef to support callback for landscape (connected devices) data.
Definition: HermesCallbackTypes.hpp:120
LeafInfo
Definition: LeafInfo.h:12
HermesSDK::VibrateFingers
bool VibrateFingers(uint32_t _dongleId, Hermes::Protocol::HandType _handType, const std::array< float, 5 > &_powers)
Definition: HermesSDK.cpp:248
HermesSDK::RemovePolygonSkeleton
bool RemovePolygonSkeleton(Hermes::Protocol::Polygon::RemoveSkeletonArgs _Args)
Definition: HermesSDK.cpp:344
HermesSDK::filterSetupCallback
std::function< void(Hermes::Protocol::Pipeline &_pipeline)> filterSetupCallback
Typedef to support callback for filter pipeline data.
Definition: HermesCallbackTypes.hpp:126
HermesSDK::UpdateTargetSkeleton
void UpdateTargetSkeleton(Hermes::Protocol::Polygon::TargetSkeleton &_Skeleton)
Definition: HermesSDK.cpp:395
HermesSDK::VibrateWrist
bool VibrateWrist(uint32_t _deviceId, float _unitStrength, uint16_t _durationInMilliseconds)
Definition: HermesSDK.cpp:236
Hermes::Protocol::Polygon::Skeleton
Definition: Skeleton.proto:82
Hermes::Protocol::Polygon::Retargeting::SettingsArgs
Definition: RetargetParameters.proto:47
Hermes::Protocol::TrackerData
Definition: Tracker.proto:27
HermesSDK::UpdateTrackers
bool UpdateTrackers(const Hermes::Protocol::TrackerData &_trackerData)
Definition: HermesSDK.cpp:323
HermesSDK::AddTargetSkeleton
bool AddTargetSkeleton(Hermes::Protocol::Polygon::TargetSkeleton &_Skeleton)
Definition: HermesSDK.cpp:375
HermesSDK::CheckIfPolygonVersionIsCompatible
bool CheckIfPolygonVersionIsCompatible(Hermes::Protocol::Polygon::Version _Version)
Definition: HermesSDK.cpp:404