API reference
API reference
Select your platform
No SDKs available
No versions available

PoseUtils Class

Tools for working with Unity Poses.

Static Methods

CopyFrom ( to , from )
Signature
static void Oculus.Interaction.PoseUtils.CopyFrom(this ref Pose to, in Pose from)
Parameters
to: this ref Pose
from: in Pose
Returns
void
Delta ( from , to )
Get the position/rotation difference between two transforms.
Unaffected by scale.
Signature
static Pose Oculus.Interaction.PoseUtils.Delta(this Transform from, Transform to)
Parameters
from: this Transform  The base transform.
to: Transform  The target transform.
Returns
Pose  A Pose indicating the position/rotation change
Delta ( from , to )
Get the position/rotation difference between a transform and a pose.
Unaffected by scale.
Signature
static Pose Oculus.Interaction.PoseUtils.Delta(this Transform from, in Pose to)
Parameters
from: this Transform  The base transform.
to: in Pose  The target pose.
Returns
Pose  A Pose indicating the delta.
Delta ( from , to , result )
Get the position/rotation difference between a transform and a pose.
Unaffected by scale.
Signature
static void Oculus.Interaction.PoseUtils.Delta(this Transform from, in Pose to, ref Pose result)
Parameters
from: this Transform  The base transform.
to: in Pose  The target pose.
result: ref Pose  Output: The pose with the delta
Returns
void
Delta ( from , to )
Get the position/rotation difference between two poses.
Unaffected by scale.
Signature
static Pose Oculus.Interaction.PoseUtils.Delta(in Pose from, in Pose to)
Parameters
from: in Pose  The base pose.
to: in Pose  The target pose.
Returns
Pose  A Pose indicating the delta.
DeltaScaled ( from , to )
Get the position/rotation difference between two transforms.
Affected by the scale of from.
Signature
static Pose Oculus.Interaction.PoseUtils.DeltaScaled(Transform from, Transform to)
Parameters
from: Transform  The base transform.
to: Transform  The target transform.
Returns
Pose  Output: The pose with the delta
DeltaScaled ( from , to )
Get the position/rotation difference between a transform and a pose.
Affected by the scale of from.
Signature
static Pose Oculus.Interaction.PoseUtils.DeltaScaled(Transform from, Pose to)
Parameters
from: Transform  The base transform.
to: Pose  The target pose.
Returns
Pose  The pose with the delta
GetPose ( transform , space )
Extract the position/rotation of a given transform.
Signature
static Pose Oculus.Interaction.PoseUtils.GetPose(this Transform transform, Space space=Space.World)
Parameters
transform: this Transform  The transform from which to extract the pose.
space: Space  If the desired position/rotation is the world or local one.
Returns
Pose  A Pose containing the position/rotation of the transform.
GlobalPose ( reference , offset )
Get the world position/rotation of a relative position.
Unaffected by scale.
Signature
static Pose Oculus.Interaction.PoseUtils.GlobalPose(this Transform reference, in Pose offset)
Parameters
reference: this Transform  The transform in which the offset is local.
offset: in Pose  The offset from the reference.
Returns
Pose  A Pose in world units.
GlobalPoseScaled ( relativeTo , offset )
Get the world position/rotation of a relative position.
Affected by the scale of the transform.
Signature
static Pose Oculus.Interaction.PoseUtils.GlobalPoseScaled(Transform relativeTo, Pose offset)
Parameters
relativeTo: Transform  The transform in which the offset is local.
offset: Pose  The offset from the reference.
Returns
Pose  A Pose in world units.
Inverse ( a , result )
Signature
static void Oculus.Interaction.PoseUtils.Inverse(in Pose a, ref Pose result)
Parameters
a: in Pose
result: ref Pose
Returns
void
Invert ( a )
Signature
static void Oculus.Interaction.PoseUtils.Invert(this ref Pose a)
Parameters
a: this ref Pose
Returns
void
Lerp ( from , to , t )
Moves the calling pose towards a target one using interpolation.
Signature
static void Oculus.Interaction.PoseUtils.Lerp(this ref Pose from, in Pose to, float t)
Parameters
from: this ref Pose  Original pose to interpolate from
to: in Pose  Target pose for the interpolation.
t: float  Interpolation factor, normalized but will not be clamped.
Returns
void
Lerp ( from , to , t , result )
Interpolation between two poses.
Signature
static void Oculus.Interaction.PoseUtils.Lerp(in Pose from, in Pose to, float t, ref Pose result)
Parameters
from: in Pose  From pose.
to: in Pose  To pose.
t: float  Interpolation factor, normalized but will not be clamped.
result: ref Pose  A Pose between a and b
Returns
void
MirrorPoseRotation ( pose , normal , tangent )
Rotate a pose around an axis.
Signature
static Pose Oculus.Interaction.PoseUtils.MirrorPoseRotation(this in Pose pose, Vector3 normal, Vector3 tangent)
Parameters
pose: this in Pose  The pose to mirror.
normal: Vector3  The direction of the mirror.
tangent: Vector3  The tangent of the mirror.
Returns
Pose  A mirrored pose.
Multiply ( a , b , result )
Compose two poses, applying the first to the second one.
Signature
static void Oculus.Interaction.PoseUtils.Multiply(in Pose a, in Pose b, ref Pose result)
Parameters
a: in Pose  First pose to compose.
b: in Pose  Pose to compose over the first one.
result: ref Pose  A Pose with the two operands applied.
Returns
void
Multiply ( a , b )
Signature
static Pose Oculus.Interaction.PoseUtils.Multiply(in Pose a, in Pose b)
Parameters
a: in Pose
b: in Pose
Returns
Pose
Postmultiply ( a , b )
Compose two poses, applying the caller on top of the provided pose.
Signature
static void Oculus.Interaction.PoseUtils.Postmultiply(this ref Pose a, in Pose b)
Parameters
a: this ref Pose  Pose to compose upon.
b: in Pose  Pose to compose over the first one.
Returns
void
Premultiply ( a , b )
Compose two poses, applying the provided one on top of the caller.
Signature
static void Oculus.Interaction.PoseUtils.Premultiply(this ref Pose a, in Pose b)
Parameters
a: this ref Pose  Pose to compose upon.
b: in Pose  Pose to compose over the first one.
Returns
void
SetPose ( transform , pose , space )
Assigns a Pose to a given transform.
Signature
static void Oculus.Interaction.PoseUtils.SetPose(this Transform transform, in Pose pose, Space space=Space.World)
Parameters
transform: this Transform  The transform to which apply the pose.
pose: in Pose  The desired pose.
space: Space  If the pose should be applied to the local position/rotation or world position/rotation.
Returns
void