viral-viewer-2 6.2.7 → 6.2.8

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 (312) hide show
  1. package/LICENSE +5 -52
  2. package/dist/components/animation/viral-animation.js +71 -0
  3. package/dist/components/animation/viral-animation.js.map +1 -0
  4. package/dist/components/bvh/viral-bvh.js +19 -0
  5. package/dist/components/bvh/viral-bvh.js.map +1 -0
  6. package/dist/components/camera/viral-camera.d.ts +1 -1
  7. package/dist/components/camera/viral-camera.js +207 -0
  8. package/dist/components/camera/viral-camera.js.map +1 -0
  9. package/dist/components/centralized-event-handler/viral-centralized-event-handler.d.ts +7 -0
  10. package/dist/components/centralized-event-handler/viral-centralized-event-handler.js +47 -0
  11. package/dist/components/centralized-event-handler/viral-centralized-event-handler.js.map +1 -0
  12. package/dist/components/compress/compress.processor.d.ts +4 -0
  13. package/dist/components/compress/compress.processor.js +29 -0
  14. package/dist/components/compress/compress.processor.js.map +1 -0
  15. package/dist/components/compress/viral-compress.processor.js +13 -0
  16. package/dist/components/compress/viral-compress.processor.js.map +1 -0
  17. package/dist/components/context-menu/viral-context-menu.d.ts +17 -0
  18. package/dist/components/context-menu/viral-context-menu.js +74 -0
  19. package/dist/components/context-menu/viral-context-menu.js.map +1 -0
  20. package/dist/components/custom-objects/index.js +6 -0
  21. package/dist/components/custom-objects/index.js.map +1 -0
  22. package/dist/components/custom-objects/viral-instanced-mesh.d.ts +1 -1
  23. package/dist/components/custom-objects/viral-instanced-mesh.js +203 -0
  24. package/dist/components/custom-objects/viral-instanced-mesh.js.map +1 -0
  25. package/dist/components/custom-objects/viral-mesh.d.ts +9 -0
  26. package/dist/components/custom-objects/viral-mesh.js +25 -0
  27. package/dist/components/custom-objects/viral-mesh.js.map +1 -0
  28. package/dist/components/data-manager/viral-data-manager.js +35 -0
  29. package/dist/components/data-manager/viral-data-manager.js.map +1 -0
  30. package/dist/components/event-handler/base/event-dispatcher.js +35 -0
  31. package/dist/components/event-handler/base/event-dispatcher.js.map +1 -0
  32. package/dist/components/event-handler/keyboard/viral-keyboard.js +78 -0
  33. package/dist/components/event-handler/keyboard/viral-keyboard.js.map +1 -0
  34. package/dist/components/event-handler/mouse/viral-mouse.js +239 -0
  35. package/dist/components/event-handler/mouse/viral-mouse.js.map +1 -0
  36. package/dist/components/event-handler/viral-centralized-event-handler.d.ts +2 -0
  37. package/dist/components/event-handler/viral-centralized-event-handler.js +186 -0
  38. package/dist/components/event-handler/viral-centralized-event-handler.js.map +1 -0
  39. package/dist/components/event-handler/viral-lifecycle-event-handler.js +55 -0
  40. package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +1 -0
  41. package/dist/components/keyboard/viral-keyboard.d.ts +17 -0
  42. package/dist/components/keyboard/viral-keyboard.js +76 -0
  43. package/dist/components/keyboard/viral-keyboard.js.map +1 -0
  44. package/dist/components/loader/viral-point-cloud.loader.js +33 -0
  45. package/dist/components/loader/viral-point-cloud.loader.js.map +1 -0
  46. package/dist/components/loader/viral-revit.loader.d.ts +13 -1
  47. package/dist/components/loader/viral-revit.loader.js +339 -0
  48. package/dist/components/loader/viral-revit.loader.js.map +1 -0
  49. package/dist/components/loader/viral-three.loader.js +20 -0
  50. package/dist/components/loader/viral-three.loader.js.map +1 -0
  51. package/dist/components/loader/viral-viewer-point-cloud.loader.d.ts +16 -0
  52. package/dist/components/loader/viral-viewer-point-cloud.loader.js +33 -0
  53. package/dist/components/loader/viral-viewer-point-cloud.loader.js.map +1 -0
  54. package/dist/components/loader/viral-viewer-revit.loader.d.ts +13 -0
  55. package/dist/components/loader/viral-viewer-revit.loader.js +124 -0
  56. package/dist/components/loader/viral-viewer-revit.loader.js.map +1 -0
  57. package/dist/components/loader/viral.loader.js +16 -0
  58. package/dist/components/loader/viral.loader.js.map +1 -0
  59. package/dist/components/material/viral-material-manager.js +60 -0
  60. package/dist/components/material/viral-material-manager.js.map +1 -0
  61. package/dist/components/mouse/viral-mouse.d.ts +31 -0
  62. package/dist/components/mouse/viral-mouse.js +234 -0
  63. package/dist/components/mouse/viral-mouse.js.map +1 -0
  64. package/dist/components/navigation-cube/components/cube-camera.d.ts +15 -0
  65. package/dist/components/navigation-cube/components/cube-camera.js +74 -0
  66. package/dist/components/navigation-cube/components/cube-camera.js.map +1 -0
  67. package/dist/components/navigation-cube/components/cube-renderer.d.ts +9 -0
  68. package/dist/components/navigation-cube/components/cube-renderer.js +31 -0
  69. package/dist/components/navigation-cube/components/cube-renderer.js.map +1 -0
  70. package/dist/components/navigation-cube/components/cube-scene.d.ts +13 -0
  71. package/dist/components/navigation-cube/components/cube-scene.js +546 -0
  72. package/dist/components/navigation-cube/components/cube-scene.js.map +1 -0
  73. package/dist/components/navigation-cube/components/cube.mouse.d.ts +9 -0
  74. package/dist/components/navigation-cube/components/cube.mouse.js +109 -0
  75. package/dist/components/navigation-cube/components/cube.mouse.js.map +1 -0
  76. package/dist/components/navigation-cube/viral-navigation-cube.d.ts +16 -0
  77. package/dist/components/navigation-cube/viral-navigation-cube.js +50 -0
  78. package/dist/components/navigation-cube/viral-navigation-cube.js.map +1 -0
  79. package/dist/components/post-processing/ambient-occlusion-effect.d.ts +13 -0
  80. package/dist/components/post-processing/ambient-occlusion-effect.js +33 -0
  81. package/dist/components/post-processing/ambient-occlusion-effect.js.map +1 -0
  82. package/dist/components/post-processing/bloom-effect.d.ts +11 -0
  83. package/dist/components/post-processing/bloom-effect.js +29 -0
  84. package/dist/components/post-processing/bloom-effect.js.map +1 -0
  85. package/dist/components/post-processing/outline-effect.d.ts +13 -0
  86. package/dist/components/post-processing/outline-effect.js +33 -0
  87. package/dist/components/post-processing/outline-effect.js.map +1 -0
  88. package/dist/components/post-processing/post-processing-renderer.js +46 -0
  89. package/dist/components/post-processing/post-processing-renderer.js.map +1 -0
  90. package/dist/components/renderer/viral-renderer.js +55 -0
  91. package/dist/components/renderer/viral-renderer.js.map +1 -0
  92. package/dist/components/scene/viral-scene.d.ts +1 -0
  93. package/dist/components/scene/viral-scene.js +131 -0
  94. package/dist/components/scene/viral-scene.js.map +1 -0
  95. package/dist/components/spinner/viral-spinner.d.ts +10 -0
  96. package/dist/components/spinner/viral-spinner.js +207 -0
  97. package/dist/components/spinner/viral-spinner.js.map +1 -0
  98. package/dist/components/stats/viral-stats.js +17 -0
  99. package/dist/components/stats/viral-stats.js.map +1 -0
  100. package/dist/components/tools/tools/viral-tool-ambient-occlusion.d.ts +7 -0
  101. package/dist/components/tools/tools/viral-tool-ambient-occlusion.js +16 -0
  102. package/dist/components/tools/tools/viral-tool-ambient-occlusion.js.map +1 -0
  103. package/dist/components/tools/tools/viral-tool-dark-mode.d.ts +7 -0
  104. package/dist/components/tools/tools/viral-tool-dark-mode.js +21 -0
  105. package/dist/components/tools/tools/viral-tool-dark-mode.js.map +1 -0
  106. package/dist/components/tools/tools/viral-tool-elevation.d.ts +11 -0
  107. package/dist/components/tools/tools/viral-tool-elevation.js +30 -0
  108. package/dist/components/tools/tools/viral-tool-elevation.js.map +1 -0
  109. package/dist/components/tools/tools/viral-tool-measure.d.ts +33 -0
  110. package/dist/components/tools/tools/viral-tool-measure.js +243 -0
  111. package/dist/components/tools/tools/viral-tool-measure.js.map +1 -0
  112. package/dist/components/tools/tools/viral-tool-sunlight.d.ts +7 -0
  113. package/dist/components/tools/tools/viral-tool-sunlight.js +46 -0
  114. package/dist/components/tools/tools/viral-tool-sunlight.js.map +1 -0
  115. package/dist/components/tools/viral-tools.d.ts +32 -0
  116. package/dist/components/tools/viral-tools.js +213 -0
  117. package/dist/components/tools/viral-tools.js.map +1 -0
  118. package/dist/components/visibility-manager/viral-visibility-manager.js +175 -0
  119. package/dist/components/visibility-manager/viral-visibility-manager.js.map +1 -0
  120. package/dist/components/worker/base/worker-pool.js +68 -0
  121. package/dist/components/worker/base/worker-pool.js.map +1 -0
  122. package/dist/components/worker/base/worker-thread.js +35 -0
  123. package/dist/components/worker/base/worker-thread.js.map +1 -0
  124. package/dist/components/worker/fetch-data.worker.js +31 -0
  125. package/dist/components/worker/fetch-data.worker.js.map +1 -0
  126. package/dist/components/worker/load-element-by-material-v2.worker.d.ts +11 -0
  127. package/dist/components/worker/load-element-by-material-v2.worker.js +80 -0
  128. package/dist/components/worker/load-element-by-material-v2.worker.js.map +1 -0
  129. package/dist/components/worker/load-element-by-material.worker.d.ts +11 -0
  130. package/dist/components/worker/load-element-by-material.worker.js +59 -0
  131. package/dist/components/worker/load-element-by-material.worker.js.map +1 -0
  132. package/dist/components/worker/load-element-standalone.worker.d.ts +10 -0
  133. package/dist/components/worker/load-element-standalone.worker.js +109 -0
  134. package/dist/components/worker/load-element-standalone.worker.js.map +1 -0
  135. package/dist/components/worker/load-model.d.ts +126 -0
  136. package/dist/components/worker/load-model.js +1265 -0
  137. package/dist/components/worker/load-model.js.map +1 -0
  138. package/dist/components/worker/test-worker-pool.d.ts +6 -0
  139. package/dist/components/worker/test-worker-pool.js +21 -0
  140. package/dist/components/worker/test-worker-pool.js.map +1 -0
  141. package/dist/components/worker/viral-viewer-2.worker.js +127 -0
  142. package/dist/components/worker/viral-viewer-2.worker.js.map +1 -0
  143. package/dist/components/worker/viral-viewer-3.worker.js +82 -0
  144. package/dist/components/worker/viral-viewer-3.worker.js.map +1 -0
  145. package/dist/components/worker/viral-viewer-4.worker.js +97 -0
  146. package/dist/components/worker/viral-viewer-4.worker.js.map +1 -0
  147. package/dist/components/worker/viral-viewer.worker-pool.d.ts +0 -0
  148. package/dist/components/worker/viral-viewer.worker-pool.js +61 -0
  149. package/dist/components/worker/viral-viewer.worker-pool.js.map +1 -0
  150. package/dist/components/worker/viral-viewer.worker.js +107 -0
  151. package/dist/components/worker/viral-viewer.worker.js.map +1 -0
  152. package/dist/components/worker/worker-pool.d.ts +21 -0
  153. package/dist/components/worker/worker-pool.js +47 -0
  154. package/dist/components/worker/worker-pool.js.map +1 -0
  155. package/dist/components/worker/worker-thread.d.ts +9 -0
  156. package/dist/components/worker/worker-thread.js +30 -0
  157. package/dist/components/worker/worker-thread.js.map +1 -0
  158. package/dist/components/worker-script/fetch-data-worker.script.js +56 -0
  159. package/dist/components/worker-script/fetch-data-worker.script.js.map +1 -0
  160. package/dist/components/worker-script/load-element-by-material.script.d.ts +3 -0
  161. package/dist/components/worker-script/load-element-by-material.script.js +131 -0
  162. package/dist/components/worker-script/load-element-by-material.script.js.map +1 -0
  163. package/dist/components/worker-script/load-element-standalone.script.d.ts +1 -0
  164. package/dist/components/worker-script/load-element-standalone.script.js +34172 -0
  165. package/dist/components/worker-script/load-element-standalone.script.js.map +1 -0
  166. package/dist/components/worker-script/load-model-worker-2.script.js +2704 -0
  167. package/dist/components/worker-script/load-model-worker-2.script.js.map +1 -0
  168. package/dist/components/worker-script/load-model-worker-3.script.js +34170 -0
  169. package/dist/components/worker-script/load-model-worker-3.script.js.map +1 -0
  170. package/dist/components/worker-script/load-model-worker.script.js +148 -0
  171. package/dist/components/worker-script/load-model-worker.script.js.map +1 -0
  172. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.d.ts +1 -0
  173. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js +34152 -0
  174. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js.map +1 -0
  175. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.d.ts +3 -0
  176. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js +127 -0
  177. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js.map +1 -0
  178. package/dist/components/worker-script/test-worker-pool.script.d.ts +1 -0
  179. package/dist/components/worker-script/test-worker-pool.script.js +12 -0
  180. package/dist/components/worker-script/test-worker-pool.script.js.map +1 -0
  181. package/dist/components/worker-script/threejs.types.js +34162 -0
  182. package/dist/components/worker-script/threejs.types.js.map +1 -0
  183. package/dist/const/colors.d.ts +1 -0
  184. package/dist/const/colors.js +39 -0
  185. package/dist/const/colors.js.map +1 -0
  186. package/dist/const/fonts.js +17 -0
  187. package/dist/const/fonts.js.map +1 -0
  188. package/dist/const/icons.d.ts +7 -0
  189. package/dist/const/icons.js +11 -0
  190. package/dist/const/icons.js.map +1 -0
  191. package/dist/gui/context-menu/viral-context-menu.d.ts +1 -1
  192. package/dist/gui/context-menu/viral-context-menu.js +78 -0
  193. package/dist/gui/context-menu/viral-context-menu.js.map +1 -0
  194. package/dist/gui/draggable-modal/viral-draggable-modal.d.ts +10 -0
  195. package/dist/gui/draggable-modal/viral-draggable-modal.js +167 -0
  196. package/dist/gui/draggable-modal/viral-draggable-modal.js.map +1 -0
  197. package/dist/gui/fonts/fonts.js +20 -0
  198. package/dist/gui/fonts/fonts.js.map +1 -0
  199. package/dist/gui/navigation-cube/components/cube-camera.js +74 -0
  200. package/dist/gui/navigation-cube/components/cube-camera.js.map +1 -0
  201. package/dist/gui/navigation-cube/components/cube-renderer.js +31 -0
  202. package/dist/gui/navigation-cube/components/cube-renderer.js.map +1 -0
  203. package/dist/gui/navigation-cube/components/cube-scene.js +546 -0
  204. package/dist/gui/navigation-cube/components/cube-scene.js.map +1 -0
  205. package/dist/gui/navigation-cube/components/cube.mouse.js +109 -0
  206. package/dist/gui/navigation-cube/components/cube.mouse.js.map +1 -0
  207. package/dist/gui/navigation-cube/viral-navigation-cube.js +50 -0
  208. package/dist/gui/navigation-cube/viral-navigation-cube.js.map +1 -0
  209. package/dist/gui/spinner/viral-spinner.js +102 -0
  210. package/dist/gui/spinner/viral-spinner.js.map +1 -0
  211. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +25 -0
  212. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +1 -0
  213. package/dist/gui/tools/tools/viral-tool-dark-mode.js +21 -0
  214. package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +1 -0
  215. package/dist/gui/tools/tools/viral-tool-elevation.js +30 -0
  216. package/dist/gui/tools/tools/viral-tool-elevation.js.map +1 -0
  217. package/dist/gui/tools/tools/viral-tool-export-scene.d.ts +7 -0
  218. package/dist/gui/tools/tools/viral-tool-export-scene.js +36 -0
  219. package/dist/gui/tools/tools/viral-tool-export-scene.js.map +1 -0
  220. package/dist/gui/tools/tools/viral-tool-measure.js +243 -0
  221. package/dist/gui/tools/tools/viral-tool-measure.js.map +1 -0
  222. package/dist/gui/tools/tools/viral-tool-sunlight.js +46 -0
  223. package/dist/gui/tools/tools/viral-tool-sunlight.js.map +1 -0
  224. package/dist/gui/tools/viral-tools.js +213 -0
  225. package/dist/gui/tools/viral-tools.js.map +1 -0
  226. package/dist/index.js +21 -0
  227. package/dist/index.js.map +1 -0
  228. package/dist/models/dictionary.model.d.ts +10 -0
  229. package/dist/models/dictionary.model.js +42 -0
  230. package/dist/models/dictionary.model.js.map +1 -0
  231. package/dist/services/local-storage.service.js +57 -0
  232. package/dist/services/local-storage.service.js.map +1 -0
  233. package/dist/threejs-addon/buffer-geometry-utils.d.ts +64 -0
  234. package/dist/threejs-addon/buffer-geometry-utils.js +807 -0
  235. package/dist/threejs-addon/buffer-geometry-utils.js.map +1 -0
  236. package/dist/threejs-addon/gltf-loader.d.ts +17 -0
  237. package/dist/threejs-addon/gltf-loader.js +2796 -0
  238. package/dist/threejs-addon/gltf-loader.js.map +1 -0
  239. package/dist/threejs-addon/n8ao/n8ao.js +1952 -0
  240. package/dist/threejs-addon/n8ao/n8ao.js.map +1 -0
  241. package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
  242. package/dist/threejs-addon/n8ao/post-processing.js +15145 -0
  243. package/dist/threejs-addon/n8ao/post-processing.js.map +1 -0
  244. package/dist/threejs-addon/post-processing/effect-composer.d.ts +27 -0
  245. package/dist/threejs-addon/post-processing/effect-composer.js +134 -0
  246. package/dist/threejs-addon/post-processing/effect-composer.js.map +1 -0
  247. package/dist/threejs-addon/post-processing/mask-pass.d.ts +11 -0
  248. package/dist/threejs-addon/post-processing/mask-pass.js +69 -0
  249. package/dist/threejs-addon/post-processing/mask-pass.js.map +1 -0
  250. package/dist/threejs-addon/post-processing/outline-pass.d.ts +58 -0
  251. package/dist/threejs-addon/post-processing/outline-pass.js +484 -0
  252. package/dist/threejs-addon/post-processing/outline-pass.js.map +1 -0
  253. package/dist/threejs-addon/post-processing/output-pass.d.ts +11 -0
  254. package/dist/threejs-addon/post-processing/output-pass.js +61 -0
  255. package/dist/threejs-addon/post-processing/output-pass.js.map +1 -0
  256. package/dist/threejs-addon/post-processing/pass.d.ts +20 -0
  257. package/dist/threejs-addon/post-processing/pass.js +48 -0
  258. package/dist/threejs-addon/post-processing/pass.js.map +1 -0
  259. package/dist/threejs-addon/post-processing/render-pass.d.ts +13 -0
  260. package/dist/threejs-addon/post-processing/render-pass.js +50 -0
  261. package/dist/threejs-addon/post-processing/render-pass.js.map +1 -0
  262. package/dist/threejs-addon/post-processing/sao-pass.d.ts +62 -0
  263. package/dist/threejs-addon/post-processing/sao-pass.js +296 -0
  264. package/dist/threejs-addon/post-processing/sao-pass.js.map +1 -0
  265. package/dist/threejs-addon/post-processing/shader-pass.d.ts +11 -0
  266. package/dist/threejs-addon/post-processing/shader-pass.js +48 -0
  267. package/dist/threejs-addon/post-processing/shader-pass.js.map +1 -0
  268. package/dist/threejs-addon/post-processing/unreal-bloom-pass.d.ts +48 -0
  269. package/dist/threejs-addon/post-processing/unreal-bloom-pass.js +290 -0
  270. package/dist/threejs-addon/post-processing/unreal-bloom-pass.js.map +1 -0
  271. package/dist/threejs-addon/shaders/copy-shader.d.ts +13 -0
  272. package/dist/threejs-addon/shaders/copy-shader.js +39 -0
  273. package/dist/threejs-addon/shaders/copy-shader.js.map +1 -0
  274. package/dist/threejs-addon/shaders/depth-limited-blur-shader.d.ts +48 -0
  275. package/dist/threejs-addon/shaders/depth-limited-blur-shader.js +142 -0
  276. package/dist/threejs-addon/shaders/depth-limited-blur-shader.js.map +1 -0
  277. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.d.ts +27 -0
  278. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js +56 -0
  279. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js.map +1 -0
  280. package/dist/threejs-addon/shaders/output-shader.d.ts +13 -0
  281. package/dist/threejs-addon/shaders/output-shader.js +72 -0
  282. package/dist/threejs-addon/shaders/output-shader.js.map +1 -0
  283. package/dist/threejs-addon/shaders/sao-shader.d.ts +71 -0
  284. package/dist/threejs-addon/shaders/sao-shader.js +180 -0
  285. package/dist/threejs-addon/shaders/sao-shader.js.map +1 -0
  286. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.d.ts +13 -0
  287. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js +41 -0
  288. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js.map +1 -0
  289. package/dist/threejs-addon/simplify-modifier.d.ts +4 -0
  290. package/dist/threejs-addon/simplify-modifier.js +325 -0
  291. package/dist/threejs-addon/simplify-modifier.js.map +1 -0
  292. package/dist/threejs-addon/stats.js +102 -0
  293. package/dist/threejs-addon/stats.js.map +1 -0
  294. package/dist/threejs-addon/transform-control.d.ts +74 -0
  295. package/dist/threejs-addon/transform-control.js +1033 -0
  296. package/dist/threejs-addon/transform-control.js.map +1 -0
  297. package/dist/types.d.ts +26 -1
  298. package/dist/types.js +173 -0
  299. package/dist/types.js.map +1 -0
  300. package/dist/utils/html.js +12 -0
  301. package/dist/utils/html.js.map +1 -0
  302. package/dist/utils/index.js +10 -0
  303. package/dist/utils/index.js.map +1 -0
  304. package/dist/utils/log.js +14 -0
  305. package/dist/utils/log.js.map +1 -0
  306. package/dist/utils/threejs.js +44 -0
  307. package/dist/utils/threejs.js.map +1 -0
  308. package/dist/viral-viewer-api.d.ts +2 -4
  309. package/dist/viral-viewer-api.js +76 -0
  310. package/dist/viral-viewer-api.js.map +1 -0
  311. package/package.json +2 -3
  312. package/dist/index.mjs +0 -36613
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralSpinner = void 0;
4
+ const colors_1 = require("../../const/colors");
5
+ const html_1 = require("../../utils/html");
6
+ class ViralSpinner {
7
+ constructor(viralViewerApi) {
8
+ this.viralViewerApi = viralViewerApi;
9
+ this.spinner = null;
10
+ this.logo = `<svg
11
+ viewBox="0 0 135.46667 135.46667"
12
+ version="1.1"
13
+ id="svg7238"
14
+ sodipodi:docname="viral2-green.svg"
15
+ inkscape:export-filename="viral2-512.png"
16
+ inkscape:export-xdpi="96"
17
+ inkscape:export-ydpi="96"
18
+ inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
19
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
20
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
21
+ xmlns:xlink="http://www.w3.org/1999/xlink"
22
+ xmlns="http://www.w3.org/2000/svg"
23
+ xmlns:svg="http://www.w3.org/2000/svg">
24
+ <sodipodi:namedview
25
+ id="namedview7240"
26
+ pagecolor="#ffffff"
27
+ bordercolor="#000000"
28
+ borderopacity="0.25"
29
+ inkscape:showpageshadow="2"
30
+ inkscape:pageopacity="0.0"
31
+ inkscape:pagecheckerboard="0"
32
+ inkscape:deskcolor="#d1d1d1"
33
+ inkscape:document-units="px"
34
+ showgrid="false"
35
+ showborder="false"
36
+ inkscape:zoom="0.99327643"
37
+ inkscape:cx="-5.53723"
38
+ inkscape:cy="208.4012"
39
+ inkscape:window-width="1920"
40
+ inkscape:window-height="1025"
41
+ inkscape:window-x="-8"
42
+ inkscape:window-y="-8"
43
+ inkscape:window-maximized="1"
44
+ inkscape:current-layer="layer1" />
45
+ <defs
46
+ id="defs7235">
47
+ <linearGradient
48
+ inkscape:collect="always"
49
+ id="linearGradient1616">
50
+ <stop
51
+ style="stop-color:#56674d;stop-opacity:1;"
52
+ offset="0"
53
+ id="stop1612" />
54
+ <stop
55
+ style="stop-color:#ffffff;stop-opacity:0;"
56
+ offset="1"
57
+ id="stop1614" />
58
+ </linearGradient>
59
+ <linearGradient
60
+ inkscape:collect="always"
61
+ xlink:href="#linearGradient15690"
62
+ id="linearGradient18609"
63
+ gradientUnits="userSpaceOnUse"
64
+ gradientTransform="translate(-166.15654,32.013661)"
65
+ x1="307.17484"
66
+ y1="52.350281"
67
+ x2="326.05994"
68
+ y2="54.673866" />
69
+ <linearGradient
70
+ inkscape:collect="always"
71
+ id="linearGradient15690">
72
+ <stop
73
+ style="stop-color:#56674d;stop-opacity:1;"
74
+ offset="0"
75
+ id="stop15686" />
76
+ <stop
77
+ style="stop-color:#496e7c;stop-opacity:0;"
78
+ offset="1"
79
+ id="stop15688" />
80
+ </linearGradient>
81
+ <linearGradient
82
+ inkscape:collect="always"
83
+ xlink:href="#linearGradient15766"
84
+ id="linearGradient16111-2"
85
+ gradientUnits="userSpaceOnUse"
86
+ x1="94.716965"
87
+ y1="77.459938"
88
+ x2="120.0867"
89
+ y2="65.915489" />
90
+ <linearGradient
91
+ inkscape:collect="always"
92
+ id="linearGradient15766">
93
+ <stop
94
+ style="stop-color:#56674d;stop-opacity:1;"
95
+ offset="0"
96
+ id="stop15762" />
97
+ <stop
98
+ style="stop-color:#496e7c;stop-opacity:0;"
99
+ offset="1"
100
+ id="stop15764" />
101
+ </linearGradient>
102
+ <linearGradient
103
+ inkscape:collect="always"
104
+ xlink:href="#linearGradient15924"
105
+ id="linearGradient18611"
106
+ gradientUnits="userSpaceOnUse"
107
+ gradientTransform="translate(-166.15654,32.013661)"
108
+ x1="252.87965"
109
+ y1="104.78405"
110
+ x2="305.49805"
111
+ y2="61.56583" />
112
+ <linearGradient
113
+ inkscape:collect="always"
114
+ id="linearGradient15924">
115
+ <stop
116
+ style="stop-color:#56674d;stop-opacity:1;"
117
+ offset="0"
118
+ id="stop15920" />
119
+ <stop
120
+ style="stop-color:#ffffff;stop-opacity:0;"
121
+ offset="1"
122
+ id="stop15922" />
123
+ </linearGradient>
124
+ <linearGradient
125
+ inkscape:collect="always"
126
+ xlink:href="#linearGradient1616"
127
+ id="linearGradient18613"
128
+ gradientUnits="userSpaceOnUse"
129
+ gradientTransform="translate(-166.15654,32.013661)"
130
+ x1="262.83365"
131
+ y1="98.616089"
132
+ x2="303.40704"
133
+ y2="56.86591" />
134
+ </defs>
135
+ <g
136
+ inkscape:label="Layer 1"
137
+ inkscape:groupmode="layer"
138
+ id="layer1"
139
+ transform="translate(-81.132986,-92.575601)">
140
+ <g
141
+ id="g489"
142
+ transform="matrix(1.5365255,0,0,1.474116,-14.471343,-5.8524295)">
143
+ <path
144
+ id="path11327-0-0-0"
145
+ style="fill:url(#linearGradient18609);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
146
+ d="m 130.56075,85.04143 c 0.52476,0.26239 -18.03983,28.95537 -21.66379,32.11329 -3.42113,2.98116 -7.7736,3.69559 -11.21431,3.82302 -3.4407,0.12743 -10.95953,-1.27434 -10.95953,-1.27434 l 9.53171,15.82074 c 10.00038,14.90295 18.17614,-1.81278 29.33516,-18.06246 3.96568,-5.77479 7.78809,-12.47359 12.92015,-21.46123 4.04139,-7.0776 -7.96539,-10.97224 -7.94939,-10.95902 z" />
147
+ <path
148
+ style="fill:url(#linearGradient16111-2);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
149
+ d="m 95.83013,56.198256 16.05664,29.946913 c 0,0 -10.06725,0.637171 -12.870796,-1.019467 L 87.652946,64.863746 c 0,0 -2.527248,-8.028321 8.177184,-8.66549 z"
150
+ id="path11425-3-4-8"
151
+ sodipodi:nodetypes="ccccc"
152
+ class="UnoptimicedTransforms"
153
+ transform="translate(-14.07671,30.372343)" />
154
+ <path
155
+ id="path11327-0-5-6-6-4-3"
156
+ style="fill:url(#linearGradient18611);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
157
+ d="m 130.56075,85.04143 c -1.47647,3.17228 -18.24916,29.13777 -21.66379,32.11329 -3.42112,2.98116 -7.7736,3.69559 -11.2143,3.82302 -3.4407,0.12743 -10.95954,-1.27434 -10.95954,-1.27434 l 4.7656,7.91063 h 5.2e-4 c 0.002,0.001 10.85017,15.99897 19.37348,5.76286 2.99574,-3.59774 5.15135,-6.65533 6.98187,-9.54746 2.95629,-4.67075 5.06469,-8.90995 8.4947,-14.29586 14.90527,-23.40477 3.86084,-23.27687 4.22146,-24.49214 z"
158
+ sodipodi:nodetypes="csscccsssc" />
159
+ <path
160
+ id="path11327-0-5-6-6-7-5-9"
161
+ style="fill:url(#linearGradient18613);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
162
+ d="m 130.56075,85.04143 c -1.47647,3.17228 -18.24916,29.13777 -21.66379,32.11329 -3.42112,2.98116 -7.7736,3.69559 -11.2143,3.82302 -3.4407,0.12743 -10.95954,-1.27434 -10.95954,-1.27434 l 4.7656,7.91063 h 5.2e-4 c 0.002,0.001 12.41225,10.17869 19.50733,-1.0945 10.41305,-16.54503 3.05221,-4.8499 9.84606,-15.81454 14.04378,-22.66534 9.3575,-24.44829 9.71812,-25.66356 z"
163
+ sodipodi:nodetypes="csscccssc" />
164
+ </g>
165
+ </g>
166
+ </svg>`;
167
+ this.injectSpinner();
168
+ }
169
+ injectSpinner() {
170
+ // Create the @keyframes animation
171
+ const keyframes = `@keyframes spin {
172
+ 0% { transform: rotate(0deg); }
173
+ 100% { transform: rotate(360deg); }
174
+ }`;
175
+ // Create a style element and append the keyframes animation
176
+ const style = document.createElement('style');
177
+ style.innerHTML = keyframes;
178
+ // Append the style element to the document head
179
+ document.head.appendChild(style);
180
+ if (this.viralViewerApi.targetElement) {
181
+ this.spinner = document.createElement('div');
182
+ this.spinner.setAttribute('style', `position: absolute;top:0px;left:0px;right:0px;bottom:0px;background-color: ${colors_1.LightTheme.background};justify-content: center;align-items: center;display:none; z-index: 100`);
183
+ const divWrapperDiv = document.createElement('div');
184
+ const spinnerCircle = document.createElement('div');
185
+ spinnerCircle.setAttribute('style', `width: 200px; height: 200px; border-radius: 50%; border: 2px solid #ccc; border-top: 2px solid ${colors_1.LightTheme.primary}; animation: spin 1.5s linear infinite;`);
186
+ //logo
187
+ const logo = html_1.HTMLUtil.createElementFromHTML(this.logo);
188
+ logo.setAttribute('style', "height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)");
189
+ divWrapperDiv.appendChild(spinnerCircle);
190
+ divWrapperDiv.appendChild(logo);
191
+ this.spinner.appendChild(divWrapperDiv);
192
+ this.viralViewerApi.targetElement.appendChild(this.spinner);
193
+ }
194
+ }
195
+ showSpinner() {
196
+ if (this.spinner) {
197
+ this.spinner.style.setProperty("display", 'flex');
198
+ }
199
+ }
200
+ hideSpinner() {
201
+ if (this.spinner) {
202
+ this.spinner.style.setProperty("display", 'none');
203
+ }
204
+ }
205
+ }
206
+ exports.ViralSpinner = ViralSpinner;
207
+ //# sourceMappingURL=viral-spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-spinner.js","sourceRoot":"","sources":["../../../src/components/spinner/viral-spinner.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAChD,2CAA4C;AAG5C,MAAa,YAAY;IA+JtB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QA9JzC,YAAO,GAAuB,IAAI,CAAA;QAClC,SAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4JV,CAAA;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACxB,CAAC;IACO,aAAa;QAClB,kCAAkC;QAClC,MAAM,SAAS,GAAG;;;QAGhB,CAAC;QAEH,4DAA4D;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5B,gDAAgD;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,mBAAU,CAAC,UAAU,4EAA4E,CAAC,CAAA;YACnN,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAEpD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,kGAAkG,mBAAU,CAAC,OAAO,yCAAyC,CAAC,CAAC;YACnM,MAAM;YACN,MAAM,IAAI,GAAG,eAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gFAAgF,CAAC,CAAC;YAE7G,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACzC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9D;IACJ,CAAC;IACM,WAAW;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAC,MAAM,CAAC,CAAC;SACnD;IACJ,CAAC;IACM,WAAW;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAC,MAAM,CAAC,CAAC;SACnD;IACJ,CAAC;CACH;AA3MD,oCA2MC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralStats = void 0;
4
+ const stats_1 = require("../../threejs-addon/stats");
5
+ class ViralStats {
6
+ constructor(viralViewerApi) {
7
+ this.viralViewerApi = viralViewerApi;
8
+ this.stats = null;
9
+ if (this.viralViewerApi.targetElement) {
10
+ this.stats = (0, stats_1.default)();
11
+ this.stats.showPanel(0);
12
+ this.viralViewerApi.targetElement.appendChild(this.stats.dom);
13
+ }
14
+ }
15
+ }
16
+ exports.ViralStats = ViralStats;
17
+ //# sourceMappingURL=viral-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-stats.js","sourceRoot":"","sources":["../../../src/components/stats/viral-stats.ts"],"names":[],"mappings":";;;AACA,qDAA8C;AAC9C,MAAa,UAAU;IAErB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAD1C,UAAK,GAAiB,IAAI,CAAC;QAEhC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,IAAI,CAAC,KAAK,GAAG,IAAA,eAAK,GAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC/D;IACH,CAAC;CACF;AATD,gCASC"}
@@ -0,0 +1,7 @@
1
+ import { ViralViewerTool } from "../../../types";
2
+ import { ViralTools } from "../viral-tools";
3
+ export declare class ViralToolAmbientOcclusion {
4
+ viralTools: ViralTools;
5
+ constructor(viralTools: ViralTools);
6
+ activate(input: ViralViewerTool): void;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralToolAmbientOcclusion = void 0;
4
+ class ViralToolAmbientOcclusion {
5
+ constructor(viralTools) {
6
+ this.viralTools = viralTools;
7
+ }
8
+ activate(input) {
9
+ if (input.activate) {
10
+ }
11
+ else {
12
+ }
13
+ }
14
+ }
15
+ exports.ViralToolAmbientOcclusion = ViralToolAmbientOcclusion;
16
+ //# sourceMappingURL=viral-tool-ambient-occlusion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-tool-ambient-occlusion.js","sourceRoot":"","sources":["../../../../src/components/tools/tools/viral-tool-ambient-occlusion.ts"],"names":[],"mappings":";;;AAGA,MAAa,yBAAyB;IACpC,YAAmB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IACtC,QAAQ,CAAC,KAAsB;QACpC,IAAI,KAAK,CAAC,QAAQ,EAAE;SACnB;aAAM;SACN;IACH,CAAC;CACF;AAPD,8DAOC"}
@@ -0,0 +1,7 @@
1
+ import { ViralViewerTool } from "../../../types";
2
+ import { ViralTools } from "../viral-tools";
3
+ export declare class ViralToolDarkMode {
4
+ viralTools: ViralTools;
5
+ constructor(viralTools: ViralTools);
6
+ activate(input: ViralViewerTool): void;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralToolDarkMode = void 0;
4
+ class ViralToolDarkMode {
5
+ constructor(viralTools) {
6
+ this.viralTools = viralTools;
7
+ }
8
+ activate(input) {
9
+ if (this.viralTools.viralViewerApi.targetElement) {
10
+ if (input.activate) {
11
+ this.viralTools.viralViewerApi.targetElement.style.setProperty("background-color", "#303030");
12
+ }
13
+ else {
14
+ this.viralTools.viralViewerApi.targetElement.style.setProperty("background-color", "unset");
15
+ }
16
+ this.viralTools.viralViewerApi.localStorageService.setObject("viral-viewer-tool", this.viralTools.tools);
17
+ }
18
+ }
19
+ }
20
+ exports.ViralToolDarkMode = ViralToolDarkMode;
21
+ //# sourceMappingURL=viral-tool-dark-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-tool-dark-mode.js","sourceRoot":"","sources":["../../../../src/components/tools/tools/viral-tool-dark-mode.ts"],"names":[],"mappings":";;;AAIA,MAAa,iBAAiB;IAE1B,YAAmB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAEzC,CAAC;IACM,QAAQ,CAAC,KAAsB;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE;YAC9C,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;aAEjG;iBACI;gBACD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;aAC/F;YACD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SAC3G;IACL,CAAC;CACJ;AAjBD,8CAiBC"}
@@ -0,0 +1,11 @@
1
+ import { Vector2 } from "three";
2
+ import { ViralViewerTool } from "../../../types";
3
+ import { ViralTools } from "../viral-tools";
4
+ export declare class ViralToolElevation {
5
+ viralTools: ViralTools;
6
+ isActivated: boolean;
7
+ constructor(viralTools: ViralTools);
8
+ activate(input: ViralViewerTool): void;
9
+ onMouseMove(mousePoint: Vector2): void;
10
+ onMouseClick(mousePoint: Vector2): void;
11
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralToolElevation = void 0;
4
+ class ViralToolElevation {
5
+ constructor(viralTools) {
6
+ this.viralTools = viralTools;
7
+ this.isActivated = false;
8
+ }
9
+ activate(input) {
10
+ this.isActivated = input.activate;
11
+ }
12
+ onMouseMove(mousePoint) {
13
+ if (mousePoint) {
14
+ let result = this.viralTools.viralViewerApi.viralCamera.clientToWorld();
15
+ if (result && result.length > 0) {
16
+ let coordinate = result[0].point;
17
+ }
18
+ }
19
+ }
20
+ onMouseClick(mousePoint) {
21
+ if (mousePoint) {
22
+ let result = this.viralTools.viralViewerApi.viralCamera.clientToWorld();
23
+ if (result && result.length > 0) {
24
+ let coordinate = result[0].point;
25
+ }
26
+ }
27
+ }
28
+ }
29
+ exports.ViralToolElevation = ViralToolElevation;
30
+ //# sourceMappingURL=viral-tool-elevation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-tool-elevation.js","sourceRoot":"","sources":["../../../../src/components/tools/tools/viral-tool-elevation.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAE3B,YAAmB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QADlC,gBAAW,GAAG,KAAK,CAAC;IAG3B,CAAC;IACM,QAAQ,CAAC,KAAsB;QAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAA;IACrC,CAAC;IACM,WAAW,CAAC,UAAmB;QAClC,IAAI,UAAU,EAAE;YACZ,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACxE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACpC;SACJ;IACL,CAAC;IAEM,YAAY,CAAC,UAAkB;QAElC,IAAG,UAAU,EACb;YACI,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACxE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACpC;SACJ;IACL,CAAC;CACJ;AA3BD,gDA2BC"}
@@ -0,0 +1,33 @@
1
+ import { Scene, Vector2, Vector3 } from "three";
2
+ import { ViralViewerTool } from "../../../types";
3
+ import { ViralTools } from "../viral-tools";
4
+ interface ViralMeasure {
5
+ point1: Vector3;
6
+ point2: Vector3;
7
+ }
8
+ export declare class ViralToolMeasure {
9
+ viralTools: ViralTools;
10
+ viralToolMeasureScene: Scene;
11
+ isActivated: boolean;
12
+ measures: ViralMeasure[];
13
+ private point1;
14
+ private point2;
15
+ private tempPoint2;
16
+ private defaultSprite;
17
+ private measureObject;
18
+ private tempMeasure;
19
+ private tempSprite1;
20
+ private tempLine;
21
+ private tempSprite2;
22
+ constructor(viralTools: ViralTools);
23
+ activate(input: ViralViewerTool): void;
24
+ onMouseMove(mousePoint: Vector2): void;
25
+ onMouseClick(mousePoint: Vector2): void;
26
+ private resetPickedPoints;
27
+ private makeSprite;
28
+ private makeLine;
29
+ private makeDistanceSprite;
30
+ private dispose;
31
+ onKeyPress(evt: KeyboardEvent): void;
32
+ }
33
+ export {};
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralToolMeasure = void 0;
4
+ const three_1 = require("three");
5
+ const colors_1 = require("../../../const/colors");
6
+ const __1 = require("../../..");
7
+ class ViralToolMeasure {
8
+ constructor(viralTools) {
9
+ this.viralTools = viralTools;
10
+ this.viralToolMeasureScene = new three_1.Scene();
11
+ this.isActivated = false;
12
+ this.measures = [];
13
+ this.point1 = null;
14
+ this.point2 = null;
15
+ this.tempPoint2 = null;
16
+ this.defaultSprite = this.makeSprite();
17
+ this.measureObject = new three_1.Mesh();
18
+ this.tempMeasure = new three_1.Mesh();
19
+ this.tempSprite1 = null;
20
+ this.tempLine = null;
21
+ this.tempSprite2 = null;
22
+ }
23
+ activate(input) {
24
+ this.isActivated = input.activate;
25
+ if (!this.isActivated) {
26
+ this.dispose();
27
+ }
28
+ else {
29
+ if (!this.viralToolMeasureScene.getObjectByName('measure-object')) {
30
+ this.measureObject.name = 'measure-object';
31
+ this.viralToolMeasureScene.add(this.measureObject);
32
+ }
33
+ if (!this.viralToolMeasureScene.getObjectByName('temp-measure')) {
34
+ this.tempMeasure.name = 'temp-measure';
35
+ this.viralToolMeasureScene.add(this.tempMeasure);
36
+ }
37
+ }
38
+ }
39
+ onMouseMove(mousePoint) {
40
+ if (mousePoint) {
41
+ let result = this.viralTools.viralViewerApi.viralCamera.clientToWorld();
42
+ if (result && result.length > 0) {
43
+ let coordinate = result[0].point;
44
+ if (this.point1 && !this.point2) {
45
+ this.tempPoint2 = coordinate;
46
+ //sprite 1
47
+ if (!this.tempSprite1) {
48
+ this.tempSprite1 = this.defaultSprite.clone();
49
+ this.tempSprite1.position.copy(this.point1);
50
+ this.tempMeasure.add(this.tempSprite1);
51
+ }
52
+ else {
53
+ this.tempSprite1.position.copy(this.point1);
54
+ }
55
+ //sprite 2
56
+ if (!this.tempSprite2) {
57
+ this.tempSprite2 = this.defaultSprite.clone();
58
+ this.tempSprite2.position.copy(this.tempPoint2);
59
+ this.tempMeasure.add(this.tempSprite2);
60
+ }
61
+ else {
62
+ this.tempSprite2.position.copy(this.tempPoint2);
63
+ }
64
+ //line
65
+ if (!this.tempLine) {
66
+ this.tempLine = this.makeLine(this.point1, this.tempPoint2);
67
+ this.tempMeasure.add(this.tempLine);
68
+ }
69
+ else {
70
+ // this.tempLine = this.makeLine(this.point1, this.tempPoint2);
71
+ // this.tempLine.matrixWorldNeedsUpdate = true;
72
+ const positions = this.tempLine.geometry.attributes.position;
73
+ positions.setXYZ(0, this.point1.x, this.point1.y, this.point1.z);
74
+ positions.setXYZ(1, this.tempPoint2.x, this.tempPoint2.y, this.tempPoint2.z);
75
+ positions.needsUpdate = true;
76
+ }
77
+ //distance sprite
78
+ // let distanceSprite = this.makeDistanceSprite(this.point1, this.tempPoint2);
79
+ // this.tempMeasure.add(distanceSprite);
80
+ //rerender
81
+ this.viralTools.viralViewerApi.viralRenderer.render();
82
+ }
83
+ }
84
+ }
85
+ }
86
+ onMouseClick(mousePoint) {
87
+ if (mousePoint) {
88
+ let result = this.viralTools.viralViewerApi.viralCamera.clientToWorld();
89
+ if (result && result.length > 0) {
90
+ let coordinate = result[0].point;
91
+ if (!this.point1 && !this.point2) {
92
+ this.point1 = coordinate;
93
+ let sprite1 = this.defaultSprite.clone();
94
+ sprite1.position.copy(this.point1);
95
+ this.tempMeasure.add(sprite1);
96
+ }
97
+ else if (this.point1 && !this.point2) {
98
+ this.point2 = coordinate;
99
+ __1.THREEUtil.clearChildren(this.tempMeasure);
100
+ //sprite 1
101
+ let sprite1 = this.defaultSprite.clone();
102
+ sprite1.position.copy(this.point1);
103
+ this.measureObject.add(sprite1);
104
+ //sprite 2
105
+ let sprite2 = this.defaultSprite.clone();
106
+ sprite2.position.copy(this.point2);
107
+ this.measureObject.add(sprite2);
108
+ //line
109
+ let line = this.makeLine(this.point1, this.point2);
110
+ this.measureObject.add(line);
111
+ //distance sprite
112
+ let distanceSprite = this.makeDistanceSprite(this.point1, this.point2);
113
+ this.measureObject.add(distanceSprite);
114
+ //rerender
115
+ this.viralTools.viralViewerApi.viralRenderer.render();
116
+ }
117
+ else if (this.point1 && this.point2) {
118
+ this.resetPickedPoints();
119
+ this.point1 = coordinate;
120
+ let sprite1 = this.defaultSprite.clone();
121
+ sprite1.position.copy(this.point1);
122
+ this.tempMeasure.add(sprite1);
123
+ }
124
+ }
125
+ }
126
+ }
127
+ resetPickedPoints() {
128
+ this.point1 = null;
129
+ this.point2 = null;
130
+ }
131
+ makeSprite() {
132
+ function makeCircleImage() {
133
+ let canvas = document.createElement('canvas');
134
+ let ctx = canvas.getContext('2d');
135
+ let size = 32;
136
+ canvas.width = size;
137
+ canvas.height = size;
138
+ let r = size * 0.8 / 2;
139
+ let blur = size - r;
140
+ if (ctx) {
141
+ ctx.shadowBlur = 5;
142
+ ctx.shadowColor = '#555';
143
+ ctx.fillStyle = '#fff';
144
+ ctx.beginPath();
145
+ ctx.arc(size / 2, size / 2, r, 0, Math.PI * 2);
146
+ ctx.closePath();
147
+ ctx.fill();
148
+ ctx.shadowBlur = 0;
149
+ ctx.fillStyle = colors_1.LightTheme.primary;
150
+ ctx.beginPath();
151
+ ctx.arc(size / 2, size / 2, r * 0.5, 0, Math.PI * 2);
152
+ ctx.closePath();
153
+ ctx.fill();
154
+ }
155
+ return canvas;
156
+ }
157
+ let circleTexture = new three_1.CanvasTexture(makeCircleImage());
158
+ let circleMaterial = new three_1.SpriteMaterial({
159
+ map: circleTexture,
160
+ sizeAttenuation: false,
161
+ });
162
+ let circleSprite = new three_1.Sprite(circleMaterial);
163
+ circleSprite.scale.setScalar(0.08);
164
+ return circleSprite;
165
+ }
166
+ makeLine(position1, position2) {
167
+ let lineMaterial = new three_1.LineBasicMaterial({
168
+ color: __1.THREEUtil.hexToThreejsColor(colors_1.LightTheme.primary),
169
+ linewidth: 20,
170
+ });
171
+ const points = [position1, position2];
172
+ const geometry = new three_1.BufferGeometry().setFromPoints(points);
173
+ let line = new three_1.Line(geometry, lineMaterial);
174
+ return line;
175
+ }
176
+ makeDistanceSprite(position1, position2) {
177
+ function roundRect(ctx, x, y, w, h, r) {
178
+ ctx.beginPath();
179
+ ctx.moveTo(x + r, y);
180
+ ctx.lineTo(x + w - r, y);
181
+ ctx.quadraticCurveTo(x + w, y, x + w, y + r);
182
+ ctx.lineTo(x + w, y + h - r);
183
+ ctx.quadraticCurveTo(x + w, y + h, x + w - r, y + h);
184
+ ctx.lineTo(x + r, y + h);
185
+ ctx.quadraticCurveTo(x, y + h, x, y + h - r);
186
+ ctx.lineTo(x, y + r);
187
+ ctx.quadraticCurveTo(x, y, x + r, y);
188
+ ctx.closePath();
189
+ ctx.fill();
190
+ }
191
+ let canvas = document.createElement('canvas');
192
+ let ctx = canvas.getContext('2d');
193
+ let fontsize = 32;
194
+ if (ctx) {
195
+ ctx.font = 'bolder ' + fontsize + 'px "Open Sans", Arial';
196
+ let length = Math.round(position1.distanceTo(position2));
197
+ let text = '~ ' + length;
198
+ let size = ctx.measureText(text);
199
+ let paddingLeft = 20;
200
+ let paddingTop = 10;
201
+ let margin = 10;
202
+ canvas.width = size.width + paddingLeft * 2 + margin * 2;
203
+ canvas.height = fontsize + paddingTop * 2 + margin * 2;
204
+ ctx.shadowBlur = 10;
205
+ ctx.shadowColor = '#555';
206
+ ctx.fillStyle = colors_1.LightTheme.primary;
207
+ roundRect(ctx, margin, margin, canvas.width - margin * 2, canvas.height - margin * 2, 10);
208
+ ctx.shadowBlur = 0;
209
+ ctx.fillStyle = '#fff';
210
+ ctx.textAlign = 'left';
211
+ ctx.textBaseline = 'top';
212
+ ctx.font = 'bolder ' + fontsize + 'px "Open Sans", Arial';
213
+ ctx.fillText(text, paddingLeft + margin, paddingTop + margin);
214
+ }
215
+ let texture = new three_1.CanvasTexture(canvas);
216
+ let sprite = new three_1.Sprite(new three_1.SpriteMaterial({
217
+ map: texture,
218
+ sizeAttenuation: false,
219
+ }));
220
+ sprite.scale.set(0.002 * canvas.width * 0.5, 0.0025 * canvas.height * 0.5, 1);
221
+ let positionPoint = __1.THREEUtil.middlePoint(position1, position2);
222
+ sprite.position.copy(positionPoint);
223
+ return sprite;
224
+ }
225
+ dispose() {
226
+ this.resetPickedPoints();
227
+ __1.THREEUtil.clearChildren(this.measureObject);
228
+ __1.THREEUtil.clearChildren(this.tempMeasure);
229
+ this.viralTools.viralViewerApi.viralRenderer.render();
230
+ }
231
+ onKeyPress(evt) {
232
+ if (evt.code == "Escape") {
233
+ __1.THREEUtil.clearChildren(this.tempMeasure);
234
+ this.point1 = null;
235
+ this.point2 = null;
236
+ this.tempPoint2 = null;
237
+ //rerender
238
+ this.viralTools.viralViewerApi.viralRenderer.render();
239
+ }
240
+ }
241
+ }
242
+ exports.ViralToolMeasure = ViralToolMeasure;
243
+ //# sourceMappingURL=viral-tool-measure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-tool-measure.js","sourceRoot":"","sources":["../../../../src/components/tools/tools/viral-tool-measure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ViralViewerTool } from "../../../types";
2
+ import { ViralTools } from "../viral-tools";
3
+ export declare class ViralToolSunlight {
4
+ viralTools: ViralTools;
5
+ constructor(viralTools: ViralTools);
6
+ activate(input: ViralViewerTool): void;
7
+ }