@loaders.gl/potree 4.4.0-alpha.9 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +663 -44
- package/dist/dist.min.js +17 -17
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/potree-hierarchy-chunk-loader.js +1 -1
- package/dist/potree-hierarchy-chunk-loader.js.map +1 -1
- package/dist/potree-loader.js +1 -1
- package/dist/potree-loader.js.map +1 -1
- package/dist/utils/bounding-box-utils.d.ts.map +1 -1
- package/dist/utils/projection-utils.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.cjs
CHANGED
|
@@ -28,7 +28,7 @@ __export(dist_exports, {
|
|
|
28
28
|
module.exports = __toCommonJS(dist_exports);
|
|
29
29
|
|
|
30
30
|
// dist/potree-loader.js
|
|
31
|
-
var VERSION = true ? "4.4.
|
|
31
|
+
var VERSION = true ? "4.4.1" : "latest";
|
|
32
32
|
var PotreeLoader = {
|
|
33
33
|
dataType: null,
|
|
34
34
|
batchType: null,
|
|
@@ -115,7 +115,7 @@ function buildHierarchy(flatNodes, options = {}) {
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
// dist/potree-hierarchy-chunk-loader.js
|
|
118
|
-
var VERSION2 = true ? "4.4.
|
|
118
|
+
var VERSION2 = true ? "4.4.1" : "latest";
|
|
119
119
|
var PotreeHierarchyChunkLoader = {
|
|
120
120
|
dataType: null,
|
|
121
121
|
batchType: null,
|
package/dist/index.cjs.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../src/potree-loader.ts", "../src/parsers/parse-potree-hierarchy-chunk.ts", "../src/potree-hierarchy-chunk-loader.ts", "../src/parsers/parse-potree-bin.ts", "../src/potree-bin-loader.ts", "../src/lib/potree-node-source.ts", "../src/utils/parse-version.ts", "../src/utils/projection-utils.ts", "../src/utils/bounding-box-utils.ts", "../src/potree-source.ts"],
|
|
4
4
|
"sourcesContent": ["export {PotreeLoader} from './potree-loader';\nexport {PotreeHierarchyChunkLoader} from './potree-hierarchy-chunk-loader';\nexport {PotreeBinLoader} from './potree-bin-loader';\nexport {PotreeSource} from './potree-source';\n\nexport {type POTreeNode} from './parsers/parse-potree-hierarchy-chunk';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type POTreeLoaderOptions = LoaderOptions & {\n potree?: {};\n};\n\n/** Potree loader */\nexport const PotreeLoader = {\n dataType: null as unknown as any,\n batchType: null as never,\n\n name: 'potree metadata',\n id: 'potree',\n module: 'potree',\n version: VERSION,\n extensions: ['js'],\n mimeTypes: ['application/json'],\n testText: (text) => text.indexOf('octreeDir') >= 0,\n parse: (data: ArrayBuffer) => JSON.parse(new TextDecoder().decode(data)),\n parseTextSync: (text) => JSON.parse(text),\n options: {\n potree: {}\n }\n} as const satisfies LoaderWithParser<any, never, POTreeLoaderOptions>;\n", "// This file is derived from the Cesium code base under BSD 2-clause license\n// See LICENSE.md and https://github.com/potree/potree/blob/develop/LICENSE\n\n// Potree Hierarchy Chunk file format\n// https://github.com/potree/potree/blob/develop/docs/potree-file-format.md#index-files\n\n/*\n### Hierarchy Chunk Files\n\nAs mentioned in the former section, the `.hrc` files contain the index structure\nmeaning a list of all the files stored within the directory tree.\n\nAn index file contains a list of tuple values with the first being a `uint8`\n\"mask\" and the second being `uint32` \"number of points\" of a hierarchy level\nin a [breadth first level order][breadth-first].\n\nPer hierarchy level we have 8 possible nodes. To indicate whether a node exists\na simple binary mask is used:\n\n| Position | Mask | [Binary][bin] |\n|----------|------|---------------|\n| 0 | 1 | 0b00000001 |\n| 1 | 2 | 0b00000010 |\n| 2 | 4 | 0b00000100 |\n| 3 | 8 | 0b00001000 |\n| 4 | 16 | 0b00010000 |\n| 5 | 32 | 0b00100000 |\n| 6 | 64 | 0b01000000 |\n| 7 | 128 | 0b10000000 |\n\nSo if in a hierarchy the child node 3 and node 7 exist then the hierarchies\nmask has to be `0b00001000 | 0b10000000` \u2192 `0b10001000` (=136).\n\n_Example:_ A simple, non-realistic tree:\n\n```\n|- r1\n| |\n| \\- r14 (2 Points)\n|\n\\- r3\n |\n \\- r36 (1 Point)\n```\n\nWould have an index looking like this:\n\n| name | mask | points |\n|------|--------------------|--------|\n| r | `0b00001010` (=10) | `3` |\n| r1 | `0b00010000` (=16) | `2` |\n| r3 | `0b01000000` (=64) | `1` |\n| r14 | `0b00000000` (=0) | `2` |\n| r36 | `0b00000000` (=0) | `1` |\n*/\n\n/** Node metadata from index file */\nexport type POTreeTileHeader = {\n /** Number of child nodes */\n childCount: number;\n /** Human readable name */\n name: string;\n /** Child availability mask */\n childMask: number;\n};\n\n/** Hierarchical potree node structure */\nexport type POTreeNode = {\n id: string;\n type: 'pointcloud';\n /** Index data */\n header: POTreeTileHeader;\n /** Human readable name */\n name: string;\n /** Number of points */\n pointCount: number;\n /** Node's level in the tree */\n level: number;\n /** Has children */\n hasChildren: boolean;\n /** Space between points */\n spacing: number;\n /** Available children */\n children: POTreeNode[];\n /** All children including unavailable */\n childrenByIndex: POTreeNode[];\n /** Is tile selected for rendering */\n selected: boolean;\n /** Points content data */\n content?: unknown;\n /** Is content loading */\n isContentLoading?: boolean;\n /** Viewport Ids */\n viewportIds: unknown[];\n};\n\n/**\n * load hierarchy\n * @param arrayBuffer - binary index data\n * @returns root node\n **/\nexport function parsePotreeHierarchyChunk(arrayBuffer: ArrayBuffer): POTreeNode {\n const tileHeaders = parseBinaryChunk(arrayBuffer);\n return buildHierarchy(tileHeaders);\n}\n\n/**\n * Parses the binary rows\n * @param arrayBuffer - binary index data to parse\n * @param byteOffset - byte offset to start from\n * @returns flat nodes array\n * */\nfunction parseBinaryChunk(arrayBuffer: ArrayBuffer, byteOffset = 0): POTreeNode[] {\n const dataView = new DataView(arrayBuffer);\n\n const stack: POTreeNode[] = [];\n\n // Get root mask\n // @ts-expect-error\n const topTileHeader: POTreeNode = {};\n byteOffset = decodeRow(dataView, byteOffset, topTileHeader);\n\n stack.push(topTileHeader);\n const tileHeaders: POTreeNode[] = [topTileHeader];\n\n while (stack.length > 0) {\n const snode = stack.shift();\n let mask = 1;\n\n for (let i = 0; i < 8; i++) {\n if (snode && (snode.header.childMask & mask) !== 0) {\n // @ts-expect-error\n const tileHeader: POTreeNode = {};\n byteOffset = decodeRow(dataView, byteOffset, tileHeader);\n tileHeader.name = snode.name + i;\n\n stack.push(tileHeader);\n tileHeaders.push(tileHeader);\n snode.header.childCount++;\n }\n mask = mask * 2;\n }\n\n if (byteOffset === dataView.byteLength) {\n break;\n }\n }\n\n return tileHeaders;\n}\n\n/**\n * Reads next row from binary index file\n * @param dataView - index data\n * @param byteOffset - current offset in the index data\n * @param tileHeader - container to read to\n * @returns new offset\n */\nfunction decodeRow(dataView: DataView, byteOffset: number, tileHeader: POTreeNode): number {\n tileHeader.header = tileHeader.header || {};\n tileHeader.header.childMask = dataView.getUint8(byteOffset);\n tileHeader.header.childCount = 0;\n tileHeader.pointCount = dataView.getUint32(byteOffset + 1, true);\n tileHeader.name = '';\n byteOffset += 5;\n return byteOffset;\n}\n\n/** Resolves the binary rows into a hierarchy (tree structure) */\nfunction buildHierarchy(flatNodes: POTreeNode[], options: {spacing?: number} = {}): POTreeNode {\n const DEFAULT_OPTIONS = {spacing: 100}; // TODO assert instead of default?\n options = {...DEFAULT_OPTIONS, ...options};\n\n const topNode: POTreeNode = flatNodes[0];\n const nodes = {};\n\n for (const node of flatNodes) {\n const {name} = node;\n\n const index = parseInt(name.charAt(name.length - 1), 10);\n const parentName = name.substring(0, name.length - 1);\n const parentNode = nodes[parentName];\n const level = name.length - 1;\n // assert(parentNode && level >= 0);\n\n node.level = level;\n node.hasChildren = Boolean(node.header.childCount);\n node.children = [];\n node.childrenByIndex = new Array(8).fill(null);\n node.spacing = (options?.spacing || 0) / Math.pow(2, level);\n node.type = 'pointcloud';\n node.id = node.name;\n // tileHeader.boundingVolume = Utils.createChildAABB(parentNode.boundingBox, index);\n\n if (parentNode) {\n parentNode.children.push(node);\n parentNode.childrenByIndex[index] = node;\n }\n\n // Add the node to the map\n nodes[name] = node;\n }\n\n // First node is the root\n return topNode;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {POTreeLoaderOptions} from './potree-loader';\nimport type {POTreeNode} from './parsers/parse-potree-hierarchy-chunk';\nimport {parsePotreeHierarchyChunk} from './parsers/parse-potree-hierarchy-chunk';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Potree hierarchy chunk loader */\nexport const PotreeHierarchyChunkLoader = {\n dataType: null as unknown as POTreeNode,\n batchType: null as never,\n\n name: 'potree Hierarchy Chunk',\n id: 'potree-hrc',\n module: 'potree',\n version: VERSION,\n extensions: ['hrc'],\n mimeTypes: ['application/octet-stream'],\n // binary potree files have no header bytes, no content test function possible\n // test: ['...'],\n parse: async (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),\n parseSync: (arrayBuffer, options) => parsePotreeHierarchyChunk(arrayBuffer),\n options: {\n potree: {}\n },\n binary: true\n} as const satisfies LoaderWithParser<POTreeNode, never, POTreeLoaderOptions>;\n", "export function parsePotreeBin(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options: unknown,\n index: any\n) {\n return null;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parsePotreeBin} from './parsers/parse-potree-bin';\n\n/**\n * Loader for potree Binary Point Attributes\n * */\nexport const PotreeBinLoader = {\n dataType: null as unknown as {},\n batchType: null as never,\n\n name: 'potree Binary Point Attributes',\n id: 'potree',\n extensions: ['bin'],\n mimeTypes: ['application/octet-stream'],\n // Unfortunately binary potree files have no header bytes, no test possible\n // test: ['...'],\n parseSync,\n binary: true,\n options: {}\n // @ts-ignore\n} as const satisfies LoaderWithParser<{}, never, LoaderOptions>;\n\nfunction parseSync(arrayBuffer: ArrayBuffer, options?: LoaderOptions): {} {\n const index = {};\n const byteOffset = 0;\n parsePotreeBin(arrayBuffer, byteOffset, options, index);\n return index;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {PotreeSourceOptions} from '../potree-source';\nimport {load} from '@loaders.gl/core';\nimport {Mesh} from '@loaders.gl/schema';\nimport {DataSource, resolvePath} from '@loaders.gl/loader-utils';\nimport {LASLoader} from '@loaders.gl/las';\nimport {PotreeBoundingBox, PotreeMetadata} from '../types/potree-metadata';\nimport {POTreeNode} from '../parsers/parse-potree-hierarchy-chunk';\nimport {PotreeHierarchyChunkLoader} from '../potree-hierarchy-chunk-loader';\nimport {PotreeLoader} from '../potree-loader';\nimport {parseVersion} from '../utils/parse-version';\nimport {Proj4Projection} from '@math.gl/proj4';\nimport {LASMesh} from '@loaders.gl/las/src/lib/las-types';\nimport {createProjection} from '../utils/projection-utils';\nimport {getCartographicOriginFromBoundingBox} from '../utils/bounding-box-utils';\n\n// https://github.com/visgl/deck.gl/blob/9548f43cba2234a1f4877b6b17f6c88eb35b2e08/modules/core/src/lib/constants.js#L27\n// Describes the format of positions\nexport enum COORDINATE_SYSTEM {\n /**\n * `LNGLAT` if rendering into a geospatial viewport, `CARTESIAN` otherwise\n */\n DEFAULT = -1,\n /**\n * Positions are interpreted as [lng, lat, elevation]\n * lng lat are degrees, elevation is meters. distances as meters.\n */\n LNGLAT = 1,\n /**\n * Positions are interpreted as meter offsets, distances as meters\n */\n METER_OFFSETS = 2,\n /**\n * Positions are interpreted as lng lat offsets: [deltaLng, deltaLat, elevation]\n * deltaLng, deltaLat are delta degrees, elevation is meters.\n * distances as meters.\n */\n LNGLAT_OFFSETS = 3,\n /**\n * Non-geospatial\n */\n CARTESIAN = 0\n}\n\nexport interface PotreeNodeMesh extends LASMesh {\n cartographicOrigin: number[];\n coordinateSystem: number;\n}\n\n/**\n * A Potree data source\n * @version 1.0 - @see https://github.com/potree/potree/blob/1.0RC/docs/file_format.md\n * @version 1.7 - @see https://github.com/potree/potree/blob/1.7/docs/potree-file-format.md\n * @note Point cloud nodes tile source\n */\nexport class PotreeNodesSource extends DataSource<string, PotreeSourceOptions> {\n /** Dataset base URL */\n baseUrl: string = '';\n /** Meta information from `cloud.js` */\n metadata: PotreeMetadata | null = null;\n /** Root node */\n root: POTreeNode | null = null;\n /** Is data source ready to use after initial loading */\n isReady = false;\n /** local CRS to WGS84 projection */\n projection: Proj4Projection | null = null;\n /** The data set minimum bounding box */\n boundingBox?: PotreeBoundingBox;\n\n private initPromise: Promise<void> | null = null;\n\n /**\n * @constructor\n * @param data - if string - data set path url or path to `cloud.js` metadata file\n * - if Blob - single file data\n * @param options - data source properties\n */\n constructor(data: string, options: PotreeSourceOptions) {\n super(data, options);\n this.makeBaseUrl(this.data);\n\n this.initPromise = this.init();\n }\n\n /** Initial data source loading */\n async init() {\n if (this.initPromise) {\n await this.initPromise;\n return;\n }\n this.metadata = await load(`${this.baseUrl}/cloud.js`, PotreeLoader);\n this.projection = createProjection(this.metadata?.projection);\n this.parseBoundingVolume();\n\n await this.loadHierarchy();\n this.isReady = true;\n }\n\n /** Is data set supported */\n isSupported(): boolean {\n const {minor, major} = parseVersion(this.metadata?.version ?? '');\n return (\n this.isReady &&\n major === 1 &&\n minor <= 8 &&\n typeof this.metadata?.pointAttributes === 'string' &&\n ['LAS', 'LAZ'].includes(this.metadata?.pointAttributes)\n );\n }\n\n /** Get content files extension */\n getContentExtension(): string | null {\n if (!this.isReady) {\n return null;\n }\n switch (this.metadata?.pointAttributes) {\n case 'LAS':\n return 'las';\n case 'LAZ':\n return 'laz';\n default:\n return 'bin';\n }\n }\n\n /**\n * Load octree node content\n * @param nodeName name of a node, string of numbers in range 0..7\n * @return node content geometry or null if the node doesn't exist\n */\n async loadNodeContent(nodeName: string): Promise<Mesh | null> {\n await this.initPromise;\n\n if (!this.isSupported()) {\n return null;\n }\n\n const isAvailable = await this.isNodeAvailable(nodeName);\n if (isAvailable) {\n const result: PotreeNodeMesh = (await load(\n `${this.baseUrl}/${this.metadata?.octreeDir}/r/r${nodeName}.${this.getContentExtension()}`,\n LASLoader\n )) as PotreeNodeMesh;\n\n if (result) {\n result.cartographicOrigin = getCartographicOriginFromBoundingBox(\n this.projection,\n result.header?.boundingBox\n );\n const position = result.attributes.POSITION.value as Float32Array;\n for (let i = 0; i < (result.header?.vertexCount ?? 0); i++) {\n let vertex: Float32Array | number[] = position.slice(i * 3, i * 3 + 2);\n if (this.projection) {\n vertex = this.projection.project(Array.from(vertex));\n }\n\n const offsets = [\n vertex[0] - result.cartographicOrigin[0],\n vertex[1] - result.cartographicOrigin[1],\n position[i * 3 + 2] - result.cartographicOrigin[2]\n ];\n position.set(offsets, i * 3);\n }\n result.attributes.positions = result.attributes.POSITION;\n result.attributes.colors = result.attributes.COLOR_0;\n result.attributes.normals = result.attributes.NORMAL;\n\n result.coordinateSystem = COORDINATE_SYSTEM.LNGLAT_OFFSETS;\n return result;\n }\n }\n return null;\n }\n\n /**\n * Check if a node exists in the octree\n * @param nodeName name of a node, string of numbers in range 0..7\n * @returns true - the node does exist, false - the nodes doesn't exist\n */\n async isNodeAvailable(nodeName: string): Promise<boolean> {\n if (this.metadata?.hierarchy) {\n return this.metadata.hierarchy.findIndex((item) => item[0] === `r${nodeName}`) !== -1;\n }\n\n if (!this.root) {\n return false;\n }\n let currentParent = this.root;\n let name = '';\n let result = true;\n for (const char of nodeName) {\n const newName = `${name}${char}`;\n const node = currentParent.children.find((child) => child.name === newName);\n if (node) {\n currentParent = node;\n name = newName;\n } else {\n result = false;\n break;\n }\n }\n return result;\n }\n\n /**\n * Load data source hierarchy into tree of available nodes\n */\n private async loadHierarchy(): Promise<void> {\n this.root = await load(\n `${this.baseUrl}/${this.metadata?.octreeDir}/r/r.hrc`,\n PotreeHierarchyChunkLoader\n );\n }\n\n /**\n * Deduce base url from the input url sring\n * @param data - data source input data\n */\n private makeBaseUrl(data: string | Blob): void {\n this.baseUrl = typeof data === 'string' ? resolvePath(data) : '';\n if (this.baseUrl.endsWith('cloud.js')) {\n this.baseUrl = this.baseUrl.substring(0, -8);\n }\n if (this.baseUrl.endsWith('/')) {\n this.baseUrl = this.baseUrl.substring(0, -1);\n }\n }\n\n private parseBoundingVolume(): void {\n if (this.metadata?.projection && this.metadata.tightBoundingBox) {\n const projection = new Proj4Projection({\n from: this.metadata.projection,\n to: 'WGS84'\n });\n\n const {lx, ly, ux, uy} = this.metadata.tightBoundingBox;\n const lCoord = [lx, ly];\n const wgs84LCood = projection.project(lCoord);\n\n const uCoord = [ux, uy];\n const wgs84UCood = projection.project(uCoord);\n\n this.boundingBox = {\n ...this.metadata.tightBoundingBox,\n lx: wgs84LCood[0],\n ly: wgs84LCood[1],\n ux: wgs84UCood[0],\n uy: wgs84UCood[1]\n };\n } else {\n this.boundingBox = this.metadata?.tightBoundingBox;\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport function parseVersion(version: string): {major: number; minor: number} {\n const parts = version.split('.').map(Number);\n return {major: parts[0], minor: parts[1]};\n}\n", "import {Proj4Projection} from '@math.gl/proj4';\n\n/**\n * Create projection from proj4 definition to WGS84\n * @param projectionData - proj4 definition\n * @returns projection instance\n */\nexport const createProjection = (projectionData?: string): Proj4Projection | null => {\n if (!projectionData) {\n return null;\n }\n return new Proj4Projection({\n from: projectionData,\n to: 'WGS84'\n });\n};\n", "import {Proj4Projection} from '@math.gl/proj4';\n\n/**\n * Calculate cartographic origin from Potree bounding box\n * @param projection - Proj4Projection instance to reproject coordinates\n * @param boundingBox - bounding box data\n * @returns - origin of boudngin box in [lng, lat, z] mode\n */\nexport const getCartographicOriginFromBoundingBox = (\n projection: Proj4Projection | null,\n boundingBox?: [number[], number[]]\n): number[] => {\n if (!boundingBox) {\n return [0, 0, 0];\n }\n const [minXOriginal, minYOriginal, minZ] = boundingBox[0];\n const [maxXOriginal, maxYOriginal, maxZ] = boundingBox[1];\n let minX = minXOriginal;\n let minY = minYOriginal;\n let maxX = maxXOriginal;\n let maxY = maxYOriginal;\n if (projection) {\n [minX, minY] = projection.project([minX, minY]);\n [maxX, maxY] = projection.project([maxX, maxY]);\n }\n return [minX + (maxX - minX) / 2, minY + (maxY - minY) / 2, minZ + (maxZ - minZ) / 2];\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Source, DataSourceOptions} from '@loaders.gl/loader-utils';\nimport {PotreeNodesSource} from './lib/potree-node-source';\n\nconst VERSION = '1.7';\n\nexport type PotreeSourceOptions = DataSourceOptions & {\n potree?: {};\n};\n\n/**\n * Creates point cloud data sources for Potree urls\n */\nexport const PotreeSource = {\n name: 'Potree',\n id: 'potree',\n module: 'potree',\n version: VERSION,\n extensions: ['bin', 'las', 'laz'],\n mimeTypes: ['application/octet-stream'],\n type: 'potree',\n fromUrl: true,\n fromBlob: true,\n\n defaultOptions: {\n potree: {}\n },\n\n testURL: (url: string) => url.endsWith('.js'),\n createDataSource: (url: string, options: PotreeSourceOptions) =>\n new PotreeNodesSource(url, options) // , PotreeNodesSource.defaultOptions)\n} as const satisfies Source<PotreeNodesSource>;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;ACQA,IAAM,UAAU,OAAoC,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["VERSION", "import_proj4", "COORDINATE_SYSTEM", "VERSION"]
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { parsePotreeHierarchyChunk } from "./parsers/parse-potree-hierarchy-chunk.js";
|
|
5
5
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
6
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
-
const VERSION = typeof "4.4.
|
|
7
|
+
const VERSION = typeof "4.4.1" !== 'undefined' ? "4.4.1" : 'latest';
|
|
8
8
|
/** Potree hierarchy chunk loader */
|
|
9
9
|
export const PotreeHierarchyChunkLoader = {
|
|
10
10
|
dataType: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"potree-hierarchy-chunk-loader.js","sourceRoot":"","sources":["../src/potree-hierarchy-chunk-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,gCAAgC;AAKhC,OAAO,EAAC,yBAAyB,EAAC,kDAA+C;AAEjF,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"potree-hierarchy-chunk-loader.js","sourceRoot":"","sources":["../src/potree-hierarchy-chunk-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,gCAAgC;AAKhC,OAAO,EAAC,yBAAyB,EAAC,kDAA+C;AAEjF,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,cAAkB,KAAK,WAAW,CAAC,CAAC,SAAa,CAAC,CAAC,QAAQ,CAAC;AAE5E,oCAAoC;AACpC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,QAAQ,EAAE,IAA6B;IACvC,SAAS,EAAE,IAAa;IAExB,IAAI,EAAE,wBAAwB;IAC9B,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,0BAA0B,CAAC;IACvC,8EAA8E;IAC9E,iBAAiB;IACjB,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,yBAAyB,CAAC,WAAW,CAAC;IAC7E,SAAS,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,yBAAyB,CAAC,WAAW,CAAC;IAC3E,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;KACX;IACD,MAAM,EAAE,IAAI;CAC+D,CAAC"}
|
package/dist/potree-loader.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright vis.gl contributors
|
|
4
4
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
5
5
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
|
-
const VERSION = typeof "4.4.
|
|
6
|
+
const VERSION = typeof "4.4.1" !== 'undefined' ? "4.4.1" : 'latest';
|
|
7
7
|
/** Potree loader */
|
|
8
8
|
export const PotreeLoader = {
|
|
9
9
|
dataType: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"potree-loader.js","sourceRoot":"","sources":["../src/potree-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,gCAAgC;AAIhC,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"potree-loader.js","sourceRoot":"","sources":["../src/potree-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,gCAAgC;AAIhC,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,cAAkB,KAAK,WAAW,CAAC,CAAC,SAAa,CAAC,CAAC,QAAQ,CAAC;AAM5E,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,IAAsB;IAChC,SAAS,EAAE,IAAa;IAExB,IAAI,EAAE,iBAAiB;IACvB,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,CAAC,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;IAClD,KAAK,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzC,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;KACX;CACmE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounding-box-utils.d.ts","sourceRoot":"","sources":["../../src/utils/bounding-box-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,
|
|
1
|
+
{"version":3,"file":"bounding-box-utils.d.ts","sourceRoot":"","sources":["../../src/utils/bounding-box-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,GAC/C,YAAY,eAAe,GAAG,IAAI,EAClC,cAAc,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,KACjC,MAAM,EAeR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-utils.d.ts","sourceRoot":"","sources":["../../src/utils/projection-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"projection-utils.d.ts","sourceRoot":"","sources":["../../src/utils/projection-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,iBAAiB,MAAM,KAAG,eAAe,GAAG,IAQ5E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/potree",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.1",
|
|
4
4
|
"description": "potree loaders for large point clouds.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -44,14 +44,14 @@
|
|
|
44
44
|
"build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@loaders.gl/las": "4.4.
|
|
48
|
-
"@loaders.gl/math": "4.4.
|
|
49
|
-
"@loaders.gl/schema": "4.4.
|
|
47
|
+
"@loaders.gl/las": "4.4.1",
|
|
48
|
+
"@loaders.gl/math": "4.4.1",
|
|
49
|
+
"@loaders.gl/schema": "4.4.1",
|
|
50
50
|
"@math.gl/core": "^4.1.0",
|
|
51
51
|
"@math.gl/proj4": "^4.1.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"@loaders.gl/core": "4.4.0
|
|
54
|
+
"@loaders.gl/core": "~4.4.0"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "18d4fdf37667eaf6ec832473a8ae89907e391992"
|
|
57
57
|
}
|