OrienterThreeBody Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
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) |