viral-viewer-2 6.2.1 → 6.2.3

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 (258) hide show
  1. package/README.md +0 -0
  2. package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
  3. package/dist/viralution-viewer.js +2 -0
  4. package/dist/viralution-viewer.js.LICENSE.txt +19 -0
  5. package/package.json +6 -4
  6. package/dist/components/animation/viral-animation.js +0 -59
  7. package/dist/components/animation/viral-animation.js.map +0 -1
  8. package/dist/components/bvh/viral-bvh.js +0 -19
  9. package/dist/components/bvh/viral-bvh.js.map +0 -1
  10. package/dist/components/camera/viral-camera.js +0 -201
  11. package/dist/components/camera/viral-camera.js.map +0 -1
  12. package/dist/components/centralized-event-handler/viral-centralized-event-handler.d.ts +0 -7
  13. package/dist/components/centralized-event-handler/viral-centralized-event-handler.js +0 -47
  14. package/dist/components/centralized-event-handler/viral-centralized-event-handler.js.map +0 -1
  15. package/dist/components/compress/viral-compress.processor.js +0 -13
  16. package/dist/components/compress/viral-compress.processor.js.map +0 -1
  17. package/dist/components/context-menu/viral-context-menu.d.ts +0 -17
  18. package/dist/components/context-menu/viral-context-menu.js +0 -74
  19. package/dist/components/context-menu/viral-context-menu.js.map +0 -1
  20. package/dist/components/custom-objects/index.js +0 -6
  21. package/dist/components/custom-objects/index.js.map +0 -1
  22. package/dist/components/custom-objects/viral-instanced-mesh.js +0 -200
  23. package/dist/components/custom-objects/viral-instanced-mesh.js.map +0 -1
  24. package/dist/components/data-manager/viral-data-manager.js +0 -35
  25. package/dist/components/data-manager/viral-data-manager.js.map +0 -1
  26. package/dist/components/event-handler/base/event-dispatcher.js +0 -35
  27. package/dist/components/event-handler/base/event-dispatcher.js.map +0 -1
  28. package/dist/components/event-handler/keyboard/viral-keyboard.js +0 -76
  29. package/dist/components/event-handler/keyboard/viral-keyboard.js.map +0 -1
  30. package/dist/components/event-handler/mouse/viral-mouse.js +0 -234
  31. package/dist/components/event-handler/mouse/viral-mouse.js.map +0 -1
  32. package/dist/components/event-handler/viral-centralized-event-handler.js +0 -158
  33. package/dist/components/event-handler/viral-centralized-event-handler.js.map +0 -1
  34. package/dist/components/event-handler/viral-lifecycle-event-handler.js +0 -55
  35. package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +0 -1
  36. package/dist/components/keyboard/viral-keyboard.d.ts +0 -17
  37. package/dist/components/keyboard/viral-keyboard.js +0 -76
  38. package/dist/components/keyboard/viral-keyboard.js.map +0 -1
  39. package/dist/components/loader/viral-point-cloud.loader.js +0 -33
  40. package/dist/components/loader/viral-point-cloud.loader.js.map +0 -1
  41. package/dist/components/loader/viral-revit.loader.js +0 -119
  42. package/dist/components/loader/viral-revit.loader.js.map +0 -1
  43. package/dist/components/loader/viral-three.loader.js +0 -20
  44. package/dist/components/loader/viral-three.loader.js.map +0 -1
  45. package/dist/components/loader/viral.loader.js +0 -16
  46. package/dist/components/loader/viral.loader.js.map +0 -1
  47. package/dist/components/material/viral-material-manager.js +0 -60
  48. package/dist/components/material/viral-material-manager.js.map +0 -1
  49. package/dist/components/mouse/viral-mouse.d.ts +0 -31
  50. package/dist/components/mouse/viral-mouse.js +0 -234
  51. package/dist/components/mouse/viral-mouse.js.map +0 -1
  52. package/dist/components/navigation-cube/components/cube-camera.d.ts +0 -15
  53. package/dist/components/navigation-cube/components/cube-camera.js +0 -74
  54. package/dist/components/navigation-cube/components/cube-camera.js.map +0 -1
  55. package/dist/components/navigation-cube/components/cube-renderer.d.ts +0 -9
  56. package/dist/components/navigation-cube/components/cube-renderer.js +0 -31
  57. package/dist/components/navigation-cube/components/cube-renderer.js.map +0 -1
  58. package/dist/components/navigation-cube/components/cube-scene.d.ts +0 -13
  59. package/dist/components/navigation-cube/components/cube-scene.js +0 -546
  60. package/dist/components/navigation-cube/components/cube-scene.js.map +0 -1
  61. package/dist/components/navigation-cube/components/cube.mouse.d.ts +0 -9
  62. package/dist/components/navigation-cube/components/cube.mouse.js +0 -109
  63. package/dist/components/navigation-cube/components/cube.mouse.js.map +0 -1
  64. package/dist/components/navigation-cube/viral-navigation-cube.d.ts +0 -16
  65. package/dist/components/navigation-cube/viral-navigation-cube.js +0 -50
  66. package/dist/components/navigation-cube/viral-navigation-cube.js.map +0 -1
  67. package/dist/components/post-processing/ambient-occlusion-effect.d.ts +0 -11
  68. package/dist/components/post-processing/ambient-occlusion-effect.js +0 -32
  69. package/dist/components/post-processing/ambient-occlusion-effect.js.map +0 -1
  70. package/dist/components/post-processing/bloom-effect.d.ts +0 -11
  71. package/dist/components/post-processing/bloom-effect.js +0 -29
  72. package/dist/components/post-processing/bloom-effect.js.map +0 -1
  73. package/dist/components/post-processing/outline-effect.d.ts +0 -13
  74. package/dist/components/post-processing/outline-effect.js +0 -33
  75. package/dist/components/post-processing/outline-effect.js.map +0 -1
  76. package/dist/components/post-processing/post-processing-renderer.js +0 -46
  77. package/dist/components/post-processing/post-processing-renderer.js.map +0 -1
  78. package/dist/components/post-processing/viral-post-processing.d.ts +0 -11
  79. package/dist/components/post-processing/viral-post-processing.js +0 -29
  80. package/dist/components/post-processing/viral-post-processing.js.map +0 -1
  81. package/dist/components/renderer/viral-renderer.js +0 -51
  82. package/dist/components/renderer/viral-renderer.js.map +0 -1
  83. package/dist/components/scene/viral-scene.js +0 -129
  84. package/dist/components/scene/viral-scene.js.map +0 -1
  85. package/dist/components/spinner/viral-spinner.d.ts +0 -10
  86. package/dist/components/spinner/viral-spinner.js +0 -207
  87. package/dist/components/spinner/viral-spinner.js.map +0 -1
  88. package/dist/components/stats/viral-stats.js +0 -17
  89. package/dist/components/stats/viral-stats.js.map +0 -1
  90. package/dist/components/tools/tools/viral-tool-ambient-occlusion.d.ts +0 -7
  91. package/dist/components/tools/tools/viral-tool-ambient-occlusion.js +0 -16
  92. package/dist/components/tools/tools/viral-tool-ambient-occlusion.js.map +0 -1
  93. package/dist/components/tools/tools/viral-tool-dark-mode.d.ts +0 -7
  94. package/dist/components/tools/tools/viral-tool-dark-mode.js +0 -21
  95. package/dist/components/tools/tools/viral-tool-dark-mode.js.map +0 -1
  96. package/dist/components/tools/tools/viral-tool-elevation.d.ts +0 -11
  97. package/dist/components/tools/tools/viral-tool-elevation.js +0 -30
  98. package/dist/components/tools/tools/viral-tool-elevation.js.map +0 -1
  99. package/dist/components/tools/tools/viral-tool-measure.d.ts +0 -33
  100. package/dist/components/tools/tools/viral-tool-measure.js +0 -243
  101. package/dist/components/tools/tools/viral-tool-measure.js.map +0 -1
  102. package/dist/components/tools/tools/viral-tool-sunlight.d.ts +0 -7
  103. package/dist/components/tools/tools/viral-tool-sunlight.js +0 -46
  104. package/dist/components/tools/tools/viral-tool-sunlight.js.map +0 -1
  105. package/dist/components/tools/viral-tools.d.ts +0 -32
  106. package/dist/components/tools/viral-tools.js +0 -213
  107. package/dist/components/tools/viral-tools.js.map +0 -1
  108. package/dist/components/visibility-manager/viral-visibility-manager.js +0 -168
  109. package/dist/components/visibility-manager/viral-visibility-manager.js.map +0 -1
  110. package/dist/components/worker/base/worker-pool.js +0 -68
  111. package/dist/components/worker/base/worker-pool.js.map +0 -1
  112. package/dist/components/worker/base/worker-thread.js +0 -35
  113. package/dist/components/worker/base/worker-thread.js.map +0 -1
  114. package/dist/components/worker/fetch-data.worker.js +0 -31
  115. package/dist/components/worker/fetch-data.worker.js.map +0 -1
  116. package/dist/components/worker/viral-viewer-2.worker.js +0 -127
  117. package/dist/components/worker/viral-viewer-2.worker.js.map +0 -1
  118. package/dist/components/worker/viral-viewer-3.worker.js +0 -82
  119. package/dist/components/worker/viral-viewer-3.worker.js.map +0 -1
  120. package/dist/components/worker/viral-viewer-4.worker.js +0 -97
  121. package/dist/components/worker/viral-viewer-4.worker.js.map +0 -1
  122. package/dist/components/worker/viral-viewer.worker.js +0 -107
  123. package/dist/components/worker/viral-viewer.worker.js.map +0 -1
  124. package/dist/components/worker-script/fetch-data-worker.script.js +0 -56
  125. package/dist/components/worker-script/fetch-data-worker.script.js.map +0 -1
  126. package/dist/components/worker-script/load-model-worker-2.script.js +0 -2704
  127. package/dist/components/worker-script/load-model-worker-2.script.js.map +0 -1
  128. package/dist/components/worker-script/load-model-worker-3.script.js +0 -34170
  129. package/dist/components/worker-script/load-model-worker-3.script.js.map +0 -1
  130. package/dist/components/worker-script/load-model-worker.script.js +0 -148
  131. package/dist/components/worker-script/load-model-worker.script.js.map +0 -1
  132. package/dist/components/worker-script/threejs.types.js +0 -34162
  133. package/dist/components/worker-script/threejs.types.js.map +0 -1
  134. package/dist/const/colors.js +0 -38
  135. package/dist/const/colors.js.map +0 -1
  136. package/dist/const/fonts.js +0 -17
  137. package/dist/const/fonts.js.map +0 -1
  138. package/dist/gui/context-menu/viral-context-menu.js +0 -74
  139. package/dist/gui/context-menu/viral-context-menu.js.map +0 -1
  140. package/dist/gui/draggable-modal/viral-draggable-modal.js +0 -91
  141. package/dist/gui/draggable-modal/viral-draggable-modal.js.map +0 -1
  142. package/dist/gui/fonts/fonts.js +0 -20
  143. package/dist/gui/fonts/fonts.js.map +0 -1
  144. package/dist/gui/navigation-cube/components/cube-camera.js +0 -74
  145. package/dist/gui/navigation-cube/components/cube-camera.js.map +0 -1
  146. package/dist/gui/navigation-cube/components/cube-renderer.js +0 -31
  147. package/dist/gui/navigation-cube/components/cube-renderer.js.map +0 -1
  148. package/dist/gui/navigation-cube/components/cube-scene.js +0 -546
  149. package/dist/gui/navigation-cube/components/cube-scene.js.map +0 -1
  150. package/dist/gui/navigation-cube/components/cube.mouse.js +0 -109
  151. package/dist/gui/navigation-cube/components/cube.mouse.js.map +0 -1
  152. package/dist/gui/navigation-cube/viral-navigation-cube.js +0 -50
  153. package/dist/gui/navigation-cube/viral-navigation-cube.js.map +0 -1
  154. package/dist/gui/spinner/viral-spinner.js +0 -102
  155. package/dist/gui/spinner/viral-spinner.js.map +0 -1
  156. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +0 -16
  157. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +0 -1
  158. package/dist/gui/tools/tools/viral-tool-dark-mode.js +0 -21
  159. package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +0 -1
  160. package/dist/gui/tools/tools/viral-tool-elevation.js +0 -30
  161. package/dist/gui/tools/tools/viral-tool-elevation.js.map +0 -1
  162. package/dist/gui/tools/tools/viral-tool-measure.js +0 -243
  163. package/dist/gui/tools/tools/viral-tool-measure.js.map +0 -1
  164. package/dist/gui/tools/tools/viral-tool-sunlight.js +0 -46
  165. package/dist/gui/tools/tools/viral-tool-sunlight.js.map +0 -1
  166. package/dist/gui/tools/viral-tools.js +0 -213
  167. package/dist/gui/tools/viral-tools.js.map +0 -1
  168. package/dist/index.js +0 -21
  169. package/dist/index.js.map +0 -1
  170. package/dist/models/dictionary.model.d.ts +0 -0
  171. package/dist/models/dictionary.model.js +0 -1
  172. package/dist/models/dictionary.model.js.map +0 -1
  173. package/dist/services/local-storage.service.js +0 -57
  174. package/dist/services/local-storage.service.js.map +0 -1
  175. package/dist/threejs-addon/buffer-geometry-utils.d.ts +0 -64
  176. package/dist/threejs-addon/buffer-geometry-utils.js +0 -807
  177. package/dist/threejs-addon/buffer-geometry-utils.js.map +0 -1
  178. package/dist/threejs-addon/gltf-loader.d.ts +0 -17
  179. package/dist/threejs-addon/gltf-loader.js +0 -2796
  180. package/dist/threejs-addon/gltf-loader.js.map +0 -1
  181. package/dist/threejs-addon/n8ao/n8ao.js +0 -1952
  182. package/dist/threejs-addon/n8ao/n8ao.js.map +0 -1
  183. package/dist/threejs-addon/n8ao/post-processing.js +0 -15145
  184. package/dist/threejs-addon/n8ao/post-processing.js.map +0 -1
  185. package/dist/threejs-addon/post-processing/effect-composer.d.ts +0 -27
  186. package/dist/threejs-addon/post-processing/effect-composer.js +0 -134
  187. package/dist/threejs-addon/post-processing/effect-composer.js.map +0 -1
  188. package/dist/threejs-addon/post-processing/mask-pass.d.ts +0 -11
  189. package/dist/threejs-addon/post-processing/mask-pass.js +0 -69
  190. package/dist/threejs-addon/post-processing/mask-pass.js.map +0 -1
  191. package/dist/threejs-addon/post-processing/outline-pass.d.ts +0 -58
  192. package/dist/threejs-addon/post-processing/outline-pass.js +0 -484
  193. package/dist/threejs-addon/post-processing/outline-pass.js.map +0 -1
  194. package/dist/threejs-addon/post-processing/output-pass.d.ts +0 -11
  195. package/dist/threejs-addon/post-processing/output-pass.js +0 -61
  196. package/dist/threejs-addon/post-processing/output-pass.js.map +0 -1
  197. package/dist/threejs-addon/post-processing/pass.d.ts +0 -20
  198. package/dist/threejs-addon/post-processing/pass.js +0 -48
  199. package/dist/threejs-addon/post-processing/pass.js.map +0 -1
  200. package/dist/threejs-addon/post-processing/render-pass.d.ts +0 -13
  201. package/dist/threejs-addon/post-processing/render-pass.js +0 -50
  202. package/dist/threejs-addon/post-processing/render-pass.js.map +0 -1
  203. package/dist/threejs-addon/post-processing/sao-pass.d.ts +0 -62
  204. package/dist/threejs-addon/post-processing/sao-pass.js +0 -296
  205. package/dist/threejs-addon/post-processing/sao-pass.js.map +0 -1
  206. package/dist/threejs-addon/post-processing/shader-pass.d.ts +0 -11
  207. package/dist/threejs-addon/post-processing/shader-pass.js +0 -48
  208. package/dist/threejs-addon/post-processing/shader-pass.js.map +0 -1
  209. package/dist/threejs-addon/post-processing/ssaa-render-pass.d.ts +0 -30
  210. package/dist/threejs-addon/post-processing/ssaa-render-pass.js +0 -202
  211. package/dist/threejs-addon/post-processing/ssaa-render-pass.js.map +0 -1
  212. package/dist/threejs-addon/post-processing/unreal-bloom-pass.d.ts +0 -48
  213. package/dist/threejs-addon/post-processing/unreal-bloom-pass.js +0 -290
  214. package/dist/threejs-addon/post-processing/unreal-bloom-pass.js.map +0 -1
  215. package/dist/threejs-addon/shaders/color-correction-shader.d.ts +0 -22
  216. package/dist/threejs-addon/shaders/color-correction-shader.js +0 -43
  217. package/dist/threejs-addon/shaders/color-correction-shader.js.map +0 -1
  218. package/dist/threejs-addon/shaders/copy-shader.d.ts +0 -13
  219. package/dist/threejs-addon/shaders/copy-shader.js +0 -39
  220. package/dist/threejs-addon/shaders/copy-shader.js.map +0 -1
  221. package/dist/threejs-addon/shaders/depth-limited-blur-shader.d.ts +0 -48
  222. package/dist/threejs-addon/shaders/depth-limited-blur-shader.js +0 -142
  223. package/dist/threejs-addon/shaders/depth-limited-blur-shader.js.map +0 -1
  224. package/dist/threejs-addon/shaders/fxaa-shader.d.ts +0 -14
  225. package/dist/threejs-addon/shaders/fxaa-shader.js +0 -279
  226. package/dist/threejs-addon/shaders/fxaa-shader.js.map +0 -1
  227. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.d.ts +0 -27
  228. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js +0 -56
  229. package/dist/threejs-addon/shaders/luminosity-high-pass-shader.js.map +0 -1
  230. package/dist/threejs-addon/shaders/output-shader.d.ts +0 -13
  231. package/dist/threejs-addon/shaders/output-shader.js +0 -72
  232. package/dist/threejs-addon/shaders/output-shader.js.map +0 -1
  233. package/dist/threejs-addon/shaders/sao-shader.d.ts +0 -71
  234. package/dist/threejs-addon/shaders/sao-shader.js +0 -180
  235. package/dist/threejs-addon/shaders/sao-shader.js.map +0 -1
  236. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.d.ts +0 -13
  237. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js +0 -41
  238. package/dist/threejs-addon/shaders/unpack-depth-rgba-shader.js.map +0 -1
  239. package/dist/threejs-addon/simplify-modifier.d.ts +0 -4
  240. package/dist/threejs-addon/simplify-modifier.js +0 -325
  241. package/dist/threejs-addon/simplify-modifier.js.map +0 -1
  242. package/dist/threejs-addon/stats.js +0 -102
  243. package/dist/threejs-addon/stats.js.map +0 -1
  244. package/dist/threejs-addon/transform-control.d.ts +0 -74
  245. package/dist/threejs-addon/transform-control.js +0 -1033
  246. package/dist/threejs-addon/transform-control.js.map +0 -1
  247. package/dist/types.js +0 -145
  248. package/dist/types.js.map +0 -1
  249. package/dist/utils/html.js +0 -12
  250. package/dist/utils/html.js.map +0 -1
  251. package/dist/utils/index.js +0 -10
  252. package/dist/utils/index.js.map +0 -1
  253. package/dist/utils/log.js +0 -14
  254. package/dist/utils/log.js.map +0 -1
  255. package/dist/utils/threejs.js +0 -44
  256. package/dist/utils/threejs.js.map +0 -1
  257. package/dist/viral-viewer-api.js +0 -73
  258. package/dist/viral-viewer-api.js.map +0 -1
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViralViewerWorker4 = void 0;
4
- const three_1 = require("three");
5
- const load_model_worker_3_script_1 = require("../worker-script/load-model-worker-3.script");
6
- const worker_pool_1 = require("./base/worker-pool");
7
- const log_1 = require("../../utils/log");
8
- const viral_instanced_mesh_1 = require("../custom-objects/viral-instanced-mesh");
9
- const threejs_1 = require("../../utils/threejs");
10
- class ViralViewerWorker4 {
11
- constructor(viralViewerApi) {
12
- this.viralViewerApi = viralViewerApi;
13
- // Create a new Blob containing the worker code
14
- const blob = new Blob([`(${load_model_worker_3_script_1.workerCode})()`]);
15
- const workerPath = URL.createObjectURL(blob);
16
- // Create a new Worker from the Blob
17
- this.workerPool = new worker_pool_1.WorkerThreadPool(this.viralViewerApi.options.numberOfWorker, workerPath);
18
- }
19
- initial(materials) {
20
- for (let index = 0; index < materials.length; index++) {
21
- const material = materials[index];
22
- let colorString = threejs_1.THREEUtil.rgbToThreejsColor(material.Red, material.Green, material.Blue);
23
- let renderMaterial = new three_1.MeshPhongMaterial({
24
- color: colorString,
25
- opacity: material.Opacity,
26
- transparent: material.Opacity != 1 ? true : false,
27
- flatShading: true,
28
- name: material.Name,
29
- polygonOffset: true,
30
- polygonOffsetFactor: 1,
31
- polygonOffsetUnits: 0.1,
32
- });
33
- this.viralViewerApi.viralMaterialManager.materials.add(index, renderMaterial);
34
- }
35
- }
36
- loadElement(elements, callbackOnSuccess = () => { }) {
37
- this.workerPool.Enqueue(elements, (data) => {
38
- var _a, _b;
39
- let dummyMesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
40
- for (let j = 0; j < dummyMesh.children.length; j++) {
41
- const originalElement = dummyMesh.children[j];
42
- const element = originalElement.clone();
43
- //apply BVH first
44
- try {
45
- this.viralViewerApi.viralBVH.applyThreeMeshBVH(element.geometry);
46
- }
47
- catch (error) {
48
- if (this.viralViewerApi.options.isDev) {
49
- log_1.LogUtil.error(element.geometry);
50
- log_1.LogUtil.error(error);
51
- }
52
- }
53
- //progress materials
54
- element.material = [];
55
- for (let k = 0; k < element.userData.MaterialIds.length; k++) {
56
- const materialIndex = element.userData.MaterialIds[k];
57
- element.material.push(this.viralViewerApi.viralMaterialManager.materials.get(materialIndex));
58
- }
59
- //mapping, in case is instancedmesh convert to our type
60
- if (element === null || element === void 0 ? void 0 : element.isInstancedMesh) {
61
- let instancedMesh = new viral_instanced_mesh_1.ViralInstancedMesh(element.geometry, element.material, element.count);
62
- instancedMesh.instanceColor = element.instanceColor;
63
- instancedMesh.instanceMatrix = element.instanceMatrix;
64
- instancedMesh.userData = element.userData;
65
- this.viralViewerApi.viralScene.selectables.push(instancedMesh);
66
- if (this.viralViewerApi.viralScene.mainModel)
67
- this.viralViewerApi.viralScene.mainModel.add(instancedMesh);
68
- }
69
- else {
70
- this.viralViewerApi.viralScene.selectables.push(element);
71
- if (this.viralViewerApi.viralScene.mainModel)
72
- this.viralViewerApi.viralScene.mainModel.add(element);
73
- }
74
- //should dispose to prevent memory leak
75
- try {
76
- (_a = originalElement.geometry) === null || _a === void 0 ? void 0 : _a.dispose();
77
- }
78
- catch (error) {
79
- if (this.viralViewerApi.options.isDev)
80
- log_1.LogUtil.error(error);
81
- }
82
- try {
83
- if (originalElement.material)
84
- (_b = originalElement.material) === null || _b === void 0 ? void 0 : _b.dispose();
85
- }
86
- catch (error) {
87
- if (this.viralViewerApi.options.isDev)
88
- log_1.LogUtil.error(error);
89
- }
90
- }
91
- this.viralViewerApi.viralRenderer.render();
92
- callbackOnSuccess();
93
- });
94
- }
95
- }
96
- exports.ViralViewerWorker4 = ViralViewerWorker4;
97
- //# sourceMappingURL=viral-viewer-4.worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viral-viewer-4.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer-4.worker.ts"],"names":[],"mappings":";;;AAEA,iCAA0E;AAC1E,4FAAyE;AACzE,oDAAsD;AACtD,yCAA0C;AAC1C,iFAA4E;AAC5E,iDAAgD;AAEhD,MAAa,kBAAkB;IAE7B,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAC/C,+CAA+C;QAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,uCAAU,KAAK,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,oCAAoC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAgB,CACpC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAC1C,UAAU,CACX,CAAC;IACJ,CAAC;IACM,OAAO,CAAC,SAA2B;QAExC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,WAAW,GAAG,mBAAS,CAAC,iBAAiB,CAC3C,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,IAAI,CACd,CAAC;YAEF,IAAI,cAAc,GAAG,IAAI,yBAAiB,CAAC;gBACzC,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBACjD,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,aAAa,EAAE,IAAI;gBACnB,mBAAmB,EAAE,CAAC;gBACtB,kBAAkB,EAAE,GAAG;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CACpD,KAAK,EACL,cAAc,CACf,CAAC;SACH;IACH,CAAC;IACM,WAAW,CAChB,QAA6B,EAC7B,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAA2B,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE;;YACxE,IAAI,SAAS,GACX,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,MAAM,eAAe,GAAQ,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAQ,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC7C,iBAAiB;gBACjB,IAAI;oBACF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBAClE;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EACpC;wBACE,aAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAChC,aAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBAEtB;iBACF;gBAED,oBAAoB;gBACpB,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACtD,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CACpD,aAAa,CACb,CACH,CAAC;iBACH;gBAED,uDAAuD;gBACvD,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAC3B;oBACE,IAAI,aAAa,GAAG,IAAI,yCAAkB,CAAC,OAAO,CAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5F,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;oBACpD,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;oBACtD,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAE1C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC/D,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS;wBAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;iBAC3G;qBAED;oBACE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzD,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS;wBAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACrG;gBAGD,uCAAuC;gBACvC,IAAI;oBACF,MAAA,eAAe,CAAC,QAAQ,0CAAE,OAAO,EAAE,CAAC;iBAErC;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK;wBACpC,aAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;gBAED,IAAI;oBACF,IAAG,eAAe,CAAC,QAAQ;wBAC3B,MAAA,eAAe,CAAC,QAAQ,0CAAE,OAAO,EAAE,CAAC;iBAErC;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK;wBACpC,aAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;aAEF;YACD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhHD,gDAgHC"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViralViewerWorker = void 0;
4
- const three_1 = require("three");
5
- const load_model_worker_script_1 = require("../worker-script/load-model-worker.script");
6
- class ViralViewerWorker {
7
- constructor(viralViewerApi, scriptUrl = "../worker-script/load-model-worker.script.js") {
8
- // this.worker = new Worker(new URL(scriptUrl, import.meta.url), { type: "module" });
9
- this.viralViewerApi = viralViewerApi;
10
- // Create a new Blob containing the worker code
11
- const blob = new Blob([`(${load_model_worker_script_1.workerCode})()`]);
12
- const workerPath = URL.createObjectURL(blob);
13
- // Create a new Worker from the Blob
14
- this.worker = new Worker(workerPath);
15
- }
16
- loadModel(model, callbackOnSuccess = () => { }) {
17
- this.viralViewerApi.viralSpinner.showSpinner();
18
- const noneStructuralMesh = new three_1.Mesh();
19
- noneStructuralMesh.name = "Viral Model";
20
- this.viralViewerApi.viralScene.addObject(noneStructuralMesh);
21
- this.worker.onmessage = (m) => {
22
- switch (m.data.type) {
23
- case 0:
24
- this.worker.postMessage({
25
- type: 1,
26
- data: m.data.data,
27
- });
28
- break;
29
- case 1:
30
- let buffer = m.data.buffer;
31
- const geometry = new three_1.BufferGeometry();
32
- geometry.setAttribute("position", new three_1.BufferAttribute(buffer, 3));
33
- let newMaterial = new three_1.MeshPhongMaterial({
34
- color: m.data.materialColorString,
35
- opacity: m.data.materialOpacity,
36
- transparent: true,
37
- flatShading: true,
38
- });
39
- geometry.computeVertexNormals();
40
- const edges = new three_1.EdgesGeometry(geometry, 90);
41
- const line = new three_1.LineSegments(edges, new three_1.LineBasicMaterial({ color: "#202020" }));
42
- const childMesh = new three_1.Mesh(geometry, newMaterial);
43
- childMesh.add(line);
44
- childMesh.castShadow = true;
45
- childMesh.receiveShadow = true;
46
- noneStructuralMesh.add(childMesh);
47
- break;
48
- case 2:
49
- let buffer2 = m.data.buffer;
50
- let instances = m.data.instances;
51
- const geometry2 = new three_1.BufferGeometry();
52
- geometry2.setAttribute("position", new three_1.BufferAttribute(buffer2, 3));
53
- geometry2.computeVertexNormals();
54
- let newMaterial2 = new three_1.MeshPhongMaterial({
55
- color: m.data.materialColorString,
56
- opacity: m.data.materialOpacity,
57
- transparent: true,
58
- flatShading: true,
59
- });
60
- for (let index = 0; index < instances.length; index++) {
61
- const instance = instances[index];
62
- let cloneGeometry2 = geometry2.clone();
63
- const childMesh2 = new three_1.Mesh(cloneGeometry2, newMaterial2);
64
- let numbers = [
65
- instance.BasisX.X,
66
- -instance.BasisX.Z,
67
- -instance.BasisX.Y,
68
- 0,
69
- -instance.BasisZ.X,
70
- instance.BasisZ.Z,
71
- instance.BasisZ.Y,
72
- 0,
73
- -instance.BasisY.X,
74
- instance.BasisY.Z,
75
- instance.BasisY.Y,
76
- 0,
77
- -instance.Offset.X,
78
- instance.Offset.Z,
79
- instance.Offset.Y,
80
- 1,
81
- ];
82
- let matrix4 = new three_1.Matrix4();
83
- matrix4.fromArray(numbers);
84
- childMesh2.applyMatrix4(matrix4);
85
- const edges = new three_1.EdgesGeometry(childMesh2.geometry);
86
- const line = new three_1.LineSegments(edges, new three_1.LineBasicMaterial({ color: "#202020" }));
87
- childMesh2.add(line);
88
- childMesh2.castShadow = true;
89
- childMesh2.receiveShadow = true;
90
- noneStructuralMesh.add(childMesh2);
91
- }
92
- // viralViewerApi.rerender();
93
- break;
94
- case 3:
95
- console.log('complete');
96
- this.viralViewerApi.viralSpinner.hideSpinner();
97
- callbackOnSuccess();
98
- break;
99
- default:
100
- break;
101
- }
102
- };
103
- this.worker.postMessage({ type: 1, data: model });
104
- }
105
- }
106
- exports.ViralViewerWorker = ViralViewerWorker;
107
- //# sourceMappingURL=viral-viewer.worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viral-viewer.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer.worker.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.workerCode = void 0;
4
- function workerFunction() {
5
- self.addEventListener("message", (event) => {
6
- // Retrieve the URL from the main thread
7
- const request = event.data;
8
- const url = request.url;
9
- const byteRangeStart = event.data.byteRangeStart;
10
- const byteRangeEnd = event.data.byteRangeEnd;
11
- // Fetch data from the URL
12
- if (byteRangeStart &&
13
- byteRangeStart > 0 &&
14
- byteRangeEnd &&
15
- byteRangeEnd > 0) {
16
- fetch(url, {
17
- headers: {
18
- Range: `bytes=${byteRangeStart}-${byteRangeEnd}`,
19
- },
20
- })
21
- .then((response) => {
22
- if (!response.ok) {
23
- throw new Error(`Network response was not ok, status: ${response.status}`);
24
- }
25
- return response.arrayBuffer();
26
- })
27
- .then((data) => {
28
- // Send the fetched data back to the main thread
29
- self.postMessage(data);
30
- })
31
- .catch((error) => {
32
- // Handle errors and send them back to the main thread
33
- self.postMessage({ error: error.message });
34
- });
35
- }
36
- else {
37
- fetch(url)
38
- .then((response) => {
39
- if (!response.ok) {
40
- throw new Error(`Network response was not ok, status: ${response.status}`);
41
- }
42
- return response.arrayBuffer();
43
- })
44
- .then((data) => {
45
- // Send the fetched data back to the main thread
46
- self.postMessage(data);
47
- })
48
- .catch((error) => {
49
- // Handle errors and send them back to the main thread
50
- self.postMessage({ error: error.message });
51
- });
52
- }
53
- }, false);
54
- }
55
- exports.workerCode = workerFunction;
56
- //# sourceMappingURL=fetch-data-worker.script.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch-data-worker.script.js","sourceRoot":"","sources":["../../../src/components/worker-script/fetch-data-worker.script.ts"],"names":[],"mappings":";;;AAAA,SAAS,cAAc;IACrB,IAAI,CAAC,gBAAgB,CACnB,SAAS,EACT,CAAC,KAAK,EAAE,EAAE;QACR,wCAAwC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7C,0BAA0B;QAC1B,IACE,cAAc;YACd,cAAc,GAAG,CAAC;YAClB,YAAY;YACZ,YAAY,GAAG,CAAC,EAChB;YACA,KAAK,CAAC,GAAG,EAAE;gBACT,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS,cAAc,IAAI,YAAY,EAAE;iBACjD;aACF,CAAC;iBACC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAChB,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,MAAM,EAAE,CAC1D,CAAC;iBACH;gBACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,gDAAgD;gBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,sDAAsD;gBACtD,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACN;aAAM;YACL,KAAK,CAAC,GAAG,CAAC;iBACP,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAChB,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,MAAM,EAAE,CAC1D,CAAC;iBACH;gBACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,gDAAgD;gBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,sDAAsD;gBACtD,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAEY,QAAA,UAAU,GAAQ,cAAc,CAAC"}