Class XRPlaneSubsystem
Base class for plane subsystems.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public class XRPlaneSubsystem : TrackingSubsystem<BoundedPlane, XRPlaneSubsystem, XRPlaneSubsystemDescriptor, XRPlaneSubsystem.Provider>, ISubsystem
Remarks
This subsystem surfaces information regarding the detection of planes (that is, flat surfaces) in the physical environment. Implementations are typically found in other provider or platform-specific packages.
Constructors
XRPlaneSubsystem()
Constructs a plane subsystem. Do not invoke directly; call Create on the XRPlaneSubsystemDescriptor instead.
Declaration
public XRPlaneSubsystem()
Properties
currentPlaneDetectionMode
Get the current PlaneDetectionMode in use by the provider.
Declaration
public PlaneDetectionMode currentPlaneDetectionMode { get; }
Property Value
| Type | Description |
|---|---|
| PlaneDetectionMode |
requestedPlaneDetectionMode
Get or set the requested PlaneDetectionMode, for example, to enable different modes of detection.
Declaration
public PlaneDetectionMode requestedPlaneDetectionMode { get; set; }
Property Value
| Type | Description |
|---|---|
| PlaneDetectionMode |
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if requestedPlaneDetectionMode is set to something other than None when plane detection is not supported. |
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 | The type of elements held by the |
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 to planes (added, updated, and removed) 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> that describes the planes that have been added, updated, and removed
since the last call to GetChanges(Allocator). The caller owns the memory allocated with |