FingersMetadata Class
This class contains a series of useful fingers-related data structures to be used for optimal calculations without relying in dictionaries.
Since we always assume the hand pose information to be sorted in the HAND_JOINT_IDS order, we can align multiple data structures that follow that convention.
static readonly HandJointId [] HAND_JOINT_IDS[Get]
Valid identifiers for the i-bone of a hand.
static readonly HandJointId [][] FINGER_TO_JOINTS[Get]
This collection contains the joints of each finger minus the tip in ascending order
static readonly int [][] FINGER_TO_JOINT_INDEX[Get]
This collection is used to convert from Finger id to the list indices of its joint in the HAND_JOINT_IDS list.
static readonly bool [] HAND_JOINT_CAN_SPREAD[Get]
Array order following HAND_JOINT_IDS that indicates if the i joint can spread (rotate around Y).
Should be true for the root of the fingers but Pink and Thumb are special cases
static readonly int [] JOINT_TO_FINGER_INDEX[Get]
Map any HandJointId to joint index of each finger, where the joint index starts at 0 (toward wrist) and increments for each joint toward the fingertip.
static readonly HandFinger [] JOINT_TO_FINGER[Get]
Map HandJointId to HandFinger
static JointFreedom [] DefaultFingersFreedom ( )
static int HandJointIdToIndex ( HandJointId id )
The index within HAND_JOINT_IDS for the given joint
ReturnsAn index in HAND_JOINT_IDS or -1 if invalud