Unigine::LeapMotion::Arm Struct
Header: | #include <LeapMotionInterface.h> |
LeapMotion plugin must be loaded.
This structure represents a forearm and has the following set of properties:
witdh | Width of the forearm, in meters. |
is_valid | Indicates whether the arm contains valid tracking data (1). |
elbow_position | Coordinates of the elbow position. |
wrist_position | Coordinates of the wrist position. |
center | Coordinates of the center of the forearm. |
direction | Normalized direction in which the arm is pointing (from elbow to wrist). |
basis | Orthonormal basis vectors for the arm bone as a Matrix. Basis vectors specify the orientation of the arm bone:
The bases provided for the right arm use the right-hand rule; those for the left arm use the left-hand rule. Thus, the positive direction of the x-basis is to the right for the right arm and to the left for the left arm. You can change from right-hand to left-hand rule by multiplying the z basis vector by -1. You can use the basis vectors for such purposes as measuring complex finger poses and skeletal animation. Converting the basis vectors directly into a quaternion representation is not mathematically valid. If you use quaternions, create them from the derived rotation matrix not directly from the bases. |
All coordinates are relative to the origin of the Leap Motion coordinate system.
struct Arm
{
float width;
int is_valid;
Unigine::Math::vec3 direction;
Unigine::Math::vec3 elbow_position;
Unigine::Math::vec3 wrist_position;
Unigine::Math::vec3 center;
Unigine::Math::mat4 basis;
};
Last update: 2018-08-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)