Unigine.Plugins.LeapMotion.Arm Struct
LeapMotion plugin must be loaded.
This structure represents a forearm. All coordinates are relative to the origin of the Leap Motion coordinate system.
The Arm structure is declared as follows:
public struct Arm
{
public float width;
public int is_valid;
public vec3 direction;
public vec3 elbow_position;
public vec3 wrist_position;
public vec3 center;
public mat4 basis;
};
LeapMotionArm Class
Properties
float width#
Returns the width of the forearm, in meters.
vec3 elbow_position#
Returns the coordinates of the elbow position.
All coordinates are relative to the origin of the Leap Motion coordinate system.
vec3 wrist_position#
Returns the coordinates of the end of the bone, closest to the finger tip (distal).
All coordinates are relative to the origin of the Leap Motion coordinate system.
vec3 center#
Returns the coordinates of the center of the forearm.
All coordinates are relative to the origin of the Leap Motion coordinate system.
vec3 direction#
Returns the normalized direction in which the arm is pointing (from elbow to wrist).
All coordinates are relative to the origin of the Leap Motion coordinate system.
mat4 basis#
Returns the orthonormal basis vectors for the arm as a Matrix.
Basis vectors specify the orientation of the arm bone:
- X - Perpendicular to the longitudinal axis of the arm bone; exits the arm laterally through the sides of the wrist.
- Y (or up vector) - Perpendicular to the longitudinal axis of the arm bone; exits the top and bottom of the arm. Increases in the upward direction.
- Z - Aligned with the longitudinal axis of the arm bone. Increases toward the wrist.
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.
int is_valid#
Returns 1 if the arm contains valid tracking data; otherwise, 0.
Members
Last update:
2020-07-31
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)