Skip to content

Class: GazeConecaster ​

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:79

Default candidate provider: cone-membership filter + pointer-compatible surface resolution + time-weighted dwell consensus.

Remarks ​

  • Membership: a coarse sphere distance reject prunes far candidates, then a precise OBB closest-point test admits the candidate iff the angle from the gaze direction to the closest point on its oriented bounding box (its local AABB transformed by matrixWorld) is within coneAngle. This avoids the bounding-sphere overestimation that would let large flat panels register hover from far past their visible silhouette.
  • Geometry: survivors are resolved by the callback supplied in GazeCandidateContext, so the exact same pointer-event eligibility and ordering rules are used for acquisition and dispatch.
  • Comparer: per-frame best is chosen by comparer (default angle -> distance).
  • Dwell: per-frame winners are appended to a ring buffer; samples older than dwellWindowSeconds are dropped; the object with the largest cumulative dt inside the window wins.

Implements ​

Constructors ​

Constructor ​

new GazeConecaster(opts): GazeConecaster

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:111

Parameters ​

opts ​

GazeConecasterOptions = {}

Returns ​

GazeConecaster

Properties ​

comparer ​

comparer: GazeComparer

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:83


coneAngle ​

coneAngle: number

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:80


coneLength ​

coneLength: number

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:81


dwellWindowSeconds ​

dwellWindowSeconds: number

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:82

Methods ​

getDwellWinner() ​

getDwellWinner(): GazeHit

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:558

Current dwell winner, or null.

Returns ​

GazeHit


reset() ​

reset(): void

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:140

Called when gaze becomes invalid (session end, suppression, etc.).

Returns ​

void

Implementation of ​

GazeCandidateProvider.reset


update() ​

update(time, dt, ctx): GazeHit

Defined in: packages/xr-input/src/pointer/gaze-conecaster.ts:130

Compute the best hit for this frame.

Parameters ​

time ​

number

Elapsed time in seconds.

dt ​

number

Frame delta in seconds.

ctx ​

GazeCandidateContext

Per-frame gaze context. Do not retain references.

Returns ​

GazeHit

Best hit, or null if no candidate qualifies.

Implementation of ​

GazeCandidateProvider.update

Privacy | Terms