@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.9.0 → 3.9.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 (190) hide show
  1. package/README.md +1 -1
  2. package/dist/RenderingEngine.d.ts +23 -23
  3. package/dist/RenderingEngine.d.ts.map +1 -1
  4. package/dist/RenderingEngine.js +245 -128
  5. package/dist/RenderingEngine.js.map +1 -1
  6. package/dist/index.d.ts +11 -11
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +12 -11
  9. package/dist/index.js.map +1 -1
  10. package/dist/injectors/TextureUnifierInjector.d.ts.map +1 -1
  11. package/dist/injectors/TextureUnifierInjector.js +22 -13
  12. package/dist/injectors/TextureUnifierInjector.js.map +1 -1
  13. package/dist/interfaces/ILoader.d.ts.map +1 -1
  14. package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts.map +1 -1
  15. package/dist/interfaces/IPostProcessingEffectDefinitions.js.map +1 -1
  16. package/dist/interfaces/IRenderingEngine.d.ts +6 -6
  17. package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
  18. package/dist/loaders/EnvironmentMapLoader.d.ts +3 -3
  19. package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -1
  20. package/dist/loaders/EnvironmentMapLoader.js +150 -52
  21. package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
  22. package/dist/loaders/GeometryLoader.d.ts +6 -6
  23. package/dist/loaders/GeometryLoader.d.ts.map +1 -1
  24. package/dist/loaders/GeometryLoader.js +140 -93
  25. package/dist/loaders/GeometryLoader.js.map +1 -1
  26. package/dist/loaders/HTMLElementAnchorLoader.d.ts +4 -4
  27. package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -1
  28. package/dist/loaders/HTMLElementAnchorLoader.js +26 -14
  29. package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -1
  30. package/dist/loaders/LightLoader.d.ts +5 -5
  31. package/dist/loaders/LightLoader.d.ts.map +1 -1
  32. package/dist/loaders/LightLoader.js +43 -15
  33. package/dist/loaders/LightLoader.js.map +1 -1
  34. package/dist/loaders/MaterialLoader.d.ts +17 -17
  35. package/dist/loaders/MaterialLoader.d.ts.map +1 -1
  36. package/dist/loaders/MaterialLoader.js +563 -198
  37. package/dist/loaders/MaterialLoader.js.map +1 -1
  38. package/dist/managers/CameraManager.d.ts +6 -6
  39. package/dist/managers/CameraManager.d.ts.map +1 -1
  40. package/dist/managers/CameraManager.js +47 -27
  41. package/dist/managers/CameraManager.js.map +1 -1
  42. package/dist/managers/EnvironmentGeometryManager.d.ts +7 -7
  43. package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -1
  44. package/dist/managers/EnvironmentGeometryManager.js +20 -8
  45. package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
  46. package/dist/managers/PostProcessingManager.d.ts +9 -9
  47. package/dist/managers/PostProcessingManager.d.ts.map +1 -1
  48. package/dist/managers/PostProcessingManager.js +358 -173
  49. package/dist/managers/PostProcessingManager.js.map +1 -1
  50. package/dist/managers/RenderingManager.d.ts +4 -4
  51. package/dist/managers/RenderingManager.d.ts.map +1 -1
  52. package/dist/managers/RenderingManager.js +164 -79
  53. package/dist/managers/RenderingManager.js.map +1 -1
  54. package/dist/managers/SceneTracingManager.d.ts +3 -3
  55. package/dist/managers/SceneTracingManager.d.ts.map +1 -1
  56. package/dist/managers/SceneTracingManager.js +12 -9
  57. package/dist/managers/SceneTracingManager.js.map +1 -1
  58. package/dist/managers/SceneTreeManager.d.ts +7 -7
  59. package/dist/managers/SceneTreeManager.d.ts.map +1 -1
  60. package/dist/managers/SceneTreeManager.js +100 -52
  61. package/dist/managers/SceneTreeManager.js.map +1 -1
  62. package/dist/managers/environmentGeometry/ContactShadow.d.ts +4 -4
  63. package/dist/managers/environmentGeometry/ContactShadow.d.ts.map +1 -1
  64. package/dist/managers/environmentGeometry/ContactShadow.js +14 -9
  65. package/dist/managers/environmentGeometry/ContactShadow.js.map +1 -1
  66. package/dist/managers/environmentGeometry/Grid.d.ts +5 -5
  67. package/dist/managers/environmentGeometry/Grid.d.ts.map +1 -1
  68. package/dist/managers/environmentGeometry/Grid.js +28 -13
  69. package/dist/managers/environmentGeometry/Grid.js.map +1 -1
  70. package/dist/managers/environmentGeometry/GroundPlane.d.ts +5 -5
  71. package/dist/managers/environmentGeometry/GroundPlane.d.ts.map +1 -1
  72. package/dist/managers/environmentGeometry/GroundPlane.js +17 -10
  73. package/dist/managers/environmentGeometry/GroundPlane.js.map +1 -1
  74. package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts +5 -5
  75. package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts.map +1 -1
  76. package/dist/managers/environmentGeometry/GroundPlaneShadow.js +11 -8
  77. package/dist/managers/environmentGeometry/GroundPlaneShadow.js.map +1 -1
  78. package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts +2 -2
  79. package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts.map +1 -1
  80. package/dist/managers/postprocessing/GodRaysManager.d.ts +3 -3
  81. package/dist/managers/postprocessing/GodRaysManager.d.ts.map +1 -1
  82. package/dist/managers/postprocessing/GodRaysManager.js +5 -5
  83. package/dist/managers/postprocessing/GodRaysManager.js.map +1 -1
  84. package/dist/managers/postprocessing/OutlineManager.d.ts +3 -3
  85. package/dist/managers/postprocessing/OutlineManager.d.ts.map +1 -1
  86. package/dist/managers/postprocessing/OutlineManager.js +1 -1
  87. package/dist/managers/postprocessing/OutlineManager.js.map +1 -1
  88. package/dist/managers/postprocessing/SSAARenderPass.d.ts +12 -12
  89. package/dist/managers/postprocessing/SSAARenderPass.d.ts.map +1 -1
  90. package/dist/managers/postprocessing/SSAARenderPass.js +83 -35
  91. package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -1
  92. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +3 -3
  93. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts.map +1 -1
  94. package/dist/managers/postprocessing/SelectiveBloomManager.js +1 -1
  95. package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -1
  96. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +5 -5
  97. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts.map +1 -1
  98. package/dist/managers/postprocessing/ao/ao/AOEffect.js +43 -34
  99. package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -1
  100. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +2 -2
  101. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -1
  102. package/dist/managers/postprocessing/ao/ao/AOPass.js +26 -14
  103. package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -1
  104. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +3 -3
  105. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts.map +1 -1
  106. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +2 -2
  107. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js.map +1 -1
  108. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +2 -2
  109. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -1
  110. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +51 -36
  111. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
  112. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +3 -3
  113. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts.map +1 -1
  114. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +15 -10
  115. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -1
  116. package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts.map +1 -1
  117. package/dist/managers/postprocessing/ao/utils/shader/basic.js.map +1 -1
  118. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts.map +1 -1
  119. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js.map +1 -1
  120. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts +2 -2
  121. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts.map +1 -1
  122. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js +43 -35
  123. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js.map +1 -1
  124. package/dist/managers/postprocessing/utils/CopyMaterial.d.ts.map +1 -1
  125. package/dist/managers/postprocessing/utils/CopyMaterial.js +2 -2
  126. package/dist/managers/postprocessing/utils/CopyMaterial.js.map +1 -1
  127. package/dist/managers/postprocessing/utils/CopyShader.d.ts.map +1 -1
  128. package/dist/managers/postprocessing/utils/CopyShader.js +4 -4
  129. package/dist/managers/postprocessing/utils/CopyShader.js.map +1 -1
  130. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +1 -1
  131. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -1
  132. package/dist/managers/postprocessing/utils/FullScreenQuad.js +2 -2
  133. package/dist/managers/postprocessing/utils/FullScreenQuad.js.map +1 -1
  134. package/dist/managers/postprocessing/utils/NormalPass.d.ts +2 -2
  135. package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -1
  136. package/dist/managers/postprocessing/utils/NormalPass.js +3 -3
  137. package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -1
  138. package/dist/managers/postprocessing/utils/RenderPass.d.ts +2 -2
  139. package/dist/managers/postprocessing/utils/RenderPass.d.ts.map +1 -1
  140. package/dist/managers/postprocessing/utils/RenderPass.js +14 -5
  141. package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -1
  142. package/dist/materials/GemMaterial.d.ts +2 -2
  143. package/dist/materials/GemMaterial.d.ts.map +1 -1
  144. package/dist/materials/GemMaterial.js +20 -20
  145. package/dist/materials/GemMaterial.js.map +1 -1
  146. package/dist/materials/MeshUnlitMaterialParameters.d.ts +1 -1
  147. package/dist/materials/MeshUnlitMaterialParameters.d.ts.map +1 -1
  148. package/dist/materials/MultiPointsMaterial.d.ts +1 -1
  149. package/dist/materials/MultiPointsMaterial.d.ts.map +1 -1
  150. package/dist/materials/MultiPointsMaterial.js +46 -45
  151. package/dist/materials/MultiPointsMaterial.js.map +1 -1
  152. package/dist/materials/SpecularGlossinessMaterial.d.ts +2 -2
  153. package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -1
  154. package/dist/materials/SpecularGlossinessMaterial.js +47 -47
  155. package/dist/materials/SpecularGlossinessMaterial.js.map +1 -1
  156. package/dist/objects/SDBone.d.ts +3 -3
  157. package/dist/objects/SDBone.d.ts.map +1 -1
  158. package/dist/objects/SDBone.js.map +1 -1
  159. package/dist/objects/SDColor.d.ts +2 -2
  160. package/dist/objects/SDColor.d.ts.map +1 -1
  161. package/dist/objects/SDColor.js +15 -11
  162. package/dist/objects/SDColor.js.map +1 -1
  163. package/dist/objects/SDData.d.ts +1 -1
  164. package/dist/objects/SDData.d.ts.map +1 -1
  165. package/dist/objects/SDData.js.map +1 -1
  166. package/dist/objects/SDObject.d.ts +3 -3
  167. package/dist/objects/SDObject.d.ts.map +1 -1
  168. package/dist/objects/SDObject.js.map +1 -1
  169. package/dist/shaders/PCSS.d.ts.map +1 -1
  170. package/dist/shaders/PCSS.js.map +1 -1
  171. package/dist/shaders/gem.d.ts.map +1 -1
  172. package/dist/shaders/gem.js.map +1 -1
  173. package/dist/three/CSS2DRenderer.d.ts +1 -1
  174. package/dist/three/CSS2DRenderer.d.ts.map +1 -1
  175. package/dist/three/CSS2DRenderer.js +33 -17
  176. package/dist/three/CSS2DRenderer.js.map +1 -1
  177. package/dist/three/geometries/TextGeometry.d.ts +1 -1
  178. package/dist/three/geometries/TextGeometry.d.ts.map +1 -1
  179. package/dist/three/geometries/TextGeometry.js +3 -2
  180. package/dist/three/geometries/TextGeometry.js.map +1 -1
  181. package/dist/three/loaders/RGBELoader.d.ts +1 -1
  182. package/dist/three/loaders/RGBELoader.d.ts.map +1 -1
  183. package/dist/three/loaders/RGBELoader.js +59 -46
  184. package/dist/three/loaders/RGBELoader.js.map +1 -1
  185. package/dist/types/IThreejsData.d.ts +2 -2
  186. package/dist/types/IThreejsData.d.ts.map +1 -1
  187. package/dist/types/ThreejsData.d.ts +3 -3
  188. package/dist/types/ThreejsData.d.ts.map +1 -1
  189. package/dist/types/ThreejsData.js.map +1 -1
  190. package/package.json +63 -63
