UNPKG

@itwin/core-frontend

Version:
67 lines 2.63 kB
/** @packageDocumentation * @module Tiles */ import { ByteStream, Id64String } from "@itwin/core-bentley"; import { Point3d } from "@itwin/core-geometry"; import { IModelConnection } from "../../IModelConnection"; import { RenderGraphic } from "../../render/RenderGraphic"; import { RenderSystem } from "../../render/RenderSystem"; import { RealityTile } from "../../tile/internal"; /** Schema for the [3DTILES_draco_point_compression](https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_draco_point_compression) extension. */ interface DracoPointCloud { byteLength: number; byteOffset: number; /** Each specifies the Id of a compressed attribute. */ properties: { POSITION?: number; RGB?: number; RGBA?: number; NORMAL?: number; BATCH_ID?: number; /** This is not in the spec but is present in sample data in Cesium's git repository. */ COLOR_0?: number; }; } interface BinaryBodyReference { byteOffset: number; } /** [3D tiles specification section 10.3](https://docs.opengeospatial.org/cs/18-053r2/18-053r2.html#199). * [JSON schema](https://github.com/CesiumGS/3d-tiles/blob/main/specification/schema/pnts.featureTable.schema.json). */ interface CommonPntsProps { POINTS_LENGTH: number; RTC_CENTER?: number[]; CONSTANT_RGBA?: number[]; RGB?: BinaryBodyReference; RGBA?: BinaryBodyReference; RGB565?: BinaryBodyReference; extensions?: { "3DTILES_draco_point_compression"?: DracoPointCloud; }; NORMAL?: BinaryBodyReference; NORMAL_OCT16P?: BinaryBodyReference; BATCH_ID?: BinaryBodyReference; BATCH_LENGTH?: number; } type QuantizedPntsProps = CommonPntsProps & { POSITION_QUANTIZED: BinaryBodyReference; QUANTIZED_VOLUME_OFFSET: number[]; QUANTIZED_VOLUME_SCALE: number[]; POSITION?: never; }; type UnquantizedPntsProps = CommonPntsProps & { POSITION: BinaryBodyReference; POSITION_QUANTIZED?: never; QUANTIZED_VOLUME_OFFSET?: never; QUANTIZED_VOLUME_SCALE?: never; }; type PntsProps = QuantizedPntsProps | UnquantizedPntsProps; export declare function readPntsColors(stream: ByteStream, dataOffset: number, pnts: PntsProps): Uint8Array | undefined; /** Deserialize a point cloud tile and return it as a RenderGraphic. */ export declare function readPointCloudTileContent(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, _is3d: boolean, tile: RealityTile, system: RenderSystem): Promise<{ graphic: RenderGraphic | undefined; rtcCenter: Point3d | undefined; }>; export {}; //# sourceMappingURL=PntsReader.d.ts.map