LeapTransformΒΆ

The LeapTransform class represents a transform in three dimensional space. More...

Public Member Functions

 LeapTransform (Vector translation, LeapQuaternion rotation)
 Constructs a new transform from the specified translation and rotation. More...
 
 LeapTransform (Vector translation, LeapQuaternion rotation, Vector scale)
 Constructs a new transform from the specified translation, rotation and scale. More...
 
void MirrorX ()
 Mirrors this transform's rotation and scale across the x-axis. More...
 
void MirrorZ ()
 Mirrors this transform's rotation and scale across the z-axis. More...
 
Vector TransformDirection (Vector direction)
 Transforms the specified direction vector, applying rotation only. More...
 
Vector TransformPoint (Vector point)
 Transforms the specified position vector, applying translation, rotation and scale. More...
 
LeapQuaternion TransformQuaternion (LeapQuaternion rhs)
 Transforms the specified quaternion. More...
 
Vector TransformVelocity (Vector velocity)
 Transforms the specified velocity vector, applying rotation and scale. More...
 

Static Public Attributes

static readonly LeapTransform Identity = new LeapTransform(Vector.Zero, LeapQuaternion.Identity, Vector.Ones)
 The identity transform. More...
 

Properties

LeapQuaternion rotation [get, set]
 The rotational component of the transform. More...
 
Vector scale [get, set]
 The scale factors of the transform. More...
 
Vector translation [get, set]
 The translation component of the transform. More...
 
Vector xBasis [get, set]
 The x-basis of the transform. More...
 
Vector yBasis [get, set]
 The y-basis of the transform. More...
 
Vector zBasis [get, set]
 The z-basis of the transform. More...
 

Detailed Description

The LeapTransform class represents a transform in three dimensional space.

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

Since
3.1.2

Constructor & Destructor Documentation

LeapTransform ( Vector  translation,
LeapQuaternion  rotation 
)

Constructs a new transform from the specified translation and rotation.

Parameters
translationthe translation vector.
rotationthe rotation quaternion.
Since
3.1.2
LeapTransform ( Vector  translation,
LeapQuaternion  rotation,
Vector  scale 
)

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

Parameters
translationthe translation vector.
rotationthe rotation quaternion.
scalethe scale vector.
Since
3.1.2

Member Function Documentation

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
Vector TransformDirection ( Vector  direction)

Transforms the specified direction vector, applying rotation only.

Parameters
directionthe direction vector to transform.
Returns
the new direction vector.
Since
3.1.2
Vector TransformPoint ( Vector  point)

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

Parameters
pointthe position vector to transform.
Returns
the new position vector.
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.

Parameters
rhsthe quaternion to transform.
Returns
the new quaternion.
Since
3.1.2
Vector TransformVelocity ( Vector  velocity)

Transforms the specified velocity vector, applying rotation and scale.

Parameters
pointthe velocity vector to transform.
Returns
the new velocity vector.
Since
3.1.2

Member Data Documentation

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

The identity transform.

Since
3.1.2

Property Documentation

LeapQuaternion rotation
getset

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
Vector scale
getset

The scale factors of the transform.

Scale is kept separate from translation.

Since
3.1.2
Vector translation
getset

The translation component of the transform.

Since
3.1.2
Vector xBasis
getset

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
getset

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
getset

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