Skip to content

Class Manus::CommunicationHub

ClassList > Manus > CommunicationHub

This class is responsible for the communication between Manus Core and the plugin. This component should not be added to the scene manually. Most of these functions are not to be accessed directly.

Classes

Type Name
class ErgonomicsEvent
struct ErgonomicsStream
class GestureEvent
struct Landscape
class LandscapeEvent
class RawSkeletonEvent
class SkeletonEvent
class SystemMessageEvent
class TrackerEvent

Public Types

Type Name
enum State

Public Attributes

Type Name
UnityEvent onConnectedToCore = = new UnityEvent()
UnityEvent onDisconnectedFromCore = = new UnityEvent()
ErgonomicsEvent onErgonomicsData = = new ErgonomicsEvent()
GestureEvent onGestureData = = new GestureEvent()
UnityEvent onHostsFound = = new UnityEvent()
LandscapeEvent onLandscapeEvent = = new LandscapeEvent()
RawSkeletonEvent onRawSkeletonData = = new RawSkeletonEvent()
SkeletonEvent onSkeletonData = = new SkeletonEvent()
SystemMessageEvent onSystemMessageEvent = = new SystemMessageEvent()
TrackerEvent onTrackerData = = new TrackerEvent()

Public Properties

Type Name
property CoreSDK.? ManusHost currentHost
property State currentState

Public Static Properties

Type Name
property uint completeSkeletonIndex
property ErgonomicsStream ergonomicsData
property Landscape landscape

Public Functions

