viral-viewer-2 6.2.8 → 6.2.9

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 (293) hide show
  1. package/dist/index.mjs +41153 -0
  2. package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
  3. package/package.json +1 -1
  4. package/dist/components/animation/viral-animation.js +0 -71
  5. package/dist/components/animation/viral-animation.js.map +0 -1
  6. package/dist/components/bvh/viral-bvh.js +0 -19
  7. package/dist/components/bvh/viral-bvh.js.map +0 -1
  8. package/dist/components/camera/viral-camera.js +0 -207
  9. package/dist/components/camera/viral-camera.js.map +0 -1
  10. package/dist/components/centralized-event-handler/viral-centralized-event-handler.d.ts +0 -7
  11. package/dist/components/centralized-event-handler/viral-centralized-event-handler.js +0 -47
  12. package/dist/components/centralized-event-handler/viral-centralized-event-handler.js.map +0 -1
  13. package/dist/components/compress/compress.processor.d.ts +0 -4
  14. package/dist/components/compress/compress.processor.js +0 -29
  15. package/dist/components/compress/compress.processor.js.map +0 -1
  16. package/dist/components/compress/viral-compress.processor.js +0 -13
  17. package/dist/components/compress/viral-compress.processor.js.map +0 -1
  18. package/dist/components/context-menu/viral-context-menu.d.ts +0 -17
  19. package/dist/components/context-menu/viral-context-menu.js +0 -74
  20. package/dist/components/context-menu/viral-context-menu.js.map +0 -1
  21. package/dist/components/custom-objects/index.js +0 -6
  22. package/dist/components/custom-objects/index.js.map +0 -1
  23. package/dist/components/custom-objects/viral-instanced-mesh.js +0 -203
  24. package/dist/components/custom-objects/viral-instanced-mesh.js.map +0 -1
  25. package/dist/components/custom-objects/viral-mesh.js +0 -25
  26. package/dist/components/custom-objects/viral-mesh.js.map +0 -1
  27. package/dist/components/data-manager/viral-data-manager.js +0 -35
  28. package/dist/components/data-manager/viral-data-manager.js.map +0 -1
  29. package/dist/components/event-handler/base/event-dispatcher.js +0 -35
  30. package/dist/components/event-handler/base/event-dispatcher.js.map +0 -1
  31. package/dist/components/event-handler/keyboard/viral-keyboard.js +0 -78
  32. package/dist/components/event-handler/keyboard/viral-keyboard.js.map +0 -1
  33. package/dist/components/event-handler/mouse/viral-mouse.js +0 -239
  34. package/dist/components/event-handler/mouse/viral-mouse.js.map +0 -1
  35. package/dist/components/event-handler/viral-centralized-event-handler.js +0 -186
  36. package/dist/components/event-handler/viral-centralized-event-handler.js.map +0 -1
  37. package/dist/components/event-handler/viral-lifecycle-event-handler.js +0 -55
  38. package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +0 -1
  39. package/dist/components/keyboard/viral-keyboard.d.ts +0 -17
  40. package/dist/components/keyboard/viral-keyboard.js +0 -76
  41. package/dist/components/keyboard/viral-keyboard.js.map +0 -1
  42. package/dist/components/loader/viral-point-cloud.loader.js +0 -33
  43. package/dist/components/loader/viral-point-cloud.loader.js.map +0 -1
  44. package/dist/components/loader/viral-revit.loader.js +0 -339
  45. package/dist/components/loader/viral-revit.loader.js.map +0 -1
  46. package/dist/components/loader/viral-three.loader.js +0 -20
  47. package/dist/components/loader/viral-three.loader.js.map +0 -1
  48. package/dist/components/loader/viral-viewer-point-cloud.loader.d.ts +0 -16
  49. package/dist/components/loader/viral-viewer-point-cloud.loader.js +0 -33
  50. package/dist/components/loader/viral-viewer-point-cloud.loader.js.map +0 -1
  51. package/dist/components/loader/viral-viewer-revit.loader.d.ts +0 -13
  52. package/dist/components/loader/viral-viewer-revit.loader.js +0 -124
  53. package/dist/components/loader/viral-viewer-revit.loader.js.map +0 -1
  54. package/dist/components/loader/viral.loader.js +0 -16
  55. package/dist/components/loader/viral.loader.js.map +0 -1
  56. package/dist/components/material/viral-material-manager.js +0 -60
  57. package/dist/components/material/viral-material-manager.js.map +0 -1
  58. package/dist/components/mouse/viral-mouse.d.ts +0 -31
  59. package/dist/components/mouse/viral-mouse.js +0 -234
  60. package/dist/components/mouse/viral-mouse.js.map +0 -1
  61. package/dist/components/navigation-cube/components/cube-camera.d.ts +0 -15
  62. package/dist/components/navigation-cube/components/cube-camera.js +0 -74
  63. package/dist/components/navigation-cube/components/cube-camera.js.map +0 -1
  64. package/dist/components/navigation-cube/components/cube-renderer.d.ts +0 -9
  65. package/dist/components/navigation-cube/components/cube-renderer.js +0 -31
  66. package/dist/components/navigation-cube/components/cube-renderer.js.map +0 -1
  67. package/dist/components/navigation-cube/components/cube-scene.d.ts +0 -13
  68. package/dist/components/navigation-cube/components/cube-scene.js +0 -546
  69. package/dist/components/navigation-cube/components/cube-scene.js.map +0 -1
  70. package/dist/components/navigation-cube/components/cube.mouse.d.ts +0 -9
  71. package/dist/components/navigation-cube/components/cube.mouse.js +0 -109
  72. package/dist/components/navigation-cube/components/cube.mouse.js.map +0 -1
  73. package/dist/components/navigation-cube/viral-navigation-cube.d.ts +0 -16
  74. package/dist/components/navigation-cube/viral-navigation-cube.js +0 -50
  75. package/dist/components/navigation-cube/viral-navigation-cube.js.map +0 -1
  76. package/dist/components/post-processing/ambient-occlusion-effect.d.ts +0 -13
  77. package/dist/components/post-processing/ambient-occlusion-effect.js +0 -33
  78. package/dist/components/post-processing/ambient-occlusion-effect.js.map +0 -1
  79. package/dist/components/post-processing/bloom-effect.d.ts +0 -11
  80. package/dist/components/post-processing/bloom-effect.js +0 -29
  81. package/dist/components/post-processing/bloom-effect.js.map +0 -1
  82. package/dist/components/post-processing/outline-effect.d.ts +0 -13
  83. package/dist/components/post-processing/outline-effect.js +0 -33
  84. package/dist/components/post-processing/outline-effect.js.map +0 -1
  85. package/dist/components/post-processing/post-processing-renderer.js +0 -46
  86. package/dist/components/post-processing/post-processing-renderer.js.map +0 -1
  87. package/dist/components/renderer/viral-renderer.js +0 -55
  88. package/dist/components/renderer/viral-renderer.js.map +0 -1
  89. package/dist/components/scene/viral-scene.js +0 -131
  90. package/dist/components/scene/viral-scene.js.map +0 -1
  91. package/dist/components/spinner/viral-spinner.d.ts +0 -10
  92. package/dist/components/spinner/viral-spinner.js +0 -207
  93. package/dist/components/spinner/viral-spinner.js.map +0 -1
  94. package/dist/components/stats/viral-stats.js +0 -17
  95. package/dist/components/stats/viral-stats.js.map +0 -1
  96. package/dist/components/tools/tools/viral-tool-ambient-occlusion.d.ts +0 -7
  97. package/dist/components/tools/tools/viral-tool-ambient-occlusion.js +0 -16
  98. package/dist/components/tools/tools/viral-tool-ambient-occlusion.js.map +0 -1
  99. package/dist/components/tools/tools/viral-tool-dark-mode.d.ts +0 -7
  100. package/dist/components/tools/tools/viral-tool-dark-mode.js +0 -21
  101. package/dist/components/tools/tools/viral-tool-dark-mode.js.map +0 -1
  102. package/dist/components/tools/tools/viral-tool-elevation.d.ts +0 -11
  103. package/dist/components/tools/tools/viral-tool-elevation.js +0 -30
  104. package/dist/components/tools/tools/viral-tool-elevation.js.map +0 -1
  105. package/dist/components/tools/tools/viral-tool-measure.d.ts +0 -33
  106. package/dist/components/tools/tools/viral-tool-measure.js +0 -243
  107. package/dist/components/tools/tools/viral-tool-measure.js.map +0 -1
  108. package/dist/components/tools/tools/viral-tool-sunlight.d.ts +0 -7
  109. package/dist/components/tools/tools/viral-tool-sunlight.js +0 -46
  110. package/dist/components/tools/tools/viral-tool-sunlight.js.map +0 -1
  111. package/dist/components/tools/viral-tools.d.ts +0 -32
  112. package/dist/components/tools/viral-tools.js +0 -213
  113. package/dist/components/tools/viral-tools.js.map +0 -1
  114. package/dist/components/visibility-manager/viral-visibility-manager.js +0 -175
  115. package/dist/components/visibility-manager/viral-visibility-manager.js.map +0 -1
  116. package/dist/components/worker/base/worker-pool.js +0 -68
  117. package/dist/components/worker/base/worker-pool.js.map +0 -1
  118. package/dist/components/worker/base/worker-thread.js +0 -35
  119. package/dist/components/worker/base/worker-thread.js.map +0 -1
  120. package/dist/components/worker/fetch-data.worker.js +0 -31
  121. package/dist/components/worker/fetch-data.worker.js.map +0 -1
  122. package/dist/components/worker/load-element-by-material-v2.worker.js +0 -80
  123. package/dist/components/worker/load-element-by-material-v2.worker.js.map +0 -1
  124. package/dist/components/worker/load-element-by-material.worker.js +0 -59
  125. package/dist/components/worker/load-element-by-material.worker.js.map +0 -1
  126. package/dist/components/worker/load-element-standalone.worker.js +0 -109
  127. package/dist/components/worker/load-element-standalone.worker.js.map +0 -1
  128. package/dist/components/worker/load-model.d.ts +0 -126
  129. package/dist/components/worker/load-model.js +0 -1265
  130. package/dist/components/worker/load-model.js.map +0 -1
  131. package/dist/components/worker/test-worker-pool.d.ts +0 -6
  132. package/dist/components/worker/test-worker-pool.js +0 -21
  133. package/dist/components/worker/test-worker-pool.js.map +0 -1
  134. package/dist/components/worker/viral-viewer-2.worker.js +0 -127
  135. package/dist/components/worker/viral-viewer-2.worker.js.map +0 -1
  136. package/dist/components/worker/viral-viewer-3.worker.js +0 -82
  137. package/dist/components/worker/viral-viewer-3.worker.js.map +0 -1
  138. package/dist/components/worker/viral-viewer-4.worker.d.ts +0 -10
  139. package/dist/components/worker/viral-viewer-4.worker.js +0 -97
  140. package/dist/components/worker/viral-viewer-4.worker.js.map +0 -1
  141. package/dist/components/worker/viral-viewer.worker-pool.d.ts +0 -0
  142. package/dist/components/worker/viral-viewer.worker-pool.js +0 -61
  143. package/dist/components/worker/viral-viewer.worker-pool.js.map +0 -1
  144. package/dist/components/worker/viral-viewer.worker.js +0 -107
  145. package/dist/components/worker/viral-viewer.worker.js.map +0 -1
  146. package/dist/components/worker/worker-pool.d.ts +0 -21
  147. package/dist/components/worker/worker-pool.js +0 -47
  148. package/dist/components/worker/worker-pool.js.map +0 -1
  149. package/dist/components/worker/worker-thread.d.ts +0 -9
  150. package/dist/components/worker/worker-thread.js +0 -30
  151. package/dist/components/worker/worker-thread.js.map +0 -1
  152. package/dist/components/worker-script/fetch-data-worker.script.js +0 -56
  153. package/dist/components/worker-script/fetch-data-worker.script.js.map +0 -1
  154. package/dist/components/worker-script/load-element-by-material.script.js +0 -131
  155. package/dist/components/worker-script/load-element-by-material.script.js.map +0 -1
  156. package/dist/components/worker-script/load-element-standalone.script.js +0 -34172
  157. package/dist/components/worker-script/load-element-standalone.script.js.map +0 -1
  158. package/dist/components/worker-script/load-model-worker-2.script.js +0 -2704
  159. package/dist/components/worker-script/load-model-worker-2.script.js.map +0 -1
  160. package/dist/components/worker-script/load-model-worker-3.script.d.ts +0 -1
  161. package/dist/components/worker-script/load-model-worker-3.script.js +0 -34170
  162. package/dist/components/worker-script/load-model-worker-3.script.js.map +0 -1
  163. package/dist/components/worker-script/load-model-worker.script.js +0 -148
  164. package/dist/components/worker-script/load-model-worker.script.js.map +0 -1
  165. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js +0 -34152
  166. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js.map +0 -1
  167. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js +0 -127
  168. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js.map +0 -1
  169. package/dist/components/worker-script/test-worker-pool.script.d.ts +0 -1
  170. package/dist/components/worker-script/test-worker-pool.script.js +0 -12
  171. package/dist/components/worker-script/test-worker-pool.script.js.map +0 -1
  172. package/dist/components/worker-script/threejs.types.js +0 -34162
  173. package/dist/components/worker-script/threejs.types.js.map +0 -1
  174. package/dist/const/colors.js +0 -39
  175. package/dist/const/colors.js.map +0 -1
  176. package/dist/const/fonts.js +0 -17
  177. package/dist/const/fonts.js.map +0 -1
  178. package/dist/const/icons.js +0 -11
  179. package/dist/const/icons.js.map +0 -1
  180. package/dist/gui/context-menu/viral-context-menu.js +0 -78
  181. package/dist/gui/context-menu/viral-context-menu.js.map +0 -1
  182. package/dist/gui/draggable-modal/viral-draggable-modal.js +0 -167
  183. package/dist/gui/draggable-modal/viral-draggable-modal.js.map +0 -1
  184. package/dist/gui/fonts/fonts.js +0 -20
  185. package/dist/gui/fonts/fonts.js.map +0 -1
  186. package/dist/gui/navigation-cube/components/cube-camera.js +0 -74
  187. package/dist/gui/navigation-cube/components/cube-camera.js.map +0 -1
  188. package/dist/gui/navigation-cube/components/cube-renderer.js +0 -31
  189. package/dist/gui/navigation-cube/components/cube-renderer.js.map +0 -1
  190. package/dist/gui/navigation-cube/components/cube-scene.js +0 -546
  191. package/dist/gui/navigation-cube/components/cube-scene.js.map +0 -1
  192. package/dist/gui/navigation-cube/components/cube.mouse.js +0 -109
  193. package/dist/gui/navigation-cube/components/cube.mouse.js.map +0 -1
  194. package/dist/gui/navigation-cube/viral-navigation-cube.js +0 -50
  195. package/dist/gui/navigation-cube/viral-navigation-cube.js.map +0 -1
  196. package/dist/gui/spinner/viral-spinner.js +0 -102
  197. package/dist/gui/spinner/viral-spinner.js.map +0 -1
  198. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +0 -25
  199. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +0 -1
  200. package/dist/gui/tools/tools/viral-tool-dark-mode.js +0 -21
  201. package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +0 -1
  202. package/dist/gui/tools/tools/viral-tool-elevation.js +0 -30
  203. package/dist/gui/tools/tools/viral-tool-elevation.js.map +0 -1
  204. package/dist/gui/tools/tools/viral-tool-export-scene.js +0 -36
  205. package/dist/gui/tools/tools/viral-tool-export-scene.js.map +0 -1
  206. package/dist/gui/tools/tools/viral-tool-measure.js +0 -243
  207. package/dist/gui/tools/tools/viral-tool-measure.js.map +0 -1
  208. package/dist/gui/tools/tools/viral-tool-sunlight.js +0 -46
  209. package/dist/gui/tools/tools/viral-tool-sunlight.js.map +0 -1
  210. package/dist/gui/tools/viral-tools.js +0 -213
  211. package/dist/gui/tools/viral-tools.js.map +0 -1
  212. package/dist/index.js +0 -21
  213. package/dist/index.js.map +0 -1
  214. package/dist/models/dictionary.model.d.ts +0 -10
  215. package/dist/models/dictionary.model.js +0 -42
  216. package/dist/models/dictionary.model.js.map +0 -1
  217. package/dist/services/local-storage.service.js +0 -57
  218. package/dist/services/local-storage.service.js.map +0 -1
  219. package/dist/threejs-addon/buffer-geometry-utils.d.ts +0 -64
  220. package/dist/threejs-addon/buffer-geometry-utils.js +0 -807
  221. package/dist/threejs-addon/buffer-geometry-utils.js.map +0 -1
  222. package/dist/threejs-addon/gltf-loader.d.ts +0 -17
  223. package/dist/threejs-addon/gltf-loader.js +0 -2796
  224. package/dist/threejs-addon/gltf-loader.js.map +0 -1
  225. package/dist/threejs-addon/n8ao/n8ao.js +0 -1952
  226. package/dist/threejs-addon/n8ao/n8ao.js.map +0 -1
  227. package/dist/threejs-addon/n8ao/post-processing.js +0 -15145
  228. package/dist/threejs-addon/n8ao/post-processing.js.map +0 -1
  229. package/dist/threejs-addon/post-processing/effect-composer.d.ts +0 -27
  230. package/dist/threejs-addon/post-processing/effect-composer.js +0 -134
  231. package/dist/threejs-addon/post-processing/effect-composer.js.map +0 -1
  232. package/dist/threejs-addon/post-processing/mask-pass.d.ts +0 -11
  233. package/dist/threejs-addon/post-processing/mask-pass.js +0 -69
  234. package/dist/threejs-addon/post-processing/mask-pass.js.map +0 -1
  235. package/dist/threejs-addon/post-processing/outline-pass.d.ts +0 -58
  236. package/dist/threejs-addon/post-processing/outline-pass.js +0 -484
  237. package/dist/threejs-addon/post-processing/outline-pass.js.map +0 -1
  238. package/dist/threejs-addon/post-processing/output-pass.d.ts +0 -11
  239. package/dist/threejs-addon/post-processing/output-pass.js +0 -61
  240. package/dist/threejs-addon/post-processing/output-pass.js.map +0 -1
  241. package/dist/threejs-addon/post-processing/pass.d.ts +0 -20
  242. package/dist/threejs-addon/post-processing/pass.js +0 -48
  243. package/dist/threejs-addon/post-processing/pass.js.map +0 -1
  244. package/dist/threejs-addon/post-processing/render-pass.d.ts +0 -13
  245. package/dist/threejs-addon/post-processing/render-pass.js +0 -50
  246. package/dist/threejs-addon/post-processing/render-pass.js.map +0 -1
  247. package/dist/threejs-addon/post-processing/sao-pass.d.ts +0 -62
  248. package/dist/threejs-addon/post-processing/sao-pass.js +0 -296
  249. package/dist/threejs-addon/post-processing/sao-pass.js.map +0 -1
  250. package/dist/threejs-addon/post-processing/shader-pass.d.ts +0 -11
  251. package/dist/threejs-addon/post-processing/shader-pass.js +0 -48
  252. package/dist/threejs-addon/post-processing/shader-pass.js.map +0 -1
  253. package/dist/threejs-addon/post-processing/unreal-bloom-pass.d.ts +0 -48
  254. package/dist/threejs-addon/post-processing/unreal-bloom-pass.js +0 -290
  255. package/dist/threejs-addon/post-processing/unreal-bloom-pass.js.map +0 -1
  256. package/dist/threejs-addon/shaders/copy-shader.d.ts +0 -13
  257. package/dist/threejs-addon/shaders/copy-shader.js +0 -39
  258. package/dist/threejs-addon/shaders/copy-shader.js.map +0 -1
  259. package/dist/threejs-addon/shaders/depth-limited-blur-shader.d.ts +0 -48
  260. package/dist/threejs-addon/shaders/depth-limited-blur-shader.js +0 -142
  261. package/dist/threejs-addon/shaders/depth-limited-blur-shader.js.map +0 -1
  262. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.d.ts +0 -27
  263. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js +0 -56
  264. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js.map +0 -1
  265. package/dist/threejs-addon/shaders/output-shader.d.ts +0 -13
  266. package/dist/threejs-addon/shaders/output-shader.js +0 -72
  267. package/dist/threejs-addon/shaders/output-shader.js.map +0 -1
  268. package/dist/threejs-addon/shaders/sao-shader.d.ts +0 -71
  269. package/dist/threejs-addon/shaders/sao-shader.js +0 -180
  270. package/dist/threejs-addon/shaders/sao-shader.js.map +0 -1
  271. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.d.ts +0 -13
  272. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js +0 -41
  273. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js.map +0 -1
  274. package/dist/threejs-addon/simplify-modifier.d.ts +0 -4
  275. package/dist/threejs-addon/simplify-modifier.js +0 -325
  276. package/dist/threejs-addon/simplify-modifier.js.map +0 -1
  277. package/dist/threejs-addon/stats.js +0 -102
  278. package/dist/threejs-addon/stats.js.map +0 -1
  279. package/dist/threejs-addon/transform-control.d.ts +0 -74
  280. package/dist/threejs-addon/transform-control.js +0 -1033
  281. package/dist/threejs-addon/transform-control.js.map +0 -1
  282. package/dist/types.js +0 -173
  283. package/dist/types.js.map +0 -1
  284. package/dist/utils/html.js +0 -12
  285. package/dist/utils/html.js.map +0 -1
  286. package/dist/utils/index.js +0 -10
  287. package/dist/utils/index.js.map +0 -1
  288. package/dist/utils/log.js +0 -14
  289. package/dist/utils/log.js.map +0 -1
  290. package/dist/utils/threejs.js +0 -44
  291. package/dist/utils/threejs.js.map +0 -1
  292. package/dist/viral-viewer-api.js +0 -76
  293. package/dist/viral-viewer-api.js.map +0 -1
