@inweb/viewer-visualize 26.10.1 → 26.10.3
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/viewer-visualize.js +56 -6
- package/dist/viewer-visualize.js.map +1 -1
- package/dist/viewer-visualize.min.js +1 -1
- package/dist/viewer-visualize.module.js +43 -2
- package/dist/viewer-visualize.module.js.map +1 -1
- package/lib/Viewer/Components/CameraComponent.d.ts +11 -0
- package/package.json +5 -5
- package/src/Viewer/Components/CameraComponent.ts +78 -0
- package/src/Viewer/Components/index.ts +2 -0
- package/src/Viewer/Draggers/OdaWalkDragger.ts +2 -2
package/dist/viewer-visualize.js
CHANGED
|
@@ -236,6 +236,7 @@
|
|
|
236
236
|
enableGestures: true,
|
|
237
237
|
geometryType: "vsfx",
|
|
238
238
|
rulerUnit: "Default",
|
|
239
|
+
cameraMode: "perspective",
|
|
239
240
|
};
|
|
240
241
|
}
|
|
241
242
|
class Options {
|
|
@@ -491,6 +492,13 @@
|
|
|
491
492
|
this._data.rulerUnit = value;
|
|
492
493
|
this.change();
|
|
493
494
|
}
|
|
495
|
+
get cameraMode() {
|
|
496
|
+
return this._data.cameraMode || "perspective";
|
|
497
|
+
}
|
|
498
|
+
set cameraMode(value) {
|
|
499
|
+
this._data.cameraMode = value;
|
|
500
|
+
this.change();
|
|
501
|
+
}
|
|
494
502
|
}
|
|
495
503
|
const CanvasEvents = [
|
|
496
504
|
"click",
|
|
@@ -1425,8 +1433,8 @@
|
|
|
1425
1433
|
else {
|
|
1426
1434
|
move = Vector3d.createFromArray([0, currentDelta, 0]);
|
|
1427
1435
|
}
|
|
1428
|
-
|
|
1429
|
-
|
|
1436
|
+
const newPos = pos.add(move);
|
|
1437
|
+
const newTarget = target.add(move);
|
|
1430
1438
|
camera.setupCamera(newPos.toArray(), newTarget.toArray(), up.toArray());
|
|
1431
1439
|
}
|
|
1432
1440
|
moveBackward(currentDelta) {
|
|
@@ -2867,6 +2875,46 @@
|
|
|
2867
2875
|
commands.registerCommandAlias("clearSelected", "unselect");
|
|
2868
2876
|
commands.registerCommandAlias("zoomToExtents", "zoomExtents");
|
|
2869
2877
|
|
|
2878
|
+
class CameraComponent {
|
|
2879
|
+
constructor(viewer) {
|
|
2880
|
+
this.optionsChange = () => {
|
|
2881
|
+
this.switchCameraMode(this.viewer.options.cameraMode);
|
|
2882
|
+
};
|
|
2883
|
+
this.geometryEnd = () => {
|
|
2884
|
+
const activeView = this.viewer.visViewer().activeView;
|
|
2885
|
+
const mode = this.getCameraMode(activeView);
|
|
2886
|
+
this.viewer.options.cameraMode = mode;
|
|
2887
|
+
this.viewer.emitEvent({ type: "changecameramode", mode });
|
|
2888
|
+
activeView.delete();
|
|
2889
|
+
};
|
|
2890
|
+
this.viewer = viewer;
|
|
2891
|
+
this.viewer.addEventListener("databasechunk", this.geometryEnd);
|
|
2892
|
+
this.viewer.addEventListener("clear", this.geometryEnd);
|
|
2893
|
+
this.viewer.addEventListener("optionschange", this.optionsChange);
|
|
2894
|
+
this.viewer.addEventListener("initialize", this.optionsChange);
|
|
2895
|
+
}
|
|
2896
|
+
dispose() {
|
|
2897
|
+
this.viewer.removeEventListener("databasechunk", this.geometryEnd);
|
|
2898
|
+
this.viewer.removeEventListener("clear", this.geometryEnd);
|
|
2899
|
+
this.viewer.removeEventListener("optionschange", this.optionsChange);
|
|
2900
|
+
this.viewer.removeEventListener("initialize", this.optionsChange);
|
|
2901
|
+
}
|
|
2902
|
+
getCameraMode(view) {
|
|
2903
|
+
return view.perspective ? "perspective" : "orthographic";
|
|
2904
|
+
}
|
|
2905
|
+
switchCameraMode(mode) {
|
|
2906
|
+
if (!mode)
|
|
2907
|
+
return;
|
|
2908
|
+
const activeView = this.viewer.visViewer().activeView;
|
|
2909
|
+
if (mode !== this.getCameraMode(activeView)) {
|
|
2910
|
+
activeView.perspective = !activeView.perspective;
|
|
2911
|
+
this.viewer.update();
|
|
2912
|
+
this.viewer.emitEvent({ type: "changecameramode", mode });
|
|
2913
|
+
}
|
|
2914
|
+
activeView.delete();
|
|
2915
|
+
}
|
|
2916
|
+
}
|
|
2917
|
+
|
|
2870
2918
|
class RenderLoopComponent {
|
|
2871
2919
|
constructor(viewer) {
|
|
2872
2920
|
this.animate = (time = 0) => {
|
|
@@ -3149,6 +3197,7 @@
|
|
|
3149
3197
|
}
|
|
3150
3198
|
|
|
3151
3199
|
const components = componentsRegistry("visualizejs");
|
|
3200
|
+
components.registerComponent("CameraComponent", (viewer) => new CameraComponent(viewer));
|
|
3152
3201
|
components.registerComponent("ResizeCanvasComponent", (viewer) => new ResizeCanvasComponent(viewer));
|
|
3153
3202
|
components.registerComponent("RenderLoopComponent", (viewer) => new RenderLoopComponent(viewer));
|
|
3154
3203
|
components.registerComponent("ZoomWheelComponent", (viewer) => new ZoomWheelComponent(viewer));
|
|
@@ -17028,16 +17077,17 @@
|
|
|
17028
17077
|
this._markupContainer = document.createElement("div");
|
|
17029
17078
|
this._markupContainer.id = "markup-container";
|
|
17030
17079
|
this._markupContainer.style.position = "absolute";
|
|
17031
|
-
this._markupContainer.style.top = "0px";
|
|
17032
|
-
this._markupContainer.style.left = "0px";
|
|
17033
17080
|
this._markupContainer.style.outline = "0px";
|
|
17034
17081
|
this._markupContainer.style.pointerEvents = "none";
|
|
17035
17082
|
const parentDiv = this._container.parentElement;
|
|
17036
17083
|
parentDiv.appendChild(this._markupContainer);
|
|
17037
|
-
if (viewer)
|
|
17084
|
+
if (viewer) {
|
|
17038
17085
|
this._viewer.addEventListener("resize", this.resizeViewer);
|
|
17039
|
-
|
|
17086
|
+
}
|
|
17087
|
+
else {
|
|
17040
17088
|
this._resizeObserver = new ResizeObserver(debounce(this.resizeContainer, 100));
|
|
17089
|
+
this._resizeObserver.observe(parentDiv);
|
|
17090
|
+
}
|
|
17041
17091
|
this._markupColor.setColor(255, 0, 0);
|
|
17042
17092
|
this.initializeKonva();
|
|
17043
17093
|
if (this._viewer) {
|