IFClite TypeScript API
    Preparing search index...
    Index
    • Destroy all GPU resources held by this picker. After calling this method the picker is no longer usable. Safe to call multiple times.

      Returns void

    • Pick object at screen coordinates.

      When pointNodes is non-empty the picker draws point splats into the same r32uint target as the meshes (sharing the depth buffer so occlusion is correct). Point hits set bit 31 of the readback value; the decoder distinguishes mesh vs point from that flag.

      Returns PickResult with {expressId, modelIndex} for both kinds. For point hits, expressId is the federated globalId of the asset (already correct for hover/selection plumbing — no remapping needed).

      Returns null after picker teardown or device loss, including loss between successful mapping and consumption of the mapped range (#6881).

      Parameters

      • x: number
      • y: number
      • width: number
      • height: number
      • meshes: Mesh[]
      • viewProj: Float32Array
      • OptionalpointNodes: readonly PointPickNode[]
      • OptionalpointSizing: PointPickSizing
      • OptionalinstancedTemplates: readonly InstancedTemplateGPU[]
      • Optionalclip: PickClipState | null
      • OptionalpointRteSnapshot: RelativeToEyeSnapshot

      Returns Promise<PickResult | null>

    • Rectangle pick: render the pick pass once, then read back every texel inside [x0, y0]..[x1, y1] and dedupe the hit set. Returns a Set<expressId> for both meshes and point clouds.

      Used by the Shift+drag rectangle-selection UI; not meant for sustained use because the readback grows with rect area. A 800×600 rect = 480k pixels = ~2 MB transfer, fine for one-shot but we'd want a GPU-side dedupe for sustained marquee selection.

      Returns an empty set once destroy() has run — or if the device dies mid-readback — for the same reasons Picker.pick returns null.

      Parameters

      • x0: number
      • y0: number
      • x1: number
      • y1: number
      • width: number
      • height: number
      • meshes: Mesh[]
      • viewProj: Float32Array
      • OptionalpointNodes: readonly PointPickNode[]
      • OptionalpointSizing: PointPickSizing
      • OptionalinstancedTemplates: readonly InstancedTemplateGPU[]
      • Optionalclip: PickClipState | null
      • OptionalpointRteSnapshot: RelativeToEyeSnapshot

      Returns Promise<Set<number>>

    • Parameters

      Returns void