3Gear Systems SDK  v0.9.34
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions | Protected Attributes | Properties | List of all members
ThreeGear.PoseMessage Class Reference

Message that exposes the hand skeleton information for both hands. More...

Inheritance diagram for ThreeGear.PoseMessage:
ThreeGear.BasicMessage ThreeGear.HandTrackingMessage

Public Member Functions

 PoseMessage (BasicMessage pinchMessage, float[] confidenceEstimates, Quaternion[][] jointRotations, Vector3D[][] jointTranslations, Vector3D[][] fingerTips, float[][] handPoseConfidences, float[][] fingerDOFs)
 Constructs a PoseMessage. Should not generally be called by users of the API. More...
 
override string Serialize ()
 Serialize the message to a string, which could then be sent using the network protocol. More...
 
- Public Member Functions inherited from ThreeGear.BasicMessage
HandState GetHandState (int hand)
 The frame defined by the position and rotation of the back of the hand (excluding the wrist). More...
 

Static Public Member Functions

static new PoseMessage Parse (TokenStream tokenStream, MessageType type)
 
- Static Public Member Functions inherited from ThreeGear.BasicMessage
static BasicMessage Parse (TokenStream tokenStream, MessageType type)
 
- Static Public Member Functions inherited from ThreeGear.HandTrackingMessage
static HandTrackingMessage Deserialize (string data)
 Factory method that parses a HandTrackingMessage from a string More...
 

Protected Attributes

float[] confidenceEstimates
 
Matrix3D[][] jointFrames
 
Quaternion[][] jointRotations
 
Vector3D[][] jointTranslations
 
Vector3D[][] fingerTips
 
float[][] handPoseConfidences
 
float[][] fingerDOFs
 
- Protected Attributes inherited from ThreeGear.BasicMessage
HandState[] hands
 

Properties

Matrix3D[][] JointFrames [get]
 The joint frames of all the bones; used for skinning. More...
 
Quaternion[][] JointRotations [get]
 The joint rotations for all the bones indexed using the ThreeGear.JointFrameIndex enum. More...
 
Vector3D[][] JointTranslations [get]
 The joint positions for all the bones indexed using the ThreeGear.JointFrameIndex enum. More...
 
Vector3D[][] FingerTips [get]
 A point at the end of each finger. More...
 
float[] ConfidenceEstimates [get]
 How confident we are about the pose. More...
 
float[][] HandPoseConfidences [get]
 Experimental function that returns how confident we are that the hand is in a given pose. More...
 
float[][] FingerDOFs [get]
 Joint angles for the fingers. More...
 

Additional Inherited Members

- Public Attributes inherited from ThreeGear.HandTrackingMessage
const int N_JOINTS = 17
 The number of joints in the hand model, currently 17 (arm, wrist, and 3 each for the 5 fingers). More...
 
const int N_FINGERS = 5
 The number of fingers is five (thumb, index, middle, ring, pinky). More...
 
const int N_HANDS = 2
 Two hands (left and right). More...
 
const int N_POSES = 7
 The number of specifically recognized poses. More...
 
const int N_FINGER_DOFS_PER_HAND = 16
 The number of finger degrees of freedom per hand. More...
 
- Protected Member Functions inherited from ThreeGear.BasicMessage
 BasicMessage (MessageType type, Vector3D positionLeft, Quaternion rotationLeft, int clickCountLeft, Vector3D positionRight, Quaternion rotationRight, int clickCountRight)
 Constructs a BasicMessage. Should generally not be called by users of the API. More...
 
 BasicMessage (BasicMessage message)
 Copy constructor for a BasicMessage. More...
 

Detailed Description

Message that exposes the hand skeleton information for both hands.

Constructor & Destructor Documentation

ThreeGear.PoseMessage.PoseMessage ( BasicMessage  pinchMessage,
float[]  confidenceEstimates,
Quaternion  jointRotations[][],
Vector3D  jointTranslations[][],
Vector3D  fingerTips[][],
float  handPoseConfidences[][],
float  fingerDOFs[][] 
)
inline

Constructs a PoseMessage. Should not generally be called by users of the API.

Member Function Documentation

override string ThreeGear.PoseMessage.Serialize ( )
inlinevirtual

Serialize the message to a string, which could then be sent using the network protocol.

Reimplemented from ThreeGear.BasicMessage.

Property Documentation

float [] ThreeGear.PoseMessage.ConfidenceEstimates
get

How confident we are about the pose.

This is a value between 0 and 1. Currently only values of zero (0) and one (1) are ever returned, but we expect this to change in future versions.

float [][] ThreeGear.PoseMessage.FingerDOFs
get

Joint angles for the fingers.

These are the actual joint angles for each finger, which can be used to determine which fingers are bent for gesture recognition. Index this using the ThreeGear.FingerDOF enum.

For more details on the hand model, consult the hand model docs.

Vector3D [][] ThreeGear.PoseMessage.FingerTips
get

A point at the end of each finger.

float [][] ThreeGear.PoseMessage.HandPoseConfidences
get

Experimental function that returns how confident we are that the hand is in a given pose.

Returns the confidence score for each pose. Each confidence score is a value between 0 and 1 and they sum to 1. Please use the the HandPose enum to index into the array.

Matrix3D [][] ThreeGear.PoseMessage.JointFrames
get

The joint frames of all the bones; used for skinning.

These should be indexed using the ThreeGear.JointFrameIndex enum.

For more details on the hand model, consult the hand model docs.

Quaternion [][] ThreeGear.PoseMessage.JointRotations
get

The joint rotations for all the bones indexed using the ThreeGear.JointFrameIndex enum.

Vector3D [][] ThreeGear.PoseMessage.JointTranslations
get

The joint positions for all the bones indexed using the ThreeGear.JointFrameIndex enum.


The documentation for this class was generated from the following file: