docs.unity3d.com
    Show / Hide Table of Contents

    Class XRPlaneSubsystem.Provider

    The provider API for XRPlaneSubsystem-derived classes to implement.

    Inheritance
    Object
    UnityEngine.SubsystemsImplementation.SubsystemProvider
    UnityEngine.SubsystemsImplementation.SubsystemProvider<XRPlaneSubsystem>
    XRPlaneSubsystem.Provider
    Inherited Members
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.ARSubsystems.XRPlaneSubsystem>.TryInitialize()
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.ARSubsystems.XRPlaneSubsystem>.Start()
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.ARSubsystems.XRPlaneSubsystem>.Stop()
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.ARSubsystems.XRPlaneSubsystem>.Destroy()
    UnityEngine.SubsystemsImplementation.SubsystemProvider.running
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.XR.ARSubsystems
    Syntax
    public abstract class Provider : SubsystemProvider<XRPlaneSubsystem>

    Properties

    currentPlaneDetectionMode

    Get the current plane detection mode in use by the provider.

    Declaration
    public virtual PlaneDetectionMode currentPlaneDetectionMode { get; }
    Property Value
    Type Description
    PlaneDetectionMode

    requestedPlaneDetectionMode

    Get or set the requested PlaneDetectionMode.

    Declaration
    public virtual PlaneDetectionMode requestedPlaneDetectionMode { get; set; }
    Property Value
    Type Description
    PlaneDetectionMode

    Methods

    CreateOrResizeNativeArrayIfNecessary<T>(Int32, Allocator, ref NativeArray<T>)

    Creates or resizes the array if necessary. If array has been allocated and its length is equal to length, then this method does nothing. If its length is different, then it is first disposed before being assigned to a new NativeArray.

    Declaration
    protected static void CreateOrResizeNativeArrayIfNecessary<T>(int length, Allocator allocator, ref NativeArray<T> array)
        where T : struct
    Parameters
    Type Name Description
    Int32 length

    The length that array will have after this method returns.

    Unity.Collections.Allocator allocator

    If allocation is necessary, this allocator will be used to create the new NativeArray.

    Unity.Collections.NativeArray<T> array

    The array to create or resize.

    Type Parameters
    Name Description
    T

    The type of elements held by the array.

    GetBoundary(TrackableId, Allocator, ref NativeArray<Vector2>)

    Gets the boundary vertices of a given BoundedPlane based on its trackableId.

    Declaration
    public virtual void GetBoundary(TrackableId trackableId, Allocator allocator, ref NativeArray<Vector2> boundary)
    Parameters
    Type Name Description
    TrackableId trackableId

    The TrackableId of a BoundedPlane.

    Unity.Collections.Allocator allocator

    An Unity.Collections.Allocator to use if boundary needs to be created. Unity.Collections.Allocator.Temp is not supported. Use Unity.Collections.Allocator.TempJob if you need temporary memory.

    Unity.Collections.NativeArray<UnityEngine.Vector2> boundary

    The boundary vertices will be stored here. If the given array is the same length as the number of vertices, it is overwritten with the new data. Otherwise, it is disposed and recreated with the correct length.

    Remarks

    See CreateOrResizeNativeArrayIfNecessary<T>(Int32, Allocator, ref NativeArray<T>) for a helper method implementation.

    GetChanges(BoundedPlane, Allocator)

    Gets a TrackableChanges<T> struct containing any changes to detected planes since the last time you called this method. You are responsible to Dispose() the returned TrackableChanges instance.

    Declaration
    public abstract TrackableChanges<BoundedPlane> GetChanges(BoundedPlane defaultPlane, Allocator allocator)
    Parameters
    Type Name Description
    BoundedPlane defaultPlane

    The default plane. You should use this to initialize the returned TrackableChanges<T> instance by passing it to the constructor TrackableChanges(Int32, Int32, Int32, Allocator, T).

    Unity.Collections.Allocator allocator

    An Allocator to use when allocating the returned NativeArrays.

    Returns
    Type Description
    TrackableChanges<BoundedPlane>

    The changes to planes since the last call to this method.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023