viral-viewer-2 6.0.9 → 6.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.
Files changed (53) hide show
  1. package/dist/components/custom-objects/viral-instanced-mesh.d.ts +2 -0
  2. package/dist/components/custom-objects/viral-instanced-mesh.js +2 -0
  3. package/dist/components/custom-objects/viral-instanced-mesh.js.map +1 -1
  4. package/dist/components/event-handler/keyboard/viral-keyboard.d.ts +17 -0
  5. package/dist/components/event-handler/keyboard/viral-keyboard.js +76 -0
  6. package/dist/components/event-handler/keyboard/viral-keyboard.js.map +1 -0
  7. package/dist/components/event-handler/mouse/viral-mouse.d.ts +31 -0
  8. package/dist/components/event-handler/mouse/viral-mouse.js +234 -0
  9. package/dist/components/event-handler/mouse/viral-mouse.js.map +1 -0
  10. package/dist/components/event-handler/viral-centralized-event-handler.js +2 -12
  11. package/dist/components/event-handler/viral-centralized-event-handler.js.map +1 -1
  12. package/dist/components/visibility-manager/viral-visibility-manager.js +10 -7
  13. package/dist/components/visibility-manager/viral-visibility-manager.js.map +1 -1
  14. package/dist/gui/context-menu/viral-context-menu.d.ts +17 -0
  15. package/dist/gui/context-menu/viral-context-menu.js +74 -0
  16. package/dist/gui/context-menu/viral-context-menu.js.map +1 -0
  17. package/dist/gui/navigation-cube/components/cube-camera.d.ts +15 -0
  18. package/dist/gui/navigation-cube/components/cube-camera.js +74 -0
  19. package/dist/gui/navigation-cube/components/cube-camera.js.map +1 -0
  20. package/dist/gui/navigation-cube/components/cube-renderer.d.ts +9 -0
  21. package/dist/gui/navigation-cube/components/cube-renderer.js +31 -0
  22. package/dist/gui/navigation-cube/components/cube-renderer.js.map +1 -0
  23. package/dist/gui/navigation-cube/components/cube-scene.d.ts +13 -0
  24. package/dist/gui/navigation-cube/components/cube-scene.js +546 -0
  25. package/dist/gui/navigation-cube/components/cube-scene.js.map +1 -0
  26. package/dist/gui/navigation-cube/components/cube.mouse.d.ts +9 -0
  27. package/dist/gui/navigation-cube/components/cube.mouse.js +109 -0
  28. package/dist/gui/navigation-cube/components/cube.mouse.js.map +1 -0
  29. package/dist/gui/navigation-cube/viral-navigation-cube.d.ts +16 -0
  30. package/dist/gui/navigation-cube/viral-navigation-cube.js +50 -0
  31. package/dist/gui/navigation-cube/viral-navigation-cube.js.map +1 -0
  32. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.d.ts +7 -0
  33. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +16 -0
  34. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +1 -0
  35. package/dist/gui/tools/tools/viral-tool-dark-mode.d.ts +7 -0
  36. package/dist/gui/tools/tools/viral-tool-dark-mode.js +21 -0
  37. package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +1 -0
  38. package/dist/gui/tools/tools/viral-tool-elevation.d.ts +11 -0
  39. package/dist/gui/tools/tools/viral-tool-elevation.js +30 -0
  40. package/dist/gui/tools/tools/viral-tool-elevation.js.map +1 -0
  41. package/dist/gui/tools/tools/viral-tool-measure.d.ts +33 -0
  42. package/dist/gui/tools/tools/viral-tool-measure.js +243 -0
  43. package/dist/gui/tools/tools/viral-tool-measure.js.map +1 -0
  44. package/dist/gui/tools/tools/viral-tool-sunlight.d.ts +7 -0
  45. package/dist/gui/tools/tools/viral-tool-sunlight.js +46 -0
  46. package/dist/gui/tools/tools/viral-tool-sunlight.js.map +1 -0
  47. package/dist/gui/tools/viral-tools.d.ts +32 -0
  48. package/dist/gui/tools/viral-tools.js +213 -0
  49. package/dist/gui/tools/viral-tools.js.map +1 -0
  50. package/dist/viral-viewer-api.d.ts +7 -5
  51. package/dist/viral-viewer-api.js +7 -5
  52. package/dist/viral-viewer-api.js.map +1 -1
  53. package/package.json +5 -2
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralContextMenu = void 0;
4
+ const colors_1 = require("../../const/colors");
5
+ const html_1 = require("../../utils/html");
6
+ class ViralContextMenu {
7
+ constructor(viralViewerApi) {
8
+ this.viralViewerApi = viralViewerApi;
9
+ this.contextMenu = null;
10
+ this.contextItems = [];
11
+ this.injectContextMenu();
12
+ }
13
+ injectContextMenu() {
14
+ const hoverEffect = `
15
+ .hover-element {
16
+ transition: background-color 0.3s ease;
17
+ }
18
+ .hover-element:hover {
19
+ background-color: ${colors_1.LightTheme.primary};
20
+
21
+ }`;
22
+ // Create a style element and append the keyframes animation
23
+ const style = document.createElement("style");
24
+ style.innerHTML = hoverEffect;
25
+ // Append the style element to the document head
26
+ document.head.appendChild(style);
27
+ if (this.viralViewerApi.targetElement) {
28
+ this.contextMenu = document.createElement("div");
29
+ this.contextMenu.setAttribute("style", `position: absolute;top:0px;left:0px;background-color: ${colors_1.LightTheme.background};justify-content: center;display:none; z-index: 100; flex-direction:column; padding: 10px 0; border-radius:10px`);
30
+ this.viralViewerApi.targetElement.appendChild(this.contextMenu);
31
+ }
32
+ }
33
+ showContextMenu(top, left, itemKeys) {
34
+ if (this.contextMenu) {
35
+ this.initContent(itemKeys);
36
+ this.contextMenu.style.setProperty("display", "flex");
37
+ this.contextMenu.style.setProperty("top", `${top}px`);
38
+ this.contextMenu.style.setProperty("left", `${left}px`);
39
+ }
40
+ }
41
+ hideContextMenu() {
42
+ if (this.contextMenu) {
43
+ this.contextMenu.style.setProperty("display", "none");
44
+ }
45
+ }
46
+ initContent(itemKeys) {
47
+ var _a;
48
+ while (this.contextMenu && this.contextMenu.firstChild) {
49
+ this.contextMenu.removeChild(this.contextMenu.firstChild);
50
+ }
51
+ for (let index = 0; index < this.contextItems.length; index++) {
52
+ if (itemKeys.findIndex((x) => x == this.contextItems[index][0]) < 0) {
53
+ continue;
54
+ }
55
+ const [itemKey, itemName, callbackResolve] = this.contextItems[index];
56
+ const item = html_1.HTMLUtil.createElementFromHTML(`<div class="hover-element" style="padding: 5px 10px; cursor: pointer; color:#666">${itemName}</div>`);
57
+ item.addEventListener("click", (ev) => {
58
+ ev.stopPropagation();
59
+ callbackResolve(ev);
60
+ });
61
+ (_a = this.contextMenu) === null || _a === void 0 ? void 0 : _a.appendChild(item);
62
+ }
63
+ }
64
+ /**
65
+ *
66
+ * @param itemName
67
+ * @param resolve callback when user click
68
+ */
69
+ addContextItem(itemKey, itemName, resolve) {
70
+ this.contextItems.push([itemKey, itemName, resolve]);
71
+ }
72
+ }
73
+ exports.ViralContextMenu = ViralContextMenu;
74
+ //# sourceMappingURL=viral-context-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-context-menu.js","sourceRoot":"","sources":["../../../src/gui/context-menu/viral-context-menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import CameraControls from "camera-controls";
2
+ import { Vector3, PerspectiveCamera } from 'three';
3
+ import { ViralNavigationCube } from "../viral-navigation-cube";
4
+ export declare class CubeCamera {
5
+ viralNavigationCube: ViralNavigationCube;
6
+ camera: PerspectiveCamera | null;
7
+ cameraControls: CameraControls | null;
8
+ cameraControlOldPosition: Vector3;
9
+ cameraControlNewPosition: Vector3;
10
+ cameraControlHasMoved: boolean;
11
+ constructor(viralNavigationCube: ViralNavigationCube);
12
+ setupCamera(): void;
13
+ updateCubeCamera(): void;
14
+ setupHandle(): void;
15
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CubeCamera = void 0;
4
+ const camera_controls_1 = require("camera-controls");
5
+ const three_1 = require("three");
6
+ const subsetOfTHREE = {
7
+ Vector2: three_1.Vector2,
8
+ Vector3: three_1.Vector3,
9
+ Vector4: three_1.Vector4,
10
+ Quaternion: three_1.Quaternion,
11
+ Matrix4: three_1.Matrix4,
12
+ Spherical: three_1.Spherical,
13
+ Box3: three_1.Box3,
14
+ Sphere: three_1.Sphere,
15
+ Raycaster: three_1.Raycaster,
16
+ MathUtils: three_1.MathUtils,
17
+ };
18
+ class CubeCamera {
19
+ constructor(viralNavigationCube) {
20
+ this.viralNavigationCube = viralNavigationCube;
21
+ this.camera = null;
22
+ this.cameraControls = null;
23
+ this.cameraControlOldPosition = new three_1.Vector3();
24
+ this.cameraControlNewPosition = new three_1.Vector3();
25
+ this.cameraControlHasMoved = false;
26
+ this.setupCamera();
27
+ this.setupHandle();
28
+ }
29
+ setupCamera() {
30
+ if (this.viralNavigationCube.targetElement && this.viralNavigationCube.cubeRenderer) {
31
+ const width = this.viralNavigationCube.targetElement.offsetWidth;
32
+ const height = this.viralNavigationCube.targetElement.offsetHeight;
33
+ this.camera = new three_1.PerspectiveCamera(60, width / height, 0.01, 100);
34
+ this.camera.position.set(0, 0, 2);
35
+ camera_controls_1.default.install({ THREE: subsetOfTHREE });
36
+ this.cameraControls = new camera_controls_1.default(this.camera, this.viralNavigationCube.cubeRenderer.renderer.domElement);
37
+ this.cameraControls.dollyToCursor = false;
38
+ this.cameraControls.infinityDolly = false;
39
+ this.cameraControls.setTarget(0, 0, 0);
40
+ this.cameraControls.polarRotateSpeed = 0.15;
41
+ this.cameraControls.azimuthRotateSpeed = 0.15;
42
+ this.cameraControls.mouseButtons.middle = camera_controls_1.default.ACTION.NONE;
43
+ this.cameraControls.mouseButtons.wheel = camera_controls_1.default.ACTION.NONE;
44
+ }
45
+ }
46
+ updateCubeCamera() {
47
+ var _a;
48
+ let cameraControlTarget = new three_1.Vector3();
49
+ this.viralNavigationCube.viralViewerApi.viralCamera.cameraControls.getTarget(cameraControlTarget);
50
+ let cameraControlPosition = new three_1.Vector3();
51
+ this.viralNavigationCube.viralViewerApi.viralCamera.cameraControls.getPosition(cameraControlPosition);
52
+ //Hieu 2 vector
53
+ let vector = cameraControlPosition.sub(cameraControlTarget);
54
+ //Chuan hoa
55
+ vector.normalize();
56
+ //Do lon vector bang 2
57
+ vector.multiplyScalar(2);
58
+ (_a = this.cameraControls) === null || _a === void 0 ? void 0 : _a.setPosition(vector.x, vector.y, vector.z);
59
+ }
60
+ setupHandle() {
61
+ function antiMoveOnDown(e) {
62
+ this.cameraControlHasMoved = false;
63
+ }
64
+ function antiMoveOnMove(e) {
65
+ this.cameraControlHasMoved = true;
66
+ }
67
+ window.addEventListener('mousedown', antiMoveOnDown, false);
68
+ window.addEventListener('mousemove', antiMoveOnMove, false);
69
+ window.addEventListener('touchstart', antiMoveOnDown, false);
70
+ window.addEventListener('touchmove', antiMoveOnMove, true);
71
+ }
72
+ }
73
+ exports.CubeCamera = CubeCamera;
74
+ //# sourceMappingURL=cube-camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-camera.js","sourceRoot":"","sources":["../../../../src/gui/navigation-cube/components/cube-camera.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { WebGLRenderer } from "three";
2
+ import { ViralNavigationCube } from "../viral-navigation-cube";
3
+ export declare class CubeRenderer {
4
+ viralNavigationCube: ViralNavigationCube;
5
+ renderer: WebGLRenderer;
6
+ constructor(viralNavigationCube: ViralNavigationCube);
7
+ setupRenderer(): void;
8
+ render(): void;
9
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CubeRenderer = void 0;
4
+ const three_1 = require("three");
5
+ class CubeRenderer {
6
+ constructor(viralNavigationCube) {
7
+ this.viralNavigationCube = viralNavigationCube;
8
+ // clock: Clock = new Clock();
9
+ this.renderer = new three_1.WebGLRenderer({
10
+ alpha: true,
11
+ antialias: true,
12
+ logarithmicDepthBuffer: true,
13
+ });
14
+ this.setupRenderer();
15
+ }
16
+ setupRenderer() {
17
+ if (this.viralNavigationCube.targetElement) {
18
+ this.renderer.setClearColor(0x000000, 0);
19
+ this.renderer.setSize(this.viralNavigationCube.targetElement.offsetWidth, this.viralNavigationCube.targetElement.offsetHeight);
20
+ this.viralNavigationCube.targetElement.appendChild(this.renderer.domElement);
21
+ }
22
+ }
23
+ render() {
24
+ if (this.viralNavigationCube.cubeScene && this.viralNavigationCube.cubeCamera && this.viralNavigationCube.cubeCamera.camera) {
25
+ this.viralNavigationCube.cubeCamera.camera.updateMatrixWorld(true);
26
+ this.renderer.render(this.viralNavigationCube.cubeScene.scene, this.viralNavigationCube.cubeCamera.camera);
27
+ }
28
+ }
29
+ }
30
+ exports.CubeRenderer = CubeRenderer;
31
+ //# sourceMappingURL=cube-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-renderer.js","sourceRoot":"","sources":["../../../../src/gui/navigation-cube/components/cube-renderer.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAG7C,MAAa,YAAY;IAOrB,YAAmB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAN3D,8BAA8B;QAC9B,aAAQ,GAAkB,IAAI,qBAAa,CAAC;YACxC,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,sBAAsB,EAAE,IAAI;SAC/B,CAAC,CAAC;QAEC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IACM,aAAa;QAChB,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC/H,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SAEhF;IAEL,CAAC;IACM,MAAM;QACT,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE;YACzH,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC9G;IAGL,CAAC;CAmBJ;AA7CD,oCA6CC"}
@@ -0,0 +1,13 @@
1
+ import { Scene, Mesh, Object3D, MeshBasicMaterial, BufferGeometry } from 'three';
2
+ import { ViralNavigationCube } from '../viral-navigation-cube';
3
+ export declare class CubeScene {
4
+ viralNavigationCube: ViralNavigationCube;
5
+ scene: Scene;
6
+ objects: Object3D[];
7
+ cube: Mesh | null;
8
+ activePlane: Mesh<BufferGeometry, MeshBasicMaterial> | null;
9
+ constructor(viralNavigationCube: ViralNavigationCube);
10
+ addObject(object: Object3D): void;
11
+ addCube(): void;
12
+ addPlanes(): void;
13
+ }