@jdultra/threedtiles 11.1.13 → 12.0.0
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/decoder/B3DMDecoder.d.ts +3 -4
- package/dist/draco-decoders/draco_decoder.js +33 -1
- package/dist/draco-decoders/draco_decoder.wasm +0 -0
- package/dist/draco-decoders/draco_encoder.js +33 -1
- package/dist/draco-decoders/draco_wasm_wrapper.js +116 -1
- package/dist/draco-decoders/gltf/draco_decoder.js +33 -1
- package/dist/draco-decoders/gltf/draco_encoder.js +33 -1
- package/dist/draco-decoders/gltf/draco_wasm_wrapper.js +116 -1
- package/dist/geometry/obb.d.ts +7 -11
- package/dist/ktx2-decoders/basis_transcoder.js +19 -1
- package/dist/threedtiles.cjs.js +21 -0
- package/dist/threedtiles.cjs.js.map +1 -0
- package/dist/threedtiles.es.js +3667 -0
- package/dist/threedtiles.es.js.map +1 -0
- package/dist/threedtiles.umd.js +21 -0
- package/dist/threedtiles.umd.js.map +1 -0
- package/dist/tileset/OGC3DTile.d.ts +10 -8
- package/dist/tileset/OcclusionCullingService.d.ts +4 -5
- package/dist/tileset/TileLoader.d.ts +1 -2
- package/dist/tileset/instanced/InstancedOGC3DTile.d.ts +3 -3
- package/dist/tileset/instanced/InstancedTile.d.ts +6 -3
- package/dist/tileset/instanced/InstancedTileLoader.d.ts +1 -2
- package/dist/tileset/instanced/MeshTile.d.ts +1 -2
- package/package.json +43 -66
- package/dist/index.d.ts +0 -1
- package/dist/index.html +0 -1
- package/dist/threedtiles.min.js +0 -3
- package/dist/threedtiles.min.js.LICENSE.txt +0 -24
- package/dist/threedtiles.min.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @class
|
|
4
4
|
* @extends {THREE.Object3D}
|
|
5
5
|
*/
|
|
6
|
-
export class OGC3DTile
|
|
6
|
+
export class OGC3DTile {
|
|
7
7
|
/**
|
|
8
8
|
* @param {Object} [properties] - the properties for this tileset
|
|
9
9
|
* @param {String} [properties.url] - the url to the parent tileset.json
|
|
@@ -52,11 +52,11 @@ export class OGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
52
52
|
parentGeometricError?: number | undefined;
|
|
53
53
|
parentBoundingVolume?: Object | undefined;
|
|
54
54
|
parentRefine?: string | undefined;
|
|
55
|
-
cameraOnLoad?:
|
|
55
|
+
cameraOnLoad?: any;
|
|
56
56
|
parentTile?: OGC3DTile | undefined;
|
|
57
57
|
proxy?: string | undefined;
|
|
58
58
|
displayErrors?: boolean | undefined;
|
|
59
|
-
renderer?:
|
|
59
|
+
renderer?: any;
|
|
60
60
|
domWidth?: number | undefined;
|
|
61
61
|
domHeight?: number | undefined;
|
|
62
62
|
dracoLoader?: any;
|
|
@@ -66,7 +66,7 @@ export class OGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
66
66
|
drawBoundingVolume?: string | undefined;
|
|
67
67
|
} | undefined);
|
|
68
68
|
contentURL: any[];
|
|
69
|
-
rendererSize:
|
|
69
|
+
rendererSize: any;
|
|
70
70
|
loadingStrategy: string;
|
|
71
71
|
distanceBias: number;
|
|
72
72
|
proxy: string | undefined;
|
|
@@ -96,15 +96,17 @@ export class OGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
96
96
|
percentageLoaded: number;
|
|
97
97
|
};
|
|
98
98
|
geometricErrorMultiplier: number;
|
|
99
|
-
renderer:
|
|
99
|
+
renderer: any;
|
|
100
100
|
meshCallback: Function | undefined;
|
|
101
101
|
loadOutsideView: boolean | undefined;
|
|
102
|
-
cameraOnLoad:
|
|
102
|
+
cameraOnLoad: any;
|
|
103
103
|
parentTile: OGC3DTile | undefined;
|
|
104
104
|
occlusionCullingService: any;
|
|
105
105
|
static: boolean | undefined;
|
|
106
|
-
color:
|
|
106
|
+
color: any;
|
|
107
107
|
colorID: number | undefined;
|
|
108
|
+
matrixAutoUpdate: boolean | undefined;
|
|
109
|
+
matrixWorldAutoUpdate: boolean | undefined;
|
|
108
110
|
childrenTiles: any[];
|
|
109
111
|
meshContent: any[];
|
|
110
112
|
materialVisibility: boolean;
|
|
@@ -138,6 +140,7 @@ export class OGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
138
140
|
*/
|
|
139
141
|
dispose(): void;
|
|
140
142
|
deleted: boolean | undefined;
|
|
143
|
+
parent: any;
|
|
141
144
|
_disposeMeshContent(): void;
|
|
142
145
|
_disposeChildren(): void;
|
|
143
146
|
_updateImmediate(camera: any, frustum: any): void;
|
|
@@ -189,5 +192,4 @@ export class OGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
189
192
|
* @returns a list of vendors that are required by copyright to be displayed in the app.
|
|
190
193
|
*/
|
|
191
194
|
export function getOGC3DTilesCopyrightInfo(): string[];
|
|
192
|
-
import * as THREE from 'three';
|
|
193
195
|
import { TileLoader } from "./TileLoader";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An occlusion culling service that helps to only refine tiles that are visible.
|
|
3
3
|
* This occlusion culling has a cost but allows downloading much less data.
|
|
4
|
-
* For models that have a lot of geometry that is often hidden from the camera by walls, this can
|
|
4
|
+
* For models that have a lot of geometry that is often hidden from the camera by walls, this can improve the frame-rate.
|
|
5
5
|
* @class
|
|
6
6
|
*/
|
|
7
7
|
export class OcclusionCullingService {
|
|
8
8
|
cullMap: any[];
|
|
9
|
-
cullMaterial:
|
|
10
|
-
cullTarget:
|
|
9
|
+
cullMaterial: any;
|
|
10
|
+
cullTarget: any;
|
|
11
11
|
cullPixels: Uint8Array;
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
14
|
* @param {Integer} side use THREE.FrontSide, THREE.BackSide or THREE.DoubleSide (FrontSide default)
|
|
15
15
|
*/
|
|
16
16
|
setSide(side: Integer): void;
|
|
17
|
-
_createCullTarget():
|
|
17
|
+
_createCullTarget(): any;
|
|
18
18
|
/**
|
|
19
19
|
* Update function to be called on every frame in the render loop.
|
|
20
20
|
* @param {THREE.scene} scene
|
|
@@ -29,4 +29,3 @@ export class OcclusionCullingService {
|
|
|
29
29
|
*/
|
|
30
30
|
hasID(id: string | number): any;
|
|
31
31
|
}
|
|
32
|
-
import * as THREE from 'three';
|
|
@@ -33,7 +33,7 @@ export class TileLoader {
|
|
|
33
33
|
dracoLoader?: any;
|
|
34
34
|
renderer?: any;
|
|
35
35
|
} | undefined);
|
|
36
|
-
zUpToYUpMatrix:
|
|
36
|
+
zUpToYUpMatrix: any;
|
|
37
37
|
maxCachedItems: number;
|
|
38
38
|
proxy: any;
|
|
39
39
|
meshCallback: Function | undefined;
|
|
@@ -87,5 +87,4 @@ export class TileLoader {
|
|
|
87
87
|
invalidate(path: string, tileIdentifier: string | number): void;
|
|
88
88
|
_checkSize(): void;
|
|
89
89
|
}
|
|
90
|
-
import * as THREE from 'three';
|
|
91
90
|
import { B3DMDecoder } from "../decoder/B3DMDecoder";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Each tile content is instanced but each {@link InstancedOGC3DTile} object also has it's own LOD tree making this scenario very efficient.
|
|
6
6
|
* @class
|
|
7
7
|
*/
|
|
8
|
-
export class InstancedOGC3DTile
|
|
8
|
+
export class InstancedOGC3DTile {
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
11
11
|
* @param {Object} [properties] - the properties for this tileset
|
|
@@ -54,11 +54,12 @@ export class InstancedOGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
54
54
|
renderer?: Object | undefined;
|
|
55
55
|
distanceBias?: number | undefined;
|
|
56
56
|
} | undefined);
|
|
57
|
-
rendererSize:
|
|
57
|
+
rendererSize: any;
|
|
58
58
|
renderer: Object | undefined;
|
|
59
59
|
distanceBias: number;
|
|
60
60
|
geometricErrorMultiplier: number | Object;
|
|
61
61
|
tileset: InstancedTile;
|
|
62
|
+
matrixAutoUpdate: boolean | undefined;
|
|
62
63
|
tileLoader: Object | undefined;
|
|
63
64
|
_renderSize(size: any): void;
|
|
64
65
|
/**
|
|
@@ -84,5 +85,4 @@ export class InstancedOGC3DTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
84
85
|
*/
|
|
85
86
|
setGeometricErrorMultiplier(geometricErrorMultiplier: number): void;
|
|
86
87
|
}
|
|
87
|
-
import * as THREE from 'three';
|
|
88
88
|
import { InstancedTile } from "./InstancedTile.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export class InstancedTile
|
|
1
|
+
export class InstancedTile {
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param {
|
|
@@ -31,6 +31,8 @@ export class InstancedTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
31
31
|
jsonChildren: any;
|
|
32
32
|
meshContent: Set<any>;
|
|
33
33
|
static: any;
|
|
34
|
+
matrixAutoUpdate: boolean | undefined;
|
|
35
|
+
matrixWorldAutoUpdate: boolean | undefined;
|
|
34
36
|
materialVisibility: boolean;
|
|
35
37
|
inFrustum: boolean;
|
|
36
38
|
level: any;
|
|
@@ -42,6 +44,7 @@ export class InstancedTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
42
44
|
rootPath: any;
|
|
43
45
|
loadJson(json: any, url: any): void;
|
|
44
46
|
setup(properties: any): Promise<void>;
|
|
47
|
+
matrixWorldNeedsUpdate: boolean | undefined;
|
|
45
48
|
isSetup: boolean | undefined;
|
|
46
49
|
isAbsolutePathOrURL(input: any): any;
|
|
47
50
|
assembleURL(root: any, relative: any): string;
|
|
@@ -49,6 +52,7 @@ export class InstancedTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
49
52
|
load(): void;
|
|
50
53
|
loadMesh(mesh: any): void;
|
|
51
54
|
dispose(): void;
|
|
55
|
+
parent: any;
|
|
52
56
|
disposeChildren(): void;
|
|
53
57
|
_update(camera: any, frustum: any): void;
|
|
54
58
|
areAllChildrenLoadedAndHidden(): boolean;
|
|
@@ -61,7 +65,6 @@ export class InstancedTile extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
61
65
|
calculateUpdateMetric(camera: any, frustum: any): number;
|
|
62
66
|
getSiblings(): any[];
|
|
63
67
|
calculateDistanceToCamera(camera: any): number;
|
|
64
|
-
getWorldMatrix():
|
|
68
|
+
getWorldMatrix(): any;
|
|
65
69
|
transformWGS84ToCartesian(lon: any, lat: any, h: any, sfct: any): void;
|
|
66
70
|
}
|
|
67
|
-
import * as THREE from 'three';
|
|
@@ -35,7 +35,7 @@ export class InstancedTileLoader {
|
|
|
35
35
|
dracoLoader?: any;
|
|
36
36
|
renderer?: any;
|
|
37
37
|
} | undefined);
|
|
38
|
-
zUpToYUpMatrix:
|
|
38
|
+
zUpToYUpMatrix: any;
|
|
39
39
|
maxCachedItems: number;
|
|
40
40
|
maxInstances: number;
|
|
41
41
|
proxy: any;
|
|
@@ -78,6 +78,5 @@ export class InstancedTileLoader {
|
|
|
78
78
|
_getNextDownloads(): void;
|
|
79
79
|
_checkSize(): void;
|
|
80
80
|
}
|
|
81
|
-
import * as THREE from 'three';
|
|
82
81
|
import { B3DMDecoder } from "../../decoder/B3DMDecoder";
|
|
83
82
|
import { InstancedOGC3DTile } from './InstancedOGC3DTile';
|
|
@@ -2,7 +2,7 @@ export class MeshTile {
|
|
|
2
2
|
constructor(scene: any);
|
|
3
3
|
scene: any;
|
|
4
4
|
instancedTiles: any[];
|
|
5
|
-
reuseableMatrix:
|
|
5
|
+
reuseableMatrix: any;
|
|
6
6
|
addInstance(instancedTile: any): void;
|
|
7
7
|
addToScene(): void;
|
|
8
8
|
setObject(instancedMesh: any): void;
|
|
@@ -11,4 +11,3 @@ export class MeshTile {
|
|
|
11
11
|
getCount(): number;
|
|
12
12
|
dispose(): boolean;
|
|
13
13
|
}
|
|
14
|
-
import * as THREE from 'three';
|
package/package.json
CHANGED
|
@@ -1,66 +1,43 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"meshoptimizer": "^0.20.0"
|
|
45
|
-
},
|
|
46
|
-
"devDependencies": {
|
|
47
|
-
"@babel/core": "^7.21.4",
|
|
48
|
-
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
49
|
-
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
|
50
|
-
"@babel/preset-env": "^7.21.4",
|
|
51
|
-
"@types/three": "^0.167.1",
|
|
52
|
-
"babel-loader": "^9.1.2",
|
|
53
|
-
"copy-webpack-plugin": "^6.3.2",
|
|
54
|
-
"core-js": "^3.27.1",
|
|
55
|
-
"html-loader": "^1.3.2",
|
|
56
|
-
"html-webpack-plugin": "^4.5.0",
|
|
57
|
-
"mini-css-extract-plugin": "^1.6.2",
|
|
58
|
-
"typescript": "^5.4.5",
|
|
59
|
-
"webpack": "^5.79.0",
|
|
60
|
-
"webpack-cli": "^5.0.1",
|
|
61
|
-
"webpack-dev-server": "^4.13.2",
|
|
62
|
-
"webpack-glsl-loader": "^1.0.1",
|
|
63
|
-
"webpack-node-externals": "^3.0.0",
|
|
64
|
-
"whatwg-fetch": "^3.5.0"
|
|
65
|
-
}
|
|
66
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@jdultra/threedtiles",
|
|
3
|
+
"version": "12.0.0",
|
|
4
|
+
"author": "Emeric Beaufays",
|
|
5
|
+
"description": "An OGC 3DTiles viewer for Three.js",
|
|
6
|
+
"main": "dist/threedtiles.cjs.js",
|
|
7
|
+
"module": "dist/threedtiles.es.js",
|
|
8
|
+
"unpkg": "dist/threedtiles.umd.js",
|
|
9
|
+
"types": "dist/entry.d.ts",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist/**/*",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/ebeaufay/threedtiles"
|
|
19
|
+
},
|
|
20
|
+
"type": "module",
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "vite build --config vite.prod.config.js && npm run build:types",
|
|
23
|
+
"build:types": "tsc --declaration --emitDeclarationOnly --allowJs --outDir dist",
|
|
24
|
+
"generate-docs": "jsdoc --configure jsdoc.json --verbose",
|
|
25
|
+
"dev": "vite"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"three": "0.170.0"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"js-utils-z": "^1.2.1",
|
|
32
|
+
"meshoptimizer": "^0.20.0",
|
|
33
|
+
"path-browserify": "^1.0.1",
|
|
34
|
+
"three": "0.170.0",
|
|
35
|
+
"uuid": "^8.3.2"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
39
|
+
"typescript": "^5.6.3",
|
|
40
|
+
"vite": "^5.4.10",
|
|
41
|
+
"vite-plugin-static-copy": "^2.0.0"
|
|
42
|
+
}
|
|
43
|
+
}
|
package/dist/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/index.html
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!doctype html><html><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,user-scalable=no,minimum-scale=1,maximum-scale=1"><title>Three 3DTiles viewer sample</title><style>.slidecontainer{width:100%}.slider{-webkit-appearance:none;width:100%;height:15px;border-radius:5px;background:#d3d3d3;outline:0;opacity:.7;-webkit-transition:.2s;transition:opacity .2s}.slider:hover{opacity:1}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:25px;height:25px;border-radius:50%;background:#0439aa;cursor:pointer}.slider::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:#04aa6d;cursor:pointer}</style></head><body><div id="screen"></div><div style="position:absolute;z-index:999;right:0;top:0;width:12%;height:100%;background-color:#acacacd2;display:flex;flex-direction:column;flex-wrap:wrap"><div style="z-index:1000;margin:10%"><input type="range" min="0.01" max="4.0" value="1.0" , step="0.01" class="slider" id="lodMultiplier"><p style="color:#0439aa">detail multiplier: <span id="multiplierValue">1.0</span></p></div><div style="z-index:1000;margin:10%"><input type="range" min="0.5" max="1.5" value="1.0" , step="0.01" class="slider" id="distanceBias"><p style="color:#0439aa">distance bias: <span id="distanceBiasValue">1.0</span></p></div><div style="z-index:1000;margin:10%"><input type="range" min="10" max="200" value="200" , step="1" class="slider" id="targetFPS"><p style="color:#0439aa">target fps: <span id="targetFPSValue">200</span></p></div><div style="z-index:1000;margin:10%" id="loadingStrategyWrapper"><input type="range" min="0" max="1" value="0" , step="1" class="slider" style="width:25%;float:right;pointer-events:none" id="loadingStrategy"><p style="color:#0439aa">Strategy: <span id="loadingStrategyValue">INCREMENTAL</span></p></div><div style="z-index:1000;margin:10%"><input type="checkbox" id="autorotate"> <span style="color:#0439aa">Auto Rotate</span></div><div style="z-index:1000;margin:10%"><div>Tiles To Load <span style="color:#0439aa" id="tilesToLoadValue">0</span></div><div>Tiles Rendered <span style="color:#0439aa" id="tilesRenderedValue">0</span></div><div>max LOD <span style="color:#0439aa" id="maxLODValue">0</span></div><div>percentage loaded <span style="color:#0439aa" id="percentageValue">0</span></div></div></div><script src="threedtiles.min.js"></script></body></html>
|