IFClite TypeScript API
    Preparing search index...

    Function decodeE57Scan

    • Decode the binary section starting at entry.binaryFileOffset in the logical-bytes view. NOTE: binaryFileOffset here must already point at the first DataPacket (i.e. AFTER the 32-byte CompressedVector section header) — decodeE57 does this conversion via resolveCompressedVectorDataOffset. Callers passing the raw XML offset directly will see a "bytestreamCount ≠ prototype length" mismatch.

      Supports Float (single/double), ScaledInteger (bit-packed integer with scale/offset), and Integer for cartesianX/Y/Z + colorRed/ Green/Blue + intensity. Other prototype fields are honoured for stride math but discarded.

      Whole-file path: holds the entire scan in memory. The streaming E57StreamingSource shares the per-packet primitives above but reads the binary section incrementally so multi-GB files don't allocate the whole file at once.

      Parameters

      • logical: Uint8Array
      • entry: Data3DEntry
      • OptionaloriginOffset: readonly [number, number, number]

        See decodeE57Packet's originOffset param. Applied to the decoded cartesian ONLY when entry.pose is absent — a posed scan gets the offset applied to the pose translation instead (by the caller, via applyPoseInPlace's originOffset), so the un-rotated local cartesian here is intentionally left unshifted when a pose is present.

      Returns DecodedPointChunk