CameraHandTrackingDriver class

Drives HandState instances from real camera landmark frames.

Pipeline: raw ML frame → handedness routing → metric reprojection → One Euro smoothing → OpenXR HandState via MediaPipeHandDriver.

Constructors

CameraHandTrackingDriver({double volumeWidth = 0.45, double volumeHeight = 0.35, double depthScale = 0.45, double baseDistance = 0.35, double minConfidence = 0.5, Duration trackingTimeout = const Duration(milliseconds: 300)})

Properties

baseDistance double
Distance from the camera at which the tracking volume is anchored.
getter/setter pair
depthScale double
Depth scale for the relative z coordinate (meters per normalized unit).
getter/setter pair
hands Map<ControllerHand, HandState>
Tracked hand states, keyed by hand.
final
hashCode int
The hash code for this object.
no setterinherited
minConfidence double
Minimum frame confidence to accept; below it the frame is dropped.
getter/setter pair
onHandLost ↔ void Function(ControllerHand hand)?
Called when a hand transitions to lost (no frames within timeout).
getter/setter pair
onHandUpdated ↔ void Function(ControllerHand hand, HandState state)?
Called after a hand state is updated.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
trackingTimeout Duration
Time without frames after which a hand is reported as lost.
getter/setter pair
volumeHeight double
Height of the tracked volume in meters at the reference distance.
getter/setter pair
volumeWidth double
Width of the tracked volume in meters at the reference distance. Maps normalized image x (0..1) to -width/2, width/2.
getter/setter pair

Methods

dispose() → void
feedFrame(HandLandmarkFrame frame) → void
Feeds one frame of raw landmarks from the camera ML pipeline.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reset() → void
Resets all tracking state.
toString() String
A string representation of this object.
inherited
update() → void
Call periodically (e.g. each frame) to mark hands as lost when the camera has not produced landmarks recently.

Operators

operator ==(Object other) bool
The equality operator.
inherited