viral-viewer-2 6.2.9 → 6.3.0

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 (142) hide show
  1. package/dist/components/animation/viral-animation.js +71 -0
  2. package/dist/components/animation/viral-animation.js.map +1 -0
  3. package/dist/components/bvh/viral-bvh.js +19 -0
  4. package/dist/components/bvh/viral-bvh.js.map +1 -0
  5. package/dist/components/camera/viral-camera.js +207 -0
  6. package/dist/components/camera/viral-camera.js.map +1 -0
  7. package/dist/components/compress/viral-compress.processor.js +13 -0
  8. package/dist/components/compress/viral-compress.processor.js.map +1 -0
  9. package/dist/components/custom-objects/index.js +6 -0
  10. package/dist/components/custom-objects/index.js.map +1 -0
  11. package/dist/components/custom-objects/viral-instanced-mesh.js +203 -0
  12. package/dist/components/custom-objects/viral-instanced-mesh.js.map +1 -0
  13. package/dist/components/custom-objects/viral-mesh.js +25 -0
  14. package/dist/components/custom-objects/viral-mesh.js.map +1 -0
  15. package/dist/components/data-manager/viral-data-manager.js +35 -0
  16. package/dist/components/data-manager/viral-data-manager.js.map +1 -0
  17. package/dist/components/event-handler/base/event-dispatcher.js +35 -0
  18. package/dist/components/event-handler/base/event-dispatcher.js.map +1 -0
  19. package/dist/components/event-handler/keyboard/viral-keyboard.js +78 -0
  20. package/dist/components/event-handler/keyboard/viral-keyboard.js.map +1 -0
  21. package/dist/components/event-handler/mouse/viral-mouse.js +239 -0
  22. package/dist/components/event-handler/mouse/viral-mouse.js.map +1 -0
  23. package/dist/components/event-handler/viral-centralized-event-handler.js +186 -0
  24. package/dist/components/event-handler/viral-centralized-event-handler.js.map +1 -0
  25. package/dist/components/event-handler/viral-lifecycle-event-handler.js +55 -0
  26. package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +1 -0
  27. package/dist/components/loader/viral-point-cloud.loader.js +33 -0
  28. package/dist/components/loader/viral-point-cloud.loader.js.map +1 -0
  29. package/dist/components/loader/viral-revit.loader.js +344 -0
  30. package/dist/components/loader/viral-revit.loader.js.map +1 -0
  31. package/dist/components/loader/viral-three.loader.js +20 -0
  32. package/dist/components/loader/viral-three.loader.js.map +1 -0
  33. package/dist/components/loader/viral.loader.js +16 -0
  34. package/dist/components/loader/viral.loader.js.map +1 -0
  35. package/dist/components/material/viral-material-manager.js +60 -0
  36. package/dist/components/material/viral-material-manager.js.map +1 -0
  37. package/dist/components/post-processing/post-processing-renderer.js +46 -0
  38. package/dist/components/post-processing/post-processing-renderer.js.map +1 -0
  39. package/dist/components/renderer/viral-renderer.js +55 -0
  40. package/dist/components/renderer/viral-renderer.js.map +1 -0
  41. package/dist/components/scene/viral-scene.js +131 -0
  42. package/dist/components/scene/viral-scene.js.map +1 -0
  43. package/dist/components/stats/viral-stats.js +17 -0
  44. package/dist/components/stats/viral-stats.js.map +1 -0
  45. package/dist/components/visibility-manager/viral-visibility-manager.js +175 -0
  46. package/dist/components/visibility-manager/viral-visibility-manager.js.map +1 -0
  47. package/dist/components/worker/base/worker-pool.js +68 -0
  48. package/dist/components/worker/base/worker-pool.js.map +1 -0
  49. package/dist/components/worker/base/worker-thread.js +35 -0
  50. package/dist/components/worker/base/worker-thread.js.map +1 -0
  51. package/dist/components/worker/fetch-data.worker.js +31 -0
  52. package/dist/components/worker/fetch-data.worker.js.map +1 -0
  53. package/dist/components/worker/load-element-by-material-v2.worker.js +80 -0
  54. package/dist/components/worker/load-element-by-material-v2.worker.js.map +1 -0
  55. package/dist/components/worker/load-element-by-material.worker.js +59 -0
  56. package/dist/components/worker/load-element-by-material.worker.js.map +1 -0
  57. package/dist/components/worker/load-element-standalone.worker.js +109 -0
  58. package/dist/components/worker/load-element-standalone.worker.js.map +1 -0
  59. package/dist/components/worker/viral-viewer-2.worker.js +127 -0
  60. package/dist/components/worker/viral-viewer-2.worker.js.map +1 -0
  61. package/dist/components/worker/viral-viewer-3.worker.js +82 -0
  62. package/dist/components/worker/viral-viewer-3.worker.js.map +1 -0
  63. package/dist/components/worker/viral-viewer.worker.js +107 -0
  64. package/dist/components/worker/viral-viewer.worker.js.map +1 -0
  65. package/dist/components/worker-script/fetch-data-worker.script.js +56 -0
  66. package/dist/components/worker-script/fetch-data-worker.script.js.map +1 -0
  67. package/dist/components/worker-script/load-element-by-material.script.js +131 -0
  68. package/dist/components/worker-script/load-element-by-material.script.js.map +1 -0
  69. package/dist/components/worker-script/load-element-standalone.script.js +34172 -0
  70. package/dist/components/worker-script/load-element-standalone.script.js.map +1 -0
  71. package/dist/components/worker-script/load-model-worker-2.script.js +2704 -0
  72. package/dist/components/worker-script/load-model-worker-2.script.js.map +1 -0
  73. package/dist/components/worker-script/load-model-worker.script.js +148 -0
  74. package/dist/components/worker-script/load-model-worker.script.js.map +1 -0
  75. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js +34152 -0
  76. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js.map +1 -0
  77. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js +127 -0
  78. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js.map +1 -0
  79. package/dist/components/worker-script/threejs.types.js +34162 -0
  80. package/dist/components/worker-script/threejs.types.js.map +1 -0
  81. package/dist/const/colors.js +39 -0
  82. package/dist/const/colors.js.map +1 -0
  83. package/dist/const/fonts.js +17 -0
  84. package/dist/const/fonts.js.map +1 -0
  85. package/dist/const/icons.js +11 -0
  86. package/dist/const/icons.js.map +1 -0
  87. package/dist/gui/context-menu/viral-context-menu.js +78 -0
  88. package/dist/gui/context-menu/viral-context-menu.js.map +1 -0
  89. package/dist/gui/draggable-modal/viral-draggable-modal.js +167 -0
  90. package/dist/gui/draggable-modal/viral-draggable-modal.js.map +1 -0
  91. package/dist/gui/fonts/fonts.js +20 -0
  92. package/dist/gui/fonts/fonts.js.map +1 -0
  93. package/dist/gui/navigation-cube/components/cube-camera.js +74 -0
  94. package/dist/gui/navigation-cube/components/cube-camera.js.map +1 -0
  95. package/dist/gui/navigation-cube/components/cube-renderer.js +31 -0
  96. package/dist/gui/navigation-cube/components/cube-renderer.js.map +1 -0
  97. package/dist/gui/navigation-cube/components/cube-scene.js +546 -0
  98. package/dist/gui/navigation-cube/components/cube-scene.js.map +1 -0
  99. package/dist/gui/navigation-cube/components/cube.mouse.js +109 -0
  100. package/dist/gui/navigation-cube/components/cube.mouse.js.map +1 -0
  101. package/dist/gui/navigation-cube/viral-navigation-cube.js +50 -0
  102. package/dist/gui/navigation-cube/viral-navigation-cube.js.map +1 -0
  103. package/dist/gui/spinner/viral-spinner.js +102 -0
  104. package/dist/gui/spinner/viral-spinner.js.map +1 -0
  105. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +25 -0
  106. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +1 -0
  107. package/dist/gui/tools/tools/viral-tool-dark-mode.js +21 -0
  108. package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +1 -0
  109. package/dist/gui/tools/tools/viral-tool-elevation.js +30 -0
  110. package/dist/gui/tools/tools/viral-tool-elevation.js.map +1 -0
  111. package/dist/gui/tools/tools/viral-tool-export-scene.js +36 -0
  112. package/dist/gui/tools/tools/viral-tool-export-scene.js.map +1 -0
  113. package/dist/gui/tools/tools/viral-tool-measure.js +243 -0
  114. package/dist/gui/tools/tools/viral-tool-measure.js.map +1 -0
  115. package/dist/gui/tools/tools/viral-tool-sunlight.js +46 -0
  116. package/dist/gui/tools/tools/viral-tool-sunlight.js.map +1 -0
  117. package/dist/gui/tools/viral-tools.js +213 -0
  118. package/dist/gui/tools/viral-tools.js.map +1 -0
  119. package/dist/index.js +21 -0
  120. package/dist/index.js.map +1 -0
  121. package/dist/services/local-storage.service.js +57 -0
  122. package/dist/services/local-storage.service.js.map +1 -0
  123. package/dist/threejs-addon/n8ao/n8ao.js +1952 -0
  124. package/dist/threejs-addon/n8ao/n8ao.js.map +1 -0
  125. package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
  126. package/dist/threejs-addon/n8ao/post-processing.js +15145 -0
  127. package/dist/threejs-addon/n8ao/post-processing.js.map +1 -0
  128. package/dist/threejs-addon/stats.js +102 -0
  129. package/dist/threejs-addon/stats.js.map +1 -0
  130. package/dist/types.js +173 -0
  131. package/dist/types.js.map +1 -0
  132. package/dist/utils/html.js +12 -0
  133. package/dist/utils/html.js.map +1 -0
  134. package/dist/utils/index.js +10 -0
  135. package/dist/utils/index.js.map +1 -0
  136. package/dist/utils/log.js +14 -0
  137. package/dist/utils/log.js.map +1 -0
  138. package/dist/utils/threejs.js +44 -0
  139. package/dist/utils/threejs.js.map +1 -0
  140. package/dist/viral-viewer-api.js +76 -0
  141. package/dist/viral-viewer-api.js.map +1 -0
  142. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventDispatcher = void 0;
