SceneModule Overview
SceneModule Overview
PlaneTracker

PlaneTracker

The PlaneTracker class provides functionality for locating a 3D plane based on 2D screen coordinates.

Inherits From : SceneObjectBase

Properties

PropertyDescription
confidence
(get) confidence: StringSignal
(set) (Not Available)


Returns tracking confidence level info.
This value indicates if PlaneTracker is currently tracking and how confident it is in reported results.
Possible values:
- HIGH
- MEDIUM
- LOW
- NOT_TRACKING
mode
(get) mode: Signal<SceneModule.TrackingMode>
(set) mode: Signal<SceneModule.TrackingMode>


Specifies if this tracker object should track horizontal plane or moving object.
Note: on invalid value provided in setter, the mode will default to SceneModule.TrackingMode.PLANE.

See Also: PlaneTracker.setMode.

Methods

MethodDescription
performHitTest
performHitTest(screenXLocation: number, screenYLocation: number): Promise<Point3D>
performHitTest(screenLocation: Point2D): Promise<Point3D>


Returns a promise that is resolved with a point on tracked plane in local coordinates of PlaneTracker (in 3D units)
or null if plane is not found at given screen location.
setMode
setMode(mode: Signal<SceneModule.TrackingMode>, config?: {fallback: SceneModule.TrackingMode}): void


Specifies if this tracker object should track horizontal plane or moving object.
Note: on invalid value provided in setter, the mode will default to fallback (or SceneModule.TrackingMode.PLANE if fallback is not specified).

See Also: PlaneTracker.mode.
trackPoint
trackPoint(screenLocation: Point2D): void
trackPoint(screenX: number, screenY: number): void
trackPoint(screenLocation: Point2DSignal, gestureState: StringSignal): void


PlaneTracker origin is bound to a point in 3d space, located on detected plane.
This method updates PlaneTracker to track 3d point currently under given screen coordiantes.
This also triggers new plane detection, in result this object's transform will be modified.
Version with signal parameters can be used in touch gestures for continuous updating:
TouchGestures.onPan().subscribe(function(gesture) {
planeTracker.trackPoint(gesture.location, gesture.state);
});

Was this article helpful?