UNPKG

@loaders.gl/potree

Version:

potree loaders for large point clouds.

93 lines 3.36 kB
import type { PotreeSourceOptions } from "../potree-source.js"; import { Mesh } from '@loaders.gl/schema'; import { DataSource } from '@loaders.gl/loader-utils'; import { PotreeBoundingBox, PotreeMetadata } from "../types/potree-metadata.js"; import { POTreeNode } from "../parsers/parse-potree-hierarchy-chunk.js"; import { Proj4Projection } from '@math.gl/proj4'; import { LASMesh } from '@loaders.gl/las/src/lib/las-types'; export declare enum COORDINATE_SYSTEM { /** * `LNGLAT` if rendering into a geospatial viewport, `CARTESIAN` otherwise */ DEFAULT = -1, /** * Positions are interpreted as [lng, lat, elevation] * lng lat are degrees, elevation is meters. distances as meters. */ LNGLAT = 1, /** * Positions are interpreted as meter offsets, distances as meters */ METER_OFFSETS = 2, /** * Positions are interpreted as lng lat offsets: [deltaLng, deltaLat, elevation] * deltaLng, deltaLat are delta degrees, elevation is meters. * distances as meters. */ LNGLAT_OFFSETS = 3, /** * Non-geospatial */ CARTESIAN = 0 } export interface PotreeNodeMesh extends LASMesh { cartographicOrigin: number[]; coordinateSystem: number; } /** * A Potree data source * @version 1.0 - @see https://github.com/potree/potree/blob/1.0RC/docs/file_format.md * @version 1.7 - @see https://github.com/potree/potree/blob/1.7/docs/potree-file-format.md * @note Point cloud nodes tile source */ export declare class PotreeNodesSource extends DataSource<string, PotreeSourceOptions> { /** Dataset base URL */ baseUrl: string; /** Meta information from `cloud.js` */ metadata: PotreeMetadata | null; /** Root node */ root: POTreeNode | null; /** Is data source ready to use after initial loading */ isReady: boolean; /** local CRS to WGS84 projection */ projection: Proj4Projection | null; /** The data set minimum bounding box */ boundingBox?: PotreeBoundingBox; private initPromise; /** * @constructor * @param data - if string - data set path url or path to `cloud.js` metadata file * - if Blob - single file data * @param options - data source properties */ constructor(data: string, options: PotreeSourceOptions); /** Initial data source loading */ init(): Promise<void>; /** Is data set supported */ isSupported(): boolean; /** Get content files extension */ getContentExtension(): string | null; /** * Load octree node content * @param nodeName name of a node, string of numbers in range 0..7 * @return node content geometry or null if the node doesn't exist */ loadNodeContent(nodeName: string): Promise<Mesh | null>; /** * Check if a node exists in the octree * @param nodeName name of a node, string of numbers in range 0..7 * @returns true - the node does exist, false - the nodes doesn't exist */ isNodeAvailable(nodeName: string): Promise<boolean>; /** * Load data source hierarchy into tree of available nodes */ private loadHierarchy; /** * Deduce base url from the input url sring * @param data - data source input data */ private makeBaseUrl; private parseBoundingVolume; } //# sourceMappingURL=potree-node-source.d.ts.map