Type Name
void AddChain (Skeleton p_Skeleton, CoreSDK.ChainSetup p_ChainSetup)
Adds a manually created chain to Manus Core skeleton.
bool AllocateChains (Skeleton p_Skeleton)
Setup chains on skeleton.
bool AutoConnect ()
Start searching for Manus Core hosts on network.
void ChangeSettings (bool p_AutoConnect, bool p_ConnectGRPC, bool p_ConnectLocallyOnly)
Change Manus Manager settings.
void ClearAllTemporarySkeletons ()
Removes all temporary skeletons from the temporary skeleton list. If you actually get here you've probably been messing with too many skeletons without finishing them.
CommunicationHub ()
Initial setup for communication hub.
void Connect (CoreSDK.ManusHost p_Host)
Connect to a specific Manus Core host.
bool ConnectGRPC ()
Connect to Manus Core via GRPC port.
async Task< bool > ConnectGRPCAsync ()
Connect to Manus Core via GRPC port asynchronously.
bool ConnectToHost (CoreSDK.ManusHost p_Host)
Connect to Manus Core host.
async Task< bool > ConnectToHostAsync (CoreSDK.ManusHost p_Host)
Connect to Manus Core host asynchronously.
void Destroy ()
Get communication hub ready to be collected by garbage collector.
void Disconnect ()
Set Communication hub to disconnect from Manus Core.
bool DoesSkeletonGloveSupportHaptics (uint p_SkeletonID, CoreSDK.Side p_Side)
Do we have haptics support on a specific hand given the skeleton id.
void FillSkeletonSendQueue ()
Fill skeleton queue to later resend to Manus Core when connection is lost.
uint FirstAvailableUser ()
Fetch first available user ID from Manus Core.
List< CoreSDK.ManusHost > GetAvailableHostsFound ()
Get available Manus Core hosts found.
async Task< List< CoreSDK.ManusHost > > GetAvailableHostsFoundAsync ()
Get available hosts found from previous search asynchronously.
List< CoreSDK.ManusHost > GetHosts ()
Fetch found hosts.
bool GetIsConnectedToCore ()
Get whether Manus SDK is connected toManus Core.
async Task< bool > GetIsConnectedToCoreAsync ()
Get whether Manus SDK is connected toManus Core asynchronously.
uint GetNumberOfAvailableHostsFound ()
Get number of available hosts found from previous search.
async Task< uint > GetNumberOfAvailableHostsFoundAsync ()
Get number of available hosts found from previous search asynchronously.
bool GetRawSkeletonHandMotion (out CoreSDK.HandMotion p_HandMotions)
bool GetRawSkeletonNodeInfo (uint p_GloveId, out CoreSDK.NodeInfo[] p_NodesInfo)
Get the node info for the raw skeleton of a glove.
virtual bool GetSkeletonData (Skeleton p_Skeleton, uint p_SklSetupIdx, uint p_SessionId)
List< CoreSDK.TemporarySkeletonsInfoForSession > GetTemporarySkeletons ()
Get all temporary skeletons from Manus Core.
void GoToState (State p_State)
Set next state for communication hub.
bool HasLoadableSkeleton (uint p_TempIdx)
Checks if the temporary skeleton has been updated in the tool.
void LoadSkeletonFromTool (Skeleton p_Skeleton, uint p_SklSetupIdx)
Load in skeleton from development dashboard.
bool LoadTemporarySkeleton (Skeleton p_Skeleton, uint p_SklSetupIdx, uint p_SessionId)
Load temporary skeleton from Manus Core to plugin skeleton.
bool LoadTemporarySkeletonFromFile (Skeleton p_Skeleton, string p_PathName)
bool LookForHosts (uint p_WaitSeconds=s_HostFetchWaitDelay, bool p_LocalHostOnly=false)
Look for Manus Core hosts on the network.
async Task< bool > LookForHostsAsync (uint p_WaitSeconds=s_HostFetchWaitDelay, bool p_LoopbackOnly=false)
Look for Manus Core hosts asynchronously.
void OnSystemUpdate (CoreSDK.SystemMessage p_SystemMessage)
This function is being called when a temporary skeleton has been changed by the tool.
void OverwriteChain (Skeleton p_Skeleton, CoreSDK.ChainSetup p_ChainSetup)
Overwrite a chain within Manus Core skeleton.
bool PairGlove (uint p_GloveID)
Pair glove to first available dongle.
bool PrepareSkeleton (Skeleton p_Skeleton)
Prepare skeleton.
bool RegisterCustomTracker (CustomTracker p_Tracker)
Register custom tracker to keep track of and update.
void RegisterTrackedObject (TrackedObject p_TrackedObject)
Register tracked object to keep track of and update.
void RemoveLoadableSkeleton (uint p_TempIdx)
Remove temporary skeleton after it's been loaded.
void RequestState (State p_State)
User requests a next state for communication hub.
bool SaveTemporarySkeleton (Skeleton p_Skeleton, bool p_IsSkeletonModified)
Build a temporary skeleton and save to Manus Core.
bool SaveTemporarySkeleton (Skeleton p_Skeleton, List< MeshSetup > p_Meshes, bool p_IsSkeletonModified)
Build a temporary skeleton and save to Manus Core.
bool SaveTemporarySkeletonToFile (Skeleton p_Skeleton, string p_PathName)
async Task< bool > SearchAndFetchHosts ()
Start searching for Manus Core hosts on network.
void SendHapticDataForGlove (uint p_GloveID, float[] p_Powers)
Activate haptics on specific hand given the glove id.
void SendHapticDataForSkeleton (uint p_SkeletonId, CoreSDK.Side p_HandType, float[] p_Powers)
Activate haptics on specific hand given the skeleton id.
bool SetRawSkeletonHandMotion (CoreSDK.HandMotion p_HandMotions)
void SetupSkeleton (Skeleton p_Skeleton)
Setup skeleton for Manus Core and load it.
bool SetupSkeletonTarget (Skeleton p_Skeleton)
Setup skeleton targeting settings for Manus Core.
void UnloadSkeleton (Skeleton p_Skeleton)
Unload a skeleton from Manus Core.
bool UnpairGlove (uint p_GloveID)
Unpair glove to first available dongle.
void UnregisterCustomTracker (CustomTracker p_Tracker)
Unregister tracked object to stop updating.
void UnregisterTrackedObject (TrackedObject p_TrackedObject)
Unregister tracked object to stop updating.
void UpdatePlayMode (bool p_PlayMode)
Update whether playmode is active or not.
void VerifyUpdateLoop ()
Verify the update loop thread is running else restart it.

Public Static Functions

Type Name
bool GloveCalibrationFinish (CoreSDK.GloveCalibrationArgs p_Args)
async Task< bool > GloveCalibrationFinishAsync (CoreSDK.GloveCalibrationArgs p_Args)
uint GloveCalibrationGetNumberOfSteps (CoreSDK.GloveCalibrationArgs p_Args)
async Task< uint > GloveCalibrationGetNumberOfStepsAsync (CoreSDK.GloveCalibrationArgs p_Args)
CoreSDK.GloveCalibrationStepData GloveCalibrationGetStepData (CoreSDK.GloveCalibrationStepArgs p_Args)
async Task< CoreSDK.GloveCalibrationStepData > GloveCalibrationGetStepDataAsync (CoreSDK.GloveCalibrationStepArgs p_Args)
bool GloveCalibrationStart (CoreSDK.GloveCalibrationArgs p_Args)
async Task< bool > GloveCalibrationStartAsync (CoreSDK.GloveCalibrationArgs p_Args)
bool GloveCalibrationStartStep (CoreSDK.GloveCalibrationStepArgs p_Args)
async Task< bool > GloveCalibrationStartStepAsync (CoreSDK.GloveCalibrationStepArgs p_Args)
bool GloveCalibrationStop (CoreSDK.GloveCalibrationArgs p_Args)
async Task< bool > GloveCalibrationStopAsync (CoreSDK.GloveCalibrationArgs p_Args)
bool SendDataForTrackers (List< CoreSDK.TrackerData > p_TrackerData)
bool SetTrackerOffset (uint p_UserId, CoreSDK.TrackerOffset p_TrackerOffset)
Set tracker offset for a specific user.

