@threepipe/plugin-3d-tiles-renderer 0.2.0 → 0.3.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/TilesRendererPlugin.d.ts +3 -3
- package/dist/TilesRendererPlugin.d.ts.map +1 -1
- package/dist/index.js +113 -92
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +112 -90
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/TilesRendererPlugin.ts +73 -44
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AViewerPluginEventMap, AViewerPluginSync, IAssetImporter, ILoader, Importer, IObject3D, Loader,
|
|
1
|
+
import { AViewerPluginEventMap, AViewerPluginSync, IAssetImporter, ILoader, ImportAddOptions, Importer, IObject3D, Loader, LoadingManager, ThreeViewer } from 'threepipe';
|
|
2
2
|
import { TilesGroup, TilesRenderer } from '3d-tiles-renderer';
|
|
3
3
|
export type TilesRendererGroup = TilesGroup & IObject3D;
|
|
4
4
|
export interface TilesRendererPluginEventMap extends AViewerPluginEventMap {
|
|
@@ -29,8 +29,8 @@ export declare class TilesRendererPlugin extends AViewerPluginSync<TilesRenderer
|
|
|
29
29
|
private _preRender;
|
|
30
30
|
private _resize;
|
|
31
31
|
private _cachedRefs?;
|
|
32
|
-
private
|
|
33
|
-
promptForURL(): Promise<TilesRendererGroup | undefined>;
|
|
32
|
+
private _objectExt;
|
|
33
|
+
promptForURL(): Promise<(IObject3D<import('threepipe').IObject3DEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ITexture<import('threepipe').TextureEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ICamera<import('threepipe').ICameraEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ISerializedConfig & import('threepipe').ImportResultExtras) | (import('threepipe').RootSceneImportResult & import('threepipe').ImportResultExtras) | (import('threepipe').IMaterial<import('threepipe').IMaterialEventMap> & import('threepipe').ImportResultExtras) | import('threepipe').ImportResult[] | TilesRendererGroup | undefined>;
|
|
34
34
|
}
|
|
35
35
|
export declare class TilesRendererLoader extends Loader implements ILoader<TilesRendererGroup> {
|
|
36
36
|
isTilesRendererLoader: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TilesRendererPlugin.d.ts","sourceRoot":"","sources":["../src/TilesRendererPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"TilesRendererPlugin.d.ts","sourceRoot":"","sources":["../src/TilesRendererPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EAKjB,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,SAAS,EAIT,MAAM,EACN,cAAc,EAGd,WAAW,EAId,MAAM,WAAW,CAAA;AAClB,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAU3D,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAA;AAEvD,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACtE,OAAO,EAAE;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAC,CAAA;IACpC,UAAU,EAAE;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAC,CAAA;CAC1C;AAED;;;;GAIG;AACH,qBACa,mBAAoB,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC;IACnF,gBAAuB,UAAU,EAAE,MAAM,CAAwB;IACjE,OAAO,UAAO;IACd,YAAY,UAAK;IAEjB,MAAM,CAAC,QAAQ,CAAC,SAAS,aAAY;IAErC,OAAO,EAAE,kBAAkB,EAAE,CAAK;IAElC,SAAS,CAAC,SAAS,gCAAyH;;IAMtI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAoB5C,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAW/F,OAAO,CAAC,MAAM,EAAE,WAAW;IAkB3B,QAAQ,CAAC,MAAM,EAAE,WAAW;IAe5B,OAAO,CAAC,UAAU,CAcjB;IAsBD,OAAO,CAAC,OAAO,CAKd;IAED,OAAO,CAAC,WAAW,CAAC,CAA2F;IAE/G,OAAO,CAAC,UAAU,CAyCjB;IAGK,YAAY;CAMrB;AAED,qBAAa,mBAAoB,SAAQ,MAAO,YAAW,OAAO,CAAC,kBAAkB,CAAC;IAClF,qBAAqB,UAAO;IAC5B,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAEhC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,KAAG,MAAM,GAAC,SAAS,CAAC,EAAE,CAKhF;gBAEW,OAAO,EAAE,cAAc;IAInC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAW1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI;CA2GrI;AAED,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,GAAG;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAA;IACD,mBAAmB,CAAC,EAAE,OAAO,GAAG;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,KAAG,MAAM,GAAC,SAAS,CAAC,EAAE,CAAA;CACxF;AAED,OAAO,QAAQ,WAAW,CAAA;IACtB,UAAU,gBAAgB;QACtB,KAAK,CAAC,EAAE,kBAAkB,CAAA;KAC7B;CACJ"}
|
package/dist/index.js
CHANGED
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
})(this, function(exports2, THREE) {
|
|
4
4
|
"use strict";/**
|
|
5
5
|
* @license
|
|
6
|
-
* @threepipe/plugin-3d-tiles-renderer v0.
|
|
6
|
+
* @threepipe/plugin-3d-tiles-renderer v0.3.0
|
|
7
7
|
* Copyright 2022-2025 repalash <palash@shaders.app>
|
|
8
8
|
* Apache-2.0 License
|
|
9
9
|
* See ./dependencies.txt for any bundled third-party dependencies and licenses.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
var _a;
|
|
13
12
|
function _interopNamespaceDefault(e) {
|
|
14
13
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
15
14
|
if (e) {
|
|
@@ -900,7 +899,7 @@
|
|
|
900
899
|
}
|
|
901
900
|
}
|
|
902
901
|
preprocessNode(tile, tileSetDir, parentTile = null) {
|
|
903
|
-
var
|
|
902
|
+
var _a;
|
|
904
903
|
if (tile.content) {
|
|
905
904
|
if (!("uri" in tile.content) && "url" in tile.content) {
|
|
906
905
|
tile.content.uri = tile.content.url;
|
|
@@ -912,7 +911,7 @@
|
|
|
912
911
|
}
|
|
913
912
|
tile.parent = parentTile;
|
|
914
913
|
tile.children = tile.children || [];
|
|
915
|
-
if ((
|
|
914
|
+
if ((_a = tile.content) == null ? void 0 : _a.uri) {
|
|
916
915
|
const extension = getUrlExtension(tile.content.uri);
|
|
917
916
|
tile.__hasContent = true;
|
|
918
917
|
tile.__hasUnrenderableContent = Boolean(extension && /json$/.test(extension));
|
|
@@ -7585,8 +7584,8 @@
|
|
|
7585
7584
|
}
|
|
7586
7585
|
const EXT_NAME$1 = "EXT_structural_metadata";
|
|
7587
7586
|
function getRelevantTextures(parser, propertyTextures = []) {
|
|
7588
|
-
var
|
|
7589
|
-
const textureCount = ((
|
|
7587
|
+
var _a;
|
|
7588
|
+
const textureCount = ((_a = parser.json.textures) == null ? void 0 : _a.length) || 0;
|
|
7590
7589
|
const result = new Array(textureCount).fill(null);
|
|
7591
7590
|
propertyTextures.forEach(({ properties }) => {
|
|
7592
7591
|
for (const key in properties) {
|
|
@@ -7599,8 +7598,8 @@
|
|
|
7599
7598
|
return Promise.all(result);
|
|
7600
7599
|
}
|
|
7601
7600
|
function getRelevantBuffers(parser, propertyTables = []) {
|
|
7602
|
-
var
|
|
7603
|
-
const textureCount = ((
|
|
7601
|
+
var _a;
|
|
7602
|
+
const textureCount = ((_a = parser.json.bufferViews) == null ? void 0 : _a.length) || 0;
|
|
7604
7603
|
const result = new Array(textureCount).fill(null);
|
|
7605
7604
|
propertyTables.forEach(({ properties }) => {
|
|
7606
7605
|
for (const key in properties) {
|
|
@@ -7649,10 +7648,10 @@
|
|
|
7649
7648
|
const rootMetadata = new StructuralMetadata(rootExtension, textures, buffers);
|
|
7650
7649
|
scene.userData.structuralMetadata = rootMetadata;
|
|
7651
7650
|
scene.traverse((child) => {
|
|
7652
|
-
var
|
|
7651
|
+
var _a;
|
|
7653
7652
|
if (parser.associations.has(child)) {
|
|
7654
7653
|
const { meshes, primitives } = parser.associations.get(child);
|
|
7655
|
-
const primitive = (
|
|
7654
|
+
const primitive = (_a = parser.json.meshes[meshes]) == null ? void 0 : _a.primitives[primitives];
|
|
7656
7655
|
if (primitive && primitive.extensions && primitive.extensions[EXT_NAME$1]) {
|
|
7657
7656
|
const extension = primitive.extensions[EXT_NAME$1];
|
|
7658
7657
|
child.userData.structuralMetadata = new StructuralMetadata(rootExtension, textures, buffers, extension, child);
|
|
@@ -7787,10 +7786,10 @@
|
|
|
7787
7786
|
const EXT_NAME = "EXT_mesh_features";
|
|
7788
7787
|
function forEachPrimitiveExtension(scene, parser, callback) {
|
|
7789
7788
|
scene.traverse((c) => {
|
|
7790
|
-
var
|
|
7789
|
+
var _a;
|
|
7791
7790
|
if (parser.associations.has(c)) {
|
|
7792
7791
|
const { meshes, primitives } = parser.associations.get(c);
|
|
7793
|
-
const primitive = (
|
|
7792
|
+
const primitive = (_a = parser.json.meshes[meshes]) == null ? void 0 : _a.primitives[primitives];
|
|
7794
7793
|
if (primitive && primitive.extensions && primitive.extensions[EXT_NAME]) {
|
|
7795
7794
|
callback(c, primitive.extensions[EXT_NAME]);
|
|
7796
7795
|
}
|
|
@@ -7803,12 +7802,12 @@
|
|
|
7803
7802
|
this.name = EXT_NAME;
|
|
7804
7803
|
}
|
|
7805
7804
|
async afterRoot({ scene, parser }) {
|
|
7806
|
-
var
|
|
7805
|
+
var _a;
|
|
7807
7806
|
const extensionsUsed = parser.json.extensionsUsed;
|
|
7808
7807
|
if (!extensionsUsed || !extensionsUsed.includes(EXT_NAME)) {
|
|
7809
7808
|
return;
|
|
7810
7809
|
}
|
|
7811
|
-
const textureCount = ((
|
|
7810
|
+
const textureCount = ((_a = parser.json.textures) == null ? void 0 : _a.length) || 0;
|
|
7812
7811
|
const promises = new Array(textureCount).fill(null);
|
|
7813
7812
|
forEachPrimitiveExtension(scene, parser, (child, { featureIds }) => {
|
|
7814
7813
|
featureIds.forEach((info) => {
|
|
@@ -8683,8 +8682,8 @@
|
|
|
8683
8682
|
}
|
|
8684
8683
|
// initializes the batched mesh if it needs to be, dispose if it it's no longer needed
|
|
8685
8684
|
initBatchedMesh() {
|
|
8686
|
-
var
|
|
8687
|
-
const otherBatchedMesh = (
|
|
8685
|
+
var _a;
|
|
8686
|
+
const otherBatchedMesh = (_a = this.tiles.getPluginByName("BATCHED_TILES_PLUGIN")) == null ? void 0 : _a.batchedMesh;
|
|
8688
8687
|
if (otherBatchedMesh) {
|
|
8689
8688
|
if (this.batchedMesh === null) {
|
|
8690
8689
|
this._onBatchedMeshDispose = () => {
|
|
@@ -9397,7 +9396,7 @@
|
|
|
9397
9396
|
}
|
|
9398
9397
|
}
|
|
9399
9398
|
dispose() {
|
|
9400
|
-
var
|
|
9399
|
+
var _a, _b, _c;
|
|
9401
9400
|
const tiles = this.tiles;
|
|
9402
9401
|
if (tiles) {
|
|
9403
9402
|
tiles.removeEventListener("load-tile-set", this._onLoadTileSetCB);
|
|
@@ -9411,7 +9410,7 @@
|
|
|
9411
9410
|
this._onDisposeModel(tile);
|
|
9412
9411
|
});
|
|
9413
9412
|
}
|
|
9414
|
-
(
|
|
9413
|
+
(_a = this.boxGroup) == null ? void 0 : _a.removeFromParent();
|
|
9415
9414
|
(_b = this.sphereGroup) == null ? void 0 : _b.removeFromParent();
|
|
9416
9415
|
(_c = this.regionGroup) == null ? void 0 : _c.removeFromParent();
|
|
9417
9416
|
}
|
|
@@ -10061,7 +10060,7 @@
|
|
|
10061
10060
|
this.tiles = tiles;
|
|
10062
10061
|
}
|
|
10063
10062
|
preprocessNode(tile, tileSetDir, parentTile) {
|
|
10064
|
-
var
|
|
10063
|
+
var _a;
|
|
10065
10064
|
if (tile.implicitTiling) {
|
|
10066
10065
|
tile.__hasUnrenderableContent = true;
|
|
10067
10066
|
tile.__hasRenderableContent = false;
|
|
@@ -10071,7 +10070,7 @@
|
|
|
10071
10070
|
tile.__y = 0;
|
|
10072
10071
|
tile.__z = 0;
|
|
10073
10072
|
tile.__level = 0;
|
|
10074
|
-
} else if (/.subtree$/i.test((
|
|
10073
|
+
} else if (/.subtree$/i.test((_a = tile.content) == null ? void 0 : _a.uri)) {
|
|
10075
10074
|
tile.__hasUnrenderableContent = true;
|
|
10076
10075
|
tile.__hasRenderableContent = false;
|
|
10077
10076
|
}
|
|
@@ -10092,8 +10091,8 @@
|
|
|
10092
10091
|
return url;
|
|
10093
10092
|
}
|
|
10094
10093
|
disposeTile(tile) {
|
|
10095
|
-
var
|
|
10096
|
-
if (/.subtree$/i.test((
|
|
10094
|
+
var _a;
|
|
10095
|
+
if (/.subtree$/i.test((_a = tile.content) == null ? void 0 : _a.uri)) {
|
|
10097
10096
|
tile.children.length = 0;
|
|
10098
10097
|
tile.__childrenProcessed = 0;
|
|
10099
10098
|
}
|
|
@@ -10132,23 +10131,23 @@
|
|
|
10132
10131
|
var __defProp$2 = Object.defineProperty;
|
|
10133
10132
|
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
|
10134
10133
|
var __decorateClass$2 = (decorators, target, key, kind) => {
|
|
10135
|
-
var result = __getOwnPropDesc$2(target, key);
|
|
10134
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
|
|
10136
10135
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
10137
10136
|
if (decorator = decorators[i])
|
|
10138
|
-
result = decorator(target, key, result) || result;
|
|
10139
|
-
if (result) __defProp$2(target, key, result);
|
|
10137
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
10138
|
+
if (kind && result) __defProp$2(target, key, result);
|
|
10140
10139
|
return result;
|
|
10141
10140
|
};
|
|
10142
|
-
|
|
10141
|
+
exports2.TilesRendererPlugin = class TilesRendererPlugin extends THREE.AViewerPluginSync {
|
|
10143
10142
|
constructor() {
|
|
10144
10143
|
super();
|
|
10145
10144
|
this.enabled = true;
|
|
10146
10145
|
this.dependencies = [];
|
|
10147
10146
|
this.objects = [];
|
|
10148
|
-
this._importer = new THREE.Importer(TilesRendererLoader, [
|
|
10147
|
+
this._importer = new THREE.Importer(TilesRendererLoader, [exports2.TilesRendererPlugin.DUMMY_EXT, exports2.TilesRendererPlugin.DUMMY_EXT + ".json"], [], false);
|
|
10149
10148
|
this._preRender = () => {
|
|
10150
|
-
var
|
|
10151
|
-
const camera = (
|
|
10149
|
+
var _a;
|
|
10150
|
+
const camera = (_a = this._viewer) == null ? void 0 : _a.scene.renderCamera;
|
|
10152
10151
|
if (!this._viewer || !camera) return;
|
|
10153
10152
|
if (this._viewer.renderManager.frameCount > 0) return;
|
|
10154
10153
|
camera.updateProjectionMatrix();
|
|
@@ -10165,39 +10164,41 @@
|
|
|
10165
10164
|
group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
|
|
10166
10165
|
}
|
|
10167
10166
|
};
|
|
10168
|
-
this.
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
|
|
10173
|
-
this._cachedRefs
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
|
|
10179
|
-
|
|
10180
|
-
|
|
10181
|
-
|
|
10182
|
-
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
this.objects.push(group);
|
|
10187
|
-
group.tilesRenderer.registerPlugin({
|
|
10188
|
-
dispose: () => {
|
|
10189
|
-
const index = this.objects.indexOf(group);
|
|
10190
|
-
if (index !== -1) this.objects.splice(index, 1);
|
|
10191
|
-
this.dispatchEvent({ type: "removeTile", group });
|
|
10167
|
+
this._objectExt = {
|
|
10168
|
+
uuid: "TilesRendererPluginObjectExt",
|
|
10169
|
+
isCompatible: (o) => !!o.tilesRenderer,
|
|
10170
|
+
onRegister: (group) => {
|
|
10171
|
+
if (!group || !group.tilesRenderer || !this._viewer) return;
|
|
10172
|
+
if (!this._cachedRefs) {
|
|
10173
|
+
this._cachedRefs = {
|
|
10174
|
+
lruCache: group.tilesRenderer.lruCache,
|
|
10175
|
+
downloadQueue: group.tilesRenderer.downloadQueue,
|
|
10176
|
+
parseQueue: group.tilesRenderer.parseQueue,
|
|
10177
|
+
// @ts-expect-error not in ts
|
|
10178
|
+
processNodeQueue: group.tilesRenderer.processNodeQueue
|
|
10179
|
+
};
|
|
10180
|
+
} else {
|
|
10181
|
+
group.tilesRenderer.lruCache = this._cachedRefs.lruCache;
|
|
10182
|
+
group.tilesRenderer.downloadQueue = this._cachedRefs.downloadQueue;
|
|
10183
|
+
group.tilesRenderer.parseQueue = this._cachedRefs.parseQueue;
|
|
10184
|
+
group.tilesRenderer.processNodeQueue = this._cachedRefs.processNodeQueue;
|
|
10192
10185
|
}
|
|
10193
|
-
|
|
10194
|
-
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10186
|
+
this.objects.push(group);
|
|
10187
|
+
group.tilesRenderer.registerPlugin({
|
|
10188
|
+
dispose: () => {
|
|
10189
|
+
const index = this.objects.indexOf(group);
|
|
10190
|
+
if (index !== -1) this.objects.splice(index, 1);
|
|
10191
|
+
this.dispatchEvent({ type: "removeTile", group });
|
|
10192
|
+
}
|
|
10193
|
+
});
|
|
10194
|
+
group.tilesRenderer.setCamera(this._viewer.scene.mainCamera);
|
|
10195
|
+
group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
|
|
10196
|
+
group.tilesRenderer.update();
|
|
10197
|
+
group.addEventListener("dispose", () => {
|
|
10198
|
+
group.tilesRenderer.dispose();
|
|
10199
|
+
});
|
|
10200
|
+
this.dispatchEvent({ type: "addTile", group });
|
|
10201
|
+
}
|
|
10201
10202
|
};
|
|
10202
10203
|
}
|
|
10203
10204
|
async load(url, options) {
|
|
@@ -10205,7 +10206,7 @@
|
|
|
10205
10206
|
console.warn("TilesRendererPlugin: viewer not set");
|
|
10206
10207
|
return;
|
|
10207
10208
|
}
|
|
10208
|
-
const temp = THREE.generateUUID() + "." +
|
|
10209
|
+
const temp = THREE.generateUUID() + "." + exports2.TilesRendererPlugin.DUMMY_EXT;
|
|
10209
10210
|
const importer = this._viewer.assetManager.importer.registerFile(temp);
|
|
10210
10211
|
if (!importer.isTilesRendererLoader) {
|
|
10211
10212
|
console.warn("TilesRendererPlugin: TilesRendererLoader not registered");
|
|
@@ -10213,12 +10214,15 @@
|
|
|
10213
10214
|
}
|
|
10214
10215
|
return await this._viewer.load(url, {
|
|
10215
10216
|
...options,
|
|
10216
|
-
fileExtension:
|
|
10217
|
+
fileExtension: exports2.TilesRendererPlugin.DUMMY_EXT,
|
|
10217
10218
|
fileHandler: importer
|
|
10219
|
+
}).finally(() => {
|
|
10220
|
+
var _a;
|
|
10221
|
+
(_a = this._viewer) == null ? void 0 : _a.assetManager.importer.unregisterFile(temp);
|
|
10218
10222
|
});
|
|
10219
10223
|
}
|
|
10220
10224
|
async loadCesiumIon(info, options) {
|
|
10221
|
-
const file = THREE.generateUUID() + "." +
|
|
10225
|
+
const file = THREE.generateUUID() + "." + exports2.TilesRendererPlugin.DUMMY_EXT;
|
|
10222
10226
|
return this.load(file, {
|
|
10223
10227
|
...options,
|
|
10224
10228
|
tiles: {
|
|
@@ -10237,7 +10241,7 @@
|
|
|
10237
10241
|
viewer.assetManager.registerGltfExtension(gltfStructuralMetadataExtension);
|
|
10238
10242
|
viewer.assetManager.registerGltfExtension(gltfMeshFeaturesExtension);
|
|
10239
10243
|
viewer.assetManager.importer.addImporter(this._importer);
|
|
10240
|
-
viewer.
|
|
10244
|
+
viewer.object3dManager.registerObjectExtension(this._objectExt);
|
|
10241
10245
|
viewer.renderManager.addEventListener("preRender", this._preRender);
|
|
10242
10246
|
viewer.renderManager.addEventListener("resize", this._resize);
|
|
10243
10247
|
}
|
|
@@ -10246,22 +10250,27 @@
|
|
|
10246
10250
|
viewer.assetManager.unregisterGltfExtension(gltfCesiumRTCExtension.name);
|
|
10247
10251
|
viewer.assetManager.unregisterGltfExtension(gltfStructuralMetadataExtension.name);
|
|
10248
10252
|
viewer.assetManager.unregisterGltfExtension(gltfMeshFeaturesExtension.name);
|
|
10249
|
-
viewer.
|
|
10253
|
+
viewer.object3dManager.unregisterObjectExtension(this._objectExt);
|
|
10250
10254
|
viewer.renderManager.removeEventListener("preRender", this._preRender);
|
|
10251
10255
|
viewer.renderManager.removeEventListener("resize", this._resize);
|
|
10252
10256
|
super.onRemove(viewer);
|
|
10253
10257
|
}
|
|
10254
10258
|
async promptForURL() {
|
|
10255
|
-
var
|
|
10256
|
-
const url = await ((
|
|
10259
|
+
var _a, _b;
|
|
10260
|
+
const url = await ((_a = this._viewer) == null ? void 0 : _a.dialog.prompt("TilesRendererPlugin: Enter URL for the root tileset", "", true));
|
|
10257
10261
|
if (!url) return;
|
|
10258
|
-
|
|
10262
|
+
const loader = ((_b = this._viewer) == null ? void 0 : _b.getPlugin(THREE.DropzonePlugin)) ?? this._viewer ?? this;
|
|
10263
|
+
return await loader.load(url, { fileExtension: exports2.TilesRendererPlugin.DUMMY_EXT });
|
|
10259
10264
|
}
|
|
10260
|
-
}
|
|
10265
|
+
};
|
|
10266
|
+
exports2.TilesRendererPlugin.PluginType = "TilesRendererPlugin";
|
|
10267
|
+
exports2.TilesRendererPlugin.DUMMY_EXT = "tileset";
|
|
10261
10268
|
__decorateClass$2([
|
|
10262
10269
|
THREE.uiButton()
|
|
10263
|
-
],
|
|
10264
|
-
|
|
10270
|
+
], exports2.TilesRendererPlugin.prototype, "promptForURL", 1);
|
|
10271
|
+
exports2.TilesRendererPlugin = __decorateClass$2([
|
|
10272
|
+
THREE.uiFolderContainer("3D Tiles")
|
|
10273
|
+
], exports2.TilesRendererPlugin);
|
|
10265
10274
|
class TilesRendererLoader extends THREE.Loader {
|
|
10266
10275
|
constructor(manager) {
|
|
10267
10276
|
super(manager);
|
|
@@ -10282,11 +10291,11 @@
|
|
|
10282
10291
|
return tiles;
|
|
10283
10292
|
}
|
|
10284
10293
|
load(url, onLoad, _onProgress, _onError) {
|
|
10285
|
-
var
|
|
10294
|
+
var _a;
|
|
10286
10295
|
const tiles = this._createTilesRenderer(url);
|
|
10287
10296
|
const group = THREE.iObjectCommons.upgradeObject3D.call(tiles.group);
|
|
10288
10297
|
group.autoUpgradeChildren = false;
|
|
10289
|
-
const opts = ((
|
|
10298
|
+
const opts = ((_a = this.importOptions) == null ? void 0 : _a.tiles) ?? {};
|
|
10290
10299
|
tiles.errorTarget = opts.errorTarget ?? 1;
|
|
10291
10300
|
const plugins = [...this.plugins, ...opts.plugins ?? []];
|
|
10292
10301
|
for (const plugin of plugins) {
|
|
@@ -10319,7 +10328,20 @@
|
|
|
10319
10328
|
});
|
|
10320
10329
|
tiles.addEventListener("load-tile-set", (e) => {
|
|
10321
10330
|
const isRoot = e.tileSet === tiles.rootTileSet;
|
|
10322
|
-
if (isRoot && resolve)
|
|
10331
|
+
if (isRoot && resolve) {
|
|
10332
|
+
resolve();
|
|
10333
|
+
}
|
|
10334
|
+
});
|
|
10335
|
+
group.userData.rootPathRefresh = true;
|
|
10336
|
+
group._rootPathRefreshed = true;
|
|
10337
|
+
group._sChildren = [];
|
|
10338
|
+
tiles.registerPlugin({
|
|
10339
|
+
processTileModel: (model, tile) => {
|
|
10340
|
+
var _a2;
|
|
10341
|
+
if (tile === ((_a2 = tiles.rootTileSet) == null ? void 0 : _a2.root)) {
|
|
10342
|
+
group._sChildren = [model];
|
|
10343
|
+
}
|
|
10344
|
+
}
|
|
10323
10345
|
});
|
|
10324
10346
|
const ai = this.ai;
|
|
10325
10347
|
if (ai) {
|
|
@@ -10377,16 +10399,16 @@
|
|
|
10377
10399
|
return super.transform(res, options);
|
|
10378
10400
|
}
|
|
10379
10401
|
parse(data, _path, onLoad, onError, _url) {
|
|
10380
|
-
var
|
|
10402
|
+
var _a;
|
|
10381
10403
|
if (!this.ai) {
|
|
10382
10404
|
console.error("[B3DMLoader] load failed, IAssetImporter not set");
|
|
10383
10405
|
}
|
|
10384
10406
|
const tmpFile = THREE.generateUUID() + ".gltf";
|
|
10385
|
-
(
|
|
10407
|
+
(_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile);
|
|
10386
10408
|
this.loader.workingPath = _path;
|
|
10387
10409
|
this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
|
|
10388
|
-
var
|
|
10389
|
-
if (tmpFile) (
|
|
10410
|
+
var _a2;
|
|
10411
|
+
if (tmpFile) (_a2 = this.ai) == null ? void 0 : _a2.unregisterFile(tmpFile);
|
|
10390
10412
|
});
|
|
10391
10413
|
}
|
|
10392
10414
|
}
|
|
@@ -10414,16 +10436,16 @@
|
|
|
10414
10436
|
return super.transform(res, options);
|
|
10415
10437
|
}
|
|
10416
10438
|
parse(data, _path, onLoad, onError, _url) {
|
|
10417
|
-
var
|
|
10439
|
+
var _a;
|
|
10418
10440
|
if (!this.ai) {
|
|
10419
10441
|
console.error("[I3DMLoader] load failed, IAssetImporter not set");
|
|
10420
10442
|
}
|
|
10421
10443
|
const tmpFile = THREE.generateUUID() + ".gltf";
|
|
10422
|
-
(
|
|
10444
|
+
(_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile);
|
|
10423
10445
|
this.loader.workingPath = _path;
|
|
10424
10446
|
this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
|
|
10425
|
-
var
|
|
10426
|
-
if (tmpFile) (
|
|
10447
|
+
var _a2;
|
|
10448
|
+
if (tmpFile) (_a2 = this.ai) == null ? void 0 : _a2.unregisterFile(tmpFile);
|
|
10427
10449
|
});
|
|
10428
10450
|
}
|
|
10429
10451
|
}
|
|
@@ -10487,16 +10509,16 @@
|
|
|
10487
10509
|
return res.scene;
|
|
10488
10510
|
}
|
|
10489
10511
|
parse(data, _path, onLoad, onError, _url) {
|
|
10490
|
-
var
|
|
10512
|
+
var _a;
|
|
10491
10513
|
if (!this.ai) {
|
|
10492
10514
|
console.error("[PNTSLoader] load failed, IAssetImporter not set");
|
|
10493
10515
|
}
|
|
10494
10516
|
const tmpFile = THREE.generateUUID() + ".drc";
|
|
10495
|
-
(
|
|
10517
|
+
(_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile);
|
|
10496
10518
|
this.loader.workingPath = _path;
|
|
10497
10519
|
this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
|
|
10498
|
-
var
|
|
10499
|
-
if (tmpFile) (
|
|
10520
|
+
var _a2;
|
|
10521
|
+
if (tmpFile) (_a2 = this.ai) == null ? void 0 : _a2.unregisterFile(tmpFile);
|
|
10500
10522
|
});
|
|
10501
10523
|
}
|
|
10502
10524
|
}
|
|
@@ -10560,12 +10582,12 @@
|
|
|
10560
10582
|
return res.scene;
|
|
10561
10583
|
}
|
|
10562
10584
|
parse(data, _path, onLoad, onError, _url) {
|
|
10563
|
-
var
|
|
10585
|
+
var _a, _b;
|
|
10564
10586
|
if (!this.ai) {
|
|
10565
10587
|
console.error("[CMPTLoader] load failed, IAssetImporter not set");
|
|
10566
10588
|
}
|
|
10567
10589
|
const tmpFile = THREE.generateUUID();
|
|
10568
|
-
(
|
|
10590
|
+
(_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile + ".gltf");
|
|
10569
10591
|
(_b = this.ai) == null ? void 0 : _b.registerFile(tmpFile + ".drc");
|
|
10570
10592
|
this.loader.workingPath = _path;
|
|
10571
10593
|
this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
|
|
@@ -10580,7 +10602,7 @@
|
|
|
10580
10602
|
constructor() {
|
|
10581
10603
|
super(...arguments);
|
|
10582
10604
|
this._importer = new THREE.Importer(DeepZoomImageLoader, ["dzi"], ["image/dzi"], false);
|
|
10583
|
-
this.dependencies = [TilesRendererPlugin];
|
|
10605
|
+
this.dependencies = [exports2.TilesRendererPlugin];
|
|
10584
10606
|
}
|
|
10585
10607
|
onAdded(viewer) {
|
|
10586
10608
|
super.onAdded(viewer);
|
|
@@ -10611,7 +10633,7 @@
|
|
|
10611
10633
|
constructor() {
|
|
10612
10634
|
super(...arguments);
|
|
10613
10635
|
this._importer = new THREE.Importer(SlippyMapTilesLoader, [_SlippyMapTilesLoadPlugin.DUMMY_EXT], [], false);
|
|
10614
|
-
this.dependencies = [TilesRendererPlugin];
|
|
10636
|
+
this.dependencies = [exports2.TilesRendererPlugin];
|
|
10615
10637
|
}
|
|
10616
10638
|
onAdded(viewer) {
|
|
10617
10639
|
super.onAdded(viewer);
|
|
@@ -10866,7 +10888,6 @@
|
|
|
10866
10888
|
exports2.SlippyMapTilesLoadPlugin = SlippyMapTilesLoadPlugin;
|
|
10867
10889
|
exports2.TileCompressionPlugin = TileCompressionPlugin;
|
|
10868
10890
|
exports2.TilesRendererLoader = TilesRendererLoader;
|
|
10869
|
-
exports2.TilesRendererPlugin = TilesRendererPlugin;
|
|
10870
10891
|
exports2.UnloadTilesPlugin = UnloadTilesPlugin;
|
|
10871
10892
|
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
|
|
10872
10893
|
});
|