@inweb/viewer-visualize 26.10.2 → 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 +46 -4
- package/dist/viewer-visualize.js.map +1 -1
- package/dist/viewer-visualize.min.js +1 -1
- package/dist/viewer-visualize.module.js +41 -0
- 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/dist/viewer-visualize.js
CHANGED
|
@@ -2875,6 +2875,46 @@
|
|
|
2875
2875
|
commands.registerCommandAlias("clearSelected", "unselect");
|
|
2876
2876
|
commands.registerCommandAlias("zoomToExtents", "zoomExtents");
|
|
2877
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
|
+
|
|
2878
2918
|
class RenderLoopComponent {
|
|
2879
2919
|
constructor(viewer) {
|
|
2880
2920
|
this.animate = (time = 0) => {
|
|
@@ -3157,6 +3197,7 @@
|
|
|
3157
3197
|
}
|
|
3158
3198
|
|
|
3159
3199
|
const components = componentsRegistry("visualizejs");
|
|
3200
|
+
components.registerComponent("CameraComponent", (viewer) => new CameraComponent(viewer));
|
|
3160
3201
|
components.registerComponent("ResizeCanvasComponent", (viewer) => new ResizeCanvasComponent(viewer));
|
|
3161
3202
|
components.registerComponent("RenderLoopComponent", (viewer) => new RenderLoopComponent(viewer));
|
|
3162
3203
|
components.registerComponent("ZoomWheelComponent", (viewer) => new ZoomWheelComponent(viewer));
|
|
@@ -17036,16 +17077,17 @@
|
|
|
17036
17077
|
this._markupContainer = document.createElement("div");
|
|
17037
17078
|
this._markupContainer.id = "markup-container";
|
|
17038
17079
|
this._markupContainer.style.position = "absolute";
|
|
17039
|
-
this._markupContainer.style.top = "0px";
|
|
17040
|
-
this._markupContainer.style.left = "0px";
|
|
17041
17080
|
this._markupContainer.style.outline = "0px";
|
|
17042
17081
|
this._markupContainer.style.pointerEvents = "none";
|
|
17043
17082
|
const parentDiv = this._container.parentElement;
|
|
17044
17083
|
parentDiv.appendChild(this._markupContainer);
|
|
17045
|
-
if (viewer)
|
|
17084
|
+
if (viewer) {
|
|
17046
17085
|
this._viewer.addEventListener("resize", this.resizeViewer);
|
|
17047
|
-
|
|
17086
|
+
}
|
|
17087
|
+
else {
|
|
17048
17088
|
this._resizeObserver = new ResizeObserver(debounce(this.resizeContainer, 100));
|
|
17089
|
+
this._resizeObserver.observe(parentDiv);
|
|
17090
|
+
}
|
|
17049
17091
|
this._markupColor.setColor(255, 0, 0);
|
|
17050
17092
|
this.initializeKonva();
|
|
17051
17093
|
if (this._viewer) {
|