Protected Attributes

Type Name
CoreSDK.? ManusHost m_CurrentHost = = new CoreSDK.ManusHost()
Dictionary< string, CustomTracker > m_CustomTrackers = = new Dictionary<string, CustomTracker>()
bool m_HandsChanged = = false
List< CoreSDK.ManusHost > m_HostsFound = = new List<CoreSDK.ManusHost>()
List< uint > m_LoadableSkeletons = = new List<uint>()
volatile State m_NextState
CoreSDK.ManusHost m_PreviousHost = = new CoreSDK.ManusHost()
CoreSDK.RawSkeletonStream m_RawSkeletonData = = new CoreSDK.RawSkeletonStream()
bool m_RemoteConnection = = true
volatile State m_RequestedNextState
float m_SeachTimer = = s_HostFetchWaitDelay
bool m_SearchingForHosts = = false
List< Skeleton > m_SentTempSkeletons = = new List<Skeleton>()
uint m_SessionId
CoreSDK.SkeletonStream m_SkeletonData = = new CoreSDK.SkeletonStream()
List< Skeleton > m_SkeletonQueue = = new List<Skeleton>()
Dictionary< uint, Skeleton > m_Skeletons = = new Dictionary<uint, Skeleton>()
HashSet< TrackedObject > m_TrackedObjects = = new HashSet<TrackedObject>()
List< TrackedObject > m_TrackedObjectsQueue = = new List<TrackedObject>()
CoreSDK.TrackerStream m_TrackerData = = new CoreSDK.TrackerStream()

Protected Static Attributes

Type Name
bool s_Active = = false
const float s_HostAutoFindInterval = = 10.0f
const uint s_HostFetchWaitDelay = = 1

Protected Functions

Type Name
bool BuildSkeletonSetup (Skeleton p_Skeleton, out uint p_SklSetupIdx, bool p_QueueForLater)
Build skeleton setup for sending to Manus Core.
async Task< bool > FindConnection ()
Handle connection to Manus Core.
virtual void InitializeSDK ()
Initialize the Manus SDK and register needed callbacks.
void OnConnectedToCore (CoreSDK.ManusHost p_Host)
This function gets called when connection to Manus Core is established.
void OnDisconnectedFromCore (CoreSDK.ManusHost p_Host)
This function gets called when connection to Manus Core is lost.
void OnErgonomicsUpdate (CoreSDK.ErgonomicsStream p_Ergonomics)
This function gets called when Ergonomics data is received.
void OnGestureUpdate (CoreSDK.GestureStream p_GestureStream)
This function gets called when gesture data is received.
void OnRawSkeletonUpdate (CoreSDK.RawSkeletonStream p_SkeletonStream)
This function gets called when raw skeleton data is received.
void OnSkeletonUpdate (CoreSDK.SkeletonStream p_SkeletonStream)
This function gets called when skeleton data is received.
void OnTrackerUpdate (CoreSDK.TrackerStream p_TrackerStream)
This function gets called when tracker data is received.
virtual void RegisterCallbacks ()
Register callbacks for the Manus SDK.
virtual void RestartSDK ()
Temp fix for Manus SDK lingering connection. TODO: Remove when fixed.
void RunUpdateLoop ()
Process the update loop.
void SendCustomTracker ()
Send custom trackers to Manus Core.
void ShutDown ()
Shut down update thread and Manus SDK.
void ShutDownSDK ()
Shuts down the Manus SDK.
virtual void StartUp ()
Starts up update thread and Manus SDK.

Public Types Documentation

enum State

enum Manus::CommunicationHub::State {
    Unknown,
    Disconnected,
    Connecting,
    Connected
};

Public Attributes Documentation

variable onConnectedToCore

UnityEvent Manus.CommunicationHub.onConnectedToCore;

variable onDisconnectedFromCore

UnityEvent Manus.CommunicationHub.onDisconnectedFromCore;

variable onErgonomicsData

ErgonomicsEvent Manus.CommunicationHub.onErgonomicsData;

variable onGestureData

GestureEvent Manus.CommunicationHub.onGestureData;

variable onHostsFound

UnityEvent Manus.CommunicationHub.onHostsFound;

variable onLandscapeEvent