4
+ const types_1 = require("../../../types");
5
+ class EventDispatcher {
6
+ constructor() {
7
+ this.events = {
8
+ [types_1.ViralutionEvent.LOADED_SCENE]: [],
9
+ [types_1.ViralutionEvent.LOADED_MATERIAL_MANAGER]: [],
10
+ [types_1.ViralutionEvent.LOADED_RENDERER]: [],
11
+ [types_1.ViralutionEvent.LOADED_CAMERA]: [],
12
+ [types_1.ViralutionEvent.LOADED_CUBE]: [],
13
+ [types_1.ViralutionEvent.LOADED_TOOLS]: []
14
+ };
15
+ }
16
+ on(event, handler) {
17
+ if (!this.events[event]) {
18
+ this.events[event] = [];
19
+ }
20
+ this.events[event].push(handler);
21
+ }
22
+ off(event, handler) {
23
+ if (this.events[event]) {
24
+ this.events[event] = this.events[event].filter((h) => h !== handler);
25
+ }
26
+ }
27
+ emit(event, ...args) {
28
+ const handlers = this.events[event];
29
+ if (handlers) {
30
+ handlers.forEach((handler) => handler(...args));
31
+ }
32
+ }
33
+ }
34
+ exports.EventDispatcher = EventDispatcher;
35
+ //# sourceMappingURL=event-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-dispatcher.js","sourceRoot":"","sources":["../../../../src/components/event-handler/base/event-dispatcher.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAIjD,MAAa,eAAe;IAA5B;QACU,WAAM,GAA4C;YACxD,CAAC,uBAAe,CAAC,YAAY,CAAC,EAAE,EAAE;YAClC,CAAC,uBAAe,CAAC,uBAAuB,CAAC,EAAE,EAAE;YAC7C,CAAC,uBAAe,CAAC,eAAe,CAAC,EAAE,EAAE;YACrC,CAAC,uBAAe,CAAC,aAAa,CAAC,EAAE,EAAE;YACnC,CAAC,uBAAe,CAAC,WAAW,CAAC,EAAE,EAAE;YACjC,CAAC,uBAAe,CAAC,YAAY,CAAC,EAAE,EAAE;SACnC,CAAC;IAqBJ,CAAC;IAnBC,EAAE,CAAC,KAAsB,EAAE,OAAqB;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,KAAsB,EAAE,OAAqB;QAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;SACtE;IACH,CAAC;IAED,IAAI,CAAC,KAAsB,EAAE,GAAG,IAAW;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;CACF;AA7BD,0CA6BC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralKeyboard = void 0;
4
+ const __1 = require("../../..");
5
+ class ViralKeyboard {
6
+ constructor(viralViewerApi) {
7
+ this.viralViewerApi = viralViewerApi;
8
+ //#region Event Handler
9
+ this.keydownQueuedEvents = [];
10
+ this.keyupQueuedEvents = [];
11
+ this.setupKeyPress();
12
+ }
13
+ setupKeyPress() {
14
+ document.addEventListener("keydown", (event) => {
15
+ if (this.keydownQueuedEvents.length > 0) {
16
+ this.keydownQueuedEvents.forEach((element) => {
17
+ const [actionKey, callbackResolve] = element;
18
+ callbackResolve(event);
19
+ });
20
+ }
21
+ //#region Tools
22
+ if (this.viralViewerApi.viralTools &&
23
+ this.viralViewerApi.viralTools.viralToolMeasure.isActivated) {
24
+ this.viralViewerApi.viralTools.viralToolMeasure.onKeyPress(event);
25
+ }
26
+ //#endregion
27
+ });
28
+ document.addEventListener("keyup", (event) => {
29
+ if (this.keyupQueuedEvents.length > 0) {
30
+ this.keyupQueuedEvents.forEach((element) => {
31
+ const [actionKey, callbackResolve] = element;
32
+ callbackResolve(event);
33
+ });
34
+ }
35
+ //#region Tools
36
+ if (this.viralViewerApi.viralTools &&
37
+ this.viralViewerApi.viralTools.viralToolMeasure.isActivated) {
38
+ this.viralViewerApi.viralTools.viralToolMeasure.onKeyPress(event);
39
+ }
40
+ //#endregion
41
+ });
42
+ }
43
+ /**
44
+ *
45
+ * @param type Mouse type event
46
+ * @param key key of action
47
+ * @param resolve callback
48
+ */
49
+ addEventListener(type, key, resolve) {
50
+ switch (type) {
51
+ case __1.ViralKeyboardEventType.KEYDOWN:
52
+ this.keydownQueuedEvents.push([key, resolve]);
53
+ break;
54
+ case __1.ViralKeyboardEventType.KEYUP:
55
+ this.keyupQueuedEvents.push([key, resolve]);
56
+ break;
57
+ default:
58
+ break;
59
+ }
60
+ }
61
+ removeEventListener(type, key) {
62
+ switch (type) {
63
+ case __1.ViralKeyboardEventType.KEYDOWN:
64
+ {
65
+ let index = this.keydownQueuedEvents.findIndex((x) => x[0] == key);
66
+ this.keydownQueuedEvents.splice(index, 1);
67
+ }
68
+ break;
69
+ default:
70
+ break;
71
+ }
72
+ }
73
+ getAllEventListener() {
74
+ console.log(this.keydownQueuedEvents);
75
+ }
76
+ }
77
+ exports.ViralKeyboard = ViralKeyboard;
78
+ //# sourceMappingURL=viral-keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-keyboard.js","sourceRoot":"","sources":["../../../../src/components/event-handler/keyboard/viral-keyboard.ts"],"names":[],"mappings":";;;AAAA,gCAAkE;AAElE,MAAa,aAAa;IACxB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAuCjD,uBAAuB;QACf,wBAAmB,GAA6C,EAAE,CAAC;QACnE,sBAAiB,GAA6C,EAAE,CAAC;QAxCvE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC5D,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC3C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;oBAC7C,eAAe,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;aACJ;YACD,eAAe;YACf,IACE,IAAI,CAAC,cAAc,CAAC,UAAU;gBAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAC3D;gBACA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACnE;YACD,YAAY;QACd,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACzC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;oBAC7C,eAAe,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;aACJ;YACD,eAAe;YACf,IACE,IAAI,CAAC,cAAc,CAAC,UAAU;gBAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAC3D;gBACA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACnE;YACD,YAAY;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAKD;;;;;OAKG;IAEI,gBAAgB,CACrB,IAA4B,EAC5B,GAAW,EACX,OAAqC;QAErC,QAAQ,IAAI,EAAE;YACZ,KAAK,0BAAsB,CAAC,OAAO;gBACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,0BAAsB,CAAC,KAAK;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,mBAAmB,CAAC,IAA4B,EAAE,GAAW;QAClE,QAAQ,IAAI,EAAE;YACZ,KAAK,0BAAsB,CAAC,OAAO;gBACjC;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBACnE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC3C;gBACD,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,mBAAmB;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxC,CAAC;CAEF;AApFD,sCAoFC"}
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ViralMouse = void 0;
13
+ const three_1 = require("three");
14
+ const types_1 = require("../../../types");
15
+ class ViralMouse {
16
+ constructor(viralViewerApi) {
17
+ this.viralViewerApi = viralViewerApi;
18
+ this.position = new three_1.Vector2();
19
+ this.rawPosition = new three_1.Vector2();
20
+ this.mouseMoveQueuedEvents = [];
21
+ this.mouseDownLeftQueuedEvents = [];
22
+ this.mouseUpLeftQueuedEvents = [];
23
+ this.mouseDownRightQueuedEvents = [];
24
+ this.mouseUpRightQueuedEvents = [];
25
+ //#endregion
26
+ //#region Hover
27
+ this.hoverMeshes = [];
28
+ this.handleClick = (_event) => __awaiter(this, void 0, void 0, function* () {
29
+ var _a, _b;
30
+ if (this.viralViewerApi) {
31
+ if (_event.button == 0) {
32
+ if (this.mouseDownLeftQueuedEvents.length > 0) {
33
+ this.mouseDownLeftQueuedEvents.forEach((element) => {
34
+ const [actionKey, callbackResolve] = element;
35
+ callbackResolve(_event);
36
+ });
37
+ }
38
+ let result = this.viralViewerApi.viralCamera.clientToWorld();
39
+ if (result && result.length > 0) {
40
+ let object = this.viralViewerApi.viralScene.getObjectByName("Viral Pivot Point");
41
+ if (object) {
42
+ object.position.copy(result[0].point);
43
+ object.visible = true;
44
+ }
45
+ this.viralViewerApi.viralRenderer.render();
46
+ (_a = this.viralViewerApi.viralCamera.camera) === null || _a === void 0 ? void 0 : _a.updateMatrixWorld();
47
+ (_b = this.viralViewerApi.viralCamera.cameraControls) === null || _b === void 0 ? void 0 : _b.setOrbitPoint(result[0].point.x, result[0].point.y, result[0].point.z);
48
+ //#region Tools
49
+ if (this.viralViewerApi.viralTools &&
50
+ this.viralViewerApi.viralTools.viralToolMeasure.isActivated) {
51
+ this.viralViewerApi.viralTools.viralToolMeasure.onMouseClick(this.position);
52
+ }
53
+ if (this.viralViewerApi.viralTools &&
54
+ this.viralViewerApi.viralTools.viralToolElevation.isActivated) {
55
+ this.viralViewerApi.viralTools.viralToolElevation.onMouseClick(this.position);
56
+ }
57
+ //#endregion
58
+ }
59
+ }
60
+ if (_event.button == 2) {
61
+ if (this.mouseDownRightQueuedEvents.length > 0) {
62
+ this.mouseDownRightQueuedEvents.forEach((element) => {
63
+ const [actionKey, callbackResolve] = element;
64
+ callbackResolve(_event);
65
+ });
66
+ }
67
+ }
68
+ }
69
+ });
70
+ this.handleMouseUp = (_event) => __awaiter(this, void 0, void 0, function* () {
71
+ if (this.viralViewerApi) {
72
+ if (_event.button == 0) {
73
+ let object = this.viralViewerApi.viralScene.getObjectByName("Viral Pivot Point");
74
+ if (object) {
75
+ object.visible = false;
76
+ }
77
+ if (this.mouseUpLeftQueuedEvents.length > 0) {
78
+ this.mouseUpLeftQueuedEvents.forEach((element) => {
79
+ const [actionKey, callbackResolve] = element;
80
+ callbackResolve(_event);
81
+ });
82
+ }
83
+ }
84
+ if (_event.button == 2) {
85
+ if (this.mouseUpRightQueuedEvents.length > 0) {
86
+ this.mouseUpRightQueuedEvents.forEach((element) => {
87
+ const [actionKey, callbackResolve] = element;
88
+ callbackResolve(_event);
89
+ });
90
+ }
91
+ }
92
+ }
93
+ });
94
+ this.setupMousePositionUpdate(this.viralViewerApi.viralRenderer.renderer.domElement);
95
+ this.setupMouseDown(this.viralViewerApi.viralRenderer.renderer.domElement);
96
+ this.setupMouseUp(this.viralViewerApi.viralRenderer.renderer.domElement);
97
+ }
98
+ setupMousePositionUpdate(domElement) {
99
+ domElement.onmousemove = (event) => {
100
+ this.rawPosition.x = event.clientX;
101
+ this.rawPosition.y = event.clientY;
102
+ const bounds = domElement.getBoundingClientRect();
103
+ // this.position.x = ((event.clientX - bounds.left) / (bounds.right - bounds.left)) * 2 - 1;
104
+ // this.position.y = -((event.clientY - bounds.top) / (bounds.bottom - bounds.top)) * 2 + 1;
105
+ // this.position.x = ((event.clientX - bounds.left) / (bounds.width)) * 2 - 1;
106
+ // this.position.y = -((event.clientY - bounds.top) / (bounds.height)) * 2 + 1;
107
+ this.position.x =
108
+ ((event.clientX - bounds.left) / (bounds.width - bounds.left)) * 2 - 1;
109
+ this.position.y =
110
+ -((event.clientY - bounds.top) / (bounds.bottom - bounds.top)) * 2 + 1;
111
+ // this.hover();
112
+ if (this.mouseMoveQueuedEvents.length > 0) {
113
+ this.mouseMoveQueuedEvents.forEach((element) => {
114
+ const [actionKey, callbackResolve] = element;
115
+ callbackResolve(this.position);
116
+ });
117
+ }
118
+ //#region Tools
119
+ if (this.viralViewerApi.viralTools &&
120
+ this.viralViewerApi.viralTools.viralToolElevation.isActivated) {
121
+ this.viralViewerApi.viralTools.viralToolElevation.onMouseMove(this.position);
122
+ }
123
+ if (this.viralViewerApi.viralTools &&
124
+ this.viralViewerApi.viralTools.viralToolMeasure.isActivated) {
125
+ this.viralViewerApi.viralTools.viralToolMeasure.onMouseMove(this.position);
126
+ }
127
+ //#endregion
128
+ };
129
+ }
130
+ //#region Mouse Event Handler
131
+ /**
132
+ *
133
+ * @param type Mouse type event
134
+ * @param key key of action
135
+ * @param resolve callback
136
+ */
137
+ addEventListener(type, key, resolve) {
138
+ switch (type) {
139
+ case types_1.ViralMouseEventType.ON_MOUSE_MOVE:
140
+ this.mouseMoveQueuedEvents.push([key, resolve]);
141
+ break;
142
+ case types_1.ViralMouseEventType.ON_MOUSE_DOWN_LEFT:
143
+ this.mouseDownLeftQueuedEvents.push([key, resolve]);
144
+ break;
145
+ case types_1.ViralMouseEventType.ON_MOUSE_UP_LEFT:
146
+ this.mouseUpLeftQueuedEvents.push([key, resolve]);
147
+ break;
148
+ case types_1.ViralMouseEventType.ON_MOUSE_DOWN_RIGHT:
149
+ this.mouseDownRightQueuedEvents.push([key, resolve]);
150
+ break;
151
+ case types_1.ViralMouseEventType.ON_MOUSE_UP_RIGHT:
152
+ this.mouseUpRightQueuedEvents.push([key, resolve]);
153
+ break;
154
+ default:
155
+ break;
156
+ }
157
+ }
158
+ removeEventListener(type, key) {
159
+ switch (type) {
160
+ case types_1.ViralMouseEventType.ON_MOUSE_MOVE:
161
+ {
162
+ let index = this.mouseMoveQueuedEvents.findIndex((x) => x[0] == key);
163
+ this.mouseMoveQueuedEvents.splice(index, 1);
164
+ }
165
+ break;
166
+ case types_1.ViralMouseEventType.ON_MOUSE_DOWN_LEFT:
167
+ {
168
+ let index = this.mouseDownLeftQueuedEvents.findIndex((x) => x[0] == key);
169
+ this.mouseDownLeftQueuedEvents.splice(index, 1);
170
+ }
171
+ break;
172
+ case types_1.ViralMouseEventType.ON_MOUSE_UP_LEFT:
173
+ {
174
+ let index = this.mouseUpLeftQueuedEvents.findIndex((x) => x[0] == key);
175
+ this.mouseUpLeftQueuedEvents.splice(index, 1);
176
+ }
177
+ break;
178
+ case types_1.ViralMouseEventType.ON_MOUSE_DOWN_RIGHT:
179
+ {
180
+ let index = this.mouseDownRightQueuedEvents.findIndex((x) => x[0] == key);
181
+ this.mouseDownRightQueuedEvents.splice(index, 1);
182
+ }
183
+ break;
184
+ case types_1.ViralMouseEventType.ON_MOUSE_UP_RIGHT:
185
+ {
186
+ let index = this.mouseUpRightQueuedEvents.findIndex((x) => x[0] == key);
187
+ this.mouseUpRightQueuedEvents.splice(index, 1);
188
+ }
189
+ break;
190
+ default:
191
+ break;
192
+ }
193
+ }
194
+ getAllEventListener() {
195
+ console.log(this.mouseMoveQueuedEvents);
196
+ console.log(this.mouseUpLeftQueuedEvents);
197
+ console.log(this.mouseDownLeftQueuedEvents);
198
+ console.log(this.mouseUpRightQueuedEvents);
199
+ console.log(this.mouseDownRightQueuedEvents);
200
+ }
201
+ hover() {
202
+ if (this.viralViewerApi) {
203
+ let result = this.viralViewerApi.viralCamera.clientToWorld();
204
+ if (result && result.length > 0) {
205
+ let mesh = result[0];
206
+ if (mesh.object instanceof three_1.Mesh) {
207
+ mesh.object.material.userData.oldColor = mesh.object.material.color;
208
+ mesh.object.material.color.set(Math.random() * 0xffffff);
209
+ this.hoverMeshes.push(mesh.object);
210
+ this.viralViewerApi.viralRenderer.render();
211
+ return;
212
+ }
213
+ }
214
+ this.reverseColor();
215
+ }
216
+ }
217
+ reverseColor() {
218
+ if (this.hoverMeshes.length == 0)
219
+ return;
220
+ for (let index = 0; index < this.hoverMeshes.length; index++) {
221
+ const element = this.hoverMeshes[index];
222
+ element.material.color.set(element.material.userData.oldColor);
223
+ }
224
+ this.hoverMeshes = [];
225
+ this.viralViewerApi.viralRenderer.render();
226
+ }
227
+ //#endregion
228
+ //#region Mouse Down
229
+ setupMouseDown(domElement) {
230
+ domElement.onmousedown = this.handleClick;
231
+ }
232
+ //#endregion
233
+ //#region Mouse Up
234
+ setupMouseUp(domElement) {
235
+ domElement.onmouseup = this.handleMouseUp;
236
+ }
237
+ }
238
+ exports.ViralMouse = ViralMouse;
239
+ //# sourceMappingURL=viral-mouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-mouse.js","sourceRoot":"","sources":["../../../../src/components/event-handler/mouse/viral-mouse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsC;AAEtC,0CAAqD;AAErD,MAAa,UAAU;IASrB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QARjD,aAAQ,GAAG,IAAI,eAAO,EAAE,CAAC;QACzB,gBAAW,GAAG,IAAI,eAAO,EAAE,CAAC;QACpB,0BAAqB,GAAsC,EAAE,CAAC;QAC9D,8BAAyB,GAAsC,EAAE,CAAC;QAClE,4BAAuB,GAAsC,EAAE,CAAC;QAChE,+BAA0B,GAAsC,EAAE,CAAC;QACnE,6BAAwB,GAAsC,EAAE,CAAC;QA2IzE,YAAY;QAEZ,eAAe;QACP,gBAAW,GAAqB,EAAE,CAAC;QAkCnC,gBAAW,GAAG,CAAO,MAAkB,EAAE,EAAE;;YACjD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtB,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BACjD,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;4BAC7C,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,CAAC;qBACJ;oBACD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;oBAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,IAAI,MAAM,GACR,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;wBACtE,IAAI,MAAM,EAAE;4BACV,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;yBACvB;wBACD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;wBAC3C,MAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,0CAAE,iBAAiB,EAAE,CAAC;wBAC5D,MAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,0CAAE,aAAa,CAC3D,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EACjB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EACjB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAClB,CAAC;wBAEF,eAAe;wBACf,IACE,IAAI,CAAC,cAAc,CAAC,UAAU;4BAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAC3D;4BACA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAC1D,IAAI,CAAC,QAAQ,CACd,CAAC;yBACH;wBACD,IACE,IAAI,CAAC,cAAc,CAAC,UAAU;4BAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAC7D;4BACA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAC5D,IAAI,CAAC,QAAQ,CACd,CAAC;yBACH;wBACD,YAAY;qBACb;iBACF;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtB,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9C,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BAClD,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;4BAC7C,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,CAAC;qBACJ;iBACF;aACF;QACH,CAAC,CAAA,CAAC;QAOM,kBAAa,GAAG,CAAO,MAAkB,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtB,IAAI,MAAM,GACR,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;oBACtE,IAAI,MAAM,EAAE;wBACV,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;qBACxB;oBACD,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC3C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BAC/C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;4BAC7C,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,CAAC;qBACJ;iBACF;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtB,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BAChD,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;4BAC7C,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC1B,CAAC,CAAC,CAAC;qBACJ;iBACF;aACF;QACH,CAAC,CAAA,CAAC;QAlQA,IAAI,CAAC,wBAAwB,CAC3B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CACtD,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAEO,wBAAwB,CAAC,UAA6B;QAC5D,UAAU,CAAC,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7C,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,MAAM,MAAM,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAClD,4FAA4F;YAC5F,4FAA4F;YAC5F,8EAA8E;YAC9E,+EAA+E;YAC/E,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACb,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACb,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzE,gBAAgB;YAEhB,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC;oBAC7C,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;aACJ;YAED,eAAe;YACf,IACE,IAAI,CAAC,cAAc,CAAC,UAAU;gBAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAC7D;gBACA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAC3D,IAAI,CAAC,QAAQ,CACd,CAAC;aACH;YACD,IACE,IAAI,CAAC,cAAc,CAAC,UAAU;gBAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAC3D;gBACA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CACzD,IAAI,CAAC,QAAQ,CACd,CAAC;aACH;YACD,YAAY;QACd,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B;;;;;OAKG;IAEI,gBAAgB,CACrB,IAAyB,EACzB,GAAW,EACX,OAA8B;QAE9B,QAAQ,IAAI,EAAE;YACZ,KAAK,2BAAmB,CAAC,aAAa;gBACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,2BAAmB,CAAC,kBAAkB;gBACzC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,2BAAmB,CAAC,gBAAgB;gBACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,2BAAmB,CAAC,mBAAmB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,2BAAmB,CAAC,iBAAiB;gBACxC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnD,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,mBAAmB,CAAC,IAAyB,EAAE,GAAW;QAC/D,QAAQ,IAAI,EAAE;YACZ,KAAK,2BAAmB,CAAC,aAAa;gBACpC;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBACrE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC7C;gBACD,MAAM;YACR,KAAK,2BAAmB,CAAC,kBAAkB;gBACzC;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CACnB,CAAC;oBACF,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACjD;gBACD,MAAM;YACR,KAAK,2BAAmB,CAAC,gBAAgB;gBACvC;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CACnB,CAAC;oBACF,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC/C;gBACD,MAAM;YACR,KAAK,2BAAmB,CAAC,mBAAmB;gBAC1C;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CACnB,CAAC;oBACF,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAClD;gBACD,MAAM;YACR,KAAK,2BAAmB,CAAC,iBAAiB;gBACxC;oBACE,IAAI,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CACnB,CAAC;oBACF,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAChD;gBACD,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,mBAAmB;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC/C,CAAC;IAKO,KAAK;QACX,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,IAAI,CAAC,MAAM,YAAY,YAAI,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;oBACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC3C,OAAO;iBACR;aACF;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED,YAAY;IAEZ,oBAAoB;IACZ,cAAc,CAAC,UAAuB;QAC5C,UAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC7C,CAAC;IAwDD,YAAY;IAEZ,kBAAkB;IACV,YAAY,CAAC,UAAuB;QAC1C,UAAW,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;IAC7C,CAAC;CA2BF;AA9QD,gCA8QC"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralCentralizedEventHandler = void 0;
4
+ const types_1 = require("../../types");
5
+ const icons_1 = require("../../const/icons");
6
+ const colors_1 = require("../../const/colors");
7
+ class ViralCentralizedEventHandler {
8
+ constructor(viralViewerApi) {
9
+ this.viralViewerApi = viralViewerApi;
10
+ //#region Context Menu
11
+ this.elementProperties = {};
12
+ //#endregion
13
+ //#region Keyboard
14
+ this.isShiftPressed = false;
15
+ this.windowHandler();
16
+ this.contextMenuEventHandler();
17
+ this.hoverElementHandler();
18
+ this.selectElementHandler();
19
+ this.keyboardHandler();
20
+ // this.cameraHandler();
21
+ this._visibilityManager = this.viralViewerApi.viralVisibilityManager;
22
+ }
23
+ contextMenuEventHandler() {
24
+ if (this.viralViewerApi.viralContextMenu) {
25
+ this.viralViewerApi.viralContextMenu.addContextItem(0, "Show all elements", icons_1.Icons.showAll(undefined, colors_1.LightTheme.primary), (result) => {
26
+ this._visibilityManager.showAll();
27
+ this.viralViewerApi.viralContextMenu.hideContextMenu();
28
+ });
29
+ this.viralViewerApi.viralContextMenu.addContextItem(1, "Isolate", icons_1.Icons.isolate(undefined, colors_1.LightTheme.primary), (result) => {
30
+ this._visibilityManager.isolate();
31
+ this.viralViewerApi.viralContextMenu.hideContextMenu();
32
+ });
33
+ this.viralViewerApi.viralContextMenu.addContextItem(2, "Hide", icons_1.Icons.hide(undefined, colors_1.LightTheme.primary), (result) => {
34
+ this._visibilityManager.hide();
35
+ this.viralViewerApi.viralContextMenu.hideContextMenu();
36
+ });
37
+ this.viralViewerApi.viralContextMenu.addContextItem(3, "Focus", icons_1.Icons.focus(undefined, colors_1.LightTheme.primary), (result) => {
38
+ this.viralViewerApi.viralContextMenu.hideContextMenu();
39
+ });
40
+ this.viralViewerApi.viralContextMenu.addContextItem(4, "Properties", icons_1.Icons.properties(undefined, colors_1.LightTheme.secondary), (result) => {
41
+ this.viralViewerApi.viralDraggableModal.show();
42
+ this.viralViewerApi.viralContextMenu.hideContextMenu();
43
+ });
44
+ }
45
+ if (this.viralViewerApi.viralMouse) {
46
+ this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_DOWN_RIGHT, "ShowContextMenu", (result) => {
47
+ this.viralViewerApi.viralContextMenu.showContextMenu(result.offsetY, result.offsetX, [0, 1, 2, 3, 4]);
48
+ });
49
+ this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_DOWN_LEFT, "HideContextMenu", (result) => {
50
+ this.viralViewerApi.viralContextMenu.hideContextMenu();
51
+ });
52
+ }
53
+ }
54
+ //#endregion
55
+ //#region Camera
56
+ cameraHandler() {
57
+ if (this.viralViewerApi.viralCamera) {
58
+ this.viralViewerApi.viralCamera.addEventListener(types_1.ViralCameraEventType.ON_WAKE, "hide objects", () => {
59
+ for (let index = 0; index < this.viralViewerApi.viralScene.hideables.length; index++) {
60
+ const object = this.viralViewerApi.viralScene.hideables[index];
61
+ object.visible = false;
62
+ }
63
+ this.viralViewerApi.viralRenderer.render();
64
+ });
65
+ this.viralViewerApi.viralCamera.addEventListener(types_1.ViralCameraEventType.ON_SLEEP, "unhide objects", () => {
66
+ for (let index = 0; index < this.viralViewerApi.viralScene.hideables.length; index++) {
67
+ const object = this.viralViewerApi.viralScene.hideables[index];
68
+ object.visible = true;
69
+ }
70
+ this.viralViewerApi.viralRenderer.render();
71
+ });
72
+ }
73
+ }
74
+ //#endregion
75
+ //#region Window
76
+ windowHandler() {
77
+ window.onresize = () => {
78
+ this.viralViewerApi.viralCamera.resizeCanvas();
79
+ };
80
+ }
81
+ //#endregion
82
+ //#region Hover Element Handler
83
+ hoverElementHandler() {
84
+ const debouncedHandler = new types_1.DebouncedEventHandler(15, (evt) => {
85
+ var _a, _b;
86
+ this._visibilityManager.reverseColor();
87
+ //execute only when camera stop moving
88
+ if (!((_a = this.viralViewerApi) === null || _a === void 0 ? void 0 : _a.viralCamera.onUsing)) {
89
+ let intersects = this.viralViewerApi.viralCamera.clientToWorld();
90
+ // console.log(intersects)
91
+ if (intersects && intersects.length > 0) {
92
+ let intersect = intersects[0];
93
+ if ((intersect === null || intersect === void 0 ? void 0 : intersect.instanceId) != null) {
94
+ let instancedMesh = intersect.object;
95
+ instancedMesh.hoverAts([intersect.instanceId], this.viralViewerApi.viralMaterialManager.hoverMaterial);
96
+ this._visibilityManager.hoverInstancedMesh = instancedMesh;
97
+ this.viralViewerApi.viralRenderer.render();
98
+ return;
99
+ }
100
+ if (intersect.object &&
101
+ intersect.object.userData &&
102
+ intersect.object.userData.Type == 1) {
103
+ let mesh = intersect.object;
104
+ if (!((_b = mesh.userData) === null || _b === void 0 ? void 0 : _b.originalMaterial)) {
105
+ mesh.userData.originalMaterial = Array.isArray(mesh.material)
106
+ ? mesh.material.map((x) => x.clone())
107
+ : mesh.material.clone();
108
+ }
109
+ mesh.material =
110
+ this.viralViewerApi.viralMaterialManager.hoverMaterial;
111
+ this._visibilityManager.hoverMeshes.push(mesh);
112
+ // let edgeGeometry = new EdgesGeometry(mesh.geometry, 90);
113
+ // let o = new LineSegments(edgeGeometry, lineMaterial);
114
+ // this.hoverLineSegment.push(o);
115
+ this.viralViewerApi.viralRenderer.render();
116
+ return;
117
+ }
118
+ }
119
+ }
120
+ });
121
+ this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_MOVE, "HoverElement", (result) => {
122
+ debouncedHandler.handleEvent(result);
123
+ });
124
+ }
125
+ //#endregion
126
+ //#region Select Element Handler
127
+ selectElementHandler() {
128
+ this.viralViewerApi.viralMouse.addEventListener(types_1.ViralMouseEventType.ON_MOUSE_DOWN_LEFT, "SelectElement", (result) => {
129
+ /**
130
+ * reverse material, in case pressing shift will ignore
131
+ */
132
+ var _a;
133
+ this._visibilityManager.reverseSelectedColor();
134
+ let intersects = this.viralViewerApi.viralCamera.clientToWorld();
135
+ if (intersects && intersects.length > 0) {
136
+ let intersect = intersects[0];
137
+ //in case instanced mesh
138
+ if ((intersect === null || intersect === void 0 ? void 0 : intersect.instanceId) != null) {
139
+ let instancedMesh = intersect.object;
140
+ let uniqueId = instancedMesh.userData.Instances[intersect === null || intersect === void 0 ? void 0 : intersect.instanceId];
141
+ this.viralViewerApi.viralDraggableModal.updateModalContent(uniqueId);
142
+ instancedMesh.selectAts([intersect.instanceId], this.viralViewerApi.viralMaterialManager.selectedMaterial);
143
+ if (this._visibilityManager.selectedInstancedMeshes.findIndex((x) => x.id == instancedMesh.id) < 0)
144
+ this._visibilityManager.selectedInstancedMeshes.push(instancedMesh);
145
+ this.viralViewerApi.viralRenderer.render();
146
+ return;
147
+ }
148
+ //normal object
149
+ if (intersect.object &&
150
+ intersect.object.userData &&
151
+ intersect.object.userData.Type == 1) {
152
+ let mesh = intersect.object;
153
+ //update element properties modal
154
+ let uniqueId = (_a = mesh.userData) === null || _a === void 0 ? void 0 : _a.Id;
155
+ this.viralViewerApi.viralDraggableModal.updateModalContent(uniqueId);
156
+ if (!mesh.userData.originalMaterial) {
157
+ mesh.userData.originalMaterial = Array.isArray(mesh.material)
158
+ ? mesh.material.map((x) => x.clone())
159
+ : mesh.material.clone();
160
+ }
161
+ mesh.material =
162
+ this.viralViewerApi.viralMaterialManager.selectedMaterial;
163
+ this._visibilityManager.selectedMeshes.push(mesh);
164
+ this.viralViewerApi.viralRenderer.render();
165
+ return;
166
+ }
167
+ }
168
+ });
169
+ }
170
+ keyboardHandler() {
171
+ if (this.viralViewerApi.viralKeyboard) {
172
+ this.viralViewerApi.viralKeyboard.addEventListener(types_1.ViralKeyboardEventType.KEYUP, "KeyUp", (result) => {
173
+ if (result.shiftKey == false) {
174
+ this.isShiftPressed = false;
175
+ }
176
+ });
177
+ this.viralViewerApi.viralKeyboard.addEventListener(types_1.ViralKeyboardEventType.KEYDOWN, "KeyDown", (result) => {
178
+ if (result.shiftKey) {
179
+ this.isShiftPressed = true;
180
+ }
181
+ });
182
+ }
183
+ }
184
+ }
185
+ exports.ViralCentralizedEventHandler = ViralCentralizedEventHandler;
186
+ //# sourceMappingURL=viral-centralized-event-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-centralized-event-handler.js","sourceRoot":"","sources":["../../../src/components/event-handler/viral-centralized-event-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralLifecycleEventHandler = void 0;
4
+ const types_1 = require("../../types");
5
+ const log_1 = require("../../utils/log");
6
+ class ViralLifecycleEventHandler {
7
+ constructor(eventDispatcher, options) {
8
+ this.eventDispatcher = eventDispatcher;
9
+ this.options = options;
10
+ this.eventDispatcher.on(types_1.ViralutionEvent.LOADED_SCENE, () => this.loadedScene());
11
+ this.eventDispatcher.on(types_1.ViralutionEvent.LOADED_MATERIAL_MANAGER, () => this.loadedMaterialManager());
12
+ this.eventDispatcher.on(types_1.ViralutionEvent.LOADED_RENDERER, () => this.loadedRenderer());
13
+ this.eventDispatcher.on(types_1.ViralutionEvent.LOADED_CAMERA, () => this.loadedCamera());
14
+ this.eventDispatcher.on(types_1.ViralutionEvent.LOADED_CUBE, () => this.loadedCube());
15
+ this.eventDispatcher.on(types_1.ViralutionEvent.LOADED_TOOLS, () => this.loadedTools());
16
+ }
17
+ loadedScene() {
18
+ if (this.options.isDev) {
19
+ log_1.LogUtil.information("scene loaded!");
20
+ }
21
+ this.eventDispatcher.off(types_1.ViralutionEvent.LOADED_SCENE, () => this.loadedScene());
22
+ }
23
+ loadedMaterialManager() {
24
+ if (this.options.isDev) {
25
+ log_1.LogUtil.information("material manager loaded!");
26
+ }
27
+ this.eventDispatcher.off(types_1.ViralutionEvent.LOADED_MATERIAL_MANAGER, () => this.loadedMaterialManager());
28
+ }
29
+ loadedRenderer() {
30
+ if (this.options.isDev) {
31
+ log_1.LogUtil.information("renderer loaded!");
32
+ }
33
+ this.eventDispatcher.off(types_1.ViralutionEvent.LOADED_RENDERER, () => this.loadedRenderer());
34
+ }
35
+ loadedCamera() {
36
+ if (this.options.isDev) {
37
+ log_1.LogUtil.information("camera loaded!");
38
+ }
39
+ this.eventDispatcher.off(types_1.ViralutionEvent.LOADED_CAMERA, () => this.loadedCamera());
40
+ }
41
+ loadedCube() {
42
+ if (this.options.isDev) {
43
+ log_1.LogUtil.information("cube loaded!");
44
+ }
45
+ this.eventDispatcher.off(types_1.ViralutionEvent.LOADED_CUBE, () => this.loadedCube());
46
+ }
47
+ loadedTools() {
48
+ if (this.options.isDev) {
49
+ log_1.LogUtil.information("tools loaded!");
50
+ }
51
+ this.eventDispatcher.off(types_1.ViralutionEvent.LOADED_TOOLS, () => this.loadedTools());
52
+ }
53
+ }
54
+ exports.ViralLifecycleEventHandler = ViralLifecycleEventHandler;
55
+ //# sourceMappingURL=viral-lifecycle-event-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-lifecycle-event-handler.js","sourceRoot":"","sources":["../../../src/components/event-handler/viral-lifecycle-event-handler.ts"],"names":[],"mappings":"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"}