BaseControllerPointer Class

Definition

Base Pointer class for pointers that exist in the scene as GameObjects.

public ref class BaseControllerPointer abstract : Microsoft::MixedReality::Toolkit::Input::ControllerPoseSynchronizer, Microsoft::MixedReality::Toolkit::Input::IMixedRealityPointer, System::Collections::IEqualityComparer
public ref class BaseControllerPointer abstract : Microsoft::MixedReality::Toolkit::Input::ControllerPoseSynchronizer, Microsoft::MixedReality::Toolkit::Input::IMixedRealityQueryablePointer, System::Collections::IEqualityComparer
[UnityEngine.DisallowMultipleComponent]
[UnityEngine.HelpURL("https://docs.microsoft.com/windows/mixed-reality/mrtk-unity/features/input/pointers")]
public abstract class BaseControllerPointer : Microsoft.MixedReality.Toolkit.Input.ControllerPoseSynchronizer, Microsoft.MixedReality.Toolkit.Input.IMixedRealityPointer, System.Collections.IEqualityComparer
[UnityEngine.DisallowMultipleComponent]
[UnityEngine.HelpURL("https://docs.microsoft.com/windows/mixed-reality/mrtk-unity/features/input/pointers")]
public abstract class BaseControllerPointer : Microsoft.MixedReality.Toolkit.Input.ControllerPoseSynchronizer, Microsoft.MixedReality.Toolkit.Input.IMixedRealityQueryablePointer, System.Collections.IEqualityComparer
[<UnityEngine.DisallowMultipleComponent>]
[<UnityEngine.HelpURL("https://docs.microsoft.com/windows/mixed-reality/mrtk-unity/features/input/pointers")>]
type BaseControllerPointer = class
    inherit ControllerPoseSynchronizer
    interface IMixedRealityPointer
    interface IEqualityComparer
[<UnityEngine.DisallowMultipleComponent>]
[<UnityEngine.HelpURL("https://docs.microsoft.com/windows/mixed-reality/mrtk-unity/features/input/pointers")>]
type BaseControllerPointer = class
    inherit ControllerPoseSynchronizer
    interface IMixedRealityQueryablePointer
    interface IMixedRealityPointer
    interface IEqualityComparer
Public MustInherit Class BaseControllerPointer
Inherits ControllerPoseSynchronizer
Implements IEqualityComparer, IMixedRealityPointer
Public MustInherit Class BaseControllerPointer
Inherits ControllerPoseSynchronizer
Implements IEqualityComparer, IMixedRealityQueryablePointer
Inheritance
UnityEngine.MonoBehaviour
BaseControllerPointer
Derived
Attributes
UnityEngine.DisallowMultipleComponentAttribute UnityEngine.HelpURLAttribute
Implements

Constructors

BaseControllerPointer()

Fields

grabAction
HasSelectPressedOnce

True if select has been pressed once since this component was enabled

IsGrabPressed

True if grab is pressed right now

IsHoldPressed
IsSelectPressed

True if select is pressed right now

pointerAction
raycastOrigin
TrackingState

The current tracking state of the assigned IMixedRealityController

(Inherited from ControllerPoseSynchronizer)

Properties

BaseCursor

The pointer's cursor.

Controller

The pointer's current controller reference.

CursorModifier

The currently active cursor modifier.

DefaultPointerExtent

The length of the pointer when nothing is hit.

DestroyOnSourceLost

Should this GameObject clean itself up when its controller is lost?

(Inherited from ControllerPoseSynchronizer)
DisableCursorOnStart
FocusTarget

The currently focused target.

Handedness

The controller handedness this component is synchronized with.

(Inherited from ControllerPoseSynchronizer)
InputSourceParent
Obsolete.

This pointer's input source parent.

IsActive

Controls whether the pointer dispatches input.

IsFocusLocked

Is the focus for this pointer currently locked?

IsInteractionEnabled

Is the pointer active and have the conditions for the interaction been satisfied to enable the interaction?

IsTargetPositionLockedOnFocusLock

Specifies whether the pointer's target position (cursor) is locked to the target object when focus is locked. Most pointers want the cursor to "stick" to the object when manipulating, so set this to true by default.

IsTracked

Is the controller this Synchronizer is registered to currently tracked?

(Inherited from ControllerPoseSynchronizer)
PointerExtent

Maximum distance at which all pointers can collide with a GameObject, unless it has an override extent.

PointerId

This pointer's id.

PointerName

This pointer's name.

PoseAction

The input action that will drive the Transform's pose, position, or rotation.

(Inherited from ControllerPoseSynchronizer)
Position

Pointer position.

PrioritizedLayerMasksOverride

The physics layers to use when performing scene queries.

Rays

The scene query rays.

RayStabilizer

Ray stabilizer used when calculating position of pointer end point.

Result

The scene query pointer result.

Rotation

Pointer rotation.

SceneQueryType

The type of physics scene query to use.

SphereCastRadius

The radius to use when SceneQueryType is set to Sphere or SphereColliders.

