@inweb/viewer-three 27.1.0 → 27.1.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/extensions/components/InfoPanelComponent.js +7 -9
- package/dist/extensions/components/InfoPanelComponent.js.map +1 -1
- package/dist/extensions/components/InfoPanelComponent.min.js +1 -1
- package/dist/extensions/components/InfoPanelComponent.module.js +7 -9
- package/dist/extensions/components/InfoPanelComponent.module.js.map +1 -1
- package/dist/extensions/loaders/GLTFCloudLoader.js +1 -1
- package/dist/extensions/loaders/GLTFCloudLoader.js.map +1 -1
- package/dist/extensions/loaders/GLTFCloudLoader.min.js +1 -1
- package/dist/extensions/loaders/GLTFCloudLoader.module.js +1 -1
- package/dist/extensions/loaders/GLTFCloudLoader.module.js.map +1 -1
- package/dist/extensions/loaders/GLTFFileLoader.js +1 -1
- package/dist/extensions/loaders/GLTFFileLoader.js.map +1 -1
- package/dist/extensions/loaders/GLTFFileLoader.min.js +1 -1
- package/dist/extensions/loaders/GLTFFileLoader.module.js +1 -1
- package/dist/extensions/loaders/GLTFFileLoader.module.js.map +1 -1
- package/dist/extensions/loaders/IFCXLoader.js +2 -2
- package/dist/extensions/loaders/IFCXLoader.js.map +1 -1
- package/dist/extensions/loaders/IFCXLoader.min.js +1 -1
- package/dist/extensions/loaders/IFCXLoader.module.js +2 -2
- package/dist/extensions/loaders/IFCXLoader.module.js.map +1 -1
- package/dist/extensions/loaders/PotreeLoader.js +1 -1
- package/dist/extensions/loaders/PotreeLoader.js.map +1 -1
- package/dist/extensions/loaders/PotreeLoader.min.js +1 -1
- package/dist/extensions/loaders/PotreeLoader.module.js +1 -1
- package/dist/extensions/loaders/PotreeLoader.module.js.map +1 -1
- package/dist/viewer-three.js +35 -26
- package/dist/viewer-three.js.map +1 -1
- package/dist/viewer-three.min.js +2 -2
- package/dist/viewer-three.module.js +35 -26
- package/dist/viewer-three.module.js.map +1 -1
- package/extensions/components/InfoPanelComponent.ts +8 -11
- package/extensions/loaders/GLTFCloudLoader.ts +1 -1
- package/extensions/loaders/GLTFFileLoader.ts +1 -1
- package/extensions/loaders/IFCX/IFCXCloudLoader.ts +1 -1
- package/extensions/loaders/IFCX/IFCXFileLoader.ts +1 -1
- package/extensions/loaders/Potree/PotreeFileLoader.ts +1 -1
- package/lib/Viewer/Viewer.d.ts +1 -1
- package/lib/Viewer/commands/CreatePreview.d.ts +1 -1
- package/lib/Viewer/components/RenderLoopComponent.d.ts +1 -1
- package/lib/Viewer/draggers/FlyDragger.d.ts +1 -0
- package/lib/Viewer/draggers/WalkDragger.d.ts +1 -0
- package/lib/Viewer/loaders/index.d.ts +2 -1
- package/package.json +5 -5
- package/src/Viewer/Viewer.ts +28 -25
- package/src/Viewer/commands/CreatePreview.ts +2 -2
- package/src/Viewer/components/InfoComponent.ts +4 -4
- package/src/Viewer/components/RenderLoopComponent.ts +2 -2
- package/src/Viewer/draggers/FlyDragger.ts +8 -1
- package/src/Viewer/draggers/WalkDragger.ts +8 -1
- package/src/Viewer/loaders/GLTFCloudDynamicLoader.ts +2 -2
- package/src/Viewer/loaders/GLTFFileDynamicLoader.ts +2 -2
- package/src/Viewer/loaders/index.ts +2 -1
|
@@ -1910,11 +1910,13 @@ class WalkDragger {
|
|
|
1910
1910
|
};
|
|
1911
1911
|
this.viewerRender = () => {
|
|
1912
1912
|
this.joyStickControls.update();
|
|
1913
|
-
this.controls.update();
|
|
1914
1913
|
};
|
|
1915
1914
|
this.viewerZoom = () => {
|
|
1916
1915
|
this.controls.rotateDelta.set(0, 0);
|
|
1917
1916
|
};
|
|
1917
|
+
this.animate = () => {
|
|
1918
|
+
this.controls.update();
|
|
1919
|
+
};
|
|
1918
1920
|
const meshOnlyGround = [];
|
|
1919
1921
|
viewer.models.forEach((model) => model.getVisibleObjects().forEach((obj) => {
|
|
1920
1922
|
if (obj instanceof Mesh) {
|
|
@@ -1927,12 +1929,14 @@ class WalkDragger {
|
|
|
1927
1929
|
this.joyStickControls = new JoyStickControls(viewer.camera, viewer.canvas, viewer.canvas, meshOnlyGround);
|
|
1928
1930
|
this.joyStickControls.addEventListener("change", this.controlsChange);
|
|
1929
1931
|
this.viewer = viewer;
|
|
1932
|
+
this.viewer.addEventListener("animate", this.animate);
|
|
1930
1933
|
this.viewer.addEventListener("render", this.viewerRender);
|
|
1931
1934
|
this.viewer.addEventListener("zoom", this.viewerZoom);
|
|
1932
1935
|
this.viewer.addEventListener("changecameramode", this.updateControlsCamera);
|
|
1933
1936
|
this.updateControls();
|
|
1934
1937
|
}
|
|
1935
1938
|
dispose() {
|
|
1939
|
+
this.viewer.removeEventListener("animate", this.animate);
|
|
1936
1940
|
this.viewer.removeEventListener("render", this.viewerRender);
|
|
1937
1941
|
this.viewer.removeEventListener("zoom", this.viewerZoom);
|
|
1938
1942
|
this.viewer.removeEventListener("changecameramode", this.updateControlsCamera);
|
|
@@ -2112,23 +2116,27 @@ class FlyDragger {
|
|
|
2112
2116
|
};
|
|
2113
2117
|
this.viewerRender = () => {
|
|
2114
2118
|
this.joyStickControls.update();
|
|
2115
|
-
this.controls.update();
|
|
2116
2119
|
};
|
|
2117
2120
|
this.viewerZoom = () => {
|
|
2118
2121
|
this.controls.rotateDelta.set(0, 0);
|
|
2119
2122
|
};
|
|
2123
|
+
this.animate = () => {
|
|
2124
|
+
this.controls.update();
|
|
2125
|
+
};
|
|
2120
2126
|
this.controls = new FlyControls(viewer.camera, viewer.canvas);
|
|
2121
2127
|
this.controls.addEventListener("change", this.controlsChange);
|
|
2122
2128
|
this.controls.addEventListener("flyspeedchange", this.flyspeedChange);
|
|
2123
2129
|
this.joyStickControls = new JoyStickControls(viewer.camera, viewer.canvas, viewer.canvas, []);
|
|
2124
2130
|
this.joyStickControls.addEventListener("change", this.controlsChange);
|
|
2125
2131
|
this.viewer = viewer;
|
|
2132
|
+
this.viewer.addEventListener("animate", this.animate);
|
|
2126
2133
|
this.viewer.addEventListener("render", this.viewerRender);
|
|
2127
2134
|
this.viewer.addEventListener("zoom", this.viewerZoom);
|
|
2128
2135
|
this.viewer.addEventListener("changecameramode", this.updateControlsCamera);
|
|
2129
2136
|
this.updateControls();
|
|
2130
2137
|
}
|
|
2131
2138
|
dispose() {
|
|
2139
|
+
this.viewer.removeEventListener("animate", this.animate);
|
|
2132
2140
|
this.viewer.removeEventListener("render", this.viewerRender);
|
|
2133
2141
|
this.viewer.removeEventListener("zoom", this.viewerZoom);
|
|
2134
2142
|
this.viewer.removeEventListener("changecameramode", this.updateControlsCamera);
|
|
@@ -2178,9 +2186,9 @@ function clearSlices(viewer) {
|
|
|
2178
2186
|
viewer.clearSlices();
|
|
2179
2187
|
}
|
|
2180
2188
|
|
|
2181
|
-
function createPreview(viewer, type = "image/jpeg",
|
|
2189
|
+
function createPreview(viewer, type = "image/jpeg", quality = 0.25) {
|
|
2182
2190
|
viewer.update(true);
|
|
2183
|
-
return viewer.canvas.toDataURL(type,
|
|
2191
|
+
return viewer.canvas.toDataURL(type, quality);
|
|
2184
2192
|
}
|
|
2185
2193
|
|
|
2186
2194
|
function explode(viewer, index = 0) {
|
|
@@ -2727,9 +2735,9 @@ class InfoComponent {
|
|
|
2727
2735
|
console.log("File load time:", this.viewer.info.performance.loadTime, "ms");
|
|
2728
2736
|
};
|
|
2729
2737
|
this.resize = () => {
|
|
2730
|
-
const
|
|
2731
|
-
this.viewer.info.render.viewport.width =
|
|
2732
|
-
this.viewer.info.render.viewport.height =
|
|
2738
|
+
const { width, height } = this.viewer.canvas;
|
|
2739
|
+
this.viewer.info.render.viewport.width = width;
|
|
2740
|
+
this.viewer.info.render.viewport.height = height;
|
|
2733
2741
|
};
|
|
2734
2742
|
this.render = () => {
|
|
2735
2743
|
this.viewer.info.render.drawCalls = this.viewer.renderer.info.render.calls;
|
|
@@ -2778,13 +2786,13 @@ class InfoComponent {
|
|
|
2778
2786
|
|
|
2779
2787
|
class RenderLoopComponent {
|
|
2780
2788
|
constructor(viewer) {
|
|
2781
|
-
this.animate = (time
|
|
2789
|
+
this.animate = (time) => {
|
|
2782
2790
|
this.requestId = requestAnimationFrame(this.animate);
|
|
2783
2791
|
this.viewer.render(time);
|
|
2784
2792
|
this.viewer.emitEvent({ type: "animate", time });
|
|
2785
2793
|
};
|
|
2786
2794
|
this.viewer = viewer;
|
|
2787
|
-
this.animate
|
|
2795
|
+
this.requestId = requestAnimationFrame(this.animate);
|
|
2788
2796
|
}
|
|
2789
2797
|
dispose() {
|
|
2790
2798
|
cancelAnimationFrame(this.requestId);
|
|
@@ -6413,13 +6421,13 @@ class GLTFFileDynamicLoader extends Loader {
|
|
|
6413
6421
|
this.viewer.models.push(modelImpl);
|
|
6414
6422
|
this.viewer.syncOptions();
|
|
6415
6423
|
this.viewer.syncOverlay();
|
|
6416
|
-
this.viewer.update();
|
|
6417
6424
|
this.viewer.emitEvent({ type: "databasechunk", data: scene, file });
|
|
6425
|
+
this.viewer.update(true);
|
|
6418
6426
|
});
|
|
6419
6427
|
this.gltfLoader.addEventListener("geometryerror", (data) => {
|
|
6420
6428
|
this.viewer.emitEvent({ type: "geometryerror", data, file });
|
|
6421
6429
|
});
|
|
6422
|
-
this.gltfLoader.addEventListener("update", (
|
|
6430
|
+
this.gltfLoader.addEventListener("update", () => {
|
|
6423
6431
|
this.viewer.update();
|
|
6424
6432
|
});
|
|
6425
6433
|
const loadController = {
|
|
@@ -6501,13 +6509,13 @@ class GLTFCloudDynamicLoader extends Loader {
|
|
|
6501
6509
|
this.viewer.models.push(modelImpl);
|
|
6502
6510
|
this.viewer.syncOptions();
|
|
6503
6511
|
this.viewer.syncOverlay();
|
|
6504
|
-
this.viewer.update();
|
|
6505
6512
|
this.viewer.emitEvent({ type: "databasechunk", data: scene, file: model.file, model });
|
|
6513
|
+
this.viewer.update(true);
|
|
6506
6514
|
});
|
|
6507
6515
|
this.gltfLoader.addEventListener("geometryerror", (data) => {
|
|
6508
6516
|
this.viewer.emitEvent({ type: "geometryerror", data, file: model.file, model });
|
|
6509
6517
|
});
|
|
6510
|
-
this.gltfLoader.addEventListener("update", (
|
|
6518
|
+
this.gltfLoader.addEventListener("update", () => {
|
|
6511
6519
|
this.viewer.update();
|
|
6512
6520
|
});
|
|
6513
6521
|
const loadController = {
|
|
@@ -6831,11 +6839,13 @@ class Viewer extends EventEmitter2 {
|
|
|
6831
6839
|
this.syncOptions();
|
|
6832
6840
|
this.syncOverlay();
|
|
6833
6841
|
this._renderTime = performance.now();
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
onProgress(
|
|
6842
|
+
if (typeof onProgress === "function") {
|
|
6843
|
+
const event = new ProgressEvent("progress", { lengthComputable: true, loaded: 1, total: 1 });
|
|
6844
|
+
onProgress(event);
|
|
6845
|
+
}
|
|
6837
6846
|
this.emitEvent({ type: "initializeprogress", data: 1, loaded: 1, total: 1 });
|
|
6838
6847
|
this.emitEvent({ type: "initialize" });
|
|
6848
|
+
this.update(true);
|
|
6839
6849
|
return Promise.resolve(this);
|
|
6840
6850
|
}
|
|
6841
6851
|
dispose() {
|
|
@@ -6899,8 +6909,8 @@ class Viewer extends EventEmitter2 {
|
|
|
6899
6909
|
}
|
|
6900
6910
|
this.renderer.setSize(width, height, updateStyle);
|
|
6901
6911
|
this.composer.setSize(width, height);
|
|
6902
|
-
this.update(true);
|
|
6903
6912
|
this.emitEvent({ type: "resize", width, height });
|
|
6913
|
+
this.update(true);
|
|
6904
6914
|
}
|
|
6905
6915
|
update(force = false) {
|
|
6906
6916
|
const time = performance.now();
|
|
@@ -6910,11 +6920,11 @@ class Viewer extends EventEmitter2 {
|
|
|
6910
6920
|
this.render(time);
|
|
6911
6921
|
this.emitEvent({ type: "update", force });
|
|
6912
6922
|
}
|
|
6913
|
-
render(time) {
|
|
6923
|
+
render(time, force = false) {
|
|
6914
6924
|
var _a, _b;
|
|
6915
6925
|
if (!this.renderer)
|
|
6916
6926
|
return;
|
|
6917
|
-
if (!this._renderNeeded)
|
|
6927
|
+
if (!this._renderNeeded && !force)
|
|
6918
6928
|
return;
|
|
6919
6929
|
if (!time)
|
|
6920
6930
|
time = performance.now();
|
|
@@ -6976,6 +6986,7 @@ class Viewer extends EventEmitter2 {
|
|
|
6976
6986
|
throw error;
|
|
6977
6987
|
}
|
|
6978
6988
|
this.emitEvent({ type: "geometryend", file, model });
|
|
6989
|
+
this.update(true);
|
|
6979
6990
|
return this;
|
|
6980
6991
|
}
|
|
6981
6992
|
openGltfFile(file, externalFiles, params = {}) {
|
|
@@ -7008,8 +7019,8 @@ class Viewer extends EventEmitter2 {
|
|
|
7008
7019
|
this.target.set(0, 0, 0);
|
|
7009
7020
|
this.syncOptions();
|
|
7010
7021
|
this.syncOverlay();
|
|
7011
|
-
this.update(true);
|
|
7012
7022
|
this.emitEvent({ type: "clear" });
|
|
7023
|
+
this.update(true);
|
|
7013
7024
|
return this;
|
|
7014
7025
|
}
|
|
7015
7026
|
is3D() {
|
|
@@ -7197,7 +7208,7 @@ class Viewer extends EventEmitter2 {
|
|
|
7197
7208
|
this.syncOverlay();
|
|
7198
7209
|
this.setActiveDragger(draggerName);
|
|
7199
7210
|
this.emitEvent({ type: "drawviewpoint", data: viewpoint });
|
|
7200
|
-
this.update();
|
|
7211
|
+
this.update(true);
|
|
7201
7212
|
}
|
|
7202
7213
|
createViewpoint() {
|
|
7203
7214
|
if (!this.renderer)
|
|
@@ -7278,11 +7289,9 @@ class Viewer extends EventEmitter2 {
|
|
|
7278
7289
|
}
|
|
7279
7290
|
return { x: intersectionPoint.x, y: intersectionPoint.y, z: intersectionPoint.z };
|
|
7280
7291
|
}
|
|
7281
|
-
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
return { x: point.x, y: point.y, z: point.z };
|
|
7285
|
-
}
|
|
7292
|
+
const point = new Vector3(x, y, -1);
|
|
7293
|
+
point.unproject(this.camera);
|
|
7294
|
+
return { x: point.x, y: point.y, z: point.z };
|
|
7286
7295
|
}
|
|
7287
7296
|
worldToScreen(position) {
|
|
7288
7297
|
if (!this.renderer)
|