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,546 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CubeScene = void 0;
4
+ const three_1 = require("three");
5
+ const colors_1 = require("../../../const/colors");
6
+ class CubeScene {
7
+ constructor(viralNavigationCube) {
8
+ this.viralNavigationCube = viralNavigationCube;
9
+ this.scene = new three_1.Scene();
10
+ this.objects = [];
11
+ this.cube = null;
12
+ // planes: Mesh<BufferGeometry, MeshBasicMaterial>[] = [];
13
+ this.activePlane = null;
14
+ this.addCube();
15
+ this.addPlanes();
16
+ }
17
+ addObject(object) {
18
+ this.scene.add(object);
19
+ this.objects.push(object);
20
+ }
21
+ addCube() {
22
+ let materials = [];
23
+ let texts = ["RIGHT", "LEFT", "TOP", "BOTTOM", "FRONT", "BACK"];
24
+ let textureLoader = new three_1.TextureLoader();
25
+ let canvas = document.createElement("canvas");
26
+ let ctx = canvas.getContext("2d");
27
+ let size = 64;
28
+ canvas.width = size;
29
+ canvas.height = size;
30
+ if (ctx) {
31
+ ctx.font = 'bolder 12px "Open sans", Arial';
32
+ ctx.textBaseline = "middle";
33
+ ctx.textAlign = "center";
34
+ let mainColor = `${colors_1.LightTheme.background}`;
35
+ for (let i = 0; i < 6; i++) {
36
+ if (texts[i] == "TOP") {
37
+ ctx.fillStyle = mainColor;
38
+ }
39
+ else if (texts[i] == "BOTTOM") {
40
+ ctx.fillStyle = mainColor;
41
+ }
42
+ else {
43
+ ctx.fillStyle = mainColor;
44
+ }
45
+ ctx.fillRect(0, 0, size, size);
46
+ ctx.strokeStyle = `${colors_1.LightTheme.primary}`;
47
+ ctx.setLineDash([8, 8]);
48
+ ctx.lineWidth = 4;
49
+ ctx.strokeRect(0, 0, size, size);
50
+ ctx.fillStyle = `${colors_1.LightTheme.primary}`;
51
+ ctx.fillText(texts[i], size / 2, size / 2);
52
+ materials[i] = new three_1.MeshBasicMaterial({
53
+ map: textureLoader.load(canvas.toDataURL()),
54
+ });
55
+ }
56
+ this.cube = new three_1.Mesh(new three_1.BoxGeometry(1, 1, 1), materials);
57
+ this.addObject(this.cube);
58
+ }
59
+ }
60
+ addPlanes() {
61
+ let planeMaterial = new three_1.MeshBasicMaterial({
62
+ side: three_1.DoubleSide,
63
+ color: 0x659F51,
64
+ transparent: true,
65
+ opacity: 0,
66
+ depthTest: false,
67
+ });
68
+ let planeSize = 0.7;
69
+ let edgeHeight = 0.7;
70
+ let edgeWidth = 0.15;
71
+ let planeGeometry = new three_1.PlaneGeometry(planeSize, planeSize);
72
+ let edgePlaneGeometry = new three_1.PlaneGeometry(edgeWidth, edgeHeight);
73
+ let cornerPlaneGeometry = new three_1.PlaneGeometry(edgeWidth, edgeWidth);
74
+ let distanceFromCenterPoint = 0.51;
75
+ //#region Front
76
+ let plane1 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
77
+ plane1.position.z = distanceFromCenterPoint;
78
+ plane1.name = "FRONT";
79
+ //right edge
80
+ let plane11 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
81
+ plane11.position.z = distanceFromCenterPoint;
82
+ plane11.position.x = ((planeSize / 2) + (edgeWidth / 2));
83
+ //left edge
84
+ let plane12 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
85
+ plane12.position.z = distanceFromCenterPoint;
86
+ plane12.position.x = -((planeSize / 2) + (edgeWidth / 2));
87
+ //top edge
88
+ let plane13 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
89
+ plane13.position.z = distanceFromCenterPoint;
90
+ plane13.rotation.z = Math.PI / 2;
91
+ plane13.position.y = ((planeSize / 2) + (edgeWidth / 2));
92
+ //bottom edge
93
+ let plane14 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
94
+ plane14.position.z = distanceFromCenterPoint;
95
+ plane14.rotation.z = Math.PI / 2;
96
+ plane14.position.y = -((planeSize / 2) + (edgeWidth / 2));
97
+ //top left corner
98
+ let corner11 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
99
+ corner11.position.z = distanceFromCenterPoint;
100
+ corner11.position.x = -((planeSize / 2) + (edgeWidth / 2));
101
+ corner11.position.y = ((planeSize / 2) + (edgeWidth / 2));
102
+ //top right corner
103
+ let corner12 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
104
+ corner12.position.z = distanceFromCenterPoint;
105
+ corner12.position.x = ((planeSize / 2) + (edgeWidth / 2));
106
+ corner12.position.y = ((planeSize / 2) + (edgeWidth / 2));
107
+ //bottom right corner
108
+ let corner13 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
109
+ corner13.position.z = distanceFromCenterPoint;
110
+ corner13.position.x = ((planeSize / 2) + (edgeWidth / 2));
111
+ corner13.position.y = -((planeSize / 2) + (edgeWidth / 2));
112
+ //bottom left corner
113
+ let corner14 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
114
+ corner14.position.z = distanceFromCenterPoint;
115
+ corner14.position.x = -((planeSize / 2) + (edgeWidth / 2));
116
+ corner14.position.y = -((planeSize / 2) + (edgeWidth / 2));
117
+ //#endregion
118
+ //#region Back
119
+ let plane2 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
120
+ plane2.position.z = -distanceFromCenterPoint;
121
+ plane2.name = "BACK";
122
+ //left edge
123
+ let plane21 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
124
+ plane21.position.z = -distanceFromCenterPoint;
125
+ plane21.position.x = ((planeSize / 2) + (edgeWidth / 2));
126
+ //right edge
127
+ let plane22 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
128
+ plane22.position.z = -distanceFromCenterPoint;
129
+ plane22.position.x = -((planeSize / 2) + (edgeWidth / 2));
130
+ //top edge
131
+ let plane23 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
132
+ plane23.position.z = -distanceFromCenterPoint;
133
+ plane23.rotation.z = Math.PI / 2;
134
+ plane23.position.y = ((planeSize / 2) + (edgeWidth / 2));
135
+ //bottom edge
136
+ let plane24 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
137
+ plane24.position.z = -distanceFromCenterPoint;
138
+ plane24.rotation.z = Math.PI / 2;
139
+ plane24.position.y = -((planeSize / 2) + (edgeWidth / 2));
140
+ //top left corner
141
+ let corner21 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
142
+ corner21.position.z = -distanceFromCenterPoint;
143
+ corner21.position.x = ((planeSize / 2) + (edgeWidth / 2));
144
+ corner21.position.y = ((planeSize / 2) + (edgeWidth / 2));
145
+ //top right corner
146
+ let corner22 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
147
+ corner22.position.z = -distanceFromCenterPoint;
148
+ corner22.position.x = -((planeSize / 2) + (edgeWidth / 2));
149
+ corner22.position.y = ((planeSize / 2) + (edgeWidth / 2));
150
+ //bottom right corner
151
+ let corner23 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
152
+ corner23.position.z = -distanceFromCenterPoint;
153
+ corner23.position.x = -((planeSize / 2) + (edgeWidth / 2));
154
+ corner23.position.y = -((planeSize / 2) + (edgeWidth / 2));
155
+ //bottom left corner
156
+ let corner24 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
157
+ corner24.position.z = -distanceFromCenterPoint;
158
+ corner24.position.x = ((planeSize / 2) + (edgeWidth / 2));
159
+ corner24.position.y = -((planeSize / 2) + (edgeWidth / 2));
160
+ //#endregion
161
+ //#region Right
162
+ let plane3 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
163
+ plane3.rotation.y = Math.PI / 2;
164
+ plane3.position.x = distanceFromCenterPoint;
165
+ plane3.name = "RIGHT";
166
+ //left edge
167
+ let plane31 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
168
+ plane31.rotation.y = Math.PI / 2;
169
+ plane31.position.x = distanceFromCenterPoint;
170
+ plane31.position.z = ((planeSize / 2) + (edgeWidth / 2));
171
+ //right edge
172
+ let plane32 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
173
+ plane32.rotation.y = Math.PI / 2;
174
+ plane32.position.x = distanceFromCenterPoint;
175
+ plane32.position.z = -((planeSize / 2) + (edgeWidth / 2));
176
+ //top edge
177
+ let plane33 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
178
+ plane33.rotation.y = Math.PI / 2;
179
+ plane33.position.x = distanceFromCenterPoint;
180
+ plane33.rotation.z = Math.PI / 2;
181
+ plane33.position.y = ((planeSize / 2) + (edgeWidth / 2));
182
+ //bottom edge
183
+ let plane34 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
184
+ plane34.rotation.y = Math.PI / 2;
185
+ plane34.position.x = distanceFromCenterPoint;
186
+ plane34.rotation.z = Math.PI / 2;
187
+ plane34.position.y = -((planeSize / 2) + (edgeWidth / 2));
188
+ //top left corner
189
+ let corner31 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
190
+ corner31.rotation.y = Math.PI / 2;
191
+ corner31.position.x = distanceFromCenterPoint;
192
+ corner31.position.z = ((planeSize / 2) + (edgeWidth / 2));
193
+ corner31.position.y = ((planeSize / 2) + (edgeWidth / 2));
194
+ //top right corner
195
+ let corner32 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
196
+ corner32.rotation.y = Math.PI / 2;
197
+ corner32.position.x = distanceFromCenterPoint;
198
+ corner32.position.z = -((planeSize / 2) + (edgeWidth / 2));
199
+ corner32.position.y = ((planeSize / 2) + (edgeWidth / 2));
200
+ //bottom right corner
201
+ let corner33 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
202
+ corner33.rotation.y = Math.PI / 2;
203
+ corner33.position.x = distanceFromCenterPoint;
204
+ corner33.position.z = -((planeSize / 2) + (edgeWidth / 2));
205
+ corner33.position.y = -((planeSize / 2) + (edgeWidth / 2));
206
+ //bottom left corner
207
+ let corner34 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
208
+ corner34.rotation.y = Math.PI / 2;
209
+ corner34.position.x = distanceFromCenterPoint;
210
+ corner34.position.z = ((planeSize / 2) + (edgeWidth / 2));
211
+ corner34.position.y = -((planeSize / 2) + (edgeWidth / 2));
212
+ //#endregion
213
+ //#region Left
214
+ let plane4 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
215
+ plane4.rotation.y = Math.PI / 2;
216
+ plane4.position.x = -distanceFromCenterPoint;
217
+ plane4.name = "LEFT";
218
+ //left edge
219
+ let plane41 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
220
+ plane41.rotation.y = Math.PI / 2;
221
+ plane41.position.x = -distanceFromCenterPoint;
222
+ plane41.position.z = ((planeSize / 2) + (edgeWidth / 2));
223
+ //right edge
224
+ let plane42 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
225
+ plane42.rotation.y = Math.PI / 2;
226
+ plane42.position.x = -distanceFromCenterPoint;
227
+ plane42.position.z = -((planeSize / 2) + (edgeWidth / 2));
228
+ //top edge
229
+ let plane43 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
230
+ plane43.rotation.y = Math.PI / 2;
231
+ plane43.position.x = -distanceFromCenterPoint;
232
+ plane43.rotation.z = Math.PI / 2;
233
+ plane43.position.y = ((planeSize / 2) + (edgeWidth / 2));
234
+ //bottom edge
235
+ let plane44 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
236
+ plane44.rotation.y = Math.PI / 2;
237
+ plane44.position.x = -distanceFromCenterPoint;
238
+ plane44.rotation.z = Math.PI / 2;
239
+ plane44.position.y = -((planeSize / 2) + (edgeWidth / 2));
240
+ //top left corner
241
+ let corner41 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
242
+ corner41.rotation.y = Math.PI / 2;
243
+ corner41.position.x = -distanceFromCenterPoint;
244
+ corner41.position.z = -((planeSize / 2) + (edgeWidth / 2));
245
+ corner41.position.y = ((planeSize / 2) + (edgeWidth / 2));
246
+ //top right corner
247
+ let corner42 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
248
+ corner42.rotation.y = Math.PI / 2;
249
+ corner42.position.x = -distanceFromCenterPoint;
250
+ corner42.position.z = ((planeSize / 2) + (edgeWidth / 2));
251
+ corner42.position.y = ((planeSize / 2) + (edgeWidth / 2));
252
+ //bottom right corner
253
+ let corner43 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
254
+ corner43.rotation.y = Math.PI / 2;
255
+ corner43.position.x = -distanceFromCenterPoint;
256
+ corner43.position.z = ((planeSize / 2) + (edgeWidth / 2));
257
+ corner43.position.y = -((planeSize / 2) + (edgeWidth / 2));
258
+ //bottom left corner
259
+ let corner44 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
260
+ corner44.rotation.y = Math.PI / 2;
261
+ corner44.position.x = -distanceFromCenterPoint;
262
+ corner44.position.z = -((planeSize / 2) + (edgeWidth / 2));
263
+ corner44.position.y = -((planeSize / 2) + (edgeWidth / 2));
264
+ //#endregion
265
+ //#region Top
266
+ let plane5 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
267
+ plane5.rotation.x = Math.PI / 2;
268
+ plane5.position.y = distanceFromCenterPoint;
269
+ plane5.name = "TOP";
270
+ //right edge
271
+ let plane51 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
272
+ plane51.rotation.x = Math.PI / 2;
273
+ plane51.position.y = distanceFromCenterPoint;
274
+ plane51.position.x = ((planeSize / 2) + (edgeWidth / 2));
275
+ //left edge
276
+ let plane52 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
277
+ plane52.rotation.x = Math.PI / 2;
278
+ plane52.position.y = distanceFromCenterPoint;
279
+ plane52.position.x = -((planeSize / 2) + (edgeWidth / 2));
280
+ //top edge
281
+ let plane53 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
282
+ plane53.rotation.x = Math.PI / 2;
283
+ plane53.position.y = distanceFromCenterPoint;
284
+ plane53.rotation.z = Math.PI / 2;
285
+ plane53.position.z = ((planeSize / 2) + (edgeWidth / 2));
286
+ //bottom edge
287
+ let plane54 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
288
+ plane54.rotation.x = Math.PI / 2;
289
+ plane54.position.y = distanceFromCenterPoint;
290
+ plane54.rotation.z = Math.PI / 2;
291
+ plane54.position.z = -((planeSize / 2) + (edgeWidth / 2));
292
+ //top left corner
293
+ let corner51 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
294
+ corner51.rotation.x = Math.PI / 2;
295
+ corner51.position.y = distanceFromCenterPoint;
296
+ corner51.position.z = -((planeSize / 2) + (edgeWidth / 2));
297
+ corner51.position.x = -((planeSize / 2) + (edgeWidth / 2));
298
+ //top right corner
299
+ let corner52 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
300
+ corner52.rotation.x = Math.PI / 2;
301
+ corner52.position.y = distanceFromCenterPoint;
302
+ corner52.position.z = -((planeSize / 2) + (edgeWidth / 2));
303
+ corner52.position.x = ((planeSize / 2) + (edgeWidth / 2));
304
+ //bottom right corner
305
+ let corner53 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
306
+ corner53.rotation.x = Math.PI / 2;
307
+ corner53.position.y = distanceFromCenterPoint;
308
+ corner53.position.z = ((planeSize / 2) + (edgeWidth / 2));
309
+ corner53.position.x = ((planeSize / 2) + (edgeWidth / 2));
310
+ //bottom left corner
311
+ let corner54 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
312
+ corner54.rotation.x = Math.PI / 2;
313
+ corner54.position.y = distanceFromCenterPoint;
314
+ corner54.position.z = ((planeSize / 2) + (edgeWidth / 2));
315
+ corner54.position.x = -((planeSize / 2) + (edgeWidth / 2));
316
+ //#endregion
317
+ //#region Bottom
318
+ let plane6 = new three_1.Mesh(planeGeometry, planeMaterial.clone());
319
+ plane6.rotation.x = Math.PI / 2;
320
+ plane6.position.y = -distanceFromCenterPoint;
321
+ plane6.name = "BOTTOM";
322
+ //right edge
323
+ let plane61 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
324
+ plane61.rotation.x = Math.PI / 2;
325
+ plane61.position.y = -distanceFromCenterPoint;
326
+ plane61.position.x = ((planeSize / 2) + (edgeWidth / 2));
327
+ //left edge
328
+ let plane62 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
329
+ plane62.rotation.x = Math.PI / 2;
330
+ plane62.position.y = -distanceFromCenterPoint;
331
+ plane62.position.x = -((planeSize / 2) + (edgeWidth / 2));
332
+ //top edge
333
+ let plane63 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
334
+ plane63.rotation.x = Math.PI / 2;
335
+ plane63.position.y = -distanceFromCenterPoint;
336
+ plane63.rotation.z = Math.PI / 2;
337
+ plane63.position.z = ((planeSize / 2) + (edgeWidth / 2));
338
+ //bottom edge
339
+ let plane64 = new three_1.Mesh(edgePlaneGeometry, planeMaterial.clone());
340
+ plane64.rotation.x = Math.PI / 2;
341
+ plane64.position.y = -distanceFromCenterPoint;
342
+ plane64.rotation.z = Math.PI / 2;
343
+ plane64.position.z = -((planeSize / 2) + (edgeWidth / 2));
344
+ //top left corner
345
+ let corner61 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
346
+ corner61.rotation.x = Math.PI / 2;
347
+ corner61.position.y = -distanceFromCenterPoint;
348
+ corner61.position.z = ((planeSize / 2) + (edgeWidth / 2));
349
+ corner61.position.x = -((planeSize / 2) + (edgeWidth / 2));
350
+ //top right corner
351
+ let corner62 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
352
+ corner62.rotation.x = Math.PI / 2;
353
+ corner62.position.y = -distanceFromCenterPoint;
354
+ corner62.position.z = ((planeSize / 2) + (edgeWidth / 2));
355
+ corner62.position.x = ((planeSize / 2) + (edgeWidth / 2));
356
+ //bottom right corner
357
+ let corner63 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
358
+ corner63.rotation.x = Math.PI / 2;
359
+ corner63.position.y = -distanceFromCenterPoint;
360
+ corner63.position.z = -((planeSize / 2) + (edgeWidth / 2));
361
+ corner63.position.x = ((planeSize / 2) + (edgeWidth / 2));
362
+ //bottom left corner
363
+ let corner64 = new three_1.Mesh(cornerPlaneGeometry, planeMaterial.clone());
364
+ corner64.rotation.x = Math.PI / 2;
365
+ corner64.position.y = -distanceFromCenterPoint;
366
+ corner64.position.z = -((planeSize / 2) + (edgeWidth / 2));
367
+ corner64.position.x = -((planeSize / 2) + (edgeWidth / 2));
368
+ //#endregion
369
+ let groundMaterial = new three_1.MeshBasicMaterial({
370
+ color: 0xaaaaaa,
371
+ });
372
+ let groundGeometry = new three_1.PlaneGeometry(1, 1);
373
+ let groundPlane = new three_1.Mesh(groundGeometry, groundMaterial);
374
+ groundPlane.rotation.x = -Math.PI / 2;
375
+ groundPlane.position.y = -0.6;
376
+ //#region Main Plane
377
+ this.addObject(plane1);
378
+ this.addObject(plane2);
379
+ this.addObject(plane3);
380
+ this.addObject(plane4);
381
+ this.addObject(plane5);
382
+ this.addObject(plane6);
383
+ this.addObject(groundPlane);
384
+ //#endregion
385
+ //#region Edge
386
+ //right
387
+ const plane1131 = new three_1.Mesh();
388
+ plane1131.name = "1131";
389
+ plane1131.add(plane11);
390
+ plane1131.add(plane31);
391
+ // plane1131.material = planeMaterial.clone();
392
+ this.addObject(plane1131);
393
+ //left
394
+ const plane1241 = new three_1.Mesh();
395
+ plane1241.name = "1241";
396
+ plane1241.add(plane12);
397
+ plane1241.add(plane41);
398
+ // plane1241.material = planeMaterial.clone();
399
+ this.addObject(plane1241);
400
+ //top
401
+ const plane1353 = new three_1.Mesh();
402
+ plane1353.name = "1353";
403
+ plane1353.add(plane13);
404
+ plane1353.add(plane53);
405
+ // plane1353.material = planeMaterial.clone();
406
+ this.addObject(plane1353);
407
+ //bottom
408
+ const plane1463 = new three_1.Mesh();
409
+ plane1463.name = "1463";
410
+ plane1463.add(plane14);
411
+ plane1463.add(plane63);
412
+ // plane1463.material = planeMaterial.clone();
413
+ this.addObject(plane1463);
414
+ const plane2464 = new three_1.Mesh();
415
+ plane2464.name = "2464";
416
+ plane2464.add(plane24);
417
+ plane2464.add(plane64);
418
+ // plane2464.material = planeMaterial.clone();
419
+ this.addObject(plane2464);
420
+ //right
421
+ const plane3221 = new three_1.Mesh();
422
+ plane3221.name = "3221";
423
+ plane3221.add(plane32);
424
+ plane3221.add(plane21);
425
+ // plane3221.material = planeMaterial.clone();
426
+ this.addObject(plane3221);
427
+ //top
428
+ const plane3351 = new three_1.Mesh();
429
+ plane3351.name = "3351";
430
+ plane3351.add(plane33);
431
+ plane3351.add(plane51);
432
+ // plane3351.material = planeMaterial.clone();
433
+ this.addObject(plane3351);
434
+ //bottom
435
+ const plane3461 = new three_1.Mesh();
436
+ plane3461.name = "3461";
437
+ plane3461.add(plane34);
438
+ plane3461.add(plane61);
439
+ // plane3461.material = planeMaterial.clone();
440
+ this.addObject(plane3461);
441
+ //left
442
+ const plane4222 = new three_1.Mesh();
443
+ plane4222.name = "4222";
444
+ plane4222.add(plane42);
445
+ plane4222.add(plane22);
446
+ // plane4222.material = planeMaterial.clone();
447
+ this.addObject(plane4222);
448
+ //top
449
+ const plane4352 = new three_1.Mesh();
450
+ plane4352.name = "4352";
451
+ plane4352.add(plane43);
452
+ plane4352.add(plane52);
453
+ // plane4352.material = planeMaterial.clone();
454
+ this.addObject(plane4352);
455
+ //bottom
456
+ const plane4462 = new three_1.Mesh();
457
+ plane4462.name = "3462";
458
+ plane4462.add(plane44);
459
+ plane4462.add(plane62);
460
+ // plane4462.material = planeMaterial.clone();
461
+ this.addObject(plane4462);
462
+ const plane5423 = new three_1.Mesh();
463
+ plane5423.name = "5423";
464
+ plane5423.add(plane54);
465
+ plane5423.add(plane23);
466
+ // plane5423.material = planeMaterial.clone();
467
+ this.addObject(plane5423);
468
+ //#endregion
469
+ //#region Corner
470
+ // this.addObject(corner11);
471
+ // this.addObject(corner12);
472
+ // this.addObject(corner13);
473
+ // this.addObject(corner14);
474
+ // this.addObject(corner21);
475
+ // this.addObject(corner22);
476
+ // this.addObject(corner23);
477
+ // this.addObject(corner24);
478
+ // this.addObject(corner31);
479
+ // this.addObject(corner32);
480
+ // this.addObject(corner33);
481
+ // this.addObject(corner34);
482
+ // this.addObject(corner41);
483
+ // this.addObject(corner42);
484
+ // this.addObject(corner43);
485
+ // this.addObject(corner44);
486
+ // this.addObject(corner51);
487
+ // this.addObject(corner52);
488
+ // this.addObject(corner53);
489
+ // this.addObject(corner54);
490
+ // this.addObject(corner61);
491
+ // this.addObject(corner62);
492
+ // this.addObject(corner63);
493
+ // this.addObject(corner64);
494
+ const corner1 = new three_1.Mesh();
495
+ corner1.name = "corner1";
496
+ corner1.add(corner11);
497
+ corner1.add(corner54);
498
+ corner1.add(corner42);
499
+ this.addObject(corner1);
500
+ const corner2 = new three_1.Mesh();
501
+ corner2.name = "corner2";
502
+ corner2.add(corner12);
503
+ corner2.add(corner31);
504
+ corner2.add(corner53);
505
+ this.addObject(corner2);
506
+ const corner3 = new three_1.Mesh();
507
+ corner3.name = "corner3";
508
+ corner3.add(corner13);
509
+ corner3.add(corner34);
510
+ corner3.add(corner62);
511
+ this.addObject(corner3);
512
+ const corner4 = new three_1.Mesh();
513
+ corner4.name = "corner4";
514
+ corner4.add(corner14);
515
+ corner4.add(corner43);
516
+ corner4.add(corner61);
517
+ this.addObject(corner4);
518
+ const corner5 = new three_1.Mesh();
519
+ corner5.name = "corner5";
520
+ corner5.add(corner21);
521
+ corner5.add(corner32);
522
+ corner5.add(corner52);
523
+ this.addObject(corner5);
524
+ const corner6 = new three_1.Mesh();
525
+ corner6.name = "corner6";
526
+ corner6.add(corner22);
527
+ corner6.add(corner51);
528
+ corner6.add(corner41);
529
+ this.addObject(corner6);
530
+ const corner7 = new three_1.Mesh();
531
+ corner7.name = "corner7";
532
+ corner7.add(corner23);
533
+ corner7.add(corner44);
534
+ corner7.add(corner64);
535
+ this.addObject(corner7);
536
+ const corner8 = new three_1.Mesh();
537
+ corner8.name = "corner8";
538
+ corner8.add(corner24);
539
+ corner8.add(corner33);
540
+ corner8.add(corner63);
541
+ this.addObject(corner8);
542
+ //#endregion
543
+ }
544
+ }
545
+ exports.CubeScene = CubeScene;
546
+ //# sourceMappingURL=cube-scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-scene.js","sourceRoot":"","sources":["../../../../src/gui/navigation-cube/components/cube-scene.ts"],"names":[],"mappings":"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"}