LandscapeEvent Manus.CommunicationHub.onLandscapeEvent;

variable onRawSkeletonData

RawSkeletonEvent Manus.CommunicationHub.onRawSkeletonData;

variable onSkeletonData

SkeletonEvent Manus.CommunicationHub.onSkeletonData;

variable onSystemMessageEvent

SystemMessageEvent Manus.CommunicationHub.onSystemMessageEvent;

variable onTrackerData

TrackerEvent Manus.CommunicationHub.onTrackerData;

Public Properties Documentation

property currentHost

CoreSDK.? ManusHost Manus.CommunicationHub.currentHost;

property currentState

State Manus.CommunicationHub.currentState;

Public Static Properties Documentation

property completeSkeletonIndex

uint Manus.CommunicationHub.completeSkeletonIndex;

property ergonomicsData

ErgonomicsStream Manus.CommunicationHub.ergonomicsData;

property landscape

Landscape Manus.CommunicationHub.landscape;

Public Functions Documentation

function AddChain

Adds a manually created chain to Manus Core skeleton.

inline void Manus::CommunicationHub::AddChain (
    Skeleton p_Skeleton,
    CoreSDK.ChainSetup p_ChainSetup
) 

Parameters:

  • p_Skeleton Skeleton to add chain to
  • p_ChainSetup Chain setup to add to skeleton

function AllocateChains

Setup chains on skeleton.

inline bool Manus::CommunicationHub::AllocateChains (
    Skeleton p_Skeleton
) 

Parameters:

  • p_Skeleton Skeleton to allocate chains for

function AutoConnect

inline bool Manus::CommunicationHub::AutoConnect () 

function ChangeSettings

Change Manus Manager settings.

inline void Manus::CommunicationHub::ChangeSettings (
    bool p_AutoConnect,
    bool p_ConnectGRPC,
    bool p_ConnectLocallyOnly
) 

Parameters:

  • p_AutoConnect Whether to auto connect on host found
  • p_ConnectGRPC Whether to connect via GRPC
  • p_ConnectLocallyOnly Whether to search only local machine for Manus Core instances

function ClearAllTemporarySkeletons

inline void Manus::CommunicationHub::ClearAllTemporarySkeletons () 

function CommunicationHub

inline Manus::CommunicationHub::CommunicationHub () 

function Connect

Connect to a specific Manus Core host.

inline void Manus::CommunicationHub::Connect (
    CoreSDK.ManusHost p_Host
) 

Parameters:

  • p_Host Host to connect to

function ConnectGRPC

Connect to Manus Core via GRPC port.

inline bool Manus::CommunicationHub::ConnectGRPC () 

Returns:

Whether action succeeded

function ConnectGRPCAsync

Connect to Manus Core via GRPC port asynchronously.

inline async Task< bool > Manus::CommunicationHub::ConnectGRPCAsync () 

Returns:

Whether action succeeded

function ConnectToHost

Connect to Manus Core host.

inline bool Manus::CommunicationHub::ConnectToHost (
    CoreSDK.ManusHost p_Host
) 

Parameters:

  • p_Host Manus Core host to connect to

Returns:

Whether action succeeded

function ConnectToHostAsync

Connect to Manus Core host asynchronously.

inline async Task< bool > Manus::CommunicationHub::ConnectToHostAsync (
    CoreSDK.ManusHost p_Host
) 

Parameters:

  • p_Host Manus Core host to connect to

Returns:

Whether action succeeded

function Destroy

inline void Manus::CommunicationHub::Destroy () 

function Disconnect

inline void Manus::CommunicationHub::Disconnect () 

function DoesSkeletonGloveSupportHaptics

Do we have haptics support on a specific hand given the skeleton id.

inline bool Manus::CommunicationHub::DoesSkeletonGloveSupportHaptics (
    uint p_SkeletonID,
    CoreSDK.Side p_Side
) 

Parameters:

  • p_SkeletonId Skeleton id
  • p_HandType Hand type to send to

function FillSkeletonSendQueue

inline void Manus::CommunicationHub::FillSkeletonSendQueue () 

function FirstAvailableUser

Fetch first available user ID from Manus Core.

inline uint Manus::CommunicationHub::FirstAvailableUser () 

Returns:

First available user id

function GetAvailableHostsFound

Get available Manus Core hosts found.

inline List< CoreSDK.ManusHost > Manus::CommunicationHub::GetAvailableHostsFound () 

Returns:

List of hosts found

function GetAvailableHostsFoundAsync

Get available hosts found from previous search asynchronously.

inline async Task< List< CoreSDK.ManusHost > > Manus::CommunicationHub::GetAvailableHostsFoundAsync () 

