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 |