API reference
API reference
Select your platform
No SDKs available
No versions available

DominantHandRef Class

Extends MonoBehaviour, IHand, IActiveState
DominantHandRef is a utility component that delegates all of its IHand implementation to the Left or the Right Hand provided depending on which one is the Dominant one.

Properties

IHand LeftHand[Get]
IHand RightHand[Get]
bool SelectDominant[Get]
Action WhenHandUpdated

Fields

IHand Hand[Get]
Handedness Handedness[Get]
bool IsConnected[Get]
bool IsHighConfidence[Get]
bool IsDominantHand[Get]
float Scale[Get]
bool IsPointerPoseValid[Get]
bool IsTrackedDataValid[Get]
int CurrentDataVersion[Get]
bool Active[Get]

Protected Fields

bool _started[Get]

Protected Functions

virtual void Awake ( )
virtual void Start ( )
virtual void OnEnable ( )
virtual void OnDisable ( )

Member Functions

Checks whether a particular finger is considered to be pinching.
How a given finger is determined to be pinching is an implementation detail which can vary by finger/platform and is not part of the contract of this method, which merely provides a unified way to query for the semantic concept of a "pinch".
Parameters
finger
The finger to check for pinching behavior
Returns
Whether or not the requested finger is considered to be pinching
A convenience method to check for the most commonly-desired pinching behavior.
Calling this method is equivalent to calling GetFingerIsPinching(HandFinger) with the argument HandFinger.Index.
Returns
Whether or not the index finger is considered to be pinching
Attempts to return a valid "pointer pose" for the hand.
A "pointer pose" is a world-space pose (position and orientation) intended to be used as a directional input, conceptually comparable to "pointing at something." However, the nature of this pose and its relationship to the hand are not part of the contract of this method; it may or may not correspond to a "direction of pointing," and in many implementations it corresponds more closely to a "direction of reaching out." These details can vary, but in all cases this method provides a unified way to query for the semantic concept of a "pointer."
Parameters
pose
A valid world-space pointer pose if one could be calculated, identity otherwise
Returns
True if the pose argument was populated with a valid pointer pose, false otherwise
Attempts to return the world-space pose of the requested hand joint.
Parameters
handJointId
The joint for which the pose is being requested
pose
A valid world-space joint pose if one is available, identity otherwise
Returns
True if the pose argument was populated with a valid joint pose, false otherwise
Attempts to return the pose of the requested hand joint in "local" space.
This "local" space is loosely defined and can vary by platform (in some implementations, each joint is relative to a given parent joint), so the exact nature of what is returned by this method is not guaranteed. In general, it is recommended to use GetJointPose(HandJointId, out Pose) or GetJointPoseFromWrist(HandJointId, out Pose) instead where possible.
Parameters
handJointId
The joint for which the pose is being requested
pose
A valid "local" space joint pose if one is available, identity otherwise
Returns
True if the pose argument was populated with a valid joint pose, false otherwise
Retrieves all "local" space joint poses for this hand.
The values returned by this method are the same as those returned by calling GetJointPoseLocal(HandJointId, out Pose) repeatedly, but as a batched query this method can be more efficient if many joint poses are needed.
Parameters
localJointPoses
The array of all "local" joint poses if available, or an empty array otherwise
Returns
True if the poses collection was correctly populated, false otherwise
Attempts to return the pose of the requested hand joint in wrist space.
Wrist space is strongly defined as a transform space located and oriented according to HandJointId.HandWristRoot. This space is of uniform scale across hand sizes, meaning all tracked hands are the same size in wrist space, and wrist space itself must be multipled by Scale in order to correctly reflect the observed size of the tracked hands in world space.
Parameters
handJointId
The joint for which the pose is being requested
pose
A valid wrist space joint pose if available, false otherwise
Returns
True if the pose argument was populated with a valid joint pose, false otherwise
Retrieves all wrist space joint poses for this hand.
The values returned by this method are the same as those returned by calling GetJointPoseFromWrist(HandJointId, out Pose) repeatedly, but as a batched query this method can be more efficient if many joint poses are needed.
Parameters
jointPosesFromWrist
The array of all wrist space joint poses if available, or an empty array otherwise
Returns
True if the poses collection was correctly populated, false otherwise
Attempts to return the pose of the palm in "local" space.
This "local" space is loosely defined and can vary by platform; in some implementations, it can be considered for this method in particular to be synonymous with wrist space.
Parameters
pose
The "local" palm position and orientation if available, identity otherwise
Returns
True if the pose argument was populated with a valid palm pose, false otherwise
Queries whether the tracking data for a particular finger is high- or low-confidence.
Parameters
finger
The finger to be checked for high-confidence tracking data
Returns
True if the system is confident in its tracking data for the requested finger, false otherwise
Queries the strength with which a particular finger is considered to be pinching.
"Strength" in this case is an indication of how similar or different the finger's pose is to what could be considered a pinch; a finger with its tip far from the thumb will likely have a pinch strength at or near 0, while a finger with its tip touching the thumb will likely have a pinch strength at or near 1.
Parameters
finger
The finger to be checked for pinch strength
Returns
A number from 0 to 1 indicating how far or close, respectively, the finger is from pinching
Attempts to retrieve the pose of the wrist joint in world space.
This is a convenience method and is identical to calling GetJointPose(HandJointId, out Pose) with the argument HandJointId.HandWristRoot.
Parameters
pose
A void world space pose for the wrist joint if available, identity otherwise
Returns
True if the pose argument was populated with a valid joint pose, false otherwise
void InjectAllDominantHandRef
( IHand leftHand,
IHand rightHand )
void InjectLeftHand
( IHand leftHand )
void InjectRightHand
( IHand rightHand )
Did you find this page helpful?
Thumbs up icon
Thumbs down icon