Returns:

List of hosts found

function GetHosts

Fetch found hosts.

inline List< CoreSDK.ManusHost > Manus::CommunicationHub::GetHosts () 

Returns:

Found hosts

function GetIsConnectedToCore

Get whether Manus SDK is connected toManus Core.

inline bool Manus::CommunicationHub::GetIsConnectedToCore () 

Returns:

Connected to core

function GetIsConnectedToCoreAsync

Get whether Manus SDK is connected toManus Core asynchronously.

inline async Task< bool > Manus::CommunicationHub::GetIsConnectedToCoreAsync () 

Returns:

Connected to core

function GetNumberOfAvailableHostsFound

Get number of available hosts found from previous search.

inline uint Manus::CommunicationHub::GetNumberOfAvailableHostsFound () 

Returns:

Number of available hosts found

function GetNumberOfAvailableHostsFoundAsync

Get number of available hosts found from previous search asynchronously.

inline async Task< uint > Manus::CommunicationHub::GetNumberOfAvailableHostsFoundAsync () 

Returns:

Number of available hosts found

function GetRawSkeletonHandMotion

inline bool Manus::CommunicationHub::GetRawSkeletonHandMotion (
    out CoreSDK.HandMotion p_HandMotions
) 

Sets the hand motion of all raw skeletons in core

Parameters:

  • p_HandMotions Type of motion

Returns:

function GetRawSkeletonNodeInfo

Get the node info for the raw skeleton of a glove.

inline bool Manus::CommunicationHub::GetRawSkeletonNodeInfo (
    uint p_GloveId,
    out CoreSDK.NodeInfo [] p_NodesInfo
) 

Parameters:

  • p_GloveId Glove id
  • p_NodesInfo Array of all the nodes and its parent

Returns:

function GetSkeletonData

inline virtual bool Manus::CommunicationHub::GetSkeletonData (
    Skeleton p_Skeleton,
    uint p_SklSetupIdx,
    uint p_SessionId
) 

function GetTemporarySkeletons

Get all temporary skeletons from Manus Core.

inline List< CoreSDK.TemporarySkeletonsInfoForSession > Manus::CommunicationHub::GetTemporarySkeletons () 

Returns:

All temporary skeletons in Manus Core

function GoToState

Set next state for communication hub.

inline void Manus::CommunicationHub::GoToState (
    State p_State
) 

Parameters:

  • p_State Next state

function HasLoadableSkeleton

Checks if the temporary skeleton has been updated in the tool.

inline bool Manus::CommunicationHub::HasLoadableSkeleton (
    uint p_TempIdx
) 

Parameters:

  • p_TempIdx

Returns:

function LoadSkeletonFromTool

Load in skeleton from development dashboard.

inline void Manus::CommunicationHub::LoadSkeletonFromTool (
    Skeleton p_Skeleton,
    uint p_SklSetupIdx
) 

Parameters:

  • p_Skeleton Skeleton to load to
  • p_SklSetupIdx Skeleton setup index to load from

function LoadTemporarySkeleton

Load temporary skeleton from Manus Core to plugin skeleton.

inline bool Manus::CommunicationHub::LoadTemporarySkeleton (
    Skeleton p_Skeleton,
    uint p_SklSetupIdx,
    uint p_SessionId
) 

Parameters:

  • p_Skeleton Skeleton to load to
  • p_SklSetupIdx Skeleton setup index to load from
  • p_SessionId Session ID to load from

Returns:

Whether action succeeded

function LoadTemporarySkeletonFromFile

inline bool Manus::CommunicationHub::LoadTemporarySkeletonFromFile (
    Skeleton p_Skeleton,
    string p_PathName
) 

function LookForHosts

Look for Manus Core hosts on the network.

inline bool Manus::CommunicationHub::LookForHosts (
    uint p_WaitSeconds=s_HostFetchWaitDelay,
    bool p_LocalHostOnly=false
) 

Parameters:

  • p_WaitSeconds Amount of time to search for in seconds
  • p_LocalHostOnly Whether to check for only local Manus Core instances

Returns:

Whether action failed or not

function LookForHostsAsync

Look for Manus Core hosts asynchronously.

inline async Task< bool > Manus::CommunicationHub::LookForHostsAsync (
    uint p_WaitSeconds=s_HostFetchWaitDelay,
    bool p_LoopbackOnly=false
) 

Parameters:

  • p_WaitSeconds Amount of time to search for in seconds
  • p_LoopbackOnly Whether to check for only local Manus Core instances

Returns:

Whether action s

function OnSystemUpdate

This function is being called when a temporary skeleton has been changed by the tool.

