![]() |
3Gear Systems SDK
v0.9.34
|
Classes | |
class | BasicMessage |
The most basic form of the hand tracking message includes a type, which hand was updated, and the position and rotational frame of each hand. The hand rotation is specified as a quaternion (x,y,z,w). More... | |
class | BimanualPinchMessage |
Messages relating to simultaneous or individual pinching More... | |
class | CalibrationMessage |
Message that indicates the progress of calibrating the user's hand scale. More... | |
class | HandState |
Structure holding the position, rotational frame and other information relevant to the state of the hand. More... | |
class | HandTrackingMessage |
Base class for all hand-tracking messages / events. More... | |
class | OpenCVCamera |
A class representing the intrinsic/extrinsic parameters of the depth camera. More... | |
class | PinchMessage |
Messages relating to pressing, releasing, dragging and moving of each hand. More... | |
class | PointMessage |
Messages related to pointing with the index finger. More... | |
class | PoseMessage |
Message that exposes the hand skeleton information for both hands. More... | |
class | UserMessage |
Message that exposes the user name and skinning information for the user's calibrated hands. More... | |
class | WelcomeMessage |
A message sent upon connecting to the server, indicating the server and protocol version. More... | |
Functions | |
delegate void | MessageHandler (HandTrackingMessage message) |
A delegate for receiving hand update events. More... | |
delegate void | ErrorHandler (string errMsg) |
A delegate for receiving error message. More... | |
enum ThreeGear.FingerDOF |
Degrees of freedom of the hand model, as reported by the ThreeGear.PoseMessage.FingerDOFs function.
Each of these is a rotation in radians that measures how far the corresponding finger is bent from its rest pose. For flexion/extension joints, positive angles indicate flexion while negative angles indicate extension.
We recommend using these joint angles for detecting gestures of the form "finger X is bending." If you need to know the global position/orientation of the hand, you'll need to use the joint frames returned by HandTrackingClient::PoseMessage::getJointFrames instead.
For more details on the hand model, consult the hand model docs.
enum ThreeGear.Hand |
enum ThreeGear.HandPose |
Hand pose indices used for the PoseMessage.HandPoseConfidences scores.
Indices for JointFrames in PoseMessage.
These are the frames returned by ThreeGear.PoseMessage.JointFrames, and used for skinning. We recommend using these if you need to locate points in 3D space or define 3D frames; if you want to recognize gestures of the form "finger X is bending" we recommend using the FingerDOF instead.
The most stable frame is the one defined by the metacarpals (here, the WRIST_JOINT). If you need a 3D frame for something, we recommend using this one.
For more details on the hand model, consult the hand model docs.
Used to determine what type of message received.
In particular, this can be used to disambiguate between messages that are different but have the same C# type, such as the various PinchMessage varieties (PRESSED, RELEASED, etc.)
Enumerator | |
---|---|
WELCOME |
The WelcomeMessage provides server and protocol versions. |
USER |
The UserMessage provides the user profile name and skinning information of each hand. |
POSE |
The PoseMessage provides full skeleton and finger-tip information of each hand. |
PRESSED |
User pressed index and thumb together. Type of PinchMessage. |
DRAGGED |
User moved hand while holding a pinch. Type of PinchMessage. |
RELEASED |
User released the pinch. Type of PinchMessage. |
MOVED |
User moved without pinching. Type of PinchMessage. |
SIMULTANEOUSLY_PRESSED |
User pinched thumb and index finger of both hands at (approximately) the same time. Type of BimanualPinchMessage. |
INDIVIDUALLY_PRESSED |
User pinched thumb and index finger of one hand (compare to SIMULTANEOUSLY_PRESSED). Type of BimanualPinchMessage. |
SIMULTANEOUSLY_RELEASED |
User released thumb and index finger of both hands at the same time. Type of BimanualPinchMessage. |
INDIVIDUALLY_RELEASED |
User released thumb and index finger of one hand (compare to SIMULTANEOUSLY_RELEASED). Type of BimanualPinchMessage. |
DRAGGED_BIMANUAL |
User moved hands while both were pinching. Type of BimanualPinchMessage. |
POINT |
The PointMessage provides the pointing information of the index finger. |
CALIBRATION |
The CalibrationMessage provides information about the hand scale calibration. |
delegate void ThreeGear.ErrorHandler | ( | string | errMsg | ) |
A delegate for receiving error message.
errMsg |
delegate void ThreeGear.MessageHandler | ( | HandTrackingMessage | message | ) |
A delegate for receiving hand update events.
message |