@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.3.9 → 3.3.10

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.
@@ -13,6 +13,7 @@ export declare class GeometryLoader implements ILoader {
13
13
  private _gemSphericalMapsCache;
14
14
  private _geometryCache;
15
15
  private _logger;
16
+ private _primitiveCache;
16
17
  constructor(_renderingEngine: RenderingEngine);
17
18
  emptyGeometryCache(): void;
18
19
  init(): void;
@@ -32,5 +33,6 @@ export declare class GeometryLoader implements ILoader {
32
33
  private createMesh;
33
34
  private getAttributeName;
34
35
  private loadAttribute;
36
+ private removeFromPrimitiveCache;
35
37
  }
36
38
  //# sourceMappingURL=GeometryLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEH,YAAY,EAGZ,cAAc,EAIjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,qBAAa,cAAe,YAAW,OAAO;IA2B9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAxB7C,OAAO,CAAC,cAAc,CAAC,CAAmB;IAC1C,OAAO,CAAC,0BAA0B,CAAC,CAA8B;IACjE,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,sBAAsB,CAMvB;IACP,OAAO,CAAC,cAAc,CAMf;IACP,OAAO,CAAC,OAAO,CAA2B;gBAMb,gBAAgB,EAAE,eAAe;IAMvD,kBAAkB;IAMlB,IAAI,IAAI,IAAI;IAEnB;;;;;OAKG;IACI,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAgFhG,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG,KAAK,CAAC,cAAc;IA6C9D,+BAA+B,CAAC,EAAE,EAAE,MAAM;IAY1C,uBAAuB,CAAC,EAAE,EAAE,MAAM;IAiCzC,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,mBAAmB;IA0G3B,OAAO,CAAC,UAAU;IA2DlB,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,aAAa;CA8BxB"}
1
+ {"version":3,"file":"GeometryLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEH,YAAY,EAGZ,cAAc,EAIjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,qBAAa,cAAe,YAAW,OAAO;IAmC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAhC7C,OAAO,CAAC,cAAc,CAAC,CAAmB;IAC1C,OAAO,CAAC,0BAA0B,CAAC,CAA8B;IACjE,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,sBAAsB,CAMvB;IACP,OAAO,CAAC,cAAc,CAOf;IACP,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,eAAe,CAMhB;gBAMsB,gBAAgB,EAAE,eAAe;IAMvD,kBAAkB;IAUlB,IAAI,IAAI,IAAI;IAEnB;;;;;OAKG;IACI,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAyFhG,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG,KAAK,CAAC,cAAc;IA8C9D,+BAA+B,CAAC,EAAE,EAAE,MAAM;IAY1C,uBAAuB,CAAC,EAAE,EAAE,MAAM;IAmBzC,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,mBAAmB;IA0G3B,OAAO,CAAC,UAAU;IA2DlB,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,wBAAwB;CAuBnC"}
@@ -39,13 +39,17 @@ class GeometryLoader {
39
39
  this._gemSphericalMapsCache = {};
40
40
  this._geometryCache = {};
41
41
  this._logger = viewer_shared_services_1.Logger.instance;
42
+ this._primitiveCache = {};
42
43
  }
43
44
  // #endregion Constructors (1)
44
- // #region Public Methods (7)
45
+ // #region Public Methods (6)
45
46
  emptyGeometryCache() {
46
47
  for (const key in this._geometryCache)
47
48
  this.removeFromGeometryCache(key);
48
49
  this._geometryCache = {};
50
+ for (const key in this._primitiveCache)
51
+ this.removeFromPrimitiveCache(key);
52
+ this._primitiveCache = {};
49
53
  }
50
54
  init() { }
51
55
  /**
@@ -55,7 +59,17 @@ class GeometryLoader {
55
59
  * @returns the geometry object
56
60
  */
57
61
  load(geometry, parent, newChild, skeleton) {
58
- const threeGeometry = this.loadPrimitive(geometry.primitive);
62
+ const threeGeometry = (() => {
63
+ if (!this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version]) {
64
+ return this.loadPrimitive(geometry.primitive);
65
+ }
66
+ else {
67
+ this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version].counter++;
68
+ const clone = this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version].threeGeometry.clone();
69
+ this._primitiveCache[geometry.primitive.id + '_' + geometry.primitive.version].clones.push(clone);
70
+ return clone;
71
+ }
72
+ })();
59
73
  let incomingMaterialData;