inline void Manus::CommunicationHub::OnSystemUpdate (
    CoreSDK.SystemMessage p_SystemMessage
) 

Parameters:

  • p_SystemMessage

function OverwriteChain

Overwrite a chain within Manus Core skeleton.

inline void Manus::CommunicationHub::OverwriteChain (
    Skeleton p_Skeleton,
    CoreSDK.ChainSetup p_ChainSetup
) 

Parameters:

  • p_Skeleton Skeleton to modify chain in
  • p_ChainSetup Chain setup to add to skeleton

function PairGlove

Pair glove to first available dongle.

inline bool Manus::CommunicationHub::PairGlove (
    uint p_GloveID
) 

Parameters:

  • p_GloveID Glove id

function PrepareSkeleton

Prepare skeleton.

inline bool Manus::CommunicationHub::PrepareSkeleton (
    Skeleton p_Skeleton
) 

Parameters:

  • p_Skeleton Skeleton to allocate chains for

function RegisterCustomTracker

Register custom tracker to keep track of and update.

inline bool Manus::CommunicationHub::RegisterCustomTracker (
    CustomTracker p_Tracker
) 

Parameters:

  • p_Tracker Custom tracker to register

function RegisterTrackedObject

Register tracked object to keep track of and update.

inline void Manus::CommunicationHub::RegisterTrackedObject (
    TrackedObject p_TrackedObject
) 

Parameters:

  • p_TrackedObject Tracked object to register

function RemoveLoadableSkeleton

Remove temporary skeleton after it's been loaded.

inline void Manus::CommunicationHub::RemoveLoadableSkeleton (
    uint p_TempIdx
) 

Parameters:

  • p_TempIdx

function RequestState

User requests a next state for communication hub.

inline void Manus::CommunicationHub::RequestState (
    State p_State
) 

Parameters:

  • p_State Next state

function SaveTemporarySkeleton [1/2]

Build a temporary skeleton and save to Manus Core.

inline bool Manus::CommunicationHub::SaveTemporarySkeleton (
    Skeleton p_Skeleton,
    bool p_IsSkeletonModified
) 

Parameters:

  • p_Skeleton Skeleton to build and load
  • p_IsSkeletonModified Whether skeleton has been modified

function SaveTemporarySkeleton [2/2]

Build a temporary skeleton and save to Manus Core.

inline bool Manus::CommunicationHub::SaveTemporarySkeleton (
    Skeleton p_Skeleton,
    List< MeshSetup > p_Meshes,
    bool p_IsSkeletonModified
) 

Parameters:

  • p_Skeleton Skeleton to build and load
  • p_Meshes Meshes that belong to the skeleton and you want to load
  • p_IsSkeletonModified Whether skeleton has been modified

function SaveTemporarySkeletonToFile

inline bool Manus::CommunicationHub::SaveTemporarySkeletonToFile (
    Skeleton p_Skeleton,
    string p_PathName
) 

function SearchAndFetchHosts

inline async Task< bool > Manus::CommunicationHub::SearchAndFetchHosts () 

function SendHapticDataForGlove

Activate haptics on specific hand given the glove id.

inline void Manus::CommunicationHub::SendHapticDataForGlove (
    uint p_GloveID,
    float[] p_Powers
) 

Parameters:

  • p_SkeletonId Glove id
  • p_Powers Strength to send to hand

function SendHapticDataForSkeleton

Activate haptics on specific hand given the skeleton id.

inline void Manus::CommunicationHub::SendHapticDataForSkeleton (
    uint p_SkeletonId,
    CoreSDK.Side p_HandType,
    float[] p_Powers
) 

Parameters:

  • p_SkeletonId Skeleton id
  • p_HandType Hand type to send to
  • p_Powers Strength to send to hand

function SetRawSkeletonHandMotion

inline bool Manus::CommunicationHub::SetRawSkeletonHandMotion (
    CoreSDK.HandMotion p_HandMotions
) 

Sets the hand motion of all raw skeletons in core

Parameters:

  • p_HandMotions Type of motion

Returns:

function SetupSkeleton

Setup skeleton for Manus Core and load it.

inline void Manus::CommunicationHub::SetupSkeleton (
    Skeleton p_Skeleton
) 

Parameters:

  • p_Skeleton Skeleton to setup and load

function SetupSkeletonTarget

Setup skeleton targeting settings for Manus Core.

inline bool Manus::CommunicationHub::SetupSkeletonTarget (
    Skeleton p_Skeleton
) 

Parameters:

  • p_Skeleton Skeleton to setup settings for

Returns:

Whether action succeeded

function UnloadSkeleton

Unload a skeleton from Manus Core.

inline void Manus::CommunicationHub::UnloadSkeleton (
    Skeleton p_Skeleton
) 