UseSourcePoseAsFallback

Should the Transform's position use the source pose by default until the input handler events are received?

(Inherited from ControllerPoseSynchronizer)
UseSourcePoseData

Should the Transform's position be driven from the source pose or from input handler?

(Inherited from ControllerPoseSynchronizer)

Methods

EnsureInputSystemValid()

A task that will only complete when the input system has in a valid state.

(Inherited from InputSystemGlobalHandlerListener)
Equals(Object) UnityEngine.MonoBehaviour.Equals(System.Object)
GetHashCode() UnityEngine.MonoBehaviour.GetHashCode
InputEventDataUsable<T>(InputEventData<T>)

Helper function used to determine whether or not the controller pose synchronizer is configured to make use of the InputEventData

(Inherited from ControllerPoseSynchronizer)
OnDisable()
OnEnable()
OnInputChanged(InputEventData<MixedRealityPose>)

Raised input event updates from the type of input specified in the interface handler implementation.

(Inherited from ControllerPoseSynchronizer)
OnInputChanged(InputEventData<Quaternion>)

Raised input event updates from the type of input specified in the interface handler implementation.

(Inherited from ControllerPoseSynchronizer)
OnInputChanged(InputEventData<Single>)

Raised input event updates from the type of input specified in the interface handler implementation.

(Inherited from ControllerPoseSynchronizer)
OnInputChanged(InputEventData<Vector2>)

Raised input event updates from the type of input specified in the interface handler implementation.

(Inherited from ControllerPoseSynchronizer)
OnInputChanged(InputEventData<Vector3>)

Raised input event updates from the type of input specified in the interface handler implementation.

(Inherited from ControllerPoseSynchronizer)
OnInputDown(InputEventData) UnityEngine.MonoBehaviour.OnInputDown(Microsoft.MixedReality.Toolkit.Input.InputEventData)
OnInputUp(InputEventData) UnityEngine.MonoBehaviour.OnInputUp(Microsoft.MixedReality.Toolkit.Input.InputEventData)
OnPostSceneQuery()

Called after performing the scene query.

OnPreCurrentPointerTargetChange()

Called during the scene query just before the current pointer target changes.

OnPreSceneQuery()

Called before performing the scene query.

OnSceneQuery(LayerMask[], Boolean, GameObject, Vector3, Single)

Called to have the pointer query the scene to determine which objects it is hitting. Updates hitObject, hitPoint, and hitDistance. Used when the method for querying the scene does not utilize a RaycastHit. Examples of this include UnityEngine.Physics.SphereOverlap, which performs no raycast calls

OnSceneQuery(LayerMask[], Boolean, MixedRealityRaycastHit, RayStep, Int32)

Called to have the pointer query the scene to determine which objects it is hitting. Updates hitinfo. Used when the method for querying the scene utilizes a RaycastHit, such as when using UnityEngine.Physics.Raycast

OnSourceDetected(SourceStateEventData)

Raised when a source is detected.

(Inherited from ControllerPoseSynchronizer)
OnSourceLost(SourceStateEventData) UnityEngine.MonoBehaviour.OnSourceLost(Microsoft.MixedReality.Toolkit.Input.SourceStateEventData)
OnSourcePoseChanged(SourcePoseEventData<MixedRealityPose>)

Raised when the source pose is changed.

(Inherited from ControllerPoseSynchronizer)
OnSourcePoseChanged(SourcePoseEventData<Quaternion>)

Raised when the source rotation is changed.

(Inherited from ControllerPoseSynchronizer)
OnSourcePoseChanged(SourcePoseEventData<TrackingState>)

Raised when the source pose tracking state is changed.

(Inherited from ControllerPoseSynchronizer)
OnSourcePoseChanged(SourcePoseEventData<Vector2>)

Raised when the source position is changed.

(Inherited from ControllerPoseSynchronizer)
OnSourcePoseChanged(SourcePoseEventData<Vector3>)

Raised when the source position is changed.

(Inherited from ControllerPoseSynchronizer)
RegisterHandlers()

Overload this method to specify, which global events component wants to listen to. Use RegisterHandler API of InputSystem

(Inherited from ControllerPoseSynchronizer)
Reset()

Resets pointer to initial state. After invoked pointer should be functional and ready for re-use.

SetCursor(GameObject)

Set a new cursor for this IMixedRealityPointer

SourcePoseDataUsable<T>(SourcePoseEventData<T>)

Helper function used to determine whether or not the controller pose synchronizer is configured to make use of the SourcePoseEventData

(Inherited from ControllerPoseSynchronizer)
Start()
UnregisterHandlers()

Overload this method to specify, which global events component should stop listening to. Use UnregisterHandler API of InputSystem

(Inherited from ControllerPoseSynchronizer)

Explicit Interface Implementations

IEqualityComparer.Equals(Object, Object)

Determines whether the specified objects are equal.

IEqualityComparer.GetHashCode(Object)

Returns a hash code for the specified object.

Applies to