Share via


OrienterThreeBody Class

Definition

Derived class which supports computing implicit rotations in full 3-DOF (6-DOF w/ position).

public class OrienterThreeBody : Microsoft.MixedReality.WorldLocking.Core.Orienter
type OrienterThreeBody = class
    inherit Orienter
Public Class OrienterThreeBody
Inherits Orienter
Inheritance
UnityEngine.MonoBehaviour
OrienterThreeBody

Remarks

Whereas the base Orienter class uses the simplifying assumption of only adjusting yaw, that is rotation about the gravity vector Y-axis, the OrienterThreeBody computes an arbitrary 3-DOF rotation to align modeling space with the supplied physical reference points. Since at least three non-collinear points are necessary to compute such a rotation, until they are available, it falls back on a simplified computation. To summarize: 1) Zero points - identity transform 2) One point - position alignment only (identity rotation) 3) All points collinear - yaw and pitch about the line, but no roll about the line. 4) Non-collinear - 3-DOF alignment.

Constructors

OrienterThreeBody()

Fields

actives

Orientables in the currently processing fragment.

(Inherited from Orienter)

Properties

AlignmentManager (Inherited from Orienter)

Methods

AverageRotation(Orienter+WeightedRotation, Orienter+WeightedRotation)

Compute a new weighted rotation representing the two input weighted rotations.

(Inherited from Orienter)
ComputeRotation(IOrientable, IOrientable)

Compute yaw and pitch to align virtual line with physical.

ComputeRotations()

Override to compute rotations unconstrained as a rotation about the gravity vector, Y-axis.

Register(IOrientable) (Inherited from Orienter)
Reorient(FragmentId, IAlignmentManager) (Inherited from Orienter)
Unregister(IOrientable) (Inherited from Orienter)

Applies to