Parameters:

  • p_Skeleton Skeleton to unload

function UnpairGlove

Unpair glove to first available dongle.

inline bool Manus::CommunicationHub::UnpairGlove (
    uint p_GloveID
) 

Parameters:

  • p_GloveID Glove id

function UnregisterCustomTracker

Unregister tracked object to stop updating.

inline void Manus::CommunicationHub::UnregisterCustomTracker (
    CustomTracker p_Tracker
) 

Parameters:

  • p_Tracker

function UnregisterTrackedObject

Unregister tracked object to stop updating.

inline void Manus::CommunicationHub::UnregisterTrackedObject (
    TrackedObject p_TrackedObject
) 

Parameters:

  • p_TrackedObject Tracked object to remove

function UpdatePlayMode

Update whether playmode is active or not.

inline void Manus::CommunicationHub::UpdatePlayMode (
    bool p_PlayMode
) 

Parameters:

  • p_PlayMode Whether playmode is active

function VerifyUpdateLoop

inline void Manus::CommunicationHub::VerifyUpdateLoop () 

Public Static Functions Documentation

function GloveCalibrationFinish

static inline bool Manus::CommunicationHub::GloveCalibrationFinish (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationFinishAsync

static inline async Task< bool > Manus::CommunicationHub::GloveCalibrationFinishAsync (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationGetNumberOfSteps

static inline uint Manus::CommunicationHub::GloveCalibrationGetNumberOfSteps (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationGetNumberOfStepsAsync

static inline async Task< uint > Manus::CommunicationHub::GloveCalibrationGetNumberOfStepsAsync (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationGetStepData

static inline CoreSDK.GloveCalibrationStepData Manus::CommunicationHub::GloveCalibrationGetStepData (
    CoreSDK.GloveCalibrationStepArgs p_Args
) 

function GloveCalibrationGetStepDataAsync

static inline async Task< CoreSDK.GloveCalibrationStepData > Manus::CommunicationHub::GloveCalibrationGetStepDataAsync (
    CoreSDK.GloveCalibrationStepArgs p_Args
) 

function GloveCalibrationStart

static inline bool Manus::CommunicationHub::GloveCalibrationStart (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationStartAsync

static inline async Task< bool > Manus::CommunicationHub::GloveCalibrationStartAsync (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationStartStep

static inline bool Manus::CommunicationHub::GloveCalibrationStartStep (
    CoreSDK.GloveCalibrationStepArgs p_Args
) 

function GloveCalibrationStartStepAsync

static inline async Task< bool > Manus::CommunicationHub::GloveCalibrationStartStepAsync (
    CoreSDK.GloveCalibrationStepArgs p_Args
) 

function GloveCalibrationStop

static inline bool Manus::CommunicationHub::GloveCalibrationStop (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function GloveCalibrationStopAsync

static inline async Task< bool > Manus::CommunicationHub::GloveCalibrationStopAsync (
    CoreSDK.GloveCalibrationArgs p_Args
) 

function SendDataForTrackers

static inline bool Manus::CommunicationHub::SendDataForTrackers (
    List< CoreSDK.TrackerData > p_TrackerData
) 

function SetTrackerOffset

Set tracker offset for a specific user.

static inline bool Manus::CommunicationHub::SetTrackerOffset (
    uint p_UserId,
    CoreSDK.TrackerOffset p_TrackerOffset
) 

Parameters:

  • p_UserId ID of the user
  • p_TrackerOffset Tracker offset

Protected Attributes Documentation

variable m_CurrentHost

CoreSDK.? ManusHost Manus.CommunicationHub.m_CurrentHost;

variable m_CustomTrackers

Dictionary<string, CustomTracker> Manus.CommunicationHub.m_CustomTrackers;

variable m_HandsChanged

bool Manus.CommunicationHub.m_HandsChanged;

variable m_HostsFound

List<CoreSDK.ManusHost> Manus.CommunicationHub.m_HostsFound;

variable m_LoadableSkeletons

List<uint> Manus.CommunicationHub.m_LoadableSkeletons;

variable m_NextState

volatile State Manus.CommunicationHub.m_NextState;

variable m_PreviousHost

CoreSDK.ManusHost Manus.CommunicationHub.m_PreviousHost;

variable m_RawSkeletonData

CoreSDK.RawSkeletonStream Manus.CommunicationHub.m_RawSkeletonData;

variable m_RemoteConnection

bool Manus.CommunicationHub.m_RemoteConnection;

variable m_RequestedNextState

volatile State Manus.CommunicationHub.m_RequestedNextState;

variable m_SeachTimer

float Manus.CommunicationHub.m_SeachTimer;

variable m_SearchingForHosts

bool Manus.CommunicationHub.m_SearchingForHosts;

variable m_SentTempSkeletons

List<Skeleton> Manus.CommunicationHub.m_SentTempSkeletons;

variable m_SessionId

uint Manus.CommunicationHub.m_SessionId;

variable m_SkeletonData

CoreSDK.SkeletonStream Manus.CommunicationHub.m_SkeletonData;

variable m_SkeletonQueue

List<Skeleton> Manus.CommunicationHub.m_SkeletonQueue;

variable m_Skeletons

Dictionary<uint, Skeleton> Manus.CommunicationHub.m_Skeletons;

variable m_TrackedObjects

HashSet<TrackedObject> Manus.CommunicationHub.m_TrackedObjects;

variable m_TrackedObjectsQueue

List<TrackedObject> Manus.CommunicationHub.m_TrackedObjectsQueue;

variable m_TrackerData

CoreSDK.TrackerStream Manus.CommunicationHub.m_TrackerData;

Protected Static Attributes Documentation

variable s_Active

bool Manus.CommunicationHub.s_Active;

variable s_HostAutoFindInterval

const float Manus.CommunicationHub.s_HostAutoFindInterval;

variable s_HostFetchWaitDelay

const uint Manus.CommunicationHub.s_HostFetchWaitDelay;

Protected Functions Documentation

function BuildSkeletonSetup

Build skeleton setup for sending to Manus Core.

inline bool Manus::CommunicationHub::BuildSkeletonSetup (
    Skeleton p_Skeleton,
    out uint p_SklSetupIdx,
    bool p_QueueForLater
) 

Parameters:

  • p_Skeleton Skeleton to build setup for
  • p_SklSetupIdx Skeleton setup index was built for
  • p_QueueForLater Queue again for later on fail

Returns:

Whether action succeeded

function FindConnection

inline async Task< bool > Manus::CommunicationHub::FindConnection () 

function InitializeSDK

inline virtual void Manus::CommunicationHub::InitializeSDK () 

function OnConnectedToCore

This function gets called when connection to Manus Core is established.

inline void Manus::CommunicationHub::OnConnectedToCore (
    CoreSDK.ManusHost p_Host
) 

Parameters:

  • p_Host Host connected to

function OnDisconnectedFromCore

This function gets called when connection to Manus Core is lost.

inline void Manus::CommunicationHub::OnDisconnectedFromCore (
    CoreSDK.ManusHost p_Host
) 

Parameters:

  • p_Host Host disconnected from

function OnErgonomicsUpdate

This function gets called when Ergonomics data is received.

inline void Manus::CommunicationHub::OnErgonomicsUpdate (
    CoreSDK.ErgonomicsStream p_Ergonomics
) 

Parameters:

  • p_Ergonomics Ergonomics data received

function OnGestureUpdate

This function gets called when gesture data is received.

inline void Manus::CommunicationHub::OnGestureUpdate (
    CoreSDK.GestureStream p_GestureStream
) 

Parameters:

  • p_GestureStream Gesture data from Manus Core

function OnRawSkeletonUpdate

This function gets called when raw skeleton data is received.

inline void Manus::CommunicationHub::OnRawSkeletonUpdate (
    CoreSDK.RawSkeletonStream p_SkeletonStream
) 

Parameters:

  • p_SkeletonStream Skeleton data from Manus Core

function OnSkeletonUpdate

This function gets called when skeleton data is received.

inline void Manus::CommunicationHub::OnSkeletonUpdate (
    CoreSDK.SkeletonStream p_SkeletonStream
) 

Parameters:

  • p_SkeletonStream Skeleton data from Manus Core

function OnTrackerUpdate

This function gets called when tracker data is received.

inline void Manus::CommunicationHub::OnTrackerUpdate (
    CoreSDK.TrackerStream p_TrackerStream
) 

Parameters:

  • p_TrackerStream Tracker data from Manus Core

function RegisterCallbacks

inline virtual void Manus::CommunicationHub::RegisterCallbacks () 

function RestartSDK

inline virtual void Manus::CommunicationHub::RestartSDK () 

function RunUpdateLoop

inline void Manus::CommunicationHub::RunUpdateLoop () 

function SendCustomTracker

inline void Manus::CommunicationHub::SendCustomTracker () 

function ShutDown

inline void Manus::CommunicationHub::ShutDown () 

function ShutDownSDK

inline void Manus::CommunicationHub::ShutDownSDK () 

function StartUp

inline virtual void Manus::CommunicationHub::StartUp () 

The documentation for this class was generated from the following file api/unity-plugin/Scripts/Core/CommunicationHub.cs