@@ -24,12 +24,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.GeometryLoader = void 0;
27
- const THREE = __importStar(require("three"));
27
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
28
28
  const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
29
+ const gl_matrix_1 = require("gl-matrix");
30
+ const THREE = __importStar(require("three"));
29
31
  const GemMaterial_1 = require("../materials/GemMaterial");
30
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
31
32
  const SDData_1 = require("../objects/SDData");
32
- const gl_matrix_1 = require("gl-matrix");
33
33
  class GeometryLoader {
34
34
  // #endregion Properties (8)
35
35
  // #region Constructors (1)
@@ -59,19 +59,21 @@ class GeometryLoader {
59
59
  */
60
60
  load(geometry, parent, newChild, skeleton, instanceData) {
61
61
  const threeGeometry = (() => {
62
- if (!this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version]) {
62
+ if (!this._primitiveCache[geometry.primitive.id + "_" + geometry.primitive.version]) {
63
63
  return this.loadPrimitive(geometry.primitive);
64
64
  }
65
65
  else {
66
- this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version].counter++;
67
- const clone = this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version].threeGeometry.clone();
68
- this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version].clones.push(clone);
66
+ this._primitiveCache[geometry.primitive.id + "_" + geometry.primitive.version].counter++;
67
+ const clone = this._primitiveCache[geometry.primitive.id + "_" + geometry.primitive.version].threeGeometry.clone();
68
+ this._primitiveCache[geometry.primitive.id + "_" + geometry.primitive.version].clones.push(clone);
69
69
  return clone;
70
70
  }
71
71
  })();
