Class XRPlaneSubsystem
Base class for plane subsystems.
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public abstract class XRPlaneSubsystem : TrackingSubsystem<BoundedPlane, XRPlaneSubsystemDescriptor>
Remarks
This subsystem surfaces information regarding plane (i.e., flat surface) detection in the physical environment. Implementations are typically found in other provider or platform-specific packages.
Constructors
XRPlaneSubsystem()
Constructs a plane subsystem. Do not invoked directly; call Create
on the XRPlaneSubsystemDescriptor instead.
Declaration
public XRPlaneSubsystem()
Properties
planeDetectionMode
Set PlaneDetectionMode, e.g., to enable different modes of detection.
Declaration
public PlaneDetectionMode planeDetectionMode { 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 |
Allocator | allocator | If allocation is necessary, this allocator will be used to create the new |
NativeArray<T> | array | The array to create or resize. |
Type Parameters
Name | Description |
---|---|
T |
CreateProvider()
Concrete classes must implement this to provide the provider-specific implementation.
Declaration
protected abstract XRPlaneSubsystem.IProvider CreateProvider()
Returns
Type | Description |
---|---|
XRPlaneSubsystem.IProvider |
Destroy()
Destroy the plane subsystem.
Declaration
public sealed override void Destroy()
GetBoundary(TrackableId, Allocator, ref NativeArray<Vector2>)
Gets the boundary polygon describing the plane.
Declaration
public void GetBoundary(TrackableId trackableId, Allocator allocator, ref NativeArray<Vector2> boundary)
Parameters
Type | Name | Description |
---|---|---|
TrackableId | trackableId | The TrackableId associated with the plane of which to retrieve the boundary. |
Allocator | allocator | An |
NativeArray<Vector2> | boundary | The boundary will be stored here. If |
GetChanges(Allocator)
Get the changes (added, updated, and removed) planes since the last call to GetChanges(Allocator).
Declaration
public override TrackableChanges<BoundedPlane> GetChanges(Allocator allocator)
Parameters
Type | Name | Description |
---|---|---|
Allocator | allocator | An |
Returns
Type | Description |
---|---|
TrackableChanges<BoundedPlane> | TrackableChanges<T> describing the planes that have been added, updated, and removed
since the last call to GetChanges(Allocator). The caller owns the memory allocated with |
Overrides
Start()
Start the plane subsystem, i.e., start tracking planes.
Declaration
public override void Start()
Stop()
Stop the subsystem, i.e., stop tracking planes.
Declaration
public override void Stop()