60
74
  if (geometry.effectMaterials.length > 0) {
61
75
  incomingMaterialData = geometry.effectMaterials[geometry.effectMaterials.length - 1].material;
@@ -110,7 +124,7 @@ class GeometryLoader {
110
124
  else {
111
125
  obj = new SDData_1.SDData(geometry.id, geometry.version);
112
126
  this.createMesh(obj, geometry, threeGeometry, material, skeleton);
113
- this._geometryCache[geometry.id + '_' + geometry.version] = { obj, counter: 1, clones: [] };
127
+ this._geometryCache[geometry.id + '_' + geometry.version] = { obj, counter: 1, clones: [], primitiveCacheId: geometry.primitive.id + '_' + geometry.primitive.version };
114
128
  parent.add(obj);
115
129
  }
116
130
  obj.children.forEach(m => m.castShadow = true);
@@ -157,6 +171,7 @@ class GeometryLoader {
157
171
  }
158
172
  }
159
173
  primitive.convertedObject[this._renderingEngine.id] = geometry;
174
+ this._primitiveCache[primitive.id + '_' + primitive.version] = { threeGeometry: geometry, counter: 1, clones: [] };
160
175
  return geometry;
161
176
  }
162
177
  removeFromGemSphericalMapsCache(id) {
@@ -174,23 +189,9 @@ class GeometryLoader {
174
189
  removeFromGeometryCache(id) {
175
190
  if (this._geometryCache[id]) {
176
191
  if (this._geometryCache[id].counter === 1) {
177
- this._geometryCache[id].obj.traverse(o => {
178
- if (o instanceof THREE.Mesh || o instanceof THREE.Points || o instanceof THREE.LineSegments || o instanceof THREE.LineLoop || o instanceof THREE.Line) {
179
- o.geometry.dispose();
180
- for (const key in o.geometry.attributes)
181
- o.geometry.deleteAttribute(key);
182
- o.geometry.setIndex(null);
183
- }
184
- });
192
+ this.removeFromPrimitiveCache(this._geometryCache[id].primitiveCacheId);
185
193
  this._geometryCache[id].clones.forEach(c => {
186
- c.traverse(o => {
187
- if (o instanceof THREE.Mesh || o instanceof THREE.Points || o instanceof THREE.LineSegments || o instanceof THREE.LineLoop || o instanceof THREE.Line) {
188
- o.geometry.dispose();
189
- for (const key in o.geometry.attributes)
190
- o.geometry.deleteAttribute(key);
191
- o.geometry.setIndex(null);
192
- }
193
- });
194
+ this.removeFromPrimitiveCache(this._geometryCache[id].primitiveCacheId);
194
195
  });
195
196
  delete this._geometryCache[id];
196
197
  }
@@ -199,8 +200,8 @@ class GeometryLoader {
199
200
  }
200
201
  }
201
202
  }
202
- // #endregion Public Methods (7)
203
- // #region Private Methods (6)
203
+ // #endregion Public Methods (6)
204
+ // #region Private Methods (7)
204
205
  checkNormals(primitive, attributeId, buffer, geometry) {
205
206
  let blnNormalsOk = false;
206
207
  for (let index = 0; index < 10; ++index) {
@@ -495,6 +496,26 @@ class GeometryLoader {
495
496
  }
496
497
  return buffer;
497
498
  }
499
+ removeFromPrimitiveCache(id) {
500
+ if (this._primitiveCache[id]) {
501
+ if (this._primitiveCache[id].counter === 1) {
502
+ this._primitiveCache[id].threeGeometry.dispose();
503
+ for (const key in this._primitiveCache[id].threeGeometry.attributes)
504
+ this._primitiveCache[id].threeGeometry.deleteAttribute(key);
505
+ this._primitiveCache[id].threeGeometry.setIndex(null);
506
+ this._primitiveCache[id].clones.forEach(c => {
507
+ c.dispose();
508
+ for (const key in c.attributes)
509
+ c.deleteAttribute(key);
510
+ c.setIndex(null);
511
+ });
512
+ delete this._primitiveCache[id];
513
+ }
514
+ else {
515
+ this._primitiveCache[id].counter--;
516
+ }
517
+ }
518
+ }
498
519
  }
499
520
  exports.GeometryLoader = GeometryLoader;
500
521
  //# sourceMappingURL=GeometryLoader.js.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.rendering-engine-threejs",
3
- "version": "3.3.9",
3
+ "version": "3.3.10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -38,21 +38,21 @@
38
38
  "testEnvironment": "node"
39
39
  },
40
40
  "dependencies": {
41
- "@shapediver/viewer.data-engine.gltf-converter": "3.3.9",
42
- "@shapediver/viewer.data-engine.shared-types": "3.3.9",
43
- "@shapediver/viewer.data-engine.tag3d-engine": "3.3.9",
44
- "@shapediver/viewer.rendering-engine.animation-engine": "3.3.9",
45
- "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.3.9",
46
- "@shapediver/viewer.rendering-engine.camera-engine": "3.3.9",
47
- "@shapediver/viewer.rendering-engine.canvas-engine": "3.3.9",
48
- "@shapediver/viewer.rendering-engine.intersection-engine": "3.3.9",
49
- "@shapediver/viewer.rendering-engine.light-engine": "3.3.9",
50
- "@shapediver/viewer.rendering-engine.rendering-engine": "3.3.9",
51
- "@shapediver/viewer.shared.global-access-objects": "3.3.9",
52
- "@shapediver/viewer.shared.math": "3.3.9",
53
- "@shapediver/viewer.shared.node-tree": "3.3.9",
54
- "@shapediver/viewer.shared.services": "3.3.9",
55
- "@shapediver/viewer.shared.types": "3.3.9",
41
+ "@shapediver/viewer.data-engine.gltf-converter": "3.3.10",
42
+ "@shapediver/viewer.data-engine.shared-types": "3.3.10",
43
+ "@shapediver/viewer.data-engine.tag3d-engine": "3.3.10",
44
+ "@shapediver/viewer.rendering-engine.animation-engine": "3.3.10",
45
+ "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.3.10",
46
+ "@shapediver/viewer.rendering-engine.camera-engine": "3.3.10",
47
+ "@shapediver/viewer.rendering-engine.canvas-engine": "3.3.10",
48
+ "@shapediver/viewer.rendering-engine.intersection-engine": "3.3.10",
49
+ "@shapediver/viewer.rendering-engine.light-engine": "3.3.10",
50
+ "@shapediver/viewer.rendering-engine.rendering-engine": "3.3.10",
51
+ "@shapediver/viewer.shared.global-access-objects": "3.3.10",
52
+ "@shapediver/viewer.shared.math": "3.3.10",
53
+ "@shapediver/viewer.shared.node-tree": "3.3.10",
54
+ "@shapediver/viewer.shared.services": "3.3.10",
55
+ "@shapediver/viewer.shared.types": "3.3.10",
56
56
  "@tweenjs/tween.js": "^18.6.4",
57
57
  "@types/stats.js": "^0.17.0",
58
58
  "@types/three": "0.162.0",
@@ -61,5 +61,5 @@
61
61
  "stats.js": "^0.17.0",
62
62
  "three": "0.162.0"
63
63
  },
64
- "gitHead": "dce4b1df08d3e4d5256360d63aeb503f638e914f"
64
+ "gitHead": "4c216e5254c00a8c29456ba66b01cf59c2c5f6d4"
65
65
  }