SDK JS
    Preparing search index...

    Class BvcI3sPointCloudDecoder

    Main-thread I3sPointCloudDecoder for BVC-backed I3S point clouds — the format produced by the I3S→BVC transcoder, where each node's geometry blob is a standalone single-tile .bvc carrying quantized geodetic coords plus all attributes and per-axis scale/offset.

    selfContainedAttributes is true, so the engine fetches no separate attribute resources. Wire this (or WorkerBvcI3sPointCloudDecoder) into the @bitruvius/i3s point-cloud engine as its decode seam; the engine then drives decode per node. For heavy scenes prefer the worker variant.

    Selected automatically by the MapLibre layer (decoder: 'bvc'):

    import { I3sPointCloudLayer } from '@bitruvius/sdk-maplibre';

    map.addLayer(new I3sPointCloudLayer({
    id: 'lidar',
    url: 'https://…/SceneServer/layers/0',
    decoder: 'bvc', // picks WorkerBvcI3sPointCloudDecoder / BvcI3sPointCloudDecoder
    }));

    Inject an instance directly to pin the main-thread backend or override the wasm source (e.g. cross-origin, with bytes you already fetched):

    import { BvcI3sPointCloudDecoder } from '@bitruvius/bvc';

    map.addLayer(new I3sPointCloudLayer({
    id: 'lidar',
    url: 'https://…/SceneServer/layers/0',
    decoder: new BvcI3sPointCloudDecoder({ wasmInit: { wasmBytes } }),
    }));

    Implements

    • I3sPointCloudDecoder
    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    selfContainedAttributes: true

    Always true — a node's .bvc blob carries its own attributes (no side fetches).

    Methods

    • Decode one I3S node's BVC blob into a packed, ENU-rebased point tile.

      Parameters

      • blobs: I3sNodeBlobs

        The node's fetched resource blobs; blobs.geometry is the single-tile .bvc container.

      • ctx: I3sDecodeContext

        The I3sDecodeContext: node ECEF centre, ECEF→ENU matrix, geoid height geoidN (metres), grid, attribute schema, and horizontal/vertical CRS ids — used to dequantize to f64 geodetic and rebase into the scene ENU frame.

      Returns Promise<PackedPointTile>

      A PackedPointTile (positions in the scene's local ENU frame, metres) ready for the point renderer.

      Initializes the wasm on first use; rejects on wasm init failure or an invalid .bvc blob.