@loaders.gl/potree 4.0.0-alpha.4 → 4.0.0-alpha.5
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/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/dist.min.js +182 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/octree.d.ts +22 -0
- package/dist/lib/octree.d.ts.map +1 -0
- package/dist/parsers/parse-potree-bin.d.ts +2 -0
- package/dist/parsers/parse-potree-bin.d.ts.map +1 -0
- package/dist/parsers/parse-potree-hierarchy-chunk.d.ts +2 -0
- package/dist/parsers/parse-potree-hierarchy-chunk.d.ts.map +1 -0
- package/dist/potree-bin-loader.d.ts +6 -0
- package/dist/potree-bin-loader.d.ts.map +1 -0
- package/dist/potree-hierarchy-chunk-loader.d.ts +4 -0
- package/dist/potree-hierarchy-chunk-loader.d.ts.map +1 -0
- package/dist/potree-loader.d.ts +4 -0
- package/dist/potree-loader.d.ts.map +1 -0
- package/dist/potree-loader.js +1 -1
- package/package.json +5 -5
package/dist/bundle.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
|
package/dist/dist.min.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
4
|
+
var __esm = (fn, res) => function __init() {
|
|
5
|
+
return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
|
|
6
|
+
};
|
|
7
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
+
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
+
};
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
__markAsModule(target);
|
|
12
|
+
for (var name in all)
|
|
13
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/potree-loader.ts
|
|
17
|
+
var VERSION, PotreeLoader;
|
|
18
|
+
var init_potree_loader = __esm({
|
|
19
|
+
"src/potree-loader.ts"() {
|
|
20
|
+
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
21
|
+
PotreeLoader = {
|
|
22
|
+
name: "potree",
|
|
23
|
+
id: "potree",
|
|
24
|
+
module: "potree",
|
|
25
|
+
version: VERSION,
|
|
26
|
+
extensions: ["json"],
|
|
27
|
+
mimeTypes: ["application/json"],
|
|
28
|
+
testText: (text) => text.indexOf("octreeDir") >= 0,
|
|
29
|
+
parseTextSync: (text) => JSON.parse(text),
|
|
30
|
+
options: {
|
|
31
|
+
potree: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// src/parsers/parse-potree-hierarchy-chunk.ts
|
|
38
|
+
function parsePotreeHierarchyChunk(arrayBuffer) {
|
|
39
|
+
const tileHeaders = parseBinaryChunk(arrayBuffer);
|
|
40
|
+
return buildHierarchy(tileHeaders);
|
|
41
|
+
}
|
|
42
|
+
function parseBinaryChunk(arrayBuffer, byteOffset = 0) {
|
|
43
|
+
const dataView = new DataView(arrayBuffer);
|
|
44
|
+
const stack = [];
|
|
45
|
+
const topTileHeader = {};
|
|
46
|
+
byteOffset = decodeRow(dataView, byteOffset, topTileHeader);
|
|
47
|
+
stack.push(topTileHeader);
|
|
48
|
+
const tileHeaders = [];
|
|
49
|
+
while (stack.length > 0) {
|
|
50
|
+
const snode = stack.shift();
|
|
51
|
+
let mask = 1;
|
|
52
|
+
for (let i = 0; i < 8; i++) {
|
|
53
|
+
if (snode && (snode.header.childMask & mask) !== 0) {
|
|
54
|
+
const tileHeader = {};
|
|
55
|
+
byteOffset = decodeRow(dataView, byteOffset, tileHeader);
|
|
56
|
+
tileHeader.name = snode.name + i;
|
|
57
|
+
stack.push(tileHeader);
|
|
58
|
+
tileHeaders.push(tileHeader);
|
|
59
|
+
snode.header.childCount++;
|
|
60
|
+
}
|
|
61
|
+
mask = mask * 2;
|
|
62
|
+
}
|
|
63
|
+
if (byteOffset === dataView.byteLength) {
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return tileHeaders;
|
|
68
|
+
}
|
|
69
|
+
function decodeRow(dataView, byteOffset, tileHeader) {
|
|
70
|
+
tileHeader.header = tileHeader.header || {};
|
|
71
|
+
tileHeader.header.childMask = dataView.getUint8(byteOffset);
|
|
72
|
+
tileHeader.header.childCount = 0;
|
|
73
|
+
tileHeader.pointCount = dataView.getUint32(byteOffset + 1, true);
|
|
74
|
+
tileHeader.name = "";
|
|
75
|
+
byteOffset += 5;
|
|
76
|
+
return byteOffset;
|
|
77
|
+
}
|
|
78
|
+
function buildHierarchy(tileHeaders, options = {}) {
|
|
79
|
+
const DEFAULT_OPTIONS = { spacing: 100 };
|
|
80
|
+
options = { ...DEFAULT_OPTIONS, ...options };
|
|
81
|
+
const topNode = tileHeaders[0];
|
|
82
|
+
const nodes = {};
|
|
83
|
+
for (const tileHeader of tileHeaders) {
|
|
84
|
+
const { name } = tileHeader;
|
|
85
|
+
const index = parseInt(name.charAt(name.length - 1), 10);
|
|
86
|
+
const parentName = name.substring(0, name.length - 1);
|
|
87
|
+
const parentNode = nodes[parentName];
|
|
88
|
+
const level = name.length - 1;
|
|
89
|
+
tileHeader.level = level;
|
|
90
|
+
tileHeader.hasChildren = tileHeader.header.childCount;
|
|
91
|
+
tileHeader.children = [];
|
|
92
|
+
tileHeader.childrenByIndex = new Array(8).fill(null);
|
|
93
|
+
tileHeader.spacing = options.spacing / Math.pow(2, level);
|
|
94
|
+
if (parentNode) {
|
|
95
|
+
parentNode.children.push(tileHeader);
|
|
96
|
+
parentNode.childrenByIndex[index] = tileHeader;
|
|
97
|
+
}
|
|
98
|
+
nodes[name] = tileHeader;
|
|
99
|
+
}
|
|
100
|
+
return topNode;
|
|
101
|
+
}
|
|
102
|
+
var init_parse_potree_hierarchy_chunk = __esm({
|
|
103
|
+
"src/parsers/parse-potree-hierarchy-chunk.ts"() {
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// src/potree-hierarchy-chunk-loader.ts
|
|
108
|
+
function parseSync(arrayBuffer) {
|
|
109
|
+
return parsePotreeHierarchyChunk(arrayBuffer);
|
|
110
|
+
}
|
|
111
|
+
var PotreeHierarchyChunkLoader;
|
|
112
|
+
var init_potree_hierarchy_chunk_loader = __esm({
|
|
113
|
+
"src/potree-hierarchy-chunk-loader.ts"() {
|
|
114
|
+
init_parse_potree_hierarchy_chunk();
|
|
115
|
+
PotreeHierarchyChunkLoader = {
|
|
116
|
+
id: "potree",
|
|
117
|
+
name: "potree Hierarchy Chunk",
|
|
118
|
+
extensions: ["hrc"],
|
|
119
|
+
mimeTypes: ["application/octet-stream"],
|
|
120
|
+
parse: async (arrayBuffer, options) => await parseSync(arrayBuffer),
|
|
121
|
+
parseSync,
|
|
122
|
+
binary: true
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// src/parsers/parse-potree-bin.ts
|
|
128
|
+
function parsePotreeBin(arrayBuffer, byteOffset, options, index) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
var init_parse_potree_bin = __esm({
|
|
132
|
+
"src/parsers/parse-potree-bin.ts"() {
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// src/potree-bin-loader.ts
|
|
137
|
+
function parseSync2(arrayBuffer, options) {
|
|
138
|
+
const index = {};
|
|
139
|
+
const byteOffset = 0;
|
|
140
|
+
parsePotreeBin(arrayBuffer, byteOffset, options, index);
|
|
141
|
+
return index;
|
|
142
|
+
}
|
|
143
|
+
var PotreeBinLoader;
|
|
144
|
+
var init_potree_bin_loader = __esm({
|
|
145
|
+
"src/potree-bin-loader.ts"() {
|
|
146
|
+
init_parse_potree_bin();
|
|
147
|
+
PotreeBinLoader = {
|
|
148
|
+
name: "potree Binary Point Attributes",
|
|
149
|
+
id: "potree",
|
|
150
|
+
extensions: ["bin"],
|
|
151
|
+
mimeTypes: ["application/octet-stream"],
|
|
152
|
+
parseSync: parseSync2,
|
|
153
|
+
binary: true
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
// src/index.ts
|
|
159
|
+
var src_exports = {};
|
|
160
|
+
__export(src_exports, {
|
|
161
|
+
PotreeBinLoader: () => PotreeBinLoader,
|
|
162
|
+
PotreeHierarchyChunkLoader: () => PotreeHierarchyChunkLoader,
|
|
163
|
+
PotreeLoader: () => PotreeLoader
|
|
164
|
+
});
|
|
165
|
+
var init_src = __esm({
|
|
166
|
+
"src/index.ts"() {
|
|
167
|
+
init_potree_loader();
|
|
168
|
+
init_potree_hierarchy_chunk_loader();
|
|
169
|
+
init_potree_bin_loader();
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// src/bundle.ts
|
|
174
|
+
var require_bundle = __commonJS({
|
|
175
|
+
"src/bundle.ts"(exports, module) {
|
|
176
|
+
var moduleExports = (init_src(), src_exports);
|
|
177
|
+
globalThis.loaders = globalThis.loaders || {};
|
|
178
|
+
module.exports = Object.assign(globalThis.loaders, moduleExports);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
require_bundle();
|
|
182
|
+
})();
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class PointCloudOctree {
|
|
2
|
+
constructor();
|
|
3
|
+
}
|
|
4
|
+
export declare class PointCloudOctant {
|
|
5
|
+
constructor(name: any, octree: any, boundingBox: any);
|
|
6
|
+
isGeometryNode(): boolean;
|
|
7
|
+
getLevel(): any;
|
|
8
|
+
isTreeNode(): boolean;
|
|
9
|
+
isLoaded(): any;
|
|
10
|
+
getBoundingSphere(): any;
|
|
11
|
+
getBoundingBox(): any;
|
|
12
|
+
getChildren(): any;
|
|
13
|
+
getURL(): string;
|
|
14
|
+
getHierarchyPath(): string;
|
|
15
|
+
addChild(child: any): void;
|
|
16
|
+
load(): void;
|
|
17
|
+
loadPoints(): void;
|
|
18
|
+
loadHierachyThenPoints(): void;
|
|
19
|
+
getNumPoints(): any;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=octree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"octree.d.ts","sourceRoot":"","sources":["../../src/lib/octree.ts"],"names":[],"mappings":"AAIA,qBAAa,gBAAgB;;CAY5B;AAED,qBAAa,gBAAgB;gBACf,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,WAAW,KAAA;IAerC,cAAc;IAId,QAAQ;IAIR,UAAU;IAIV,QAAQ;IAIR,iBAAiB;IAIjB,cAAc;IAId,WAAW;IAKX,MAAM;IAMN,gBAAgB;IAgBhB,QAAQ,CAAC,KAAK,KAAA;IAKd,IAAI;IAwBJ,UAAU;IAIV,sBAAsB;IA+FtB,YAAY;IAIZ,OAAO;CAcR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-potree-bin.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-potree-bin.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,QAGX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-potree-hierarchy-chunk.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-potree-hierarchy-chunk.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,WAAW,EAAE,WAAW,OAGzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"potree-bin-loader.d.ts","sourceRoot":"","sources":["../src/potree-bin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAgB,MAAM,0BAA0B,CAAC;AAG9E;;KAEK;AAEL,eAAO,MAAM,eAAe,EAAE,gBAS7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"potree-hierarchy-chunk-loader.d.ts","sourceRoot":"","sources":["../src/potree-hierarchy-chunk-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG/D,oCAAoC;AAEpC,eAAO,MAAM,0BAA0B,EAAE,gBAUxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"potree-loader.d.ts","sourceRoot":"","sources":["../src/potree-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAM/D,oBAAoB;AAEpB,eAAO,MAAM,YAAY,EAAE,gBAY1B,CAAC"}
|
package/dist/potree-loader.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/potree",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.5",
|
|
4
4
|
"description": "potree loaders for large point clouds.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"point cloud",
|
|
22
22
|
"pointcloud"
|
|
23
23
|
],
|
|
24
|
-
"types": "
|
|
24
|
+
"types": "dist/index.d.ts",
|
|
25
25
|
"main": "dist/index.js",
|
|
26
26
|
"module": "dist/index.js",
|
|
27
27
|
"sideEffects": false,
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
],
|
|
33
33
|
"scripts": {
|
|
34
34
|
"pre-build": "npm run build-bundle",
|
|
35
|
-
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/
|
|
35
|
+
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@loaders.gl/math": "4.0.0-alpha.
|
|
38
|
+
"@loaders.gl/math": "4.0.0-alpha.5",
|
|
39
39
|
"@math.gl/core": "^3.5.1"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "7a71a54bdf1ddf985cc3af3db90b82e7fa97d025"
|
|
42
42
|
}
|