@@ -1,203 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViralInstancedMesh = void 0;
4
- const three_1 = require("three");
5
- const types_1 = require("../../types");
6
- class ViralInstancedMesh extends three_1.InstancedMesh {
7
- /**
8
- *
9
- * @param geometry geometry for instanced mesh
10
- * @param materials materials for instanced mesh, can be both 1 or array
11
- * @param count number of instance in mesh
12
- * @param _host share the same logic with parent, when we push temp mesh into scene, we must binding original viral instanced mesh to host to recall/ reprogress later
13
- */
14
- constructor(geometry, materials, count) {
15
- super(geometry, materials, count);
16
- this._originMesh = null;
17
- this._isOrigin = true;
18
- this.overrideHoverMeshes = [];
19
- this.overrideSelectMeshes = [];
20
- this._tempHoveredIndexs = [];
21
- this.hoveredIndexs = new types_1.Dictionary();
22
- this._tempSelectedIndexs = [];
23
- this.selectedIndexs = new types_1.Dictionary();
24
- }
25
- hideAts(indexs) {
26
- //check if current mesh is origin or not
27
- //if this is origin, cop to temp attributes first
28
- if (this._isOrigin) {
29
- this._originMesh = this.clone();
30
- this._originMesh.instanceColor = this.instanceColor;
31
- this._originMesh.instanceMatrix = this.instanceMatrix;
32
- this._isOrigin = false;
33
- }
34
- if (indexs.length > 0) {
35
- if (this.instanceColor != null) {
36
- let instanceColorArray = Array.from(this.instanceColor.array);
37
- for (let index = 0; index < indexs.length; index++) {
38
- const removedIndex = indexs[index] * this.instanceColor.itemSize -
39
- index * this.instanceColor.itemSize;
40
- instanceColorArray.splice(removedIndex, this.instanceColor.itemSize);
41
- }
42
- // update instance color
43
- this.instanceColor = new three_1.InstancedBufferAttribute(new Float32Array(instanceColorArray), this.instanceColor.itemSize);
44
- }
45
- if (this.instanceMatrix != null) {
46
- let instanceMatrixArray = Array.from(this.instanceMatrix.array);
47
- for (let index = 0; index < indexs.length; index++) {
48
- const removedIndex = indexs[index] * this.instanceMatrix.itemSize -
49
- index * this.instanceMatrix.itemSize;
50
- instanceMatrixArray.splice(removedIndex, this.instanceMatrix.itemSize);
51
- }
52
- // update instance matrix
53
- this.instanceMatrix = new three_1.InstancedBufferAttribute(new Float32Array(instanceMatrixArray), this.instanceMatrix.itemSize);
54
- }
55
- this.reverseIndex(true, true);
56
- }
57
- }
58
- hideObjects(reverseToOriginal = true) {
59
- if (reverseToOriginal) {
60
- this.reverseToOriginal(true, true);
61
- }
62
- this.hideAts(this.totalSelectedIndex());
63
- }
64
- isolateAts(indexs) {
65
- //check if current mesh is origin or not
66
- //if this is origin, cop to temp attributes first
67
- if (this._isOrigin) {
68
- this._originMesh = this.clone();
69
- this._originMesh.instanceColor = this.instanceColor;
70
- this._originMesh.instanceMatrix = this.instanceMatrix;
71
- this._isOrigin = false;
72
- }
73
- if (indexs.length > 0) {
74
- if (this.instanceColor != null) {
75
- let isolateInstanceColorArray = [];
76
- //get original instance color then remove later
77
- let instanceColorArray = Array.from(this.instanceColor.array);
78
- for (let index = 0; index < indexs.length; index++) {
79
- const startIndex = indexs[index] * this.instanceColor.itemSize;
80
- isolateInstanceColorArray = isolateInstanceColorArray.concat(instanceColorArray.slice(startIndex, startIndex + this.instanceColor.itemSize));
81
- }
82
- this.instanceColor = new three_1.InstancedBufferAttribute(new Float32Array(isolateInstanceColorArray), this.instanceColor.itemSize);
83
- }
84
- if (this.instanceMatrix != null) {
85
- let isolateInstanceMatrixArray = [];
86
- //get original instance matrix then remove later
87
- let instanceMatrixArray = Array.from(this.instanceMatrix.array);
88
- for (let index = 0; index < indexs.length; index++) {
89
- const startIndex = indexs[index] * this.instanceMatrix.itemSize;
90
- isolateInstanceMatrixArray = isolateInstanceMatrixArray.concat(instanceMatrixArray.slice(startIndex, startIndex + this.instanceMatrix.itemSize));
91
- }
92
- this.instanceMatrix = new three_1.InstancedBufferAttribute(new Float32Array(isolateInstanceMatrixArray), this.instanceMatrix.itemSize);
93
- }
94
- this.reverseIndex(true, true);
95
- }
96
- }
97
- isolateObjects(reverseToOriginal = true) {
98
- if (reverseToOriginal) {
99
- this.reverseToOriginal();
100
- }
101
- this.isolateAts(this.totalSelectedIndex());
102
- }
103
- hoverAts(indexs, material) {
104
- indexs.forEach((index) => {
105
- if (!this.hoveredIndexs.containsKey(index)) {
106
- this.hoveredIndexs.add(index, material);
107
- }
108
- });
109
- this.overrideObjects();
110
- }
111
- selectAts(indexs, material) {
112
- indexs.forEach((index) => {
113
- if (!this.selectedIndexs.containsKey(index)) {
114
- this.selectedIndexs.add(index, material);
115
- }
116
- });
117
- this.overrideObjects();
118
- }
119
- overrideObjects(reverseToOriginal = true) {
120
- var _a, _b;
121
- if (reverseToOriginal) {
122
- this.reverseToOriginal();
123
- }
124
- // let hideAtsIndexs = [];
125
- if (this.hoveredIndexs.count() > 0) {
126
- for (let index = 0; index < this.hoveredIndexs.keys().length; index++) {
127
- let key = this.hoveredIndexs.keys()[index];
128
- let mesh = new three_1.Mesh(this.geometry, this.hoveredIndexs.get(key));
129
- let matrix = new three_1.Matrix4();
130
- this.getMatrixAt(key, matrix);
131
- mesh.applyMatrix4(matrix);
132
- (_a = this.parent) === null || _a === void 0 ? void 0 : _a.add(mesh);
133
- this.overrideHoverMeshes.push(mesh);
134
- // hideAtsIndexs.push(key);
135
- }
136
- }
137
- if (this.selectedIndexs.count() > 0) {
138
- for (let index = 0; index < this.selectedIndexs.keys().length; index++) {
139
- let key = this.selectedIndexs.keys()[index];
140
- let mesh = new three_1.Mesh(this.geometry, this.selectedIndexs.get(key));
141
- let matrix = new three_1.Matrix4();
142
- this.getMatrixAt(key, matrix);
143
- mesh.applyMatrix4(matrix);
144
- (_b = this.parent) === null || _b === void 0 ? void 0 : _b.add(mesh);
145
- this.overrideSelectMeshes.push(mesh);
146
- // hideAtsIndexs.push(key);
147
- }
148
- }
149
- // this.hideAts(this.getDistinctNumbers(hideAtsIndexs));
150
- }
151
- totalSelectedIndex() {
152
- let result = [];
153
- if (this.selectedIndexs.count() > 0) {
154
- for (let index = 0; index < this.selectedIndexs.keys().length; index++) {
155
- let key = this.selectedIndexs.keys()[index];
156
- result.push(key);
157
- }
158
- }
159
- // result = this.getDistinctNumbers(result);
160
- // console.log(result)
161
- return result;
162
- }
163
- reverseIndex(clearHoverIndexs = false, clearSelectIndexs = false) {
164
- if (clearHoverIndexs)
165
- this.hoveredIndexs = new types_1.Dictionary();
166
- if (clearSelectIndexs)
167
- this.selectedIndexs = new types_1.Dictionary();
168
- }
169
- reverseToOriginal(reverseHoverMeshes = true, reverseSelectMeshes = true, reverseInstanceData = false) {
170
- if (reverseHoverMeshes && this.overrideHoverMeshes.length > 0) {
171
- for (let index = 0; index < this.overrideHoverMeshes.length; index++) {
172
- const mesh = this.overrideHoverMeshes[index];
173
- mesh.removeFromParent();
174
- mesh.geometry.dispose();
175
- mesh.material.dispose();
176
- }
177
- this.overrideHoverMeshes = [];
178
- }
179
- if (reverseSelectMeshes && this.overrideSelectMeshes.length > 0) {
180
- for (let index = 0; index < this.overrideSelectMeshes.length; index++) {
181
- const mesh = this.overrideSelectMeshes[index];
182
- mesh.removeFromParent();
183
- mesh.geometry.dispose();
184
- mesh.material.dispose();
185
- }
186
- this.overrideSelectMeshes = [];
187
- }
188
- if (!this._isOrigin && this._originMesh && reverseInstanceData) {
189
- this.instanceColor = this._originMesh.instanceColor;
190
- this.instanceMatrix = this._originMesh.instanceMatrix;
191
- this._isOrigin = true;
192
- this._originMesh.dispose();
193
- }
194
- }
195
- getDistinctNumbers(numbers) {
196
- const distinctNumbersSet = new Set(numbers); // Creates a Set with unique values
197
- // Convert the Set back to an array
198
- const distinctNumbersArray = Array.from(distinctNumbersSet);
199
- return distinctNumbersArray;
200
- }
201
- }
202
- exports.ViralInstancedMesh = ViralInstancedMesh;
203
- //# sourceMappingURL=viral-instanced-mesh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viral-instanced-mesh.js","sourceRoot":"","sources":["../../../src/components/custom-objects/viral-instanced-mesh.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViralMesh = void 0;
4
- const three_1 = require("three");
5
- class ViralMesh extends three_1.Mesh {
6
- constructor(geometry, material) {
7
- super(geometry, material);
8
- this.elementData = {};
9
- this.materialName = '';
10
- if (material) {
11
- this.materialName = material.name;
12
- }
13
- }
14
- addElement(uniqueId, buffer) {
15
- console.log(this.geometry);
16
- // Update the Position Buffer
17
- const newPositionArray = new Float32Array([...this.geometry.attributes.position.array, ...buffer]);
18
- this.geometry.setAttribute('position', new three_1.BufferAttribute(newPositionArray, 3));
19
- // Update the Index Buffer
20
- const newIndexArray = new Uint16Array([...this.geometry.index.array, ...buffer]);
21
- this.geometry.setIndex(new three_1.BufferAttribute(newIndexArray, 1));
22
- }
23
- }
24
- exports.ViralMesh = ViralMesh;
25
- //# sourceMappingURL=viral-mesh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viral-mesh.js","sourceRoot":"","sources":["../../../src/components/custom-objects/viral-mesh.ts"],"names":[],"mappings":";;;AAAA,iCAAwE;AAExE,MAAa,SAAU,SAAQ,YAAI;IAG/B,YAAY,QAAwB,EAAC,QAAkB;QAEnD,KAAK,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC;QAJtB,gBAAW,GAAgC,EAAE,CAAC;QAC9C,iBAAY,GAAQ,EAAE,CAAC;QAI1B,IAAG,QAAQ,EACX;YACI,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;SACrC;IACL,CAAC;IAEM,UAAU,CAAC,QAAe,EAAC,MAAmB;QAEjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,6BAA6B;QAC7B,MAAM,gBAAgB,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,uBAAe,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjF,0BAA0B;QAC1B,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAe,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACJ;AAvBD,8BAuBC"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViralDataManager = void 0;
4
- const fetch_data_worker_1 = require("../worker/fetch-data.worker");
5
- class ViralDataManager {
6
- constructor(viralViewerApi) {
7
- this.viralViewerApi = viralViewerApi;
8
- this.elementData = {};
9
- this.fetchDataWorker = new fetch_data_worker_1.FetchDataWorker();
10
- }
11
- normalFetch(url, byteRangeStart, byteRangeEnd) {
12
- if (byteRangeStart !== undefined && (byteRangeStart >= 0) && byteRangeEnd !== undefined && byteRangeEnd > 0) {
13
- return fetch(url, {
14
- headers: {
15
- Range: `bytes=${byteRangeStart}-${byteRangeEnd}`,
16
- },
17
- });
18
- }
19
- else {
20
- return fetch(url);
21
- }
22
- }
23
- /**
24
- * worker fetch can only return json or arraybuffer value
25
- * @param url
26
- * @param callbackOnSuccess
27
- * @param byteRangeStart
28
- * @param byteRangeEnd
29
- */
30
- workerFetch(url, callbackOnSuccess = (response) => { }, byteRangeStart, byteRangeEnd) {
31
- this.fetchDataWorker.fetch(url, (response) => { callbackOnSuccess(response); }, byteRangeStart, byteRangeEnd);
32
- }
33
- }
34
- exports.ViralDataManager = ViralDataManager;
35
- //# sourceMappingURL=viral-data-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viral-data-manager.js","sourceRoot":"","sources":["../../../src/components/data-manager/viral-data-manager.ts"],"names":[],"mappings":";;;AACA,mEAA8D;AAE9D,MAAa,gBAAgB;IAG3B,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAF1C,gBAAW,GAA2B,EAAE,CAAC;QACxC,oBAAe,GAAmB,IAAI,mCAAe,EAAE,CAAC;IACZ,CAAC;IAE9C,WAAW,CAAC,GAAU,EAAC,cAAsB,EAAC,YAAoB;QACvE,IAAG,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,IAAE,CAAC,CAAC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAC,CAAC,EACtG;YACE,OAAO,KAAK,CAAC,GAAG,EAAE;gBAChB,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS,cAAc,IAAI,YAAY,EAAE;iBACjD;aACF,CAAC,CAAC;SACJ;aAED;YACE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;SACnB;IACH,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,GAAU,EAAC,oBAAoB,CAAC,QAAoB,EAAC,EAAE,GAAC,CAAC,EAAC,cAAsB,EAAC,YAAoB;QACrH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAC,CAAC,QAAoB,EAAC,EAAE,GAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAC,EAAC,cAAc,EAAC,YAAY,CAAC,CAAA;IACpH,CAAC;CAEF;AA/BD,4CA+BC"}
@@ -1,35 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,78 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,239 +0,0 @@
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