@threepipe/plugin-3d-tiles-renderer 0.2.1 → 0.3.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/CHANGELOG.md +20 -0
- package/README.md +12 -0
- package/dist/TilesRendererPlugin.d.ts +3 -3
- package/dist/TilesRendererPlugin.d.ts.map +1 -1
- package/dist/index.js +53 -38
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +53 -38
- package/dist/index.mjs.map +1 -1
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +29 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/classes/B3DMLoadPlugin.html +12 -0
- package/docs/classes/CMPTLoadPlugin.html +12 -0
- package/docs/classes/DeepZoomImageLoadPlugin.html +12 -0
- package/docs/classes/EnvironmentControls2.html +20 -0
- package/docs/classes/EnvironmentControlsPlugin.html +27 -0
- package/docs/classes/GlobeControls2.html +24 -0
- package/docs/classes/GlobeControlsPlugin.html +27 -0
- package/docs/classes/I3DMLoadPlugin.html +12 -0
- package/docs/classes/PNTSLoadPlugin.html +12 -0
- package/docs/classes/SlippyMapTilesLoadPlugin.html +13 -0
- package/docs/classes/TilesRendererLoader.html +8 -0
- package/docs/classes/TilesRendererPlugin.html +33 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +1 -0
- package/docs/interfaces/TilesImportOptions.html +11 -0
- package/docs/types/TilesRendererGroup.html +1 -0
- package/docs/variables/CesiumIonAuthPlugin.html +1 -0
- package/package.json +7 -9
- package/src/TilesRendererPlugin.ts +68 -44
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Changelog for @threepipe/3d-tiles-renderer
|
|
2
|
+
|
|
3
|
+
All notable changes to this plugin will be documented in this file.
|
|
4
|
+
|
|
5
|
+
[//]: # (The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).)
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- NA
|
|
12
|
+
|
|
13
|
+
## [0.3.1] - 2025-09-01
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Update [threepipe](https://threepipe.org/) `peerDependency` to [0.1.0](https://github.com/repalash/threepipe/releases/tag/v0.1.0)
|
|
18
|
+
|
|
19
|
+
[unreleased]: https://github.com/repalash/threepipe/tree/dev/plugins/3d-tiles-renderer
|
|
20
|
+
[0.3.1]: https://github.com/repalash/threepipe/releases/tag/@threepipe/plugin-3d-tiles-renderer-v0.3.1
|
package/README.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# @threepipe/3d-tiles-renderer
|
|
2
|
+
|
|
3
|
+
[3d-tiles-renderer](https://github.com/NASA-AMMOS/3DTilesRendererJS) integration and plugin for [threepipe](https://threepipe.org/) to import and render [OGC Tiles](https://www.ogc.org/standards/3dtiles/).
|
|
4
|
+
|
|
5
|
+
[Github](https://github.com/repalash/threepipe/tree/dev/plugins/3d-tiles-renderer) —
|
|
6
|
+
[Examples](https://threepipe.org/examples/?q=tile#3d-tiles-renderer/) —
|
|
7
|
+
[API Reference](https://threepipe.org/docs/)
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@threepipe/plugin-3d-tiles-renderer)
|
|
10
|
+
[](https://opensource.org/license/apache-2-0/)
|
|
11
|
+
|
|
12
|
+
**Documentation and Guides**: [threepipe.org/package/plugin-3d-tiles-renderer](https://threepipe.org/package/plugin-3d-tiles-renderer.html)
|
|
@@ -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<(IObject3D<import('threepipe').IObject3DEventMap>
|
|
32
|
+
private _objectExt;
|
|
33
|
+
promptForURL(): Promise<(import('threepipe').ISerializedConfig & import('threepipe').ImportResultExtras) | (IObject3D<import('threepipe').IObject3DEventMap, import('threepipe').IGeometry<import('three').NormalBufferAttributes, import('threepipe').BufferGeometryEventMap> | undefined, import('threepipe').IMaterial<import('threepipe').IMaterialEventMap> | import('threepipe').IMaterial<import('threepipe').IMaterialEventMap>[] | undefined> & import('threepipe').ImportResultExtras) | (import('threepipe').ITexture<import('threepipe').TextureEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ICamera<import('threepipe').ICameraEventMap> & 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,7 +3,7 @@
|
|
|
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.1
|
|
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.
|
|
@@ -6207,7 +6207,7 @@
|
|
|
6207
6207
|
south,
|
|
6208
6208
|
east,
|
|
6209
6209
|
north,
|
|
6210
|
-
-
|
|
6210
|
+
-INITIAL_HEIGHT_RANGE,
|
|
6211
6211
|
INITIAL_HEIGHT_RANGE
|
|
6212
6212
|
]
|
|
6213
6213
|
},
|
|
@@ -6222,7 +6222,7 @@
|
|
|
6222
6222
|
south,
|
|
6223
6223
|
west + step * x + step,
|
|
6224
6224
|
north,
|
|
6225
|
-
-
|
|
6225
|
+
-INITIAL_HEIGHT_RANGE,
|
|
6226
6226
|
INITIAL_HEIGHT_RANGE
|
|
6227
6227
|
];
|
|
6228
6228
|
const child = this.expand(0, x, 0, region);
|
|
@@ -10164,39 +10164,41 @@
|
|
|
10164
10164
|
group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
|
|
10165
10165
|
}
|
|
10166
10166
|
};
|
|
10167
|
-
this.
|
|
10168
|
-
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
this._cachedRefs
|
|
10173
|
-
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
|
|
10179
|
-
|
|
10180
|
-
|
|
10181
|
-
|
|
10182
|
-
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
this.objects.push(group);
|
|
10186
|
-
group.tilesRenderer.registerPlugin({
|
|
10187
|
-
dispose: () => {
|
|
10188
|
-
const index = this.objects.indexOf(group);
|
|
10189
|
-
if (index !== -1) this.objects.splice(index, 1);
|
|
10190
|
-
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;
|
|
10191
10185
|
}
|
|
10192
|
-
|
|
10193
|
-
|
|
10194
|
-
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
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
|
+
}
|
|
10200
10202
|
};
|
|
10201
10203
|
}
|
|
10202
10204
|
async load(url, options) {
|
|
@@ -10239,7 +10241,7 @@
|
|
|
10239
10241
|
viewer.assetManager.registerGltfExtension(gltfStructuralMetadataExtension);
|
|
10240
10242
|
viewer.assetManager.registerGltfExtension(gltfMeshFeaturesExtension);
|
|
10241
10243
|
viewer.assetManager.importer.addImporter(this._importer);
|
|
10242
|
-
viewer.
|
|
10244
|
+
viewer.object3dManager.registerObjectExtension(this._objectExt);
|
|
10243
10245
|
viewer.renderManager.addEventListener("preRender", this._preRender);
|
|
10244
10246
|
viewer.renderManager.addEventListener("resize", this._resize);
|
|
10245
10247
|
}
|
|
@@ -10248,7 +10250,7 @@
|
|
|
10248
10250
|
viewer.assetManager.unregisterGltfExtension(gltfCesiumRTCExtension.name);
|
|
10249
10251
|
viewer.assetManager.unregisterGltfExtension(gltfStructuralMetadataExtension.name);
|
|
10250
10252
|
viewer.assetManager.unregisterGltfExtension(gltfMeshFeaturesExtension.name);
|
|
10251
|
-
viewer.
|
|
10253
|
+
viewer.object3dManager.unregisterObjectExtension(this._objectExt);
|
|
10252
10254
|
viewer.renderManager.removeEventListener("preRender", this._preRender);
|
|
10253
10255
|
viewer.renderManager.removeEventListener("resize", this._resize);
|
|
10254
10256
|
super.onRemove(viewer);
|
|
@@ -10326,7 +10328,20 @@
|
|
|
10326
10328
|
});
|
|
10327
10329
|
tiles.addEventListener("load-tile-set", (e) => {
|
|
10328
10330
|
const isRoot = e.tileSet === tiles.rootTileSet;
|
|
10329
|
-
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
|
+
}
|
|
10330
10345
|
});
|
|
10331
10346
|
const ai = this.ai;
|
|
10332
10347
|
if (ai) {
|