72
72
  let incomingMaterialData;
73
73
  if (geometry.effectMaterials.length > 0) {
74
- incomingMaterialData = geometry.effectMaterials[geometry.effectMaterials.length - 1].material;
74
+ incomingMaterialData =
75
+ geometry.effectMaterials[geometry.effectMaterials.length - 1]
76
+ .material;
75
77
  }
76
78
  else if (this._renderingEngine.type === viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES) {
77
79
  incomingMaterialData = geometry.attributeMaterial;
@@ -82,10 +84,12 @@ class GeometryLoader {
82
84
  const materialSettings = {
83
85
  mode: geometry.mode,
84
86
  useVertexTangents: threeGeometry.attributes.tangent !== undefined,
85
- useVertexColors: threeGeometry.attributes.color !== undefined && this._renderingEngine.type !== viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES,
87
+ useVertexColors: threeGeometry.attributes.color !== undefined &&
88
+ this._renderingEngine.type !== viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES,
86
89
  useFlatShading: threeGeometry.attributes.normal === undefined,
87
90
  useMorphTargets: Object.keys(threeGeometry.morphAttributes).length > 0,
88
- useMorphNormals: Object.keys(threeGeometry.morphAttributes).length > 0 && threeGeometry.morphAttributes.normal !== undefined
91
+ useMorphNormals: Object.keys(threeGeometry.morphAttributes).length > 0 &&
92
+ threeGeometry.morphAttributes.normal !== undefined,
89
93
  };
90
94
  if (incomingMaterialData instanceof viewer_shared_types_1.MaterialGemData) {
91
95
  const gemMaterialData = incomingMaterialData;
@@ -101,17 +105,19 @@ class GeometryLoader {
101
105
  parent.remove(parent.children[0]);
102
106
  const material = this._renderingEngine.materialLoader.load(incomingMaterialData || geometry, materialSettings);
103
107
  let obj;
104
- if (this._geometryCache[geometry.id + '_' + geometry.version] && !skeleton) {
105
- this._geometryCache[geometry.id + '_' + geometry.version].counter++;
106
- obj = this._geometryCache[geometry.id + '_' + geometry.version].obj;
108
+ if (this._geometryCache[geometry.id + "_" + geometry.version] &&
109
+ !skeleton) {
110
+ this._geometryCache[geometry.id + "_" + geometry.version].counter++;
111
+ obj = this._geometryCache[geometry.id + "_" + geometry.version].obj;
107
112
  // case 1: in case the geometry data was cloned and this is a different object
108
113
  // case 2: it is a new child
109
- if (newChild === false && obj.parent !== parent || newChild === true) {
114
+ if ((newChild === false && obj.parent !== parent) ||
115
+ newChild === true) {
110
116
  obj = obj.cloneObject();
111
- this._geometryCache[geometry.id + '_' + geometry.version].clones.push(obj);
117
+ this._geometryCache[geometry.id + "_" + geometry.version].clones.push(obj);
112
118
  parent.add(obj);
113
119
  }
114
- obj.traverse(o => {
120
+ obj.traverse((o) => {
115
121
  if (o instanceof THREE.Points ||
116
122
  o instanceof THREE.LineSegments ||
117
123
  o instanceof THREE.LineLoop ||
@@ -123,15 +129,20 @@ class GeometryLoader {
123
129
  else {
124
130
  obj = new SDData_1.SDData(geometry.id, geometry.version);
125
131
  this.createMesh(obj, geometry, threeGeometry, material, skeleton, instanceData);
126
- this._geometryCache[geometry.id + '_' + geometry.version] = { obj, counter: 1, clones: [], primitiveCacheId: geometry.primitive.id + '_' + geometry.primitive.version };
132
+ this._geometryCache[geometry.id + "_" + geometry.version] = {
133
+ obj,
134
+ counter: 1,
135
+ clones: [],
136
+ primitiveCacheId: geometry.primitive.id + "_" + geometry.primitive.version,
137
+ };
127
138
  parent.add(obj);
128
139
  }
129
- obj.children.forEach(m => m.castShadow = true);
140
+ obj.children.forEach((m) => (m.castShadow = true));
130
141
  if (material instanceof GemMaterial_1.GemMaterial) {
131
- obj.children.forEach(m => m.receiveShadow = false);
142
+ obj.children.forEach((m) => (m.receiveShadow = false));
132
143
  }
133
144
  else {
134
- obj.children.forEach(m => m.receiveShadow = true);
145
+ obj.children.forEach((m) => (m.receiveShadow = true));
135
146
  }
136
147
  return geometry.boundingBox.clone();
137
148
  }
@@ -142,7 +153,7 @@ class GeometryLoader {
142
153
  for (const attributeId in primitive.attributes) {
143
154
  const buffer = this.loadAttribute(primitive.attributes[attributeId], attributeId);
144
155
  const attributeName = this.getAttributeName(attributeId);
145
- if (attributeId === 'NORMAL')
156
+ if (attributeId === "NORMAL")
146
157
  if (this.checkNormals(primitive, attributeId, buffer, geometry))
147
158
  continue;
148
159
  geometry.setAttribute(attributeName, buffer);
@@ -156,8 +167,9 @@ class GeometryLoader {
156
167
  }
157
168
  // we copy the uv coordinates into the second set of uv coordinates if there are none
158
169
  // this allows for the usage of AO and light maps that share this coordinate set
159
- const attributeIdUV2 = 'TEXCOORD_1', attributeNameUV2 = 'uv1';
160
- if (attributeName === 'uv' && !primitive.attributes[attributeIdUV2]) {
170
+ const attributeIdUV2 = "TEXCOORD_1", attributeNameUV2 = "uv1";
171
+ if (attributeName === "uv" &&
172
+ !primitive.attributes[attributeIdUV2]) {
161
173
  geometry.setAttribute(attributeNameUV2, buffer);
162
174
  const morphAttributeData = primitive.attributes[attributeId].morphAttributeData;
163
175
  if (morphAttributeData.length > 0) {
@@ -170,7 +182,11 @@ class GeometryLoader {
170
182
  }
171
183
  }
172
184
  primitive.convertedObject[this._renderingEngine.id] = geometry;
173
- this._primitiveCache[primitive.id + '_' + primitive.version] = { threeGeometry: geometry, counter: 1, clones: [] };
185
+ this._primitiveCache[primitive.id + "_" + primitive.version] = {
186
+ threeGeometry: geometry,
187
+ counter: 1,
188
+ clones: [],
189
+ };
174
190
  return geometry;
175
191
  }
176
192
  removeFromGemSphericalMapsCache(id) {
@@ -189,7 +205,7 @@ class GeometryLoader {
189
205
  if (this._geometryCache[id]) {
190
206
  if (this._geometryCache[id].counter === 1) {
191
207
  this.removeFromPrimitiveCache(this._geometryCache[id].primitiveCacheId);
192
- this._geometryCache[id].clones.forEach(c => {
208
+ this._geometryCache[id].clones.forEach((c) => {
193
209
  this.removeFromPrimitiveCache(this._geometryCache[id].primitiveCacheId);
194
210
  });
195
211
  delete this._geometryCache[id];
@@ -219,7 +235,7 @@ class GeometryLoader {
219
235
  }
220
236
  if (!blnNormalsOk) {
221
237
  geometry.computeVertexNormals();
222
- const computedNormalAttribute = geometry.getAttribute('normal');
238
+ const computedNormalAttribute = (geometry.getAttribute("normal"));
223
239
  // store the computed normals in the attribute data
224
240
  primitive.attributes[attributeId] = new viewer_shared_types_1.AttributeData(new Float32Array(computedNormalAttribute.array), computedNormalAttribute.itemSize, 0, 0, 3, computedNormalAttribute.normalized, computedNormalAttribute.array.length / 3);
225
241
  return true;
@@ -231,7 +247,7 @@ class GeometryLoader {
231
247
  // generate index if not present
232
248
  if (index === null) {
233
249
  const indices = [];
234
- const position = geometry.getAttribute('position');
250
+ const position = geometry.getAttribute("position");
235
251
  if (position !== undefined) {
236
252
  for (let i = 0; i < position.count; i++)
237
253
  indices.push(i);
@@ -239,11 +255,11 @@ class GeometryLoader {
239
255
  index = geometry.getIndex();
240
256
  }
241
257
  else {
242
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryLoader.convertToTriangleMode: Undefined position attribute. Processing not possible.');
258
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("GeometryLoader.convertToTriangleMode: Undefined position attribute. Processing not possible.");
243
259
  }
244
260
  }
245
261
  if (index === null)
246
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryLoader.convertToTriangleMode: Undefined index. Processing not possible.');
262
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("GeometryLoader.convertToTriangleMode: Undefined index. Processing not possible.");
247
263
  const numberOfTriangles = index.count - 2;
248
264
  const newIndices = [];
249
265
  if (drawMode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_FAN) {
@@ -267,39 +283,49 @@ class GeometryLoader {
267
283
  }
268
284
  }
269
285
  }
270
- if ((newIndices.length / 3) !== numberOfTriangles)
271
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryLoader.convertToTriangleMode: Unable to generate correct amount of triangle.');
286
+ if (newIndices.length / 3 !== numberOfTriangles)
287
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("GeometryLoader.convertToTriangleMode: Unable to generate correct amount of triangle.");
272
288
  geometry.setIndex(newIndices);
273
289
  }
274
290
  createCubeNormalMap(geometryData, geometry, resolution = 1024) {
275
- if (this._gemSphericalMapsCache[geometryData.primitive.id + '_' + geometryData.primitive.version]) {
276
- this._gemSphericalMapsCache[geometryData.primitive.id + '_' + geometryData.primitive.version].counter++;
277
- return this._gemSphericalMapsCache[geometryData.primitive.id + '_' + geometryData.primitive.version].texture;
291
+ if (this._gemSphericalMapsCache[geometryData.primitive.id + "_" + geometryData.primitive.version]) {
292
+ this._gemSphericalMapsCache[geometryData.primitive.id + "_" + geometryData.primitive.version].counter++;
293
+ return this._gemSphericalMapsCache[geometryData.primitive.id + "_" + geometryData.primitive.version].texture;
278
294
  }
279
295
  if (!this._gemScene) {
280
296
  this._gemScene = new THREE.Scene();
281
- this._gemCubeCameraRenderTarget = new THREE.WebGLCubeRenderTarget(resolution, { format: THREE.RGBAFormat, magFilter: THREE.LinearFilter, minFilter: THREE.LinearFilter });
297
+ this._gemCubeCameraRenderTarget = new THREE.WebGLCubeRenderTarget(resolution, {
298
+ format: THREE.RGBAFormat,
299
+ magFilter: THREE.LinearFilter,
300
+ minFilter: THREE.LinearFilter,
301
+ });
282
302
  this._gemCubeCameraRenderTarget.texture.generateMipmaps = false;
283
- this._gemCubeCameraRenderTarget.texture.minFilter = THREE.NearestFilter;
284
- this._gemCubeCameraRenderTarget.texture.magFilter = THREE.NearestFilter;
303
+ this._gemCubeCameraRenderTarget.texture.minFilter =
304
+ THREE.NearestFilter;
305
+ this._gemCubeCameraRenderTarget.texture.magFilter =
306
+ THREE.NearestFilter;
285
307
  this._gemCubeCameraRenderTarget.texture.format = THREE.RGBAFormat;
286
308
  this._gemCubeCamera = new THREE.CubeCamera(0.001, 10000, this._gemCubeCameraRenderTarget);
287
309
  this._gemScene.add(this._gemCubeCamera);
288
310
  }
289
311
  else {
290
- this._gemCubeCameraRenderTarget = new THREE.WebGLCubeRenderTarget(resolution, { format: THREE.RGBAFormat, magFilter: THREE.LinearFilter, minFilter: THREE.LinearFilter });
312
+ this._gemCubeCameraRenderTarget = new THREE.WebGLCubeRenderTarget(resolution, {
313
+ format: THREE.RGBAFormat,
314
+ magFilter: THREE.LinearFilter,
315
+ minFilter: THREE.LinearFilter,
316
+ });
291
317
  this._gemCubeCameraRenderTarget.texture.generateMipmaps = false;
292
- this._gemCubeCameraRenderTarget.texture.minFilter = THREE.NearestFilter;
293
- this._gemCubeCameraRenderTarget.texture.magFilter = THREE.NearestFilter;
318
+ this._gemCubeCameraRenderTarget.texture.minFilter =
319
+ THREE.NearestFilter;
320
+ this._gemCubeCameraRenderTarget.texture.magFilter =
321
+ THREE.NearestFilter;
294
322
  this._gemCubeCameraRenderTarget.texture.format = THREE.RGBAFormat;
295
323
  this._gemCubeCamera.renderTarget = this._gemCubeCameraRenderTarget;
296
324
  }
297
325
  if (!this._gemNormalMaterial) {
298
326
  const _normalShader = {
299
327
  defines: {},
300
- uniforms: THREE.UniformsUtils.merge([
301
- THREE.UniformsLib.common
302
- ]),
328
+ uniforms: THREE.UniformsUtils.merge([THREE.UniformsLib.common]),
303
329
  vertexShader: `
304
330
  varying vec3 vNormal;
305
331
 
@@ -344,13 +370,13 @@ class GeometryLoader {
344
370
  vec3 n = normalize(vNormal);
345
371
  gl_FragColor = vec4(decodeVec3(abs(n)), signEncoding(n));
346
372
  }
347
- `
373
+ `,
348
374
  };
349
375
  this._gemNormalMaterial = new THREE.ShaderMaterial({
350
376
  uniforms: THREE.UniformsUtils.clone(_normalShader.uniforms),
351
377
  defines: _normalShader.defines,
352
378
  vertexShader: _normalShader.vertexShader,
353
- fragmentShader: _normalShader.fragmentShader
379
+ fragmentShader: _normalShader.fragmentShader,
354
380
  });
355
381
  this._gemNormalMaterial.blending = THREE.NoBlending;
356
382
  this._gemNormalMaterial.side = THREE.DoubleSide;
@@ -365,10 +391,14 @@ class GeometryLoader {
365
391
  mesh.material.dispose();
366
392
  this._gemCubeCamera.renderTarget.texture.userData = {
367
393
  SDid: geometryData.primitive.id,
368
- SDversion: geometryData.primitive.version
394
+ SDversion: geometryData.primitive.version,
395
+ };
396
+ this._gemSphericalMapsCache[geometryData.primitive.id + "_" + geometryData.primitive.version] = {
397
+ texture: this._gemCubeCameraRenderTarget.texture,
398
+ renderTarget: this._gemCubeCameraRenderTarget,
399
+ counter: 1,
369
400
  };
370
- this._gemSphericalMapsCache[geometryData.primitive.id + '_' + geometryData.primitive.version] = { texture: this._gemCubeCameraRenderTarget.texture, renderTarget: this._gemCubeCameraRenderTarget, counter: 1 };
371
- return this._gemSphericalMapsCache[geometryData.primitive.id + '_' + geometryData.primitive.version].texture;
401
+ return this._gemSphericalMapsCache[geometryData.primitive.id + "_" + geometryData.primitive.version].texture;
372
402
  }
373
403
  createMesh(obj, geometry, threeGeometry, material, skeleton, instanceData) {
374
404
  if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.POINTS) {
@@ -391,15 +421,19 @@ class GeometryLoader {
391
421
  geometry.convertedObject[this._renderingEngine.id] = line;
392
422
  obj.add(line);
393
423
  }
394
- else if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES || geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_STRIP || geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_FAN) {
424
+ else if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES ||
425
+ geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_STRIP ||
426
+ geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_FAN) {
395
427
  const bufferGeometry = threeGeometry;
396
- if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_STRIP || geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_FAN)
428
+ if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_STRIP ||
429
+ geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_FAN)
397
430
  this.convertToTriangleMode(bufferGeometry, geometry.mode);
398
431
  if (skeleton) {
399
432
  const skinnedMesh = new THREE.SkinnedMesh(bufferGeometry, material);
400
- geometry.convertedObject[this._renderingEngine.id] = skinnedMesh;
433
+ geometry.convertedObject[this._renderingEngine.id] =
434
+ skinnedMesh;
401
435
  skinnedMesh.bind(skeleton, skinnedMesh.matrixWorld);
402
- if (bufferGeometry.attributes.skinWeight.normalized)
436
+ if ((bufferGeometry.attributes.skinWeight).normalized)
403
437
  skinnedMesh.normalizeSkinWeights();
404
438
  obj.add(skinnedMesh);
405
439
  }
@@ -413,7 +447,8 @@ class GeometryLoader {
413
447
  if (instancedMesh.instanceColor)
414
448
  instancedMesh.instanceColor.needsUpdate = true;
415
449
  instancedMesh.instanceMatrix.needsUpdate = true;
416
- geometry.convertedObject[this._renderingEngine.id] = instancedMesh;
450
+ geometry.convertedObject[this._renderingEngine.id] =
451
+ instancedMesh;
417
452
  obj.add(instancedMesh);
418
453
  }
419
454
  else {
@@ -426,17 +461,22 @@ class GeometryLoader {
426
461
  else {
427
462
  throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError(`GeometryLoader.load: Unrecognized primitive mode ${geometry.mode}.`);
428
463
  }
429
- obj.traverse(m => {
430
- if (m instanceof THREE.Mesh || m instanceof THREE.Points || m instanceof THREE.LineSegments || m instanceof THREE.LineLoop || m instanceof THREE.Line) {
464
+ obj.traverse((m) => {
465
+ if (m instanceof THREE.Mesh ||
466
+ m instanceof THREE.Points ||
467
+ m instanceof THREE.LineSegments ||
468
+ m instanceof THREE.LineLoop ||
469
+ m instanceof THREE.Line) {
431
470
  m.geometry.userData = {
432
471
  SDid: geometry.id,
433
472
  SDversion: geometry.version,
434
473
  primitiveSDid: geometry.primitive.id,
435
- primitiveSDversion: geometry.primitive.version
474
+ primitiveSDversion: geometry.primitive.version,
436
475
  };
437
476
  m.renderOrder = geometry.renderOrder;
438
477
  }
439
- if (m instanceof THREE.Mesh && m.userData.transparencyPlaceholder !== true) {
478
+ if (m instanceof THREE.Mesh &&
479
+ m.userData.transparencyPlaceholder !== true) {
440
480
  m.geometry.boundingBox = new THREE.Box3(new THREE.Vector3(geometry.boundingBox.min[0], geometry.boundingBox.min[1], geometry.boundingBox.min[2]), new THREE.Vector3(geometry.boundingBox.max[0], geometry.boundingBox.max[1], geometry.boundingBox.max[2]));
441
481
  m.geometry.boundingSphere = new THREE.Sphere(new THREE.Vector3(geometry.boundingBox.boundingSphere.center[0], geometry.boundingBox.boundingSphere.center[1], geometry.boundingBox.boundingSphere.center[2]), geometry.boundingBox.boundingSphere.radius);
442
482
  m.morphTargetInfluences = geometry.morphWeights;
@@ -445,49 +485,55 @@ class GeometryLoader {
445
485
  }
446
486
  getAttributeName(attributeId) {
447
487
  switch (attributeId) {
448
- case 'POSITION':
449
- return 'position';
450
- case 'NORMAL':
451
- return 'normal';
452
- case 'TEXCOORD_0':
453
- case 'TEXCOORD0':
454
- case 'TEXCOORD':
455
- case 'UV':
456
- return 'uv';
457
- case 'TEXCOORD_1':
458
- return 'uv1';
459
- case 'TEXCOORD_2':
460
- return 'uv2';
461
- case 'TEXCOORD_3':
462
- return 'uv3';
463
- case 'COLOR_0':
464
- case 'COLOR0':
465
- case 'COLOR':
466
- return 'color';
467
- case 'WEIGHT':
468
- case 'WEIGHTS_0':
469
- return 'skinWeight';
470
- case 'JOINT':
471
- case 'JOINTS_0':
472
- return 'skinIndex';
473
- case 'TANGENT':
474
- return 'tangent';
475
- case 'POSITION_INDEX':
476
- return 'positionIndex';
488
+ case "POSITION":
489
+ return "position";
490
+ case "NORMAL":
491
+ return "normal";
492
+ case "TEXCOORD_0":
493
+ case "TEXCOORD0":
494
+ case "TEXCOORD":
495
+ case "UV":
496
+ return "uv";
497
+ case "TEXCOORD_1":
498
+ return "uv1";
499
+ case "TEXCOORD_2":
500
+ return "uv2";
501
+ case "TEXCOORD_3":
502
+ return "uv3";
503
+ case "COLOR_0":
504
+ case "COLOR0":
505
+ case "COLOR":
506
+ return "color";
507
+ case "WEIGHT":
508
+ case "WEIGHTS_0":
509
+ return "skinWeight";
510
+ case "JOINT":
511
+ case "JOINTS_0":
512
+ return "skinIndex";
513
+ case "TANGENT":
514
+ return "tangent";
515
+ case "POSITION_INDEX":
516
+ return "positionIndex";
477
517
  default:
478
518
  this._logger.warn(`GeometryLoader.loadPrimitive: Unrecognized attribute id ${attributeId}.`);
479
519
  }
480
- return '';
520
+ return "";
481
521
  }
482
522
  loadAttribute(bufferAttribute, attributeId) {
483
523
  let buffer;
484
- if (bufferAttribute.byteStride && bufferAttribute.byteStride !== bufferAttribute.itemBytes) {
524
+ if (bufferAttribute.byteStride &&
525
+ bufferAttribute.byteStride !== bufferAttribute.itemBytes) {
485
526
  // Integer parameters to IB/IBA are in array elements, not bytes.
486
527
  const ib = new THREE.InterleavedBuffer(bufferAttribute.array, bufferAttribute.byteStride / bufferAttribute.elementBytes);
487
- buffer = new THREE.InterleavedBufferAttribute(ib, bufferAttribute.itemSize, (bufferAttribute.byteOffset % bufferAttribute.byteStride) / bufferAttribute.elementBytes, bufferAttribute.normalized);
528
+ buffer = new THREE.InterleavedBufferAttribute(ib, bufferAttribute.itemSize, (bufferAttribute.byteOffset % bufferAttribute.byteStride) /
529
+ bufferAttribute.elementBytes, bufferAttribute.normalized);
488
530
  }
489
531
  else {
490
- buffer = new THREE.BufferAttribute(bufferAttribute.array, bufferAttribute.itemSize, (attributeId === 'COLOR_0' || attributeId === 'COLOR0' || attributeId === 'COLOR') ? true : bufferAttribute.normalized);
532
+ buffer = new THREE.BufferAttribute(bufferAttribute.array, bufferAttribute.itemSize, attributeId === "COLOR_0" ||
533
+ attributeId === "COLOR0" ||
534
+ attributeId === "COLOR"
535
+ ? true
536
+ : bufferAttribute.normalized);
491
537
  }
492
538
  if (bufferAttribute.sparse) {
493
539
  if (bufferAttribute.array !== null) {
@@ -504,7 +550,7 @@ class GeometryLoader {
504
550
  if (bufferAttribute.itemSize >= 4)
505
551
  buffer.setW(index, bufferAttribute.sparseValues[i * bufferAttribute.itemSize + 3]);
506
552
  if (bufferAttribute.itemSize >= 5)
507
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryLoader.loadPrimitive: Unsupported itemSize in sparse BufferAttribute.');
553
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("GeometryLoader.loadPrimitive: Unsupported itemSize in sparse BufferAttribute.");
508
554
  }
509
555
  }
510
556
  return buffer;
@@ -513,10 +559,11 @@ class GeometryLoader {
513
559
  if (this._primitiveCache[id]) {
514
560
  if (this._primitiveCache[id].counter === 1) {
515
561
  this._primitiveCache[id].threeGeometry.dispose();
516
- for (const key in this._primitiveCache[id].threeGeometry.attributes)
562
+ for (const key in this._primitiveCache[id].threeGeometry
563
+ .attributes)
517
564
  this._primitiveCache[id].threeGeometry.deleteAttribute(key);
518
565
  this._primitiveCache[id].threeGeometry.setIndex(null);
519
- this._primitiveCache[id].clones.forEach(c => {
566
+ this._primitiveCache[id].clones.forEach((c) => {
520
567
  c.dispose();
521
568
  for (const key in c.attributes)
522
569
  c.deleteAttribute(key);
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { HTMLElementAnchorData } from '@shapediver/viewer.shared.types';
2
- import { ILoader } from '../interfaces/ILoader';
3
- import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
4
- import { RenderingEngine } from '../RenderingEngine';
1
+ import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
2
+ import { HTMLElementAnchorData } from "@shapediver/viewer.shared.types";
3
+ import { ILoader } from "../interfaces/ILoader";
4
+ import { RenderingEngine } from "../RenderingEngine";
5
5
  export declare class HTMLElementAnchorLoader implements ILoader {
6
6
  private readonly _renderingEngine;
7
7
  private readonly _htmlElements;
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLElementAnchorLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/HTMLElementAnchorLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBAAa,uBAAwB,YAAW,OAAO;IAevC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAZ7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAKvB;IACP,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAMf,gBAAgB,EAAE,eAAe;IAS9D,IAAW,SAAS,IAAI,cAAc,CAErC;IAMM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAuB9D,IAAI,IAAI,IAAI;IAIZ,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,OAAO,GAAG,IAAI;IAiBzF,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAYtC,cAAc,CAAC,MAAM,EAAE,OAAO;CAWxC"}
1
+ {"version":3,"file":"HTMLElementAnchorLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/HTMLElementAnchorLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAEN,qBAAqB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,uBAAwB,YAAW,OAAO;IAe1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAZ7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAKvB;IACP,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAMf,gBAAgB,EAAE,eAAe;IAS9D,IAAW,SAAS,IAAI,cAAc,CAErC;IAMM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAoC9D,IAAI,IAAI,IAAI;IAIZ,IAAI,CACV,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,qBAAqB,EAC7B,oBAAoB,EAAE,OAAO,GAC3B,IAAI;IAuBA,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IActC,cAAc,CAAC,MAAM,EAAE,OAAO;CAiBrC"}