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 override sealed 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()