Struct Leap::LeapTransform

struct Leap.LeapTransform

The LeapTransform class represents a transform in three dimensional space.

Note that the LeapTransform class replaces the Leap.Matrix class.

Since

3.1.2

Public Functions

LeapTransform (Vector translation, LeapQuaternion rotation)

Constructs a new transform from the specified translation and rotation.

Since

3.1.2

LeapTransform (Vector translation, LeapQuaternion rotation, Vector scale)

Constructs a new transform from the specified translation, rotation and scale.

Since

3.1.2

Vector TransformPoint (Vector point)

Transforms the specified position vector, applying translation, rotation and scale.

Since

3.1.2

Vector TransformDirection (Vector direction)

Transforms the specified direction vector, applying rotation only.

Since

3.1.2

Vector TransformVelocity (Vector velocity)

Transforms the specified velocity vector, applying rotation and scale.

Since

3.1.2

LeapQuaternion TransformQuaternion (LeapQuaternion rhs)

Transforms the specified quaternion. Multiplies the quaternion representing the rotational part of this transform by the specified quaternion.

Important: Modifying the basis vectors of this transform directly leaves the underlying quaternion in an indeterminate state. Neither this function nor the LeapTransform.rotation quaternion can be used after the basis vectors are set.

Since

3.1.2

void MirrorX ()

Mirrors this transform’s rotation and scale across the x-axis. Translation is not affected.

Since

3.1.2

void MirrorZ ()

Mirrors this transform’s rotation and scale across the z-axis. Translation is not affected.

Since

3.1.2

Properties

Vector xBasis { get; set; }

The x-basis of the transform.

Important: Modifying the basis vectors of this transform directly leaves the underlying quaternion in an indeterminate state. Neither the TransformQuaternion() function nor the LeapTransform.rotation quaternion can be used after the basis vectors are set.

Since

3.1.2

Vector yBasis { get; set; }

The y-basis of the transform.

Important: Modifying the basis vectors of this transform directly leaves the underlying quaternion in an indeterminate state. Neither the TransformQuaternion() function nor the LeapTransform.rotation quaternion can be used after the basis vectors are set.

Since

3.1.2

Vector zBasis { get; set; }

The z-basis of the transform.

Important: Modifying the basis vectors of this transform directly leaves the underlying quaternion in an indeterminate state. Neither the TransformQuaternion() function nor the LeapTransform.rotation quaternion can be used after the basis vectors are set.

Since

3.1.2

Vector translation { get; set; }

The translation component of the transform.

Since

3.1.2

Vector scale { get; set; }

The scale factors of the transform. Scale is kept separate from translation.

Since

3.1.2

LeapQuaternion rotation { get; set; }

The rotational component of the transform.

Important: Modifying the basis vectors of this transform directly leaves the underlying quaternion in an indeterminate state. This rotation quaternion cannot be accessed after the basis vectors are modified directly.

Since

3.1.2

Public Static Attributes

static readonlyLeapTransform Identity = new LeapTransform(Vector.Zero, LeapQuaternion.Identity, Vector.Ones)

The identity transform.

Since

3.1.2