Share via


SpacePinOrientable Class

Definition

A component derived from SpacePin which differs only in that, rather than using an explicit rotation passed in, an implicit rotation is calculated based on the relative positions of all active SpacePinOrientables.

public class SpacePinOrientable : Microsoft.MixedReality.WorldLocking.Core.SpacePin, Microsoft.MixedReality.WorldLocking.Core.IOrientable
type SpacePinOrientable = class
    inherit SpacePin
    interface IOrientable
Public Class SpacePinOrientable
Inherits SpacePin
Implements IOrientable
Inheritance
UnityEngine.MonoBehaviour
SpacePinOrientable
Derived
Implements

Remarks

The implementation of IOrientable allows it to provide an input position and receive an output rotation from the managing IOrienter.

Constructors

SpacePinOrientable()

Properties

AlignmentManager

Accessor for overriding the AlignmentManager from script.

(Inherited from SpacePin)
AnchorId

This wrapper for the anchorId is because the anchorId has to be stored as a ulong, which is the base class for the AnchorId enum. Unity only supports int-based enums, so will complain on serialization etc. for the ulong based AnchorId.

(Inherited from SpacePin)
AnchorName

Provide a unique anchor name. This is used for persistence.

(Inherited from SpacePin)
FragmentId

The fragment this belongs to. Public property to satisfy IOrientable interface.

LockedPose

Accessor for world locked pose for derived classes.

(Inherited from SpacePin)
LockedPosition
LockedRotation
Manager

Read only access to manager dependency from derived classes.

(Inherited from SpacePin)
ModelingPoseGlobal

First of the pair of poses submitted to alignment manager for alignment.

(Inherited from SpacePin)
ModelPosition
ModelPositionSource

Where to find model space position on target. Transform is preferable, but if transforms are baked in, renderer or collider may be more appropriate.

(Inherited from SpacePin)
ModelRotation
Orienter

Input dependency of the managing Orienter which will arbitrate individual rotations.

PinActive

Whether this space pin is in active use pinning space

(Inherited from SpacePin)
RestorePoseLocal

Pose to restore after manipulation (if any).

(Inherited from SpacePin)

Methods

ExtractModelPose() (Inherited from SpacePin)
ExtractModelPoseFromCollider() (Inherited from SpacePin)
ExtractModelPoseFromRenderer() (Inherited from SpacePin)
ExtractModelPoseFromTransform() (Inherited from SpacePin)
ForceAttachment()

Ensure that there is an attachment, and it is positioned up to date.

(Inherited from SpacePin)
GetModelPoseFromGlobalPosition(Vector3) (Inherited from SpacePin)
OnDestroy()

On destroy, unregister for the loaded event.

(Inherited from SpacePin)
OnLocationUpdate(Pose)

Callback for refit operations.

PushAlignmentData(IAlignmentManager)

Communicate the data from this point to the alignment manager.

(Inherited from SpacePin)
PushRotation(IAlignmentManager, Quaternion)

Accept the rotation as computed by the IOrienter.

ReleaseAttachment()

Dispose of any previously created attachment point.

(Inherited from SpacePin)
Reset()

Reset and unregister from the IOrienter.

ResetModelingPose()

Reset the modeling pose to the current transform.

(Inherited from SpacePin)
RestoreOnLoad()

If base restore on load succeeds, register with orienter for further manipulation.

SendAlignmentData(IAlignmentManager)

Notify the manager that all necessary updates have been submitted and are ready for processing.

(Inherited from SpacePin)
SetFrozenPose(Pose)

Transform pose to Locked Space and pass through.

(Inherited from SpacePin)
SetFrozenPosition(Vector3)

Set the position in frozen space. Rotation not needed since it is computed based on relative positions.

SetLockedPose(Pose)

Override of base SetLockedPose to allow insertion of the computation of rotation.

SetLockedPosition(Vector3)

Set the position in world locked space. Rotation not needed since it is computed based on relative positions.

SetOrienter(IOrienter)

Explicitly set the managing IOrienter, overriding any setting from the Inspector.

SetSpongyPose(Pose)

Transform pose to Locked Space and pass through.

(Inherited from SpacePin)
SetSpongyPosition(Vector3)

Set the position in spongy space. Rotation not needed since it is computed based on relative positions.

Start()

Adopt the Inspector set Orienter as the interface iorienter.

Applies to