viral-viewer-2 6.3.0 → 6.3.1

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 (143) hide show
  1. package/dist/index.mjs +1611 -1615
  2. package/dist/threejs-addon/n8ao/post-processing.d.ts +109 -109
  3. package/package.json +1 -1
  4. package/dist/components/animation/viral-animation.js +0 -71
  5. package/dist/components/animation/viral-animation.js.map +0 -1
  6. package/dist/components/bvh/viral-bvh.js +0 -19
  7. package/dist/components/bvh/viral-bvh.js.map +0 -1
  8. package/dist/components/camera/viral-camera.js +0 -207
  9. package/dist/components/camera/viral-camera.js.map +0 -1
  10. package/dist/components/compress/viral-compress.processor.js +0 -13
  11. package/dist/components/compress/viral-compress.processor.js.map +0 -1
  12. package/dist/components/custom-objects/index.js +0 -6
  13. package/dist/components/custom-objects/index.js.map +0 -1
  14. package/dist/components/custom-objects/viral-instanced-mesh.js +0 -203
  15. package/dist/components/custom-objects/viral-instanced-mesh.js.map +0 -1
  16. package/dist/components/custom-objects/viral-mesh.js +0 -25
  17. package/dist/components/custom-objects/viral-mesh.js.map +0 -1
  18. package/dist/components/data-manager/viral-data-manager.js +0 -35
  19. package/dist/components/data-manager/viral-data-manager.js.map +0 -1
  20. package/dist/components/event-handler/base/event-dispatcher.js +0 -35
  21. package/dist/components/event-handler/base/event-dispatcher.js.map +0 -1
  22. package/dist/components/event-handler/keyboard/viral-keyboard.js +0 -78
  23. package/dist/components/event-handler/keyboard/viral-keyboard.js.map +0 -1
  24. package/dist/components/event-handler/mouse/viral-mouse.js +0 -239
  25. package/dist/components/event-handler/mouse/viral-mouse.js.map +0 -1
  26. package/dist/components/event-handler/viral-centralized-event-handler.js +0 -186
  27. package/dist/components/event-handler/viral-centralized-event-handler.js.map +0 -1
  28. package/dist/components/event-handler/viral-lifecycle-event-handler.js +0 -55
  29. package/dist/components/event-handler/viral-lifecycle-event-handler.js.map +0 -1
  30. package/dist/components/loader/viral-point-cloud.loader.js +0 -33
  31. package/dist/components/loader/viral-point-cloud.loader.js.map +0 -1
  32. package/dist/components/loader/viral-revit.loader.js +0 -344
  33. package/dist/components/loader/viral-revit.loader.js.map +0 -1
  34. package/dist/components/loader/viral-three.loader.js +0 -20
  35. package/dist/components/loader/viral-three.loader.js.map +0 -1
  36. package/dist/components/loader/viral.loader.js +0 -16
  37. package/dist/components/loader/viral.loader.js.map +0 -1
  38. package/dist/components/material/viral-material-manager.js +0 -60
  39. package/dist/components/material/viral-material-manager.js.map +0 -1
  40. package/dist/components/post-processing/post-processing-renderer.js +0 -46
  41. package/dist/components/post-processing/post-processing-renderer.js.map +0 -1
  42. package/dist/components/renderer/viral-renderer.js +0 -55
  43. package/dist/components/renderer/viral-renderer.js.map +0 -1
  44. package/dist/components/scene/viral-scene.js +0 -131
  45. package/dist/components/scene/viral-scene.js.map +0 -1
  46. package/dist/components/stats/viral-stats.js +0 -17
  47. package/dist/components/stats/viral-stats.js.map +0 -1
  48. package/dist/components/visibility-manager/viral-visibility-manager.js +0 -175
  49. package/dist/components/visibility-manager/viral-visibility-manager.js.map +0 -1
  50. package/dist/components/worker/base/worker-pool.js +0 -68
  51. package/dist/components/worker/base/worker-pool.js.map +0 -1
  52. package/dist/components/worker/base/worker-thread.js +0 -35
  53. package/dist/components/worker/base/worker-thread.js.map +0 -1
  54. package/dist/components/worker/fetch-data.worker.js +0 -31
  55. package/dist/components/worker/fetch-data.worker.js.map +0 -1
  56. package/dist/components/worker/load-element-by-material-v2.worker.js +0 -80
  57. package/dist/components/worker/load-element-by-material-v2.worker.js.map +0 -1
  58. package/dist/components/worker/load-element-by-material.worker.js +0 -59
  59. package/dist/components/worker/load-element-by-material.worker.js.map +0 -1
  60. package/dist/components/worker/load-element-standalone.worker.js +0 -109
  61. package/dist/components/worker/load-element-standalone.worker.js.map +0 -1
  62. package/dist/components/worker/viral-viewer-2.worker.js +0 -127
  63. package/dist/components/worker/viral-viewer-2.worker.js.map +0 -1
  64. package/dist/components/worker/viral-viewer-3.worker.js +0 -82
  65. package/dist/components/worker/viral-viewer-3.worker.js.map +0 -1
  66. package/dist/components/worker/viral-viewer.worker.js +0 -107
  67. package/dist/components/worker/viral-viewer.worker.js.map +0 -1
  68. package/dist/components/worker-script/fetch-data-worker.script.js +0 -56
  69. package/dist/components/worker-script/fetch-data-worker.script.js.map +0 -1
  70. package/dist/components/worker-script/load-element-by-material.script.js +0 -131
  71. package/dist/components/worker-script/load-element-by-material.script.js.map +0 -1
  72. package/dist/components/worker-script/load-element-standalone.script.js +0 -34172
  73. package/dist/components/worker-script/load-element-standalone.script.js.map +0 -1
  74. package/dist/components/worker-script/load-model-worker-2.script.js +0 -2704
  75. package/dist/components/worker-script/load-model-worker-2.script.js.map +0 -1
  76. package/dist/components/worker-script/load-model-worker.script.js +0 -148
  77. package/dist/components/worker-script/load-model-worker.script.js.map +0 -1
  78. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js +0 -34152
  79. package/dist/components/worker-script/material-aproach/load-element-by-material-instanced-mesh.script.js.map +0 -1
  80. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js +0 -127
  81. package/dist/components/worker-script/material-aproach/load-element-by-material-mesh.script.js.map +0 -1
  82. package/dist/components/worker-script/threejs.types.js +0 -34162
  83. package/dist/components/worker-script/threejs.types.js.map +0 -1
  84. package/dist/const/colors.js +0 -39
  85. package/dist/const/colors.js.map +0 -1
  86. package/dist/const/fonts.js +0 -17
  87. package/dist/const/fonts.js.map +0 -1
  88. package/dist/const/icons.js +0 -11
  89. package/dist/const/icons.js.map +0 -1
  90. package/dist/gui/context-menu/viral-context-menu.js +0 -78
  91. package/dist/gui/context-menu/viral-context-menu.js.map +0 -1
  92. package/dist/gui/draggable-modal/viral-draggable-modal.js +0 -167
  93. package/dist/gui/draggable-modal/viral-draggable-modal.js.map +0 -1
  94. package/dist/gui/fonts/fonts.js +0 -20
  95. package/dist/gui/fonts/fonts.js.map +0 -1
  96. package/dist/gui/navigation-cube/components/cube-camera.js +0 -74
  97. package/dist/gui/navigation-cube/components/cube-camera.js.map +0 -1
  98. package/dist/gui/navigation-cube/components/cube-renderer.js +0 -31
  99. package/dist/gui/navigation-cube/components/cube-renderer.js.map +0 -1
  100. package/dist/gui/navigation-cube/components/cube-scene.js +0 -546
  101. package/dist/gui/navigation-cube/components/cube-scene.js.map +0 -1
  102. package/dist/gui/navigation-cube/components/cube.mouse.js +0 -109
  103. package/dist/gui/navigation-cube/components/cube.mouse.js.map +0 -1
  104. package/dist/gui/navigation-cube/viral-navigation-cube.js +0 -50
  105. package/dist/gui/navigation-cube/viral-navigation-cube.js.map +0 -1
  106. package/dist/gui/spinner/viral-spinner.js +0 -102
  107. package/dist/gui/spinner/viral-spinner.js.map +0 -1
  108. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js +0 -25
  109. package/dist/gui/tools/tools/viral-tool-ambient-occlusion.js.map +0 -1
  110. package/dist/gui/tools/tools/viral-tool-dark-mode.js +0 -21
  111. package/dist/gui/tools/tools/viral-tool-dark-mode.js.map +0 -1
  112. package/dist/gui/tools/tools/viral-tool-elevation.js +0 -30
  113. package/dist/gui/tools/tools/viral-tool-elevation.js.map +0 -1
  114. package/dist/gui/tools/tools/viral-tool-export-scene.js +0 -36
  115. package/dist/gui/tools/tools/viral-tool-export-scene.js.map +0 -1
  116. package/dist/gui/tools/tools/viral-tool-measure.js +0 -243
  117. package/dist/gui/tools/tools/viral-tool-measure.js.map +0 -1
  118. package/dist/gui/tools/tools/viral-tool-sunlight.js +0 -46
  119. package/dist/gui/tools/tools/viral-tool-sunlight.js.map +0 -1
  120. package/dist/gui/tools/viral-tools.js +0 -213
  121. package/dist/gui/tools/viral-tools.js.map +0 -1
  122. package/dist/index.js +0 -21
  123. package/dist/index.js.map +0 -1
  124. package/dist/services/local-storage.service.js +0 -57
  125. package/dist/services/local-storage.service.js.map +0 -1
  126. package/dist/threejs-addon/n8ao/n8ao.js +0 -1952
  127. package/dist/threejs-addon/n8ao/n8ao.js.map +0 -1
  128. package/dist/threejs-addon/n8ao/post-processing.js +0 -15145
  129. package/dist/threejs-addon/n8ao/post-processing.js.map +0 -1
  130. package/dist/threejs-addon/stats.js +0 -102
  131. package/dist/threejs-addon/stats.js.map +0 -1
  132. package/dist/types.js +0 -173
  133. package/dist/types.js.map +0 -1
  134. package/dist/utils/html.js +0 -12
  135. package/dist/utils/html.js.map +0 -1
  136. package/dist/utils/index.js +0 -10
  137. package/dist/utils/index.js.map +0 -1
  138. package/dist/utils/log.js +0 -14
  139. package/dist/utils/log.js.map +0 -1
  140. package/dist/utils/threejs.js +0 -44
  141. package/dist/utils/threejs.js.map +0 -1
  142. package/dist/viral-viewer-api.js +0 -76
  143. package/dist/viral-viewer-api.js.map +0 -1
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.workerCode = void 0;
4
- function workerFunction() {
5
- function progressGeometry(instance, solids) {
6
- let numbers = [
7
- instance.BasisX.X,
8
- -instance.BasisX.Z,
9
- -instance.BasisX.Y,
10
- 0,
11
- -instance.BasisZ.X,
12
- instance.BasisZ.Z,
13
- instance.BasisZ.Y,
14
- 0,
15
- -instance.BasisY.X,
16
- instance.BasisY.Z,
17
- instance.BasisY.Y,
18
- 0,
19
- -instance.Offset.X,
20
- instance.Offset.Z,
21
- instance.Offset.Y,
22
- 1,
23
- ];
24
- let matrix4 = new Matrix4();
25
- matrix4.fromArray(numbers);
26
- let result = [];
27
- for (let g = 0; g < solids.length; g++) {
28
- const solid = solids[g];
29
- let vertices = solid.Vertices;
30
- let indices = solid.Indices;
31
- const materialIndex = solid.MaterialIndex;
32
- let newVertices = [];
33
- for (let i = 0; i < vertices.length; i++) {
34
- const point = vertices[i];
35
- const point2 = new Vector3(-point.X, point.Z, point.Y);
36
- point2.applyMatrix4(matrix4);
37
- newVertices.push(point2);
38
- }
39
- let verticePoints = [];
40
- for (let i = 0; i < indices.length; i++) {
41
- const index = indices[i];
42
- const point = newVertices[index];
43
- verticePoints.push(point.x);
44
- verticePoints.push(point.y);
45
- verticePoints.push(point.z);
46
- }
47
- const buffer = new Float32Array(verticePoints);
48
- let object = { materialIndex: materialIndex, buffer: buffer };
49
- result.push(object);
50
- }
51
- return result;
52
- }
53
- function progressGeometry2(solids) {
54
- let result = [];
55
- for (let index = 0; index < solids.length; index++) {
56
- const solid = solids[index];
57
- const vertices = solid.Vertices;
58
- const indices = solid.Indices;
59
- const materialIndex = solid.MaterialIndex;
60
- let verticePoints = [];
61
- for (let i = 0; i < indices.length; i++) {
62
- const index = indices[i];
63
- const point = vertices[index];
64
- verticePoints.push(-point.X);
65
- verticePoints.push(point.Z);
66
- verticePoints.push(point.Y);
67
- }
68
- const buffer = new Float32Array(verticePoints);
69
- let object = { materialIndex: materialIndex, buffer: buffer };
70
- result.push(object);
71
- }
72
- return result;
73
- }
74
- self.addEventListener("message", (event) => {
75
- const elements = event.data;
76
- let verticePoints = [];
77
- for (let j = 0; j < elements.length; j++) {
78
- let solid = elements[j];
79
- verticePoints = verticePoints.concat(getVerticePoints(solid.Indices, solid.Vertices));
80
- }
81
- // const buffer = new Float32Array(verticePoints);
82
- self.postMessage(verticePoints);
83
- });
84
- function getVerticePoints(indices, vertices) {
85
- let verticePoints = [];
86
- for (let i = 0; i < indices.length; i++) {
87
- const index = indices[i];
88
- const point = vertices[index];
89
- verticePoints.push(-point.X);
90
- verticePoints.push(point.Z);
91
- verticePoints.push(point.Y);
92
- }
93
- return verticePoints;
94
- }
95
- class Matrix4 {
96
- constructor() {
97
- this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
98
- }
99
- fromArray(array, offset = 0) {
100
- for (let i = 0; i < 16; i++) {
101
- this.elements[i] = array[i + offset];
102
- }
103
- return this;
104
- }
105
- }
106
- class Vector3 {
107
- constructor(x = 0, y = 0, z = 0) {
108
- this.x = 0;
109
- this.y = 0;
110
- this.z = 0;
111
- this.x = x;
112
- this.y = y;
113
- this.z = z;
114
- }
115
- applyMatrix4(m) {
116
- const x = this.x, y = this.y, z = this.z;
117
- const e = m.elements;
118
- const w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]);
119
- this.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w;
120
- this.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w;
121
- this.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w;
122
- return this;
123
- }
124
- }
125
- }
126
- exports.workerCode = workerFunction;
127
- //# sourceMappingURL=load-element-by-material-mesh.script.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-element-by-material-mesh.script.js","sourceRoot":"","sources":["../../../../src/components/worker-script/material-aproach/load-element-by-material-mesh.script.ts"],"names":[],"mappings":"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"}