@combeenation/3d-viewer 5.0.0-ar2 → 5.0.0-beta4

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.
@@ -55,6 +55,15 @@ export declare class Element extends VariantParameterizable {
55
55
  * Merges the {@link Variant}'s parameters and those from the {@link Element}.
56
56
  */
57
57
  get inheritedParameters(): ParameterBag;
58
+ /**
59
+ * The actual {@link Mesh}es that make up this {@link Element}.
60
+ * Handy for e.g. creating a bounding box around an entire element.
61
+ */
62
+ get meshesFlat(): Mesh[];
63
+ /**
64
+ * The meshes of this {@link Element}.
65
+ */
66
+ get meshes(): Mesh[];
58
67
  /**
59
68
  * @protected
60
69
  */
@@ -137,6 +137,31 @@ var Element = /** @class */ (function (_super) {
137
137
  enumerable: false,
138
138
  configurable: true
139
139
  });
140
+ Object.defineProperty(Element.prototype, "meshesFlat", {
141
+ /**
142
+ * The actual {@link Mesh}es that make up this {@link Element}.
143
+ * Handy for e.g. creating a bounding box around an entire element.
144
+ */
145
+ get: function () {
146
+ var flatMeshes = this.nodes.reduce(function (accFlatMeshes, curNode) {
147
+ var currMeshes = curNode.getChildMeshes(false, function (n) { return n instanceof mesh_1.Mesh; });
148
+ return tslib_1.__spreadArrays(accFlatMeshes, currMeshes);
149
+ }, []);
150
+ return flatMeshes;
151
+ },
152
+ enumerable: false,
153
+ configurable: true
154
+ });
155
+ Object.defineProperty(Element.prototype, "meshes", {
156
+ /**
157
+ * The meshes of this {@link Element}.
158
+ */
159
+ get: function () {
160
+ return this.nodes.filter(function (node) { return node instanceof mesh_1.Mesh; });
161
+ },
162
+ enumerable: false,
163
+ configurable: true
164
+ });
140
165
  Object.defineProperty(Element.prototype, "highlightLayer", {
141
166
  get: function () {
142
167
  return this._highlightLayer;
@@ -311,13 +336,6 @@ var Element = /** @class */ (function (_super) {
311
336
  texture.update(false);
312
337
  // finally apply the texture on the desired node material
313
338
  babylonHelper_1.setMaterialTexture(node, texture, false);
314
- // WORK IN PROGRESS
315
- var theMaterial = node.material;
316
- var theMaterialTextures = theMaterial.getActiveTextures();
317
- var texturesOnScene = node.getScene().textures;
318
- // node.getScene().textures.push(texture);
319
- // debugger;
320
- // WORK IN PROGRESS
321
339
  return this;
322
340
  };
323
341
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/api/classes/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/api/classes/element.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ export declare class Viewer extends EventBroadcaster {
126
126
  /**
127
127
  * Calculates the bounding box from all visible meshes on the scene.
128
128
  */
129
- calculateBoundingBox(): Promise<Mesh>;
129
+ calculateBoundingBox(excludeGeometry?: ExcludedGeometry): Promise<Mesh>;
130
130
  /**
131
131
  * Focuses the camera to see every visible mesh in scene and tries to optimize wheel precision and panning
132
132
  */
@@ -13,6 +13,7 @@ var math_vector_1 = require("@babylonjs/core/Maths/math.vector");
13
13
  var mesh_1 = require("@babylonjs/core/Meshes/mesh");
14
14
  var screenshotTools_1 = require("@babylonjs/core/Misc/screenshotTools");
15
15
  var webXRSessionManager_1 = require("@babylonjs/core/XR/webXRSessionManager");
16
+ var structureHelper_1 = require("api/util/structureHelper");
16
17
  var lodash_es_1 = require("lodash-es");
17
18
  var buildinfo_json_1 = require("../../buildinfo.json");
18
19
  var sceneSetup_1 = require("../internal/sceneSetup");
@@ -385,7 +386,7 @@ var Viewer = /** @class */ (function (_super) {
385
386
  /**
386
387
  * Calculates the bounding box from all visible meshes on the scene.
387
388
  */
388
- Viewer.prototype.calculateBoundingBox = function () {
389
+ Viewer.prototype.calculateBoundingBox = function (excludeGeometry) {
389
390
  return tslib_1.__awaiter(this, void 0, void 0, function () {
390
391
  var bbName, _a, max, min, boundingBox;
391
392
  return tslib_1.__generator(this, function (_b) {
@@ -401,7 +402,9 @@ var Viewer = /** @class */ (function (_super) {
401
402
  var isNotBBoxMesh = bbName !== mesh.id;
402
403
  // ignore meshes with invalid bounding infos
403
404
  var hasValidBBoxInfo = mesh.getBoundingInfo().boundingSphere.radius > 0;
404
- return isEnabled && isNotBBoxMesh && hasValidBBoxInfo;
405
+ // ignore excluded meshes
406
+ var isExcluded = excludeGeometry ? structureHelper_1.isMeshIncludedInExclusionList(mesh, excludeGeometry) : false;
407
+ return isEnabled && isNotBBoxMesh && hasValidBBoxInfo && !isExcluded;
405
408
  })
406
409
  .reduce(function (accBBoxMinMax, curMesh, idx) {
407
410
  var bBox = curMesh.getBoundingInfo().boundingBox;
@@ -436,7 +439,7 @@ var Viewer = /** @class */ (function (_super) {
436
439
  cameraClsName = activeCamera.getClassName();
437
440
  throw new Error("Camera of type \"" + cameraClsName + "\" is not implemented yet to use autofocus feature.");
438
441
  }
439
- return [4 /*yield*/, this.calculateBoundingBox()];
442
+ return [4 /*yield*/, this.calculateBoundingBox(settings === null || settings === void 0 ? void 0 : settings.exclude)];
440
443
  case 1:
441
444
  boundingBox = _a.sent();
442
445
  helperCamera = this.getFocusedHelperCamera(boundingBox, settings);
@@ -502,7 +505,7 @@ var Viewer = /** @class */ (function (_super) {
502
505
  new math_vector_1.Vector3(dimension * 0.95, 0.05 * dimension, 0),
503
506
  new math_vector_1.Vector3(dimension, 0, 0),
504
507
  new math_vector_1.Vector3(dimension * 0.95, -0.05 * dimension, 0),
505
- ], scene);
508
+ ], scene, false);
506
509
  axisX.color = new math_color_1.Color3(1, 0, 0);
507
510
  var xChar = makeTextPlane('X', 'red', dimension / 10);
508
511
  xChar.position = new math_vector_1.Vector3(0.9 * dimension, -0.05 * dimension, 0);
@@ -512,7 +515,7 @@ var Viewer = /** @class */ (function (_super) {
512
515
  new math_vector_1.Vector3(-0.05 * dimension, dimension * 0.95, 0),
513
516
  new math_vector_1.Vector3(0, dimension, 0),
514
517
  new math_vector_1.Vector3(0.05 * dimension, dimension * 0.95, 0),
515
- ], scene);
518
+ ], scene, false);
516
519
  axisY.color = new math_color_1.Color3(0, 1, 0);
517
520
  var yChar = makeTextPlane('Y', 'green', dimension / 10);
518
521
  yChar.position = new math_vector_1.Vector3(0, 0.9 * dimension, -0.05 * dimension);
@@ -522,7 +525,7 @@ var Viewer = /** @class */ (function (_super) {
522
525
  new math_vector_1.Vector3(0, -0.05 * dimension, dimension * 0.95),
523
526
  new math_vector_1.Vector3(0, 0, dimension),
524
527
  new math_vector_1.Vector3(0, 0.05 * dimension, dimension * 0.95),
525
- ], scene);
528
+ ], scene, false);
526
529
  axisZ.color = new math_color_1.Color3(0, 0, 1);
527
530
  var zChar = makeTextPlane('Z', 'blue', dimension / 10);
528
531
  zChar.position = new math_vector_1.Vector3(0, 0.05 * dimension, 0.9 * dimension);
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../../src/api/classes/viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../../src/api/classes/viewer.ts"],"names":[],"mappings":"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"}
@@ -14,53 +14,52 @@ export declare class GltfExportManager {
14
14
  * Exports selected nodes to a file.
15
15
  * @param filename optional name of the exported .GLB file.
16
16
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
17
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
17
18
  */
18
- exportGlb(filename?: string, exportOptions?: IExportOptions): Promise<File | undefined>;
19
+ exportGlb(filename?: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometry): Promise<File | undefined>;
19
20
  /**
20
21
  * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
21
22
  * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
22
23
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
24
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
23
25
  */
24
- exportGltfToFile(filename: string, exportOptions?: IExportOptions): Promise<void>;
26
+ exportGltfToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometry): Promise<void>;
25
27
  /**
26
28
  * Exports selected nodes to GLB. This results in one binary file.
27
29
  * @param filename name of the .GLB file.
28
30
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
31
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
29
32
  */
30
- exportGlbToFile(filename: string, exportOptions?: IExportOptions): Promise<void>;
33
+ exportGlbToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometry): Promise<void>;
31
34
  /**
32
35
  * Gets predefined {@link IExportOptions } merged with given ones.
33
- * @protected
34
36
  */
35
- protected gltfExportOptions(mergeWithOptions?: IExportOptions): IExportOptions;
37
+ protected gltfExportOptions(mergeWithOptions?: IExportOptions, excluded?: ExcludedGeometry): IExportOptions;
36
38
  /**
37
39
  * Stuff to be done before exporting to GLTF
38
- * @protected
39
40
  */
40
41
  protected exportPreProcess(): void;
41
42
  /**
42
43
  * Stuff to be done after the GLTF export
43
- * @protected
44
44
  */
45
45
  protected exportPostProcess(): void;
46
46
  /**
47
47
  * Materials with refraction set are not exported properly.
48
48
  * Exchange all such (relevant) materials with a more export-friendly version
49
- * @param suffix String to be added to the replacement material's name
50
- * @protected
51
49
  */
52
- protected exchangeRefractionMaterials(suffix: string): void;
50
+ protected exchangeRefractionMaterials(): void;
53
51
  /**
54
52
  * Restore original materials with set refraction.
55
- * @param suffix String added to the replacement material's name
56
- * @protected
57
53
  */
58
- protected restoreRefractionMaterials(suffix: string): void;
54
+ protected restoreRefractionMaterials(): void;
59
55
  /**
60
56
  * Create an export-friendly replacement material for a material using refraction.
61
57
  * @param mat Material to be replaced
62
- * @param suffix String to be added to the replacement material's name
63
- * @protected
64
58
  */
65
- protected createRefractionMaterialReplacement(mat: PBRMaterial, suffix: string): PBRMaterial;
59
+ protected createRefractionMaterialReplacement(mat: PBRMaterial): PBRMaterial;
60
+ /**
61
+ * Inspect if a material was temporarily cloned for GLB export
62
+ * @param mat Material to be inspected
63
+ */
64
+ protected isMaterialClonedForExport(mat: PBRMaterial): boolean;
66
65
  }
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GltfExportManager = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ var core_1 = require("@babylonjs/core");
5
6
  var pbrMaterial_1 = require("@babylonjs/core/Materials/PBR/pbrMaterial");
6
7
  var math_color_1 = require("@babylonjs/core/Maths/math.color");
7
8
  var abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
8
9
  var serializers_1 = require("@babylonjs/serializers");
10
+ var structureHelper_1 = require("api/util/structureHelper");
9
11
  var lodash_es_1 = require("lodash-es");
10
12
  var GltfExportManager = /** @class */ (function () {
11
13
  /**
@@ -28,8 +30,9 @@ var GltfExportManager = /** @class */ (function () {
28
30
  * Exports selected nodes to a file.
29
31
  * @param filename optional name of the exported .GLB file.
30
32
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
33
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
31
34
  */
32
- GltfExportManager.prototype.exportGlb = function (filename, exportOptions) {
35
+ GltfExportManager.prototype.exportGlb = function (filename, exportOptions, excluded) {
33
36
  if (filename === void 0) { filename = 'glb-export.glb'; }
34
37
  if (exportOptions === void 0) { exportOptions = {}; }
35
38
  return tslib_1.__awaiter(this, void 0, void 0, function () {
@@ -38,7 +41,7 @@ var GltfExportManager = /** @class */ (function () {
38
41
  switch (_a.label) {
39
42
  case 0:
40
43
  this.exportPreProcess();
41
- return [4 /*yield*/, serializers_1.GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', this.gltfExportOptions(exportOptions))];
44
+ return [4 /*yield*/, serializers_1.GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', this.gltfExportOptions(exportOptions, excluded))];
42
45
  case 1:
43
46
  glbData = _a.sent();
44
47
  this.exportPostProcess();
@@ -63,15 +66,16 @@ var GltfExportManager = /** @class */ (function () {
63
66
  * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
64
67
  * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
65
68
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
69
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
66
70
  */
67
- GltfExportManager.prototype.exportGltfToFile = function (filename, exportOptions) {
71
+ GltfExportManager.prototype.exportGltfToFile = function (filename, exportOptions, excluded) {
68
72
  if (exportOptions === void 0) { exportOptions = {}; }
69
73
  return tslib_1.__awaiter(this, void 0, void 0, function () {
70
74
  return tslib_1.__generator(this, function (_a) {
71
75
  switch (_a.label) {
72
76
  case 0:
73
77
  this.exportPreProcess();
74
- return [4 /*yield*/, serializers_1.GLTF2Export.GLTFAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions)).then(function (glb) {
78
+ return [4 /*yield*/, serializers_1.GLTF2Export.GLTFAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(function (glb) {
75
79
  glb.downloadFiles();
76
80
  })];
77
81
  case 1:
@@ -86,15 +90,16 @@ var GltfExportManager = /** @class */ (function () {
86
90
  * Exports selected nodes to GLB. This results in one binary file.
87
91
  * @param filename name of the .GLB file.
88
92
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
93
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
89
94
  */
90
- GltfExportManager.prototype.exportGlbToFile = function (filename, exportOptions) {
95
+ GltfExportManager.prototype.exportGlbToFile = function (filename, exportOptions, excluded) {
91
96
  if (exportOptions === void 0) { exportOptions = {}; }
92
97
  return tslib_1.__awaiter(this, void 0, void 0, function () {
93
98
  return tslib_1.__generator(this, function (_a) {
94
99
  switch (_a.label) {
95
100
  case 0:
96
101
  this.exportPreProcess();
97
- return [4 /*yield*/, serializers_1.GLTF2Export.GLBAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions)).then(function (glb) {
102
+ return [4 /*yield*/, serializers_1.GLTF2Export.GLBAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(function (glb) {
98
103
  glb.downloadFiles();
99
104
  })];
100
105
  case 1:
@@ -107,9 +112,8 @@ var GltfExportManager = /** @class */ (function () {
107
112
  };
108
113
  /**
109
114
  * Gets predefined {@link IExportOptions } merged with given ones.
110
- * @protected
111
115
  */
112
- GltfExportManager.prototype.gltfExportOptions = function (mergeWithOptions) {
116
+ GltfExportManager.prototype.gltfExportOptions = function (mergeWithOptions, excluded) {
113
117
  if (mergeWithOptions === void 0) { mergeWithOptions = {}; }
114
118
  var defaultOptions = {
115
119
  // includeCoordinateSystemConversionNodes: true,
@@ -123,6 +127,9 @@ var GltfExportManager = /** @class */ (function () {
123
127
  if (node.name === '__bounding_box__') {
124
128
  return false;
125
129
  }
130
+ if (excluded && node instanceof core_1.Mesh && structureHelper_1.isMeshIncludedInExclusionList(node, excluded)) {
131
+ return false;
132
+ }
126
133
  return true;
127
134
  },
128
135
  };
@@ -130,83 +137,70 @@ var GltfExportManager = /** @class */ (function () {
130
137
  };
131
138
  /**
132
139
  * Stuff to be done before exporting to GLTF
133
- * @protected
134
140
  */
135
141
  GltfExportManager.prototype.exportPreProcess = function () {
136
142
  this.viewer.pauseRendering();
137
- this.exchangeRefractionMaterials('__cloned');
143
+ this.exchangeRefractionMaterials();
138
144
  };
139
145
  /**
140
146
  * Stuff to be done after the GLTF export
141
- * @protected
142
147
  */
143
148
  GltfExportManager.prototype.exportPostProcess = function () {
144
- this.restoreRefractionMaterials('__cloned');
149
+ this.restoreRefractionMaterials();
145
150
  this.viewer.resumeRendering();
146
151
  };
147
152
  /**
148
153
  * Materials with refraction set are not exported properly.
149
154
  * Exchange all such (relevant) materials with a more export-friendly version
150
- * @param suffix String to be added to the replacement material's name
151
- * @protected
152
155
  */
153
- GltfExportManager.prototype.exchangeRefractionMaterials = function (suffix) {
156
+ GltfExportManager.prototype.exchangeRefractionMaterials = function () {
154
157
  for (var _i = 0, _a = this.viewer.scene.getNodes(); _i < _a.length; _i++) {
155
158
  var n = _a[_i];
156
159
  if (!(n instanceof abstractMesh_1.AbstractMesh))
157
160
  continue;
158
161
  if (!(n.material instanceof pbrMaterial_1.PBRMaterial))
159
162
  continue;
160
- if (n.material.subSurface.isRefractionEnabled !== true)
163
+ if (!n.material.subSurface.isRefractionEnabled)
161
164
  continue;
162
165
  if (n.material.transparencyMode !== pbrMaterial_1.PBRMaterial.PBRMATERIAL_OPAQUE)
163
166
  continue;
164
167
  // if we're here, we have a node holding a material with set refraction whose transparencyMode is set to PBRMATERIAL_OPAQUE
165
- n.material = this.createRefractionMaterialReplacement(n.material, suffix);
168
+ n.material = this.createRefractionMaterialReplacement(n.material);
166
169
  }
167
170
  };
168
171
  /**
169
172
  * Restore original materials with set refraction.
170
- * @param suffix String added to the replacement material's name
171
- * @protected
172
173
  */
173
- GltfExportManager.prototype.restoreRefractionMaterials = function (suffix) {
174
- var _this = this;
174
+ GltfExportManager.prototype.restoreRefractionMaterials = function () {
175
175
  for (var _i = 0, _a = this.viewer.scene.getNodes(); _i < _a.length; _i++) {
176
176
  var n = _a[_i];
177
- if (n instanceof abstractMesh_1.AbstractMesh && n.material instanceof pbrMaterial_1.PBRMaterial) {
178
- // at this point we have a pbrmaterial that's set on a mesh
179
- if (n.material.name.endsWith(suffix)) {
180
- var previousMaterialName = n.material.name.replace(suffix, ''); // strip suffix from name
181
- n.material = this.viewer.scene.getMaterialByName(previousMaterialName); // set previous material on mesh
182
- }
177
+ if (!(n instanceof abstractMesh_1.AbstractMesh))
178
+ continue;
179
+ if (!(n.material instanceof pbrMaterial_1.PBRMaterial))
180
+ continue;
181
+ if (!this.isMaterialClonedForExport(n.material))
182
+ continue;
183
+ // at this point we have a pbrmaterial tagged as cloned in its metadata that's set on a mesh
184
+ // restore and dispose
185
+ var currMaterial = n.material;
186
+ var prevMaterial = this.viewer.scene.getMaterialByUniqueID(n.material.metadata.clonedFrom);
187
+ if (prevMaterial) {
188
+ n.material = prevMaterial; // restore previous material
189
+ currMaterial.dispose(false, true); // dispose of clone
183
190
  }
184
191
  }
185
- // dispose of all clones.
186
- var allClonedMaterials = [];
187
- for (var _b = 0, _c = this.viewer.scene.materials; _b < _c.length; _b++) {
188
- var mat = _c[_b];
189
- if (mat.name.endsWith(suffix))
190
- allClonedMaterials.push(mat.name);
191
- }
192
- allClonedMaterials.forEach(function (mat) {
193
- var _a;
194
- (_a = _this.viewer.scene.getMaterialByName(mat)) === null || _a === void 0 ? void 0 : _a.dispose(false, true);
195
- });
196
192
  };
197
193
  /**
198
194
  * Create an export-friendly replacement material for a material using refraction.
199
195
  * @param mat Material to be replaced
200
- * @param suffix String to be added to the replacement material's name
201
- * @protected
202
196
  */
203
- GltfExportManager.prototype.createRefractionMaterialReplacement = function (mat, suffix) {
204
- var newMatName = mat.name + suffix;
205
- // if material of that name already exists - return it instead of cloning
206
- if (this.viewer.scene.getMaterialByName(newMatName))
207
- return this.viewer.scene.getMaterialByName(newMatName);
197
+ GltfExportManager.prototype.createRefractionMaterialReplacement = function (mat) {
198
+ // if we're dealing with a clone already, return it instead of cloning
199
+ if (this.isMaterialClonedForExport(mat))
200
+ return mat;
208
201
  // change material according to https://www.notion.so/combeenation/Glas-materials-don-t-look-glasy-after-export-d5fda2c6515e4420a8772744d3e6b460
209
- var clonedMaterial = mat.clone(mat.name + suffix);
202
+ var clonedMaterial = mat.clone(mat.name); // clone material. clone uses same name
203
+ clonedMaterial.metadata = tslib_1.__assign(tslib_1.__assign({}, mat.metadata), { clonedFrom: mat.uniqueId }); // create shallow copy of metadata on clone. see https://forum.babylonjs.com/t/the-metadata-of-the-mesh-cloned-by-the-instantiatemodelstoscene-method-is-a-shallow-copy/21563
210
204
  clonedMaterial.refractionTexture = null;
211
205
  clonedMaterial.metallicReflectanceTexture = null; // is this the correct one for metallic roughness?
212
206
  clonedMaterial.alpha = 0.7;
@@ -216,6 +210,13 @@ var GltfExportManager = /** @class */ (function () {
216
210
  clonedMaterial.roughness = 0.15;
217
211
  return clonedMaterial;
218
212
  };
213
+ /**
214
+ * Inspect if a material was temporarily cloned for GLB export
215
+ * @param mat Material to be inspected
216
+ */
217
+ GltfExportManager.prototype.isMaterialClonedForExport = function (mat) {
218
+ return mat.metadata.clonedFrom;
219
+ };
219
220
  return GltfExportManager;
220
221
  }());
221
222
  exports.GltfExportManager = GltfExportManager;
@@ -1 +1 @@
1
- {"version":3,"file":"gltfExportManager.js","sourceRoot":"","sources":["../../../../src/api/manager/gltfExportManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltfExportManager.js","sourceRoot":"","sources":["../../../../src/api/manager/gltfExportManager.ts"],"names":[],"mappings":"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"}
@@ -209,6 +209,10 @@ declare type ScreenshotSettings = {
209
209
  /** Default `false` */
210
210
  renderSprites?: boolean;
211
211
  };
212
+ /**
213
+ * Use this to define geometry to be excluded from autofocus, GLB export, etc.
214
+ */
215
+ declare type ExcludedGeometry = (Mesh | VariantInstance | Variant | VariantElement)[];
212
216
  declare type AutofocusSettings = {
213
217
  /**
214
218
  * Can be used to customize the margins shown around the 3d model when calling {@link autofocusActiveCamera}.\
@@ -224,6 +228,8 @@ declare type AutofocusSettings = {
224
228
  beta?: number;
225
229
  /** Optional animation for the focusing camera movement */
226
230
  animation?: string | AnimationDefinition;
231
+ /** Optional list of geometry to be excluded from consideration */
232
+ exclude?: ExcludedGeometry;
227
233
  };
228
234
  declare type LightDefinitions = {
229
235
  [name: string]: LightDefinition | string;
@@ -0,0 +1,9 @@
1
+ import { Mesh } from '@babylonjs/core/Meshes/mesh';
2
+ /**
3
+ * Find out if a mesh is part of a list of excluded geometry
4
+ * @param mesh BJS mesh
5
+ * @param list list of excluded geometry
6
+ * @returns boolean based on whether mesh was found in list
7
+ */
8
+ declare const isMeshIncludedInExclusionList: (mesh: Mesh, list: ExcludedGeometry) => boolean;
9
+ export { isMeshIncludedInExclusionList };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMeshIncludedInExclusionList = void 0;
4
+ var mesh_1 = require("@babylonjs/core/Meshes/mesh");
5
+ var variant_1 = require("../classes/variant");
6
+ var variantInstance_1 = require("../classes/variantInstance");
7
+ var element_1 = require("../classes/element");
8
+ /**
9
+ * Find out if a mesh is part of a list of excluded geometry
10
+ * @param mesh BJS mesh
11
+ * @param list list of excluded geometry
12
+ * @returns boolean based on whether mesh was found in list
13
+ */
14
+ var isMeshIncludedInExclusionList = function (mesh, list) {
15
+ var checkMesh = function (inputMesh, meshToCheck) {
16
+ return inputMesh.uniqueId === meshToCheck.uniqueId;
17
+ };
18
+ var checkElement = function (inputEl, meshToCheck) {
19
+ return inputEl.meshesFlat.some(function (m) { return checkMesh(m, meshToCheck); });
20
+ };
21
+ var checkVariant = function (inputVariant, meshToCheck) {
22
+ return inputVariant.elements.some(function (el) { return checkElement(el, meshToCheck); });
23
+ };
24
+ var checkVariantInstance = function (inputVarInst, meshToCheck) {
25
+ return inputVarInst.variant.elements.some(function (el) { return checkElement(el, meshToCheck); });
26
+ };
27
+ var isExcluded = list.some(function (geometryToExclude) {
28
+ if (geometryToExclude instanceof variantInstance_1.VariantInstance) {
29
+ return checkVariantInstance(geometryToExclude, mesh);
30
+ }
31
+ if (geometryToExclude instanceof variant_1.Variant) {
32
+ return checkVariant(geometryToExclude, mesh);
33
+ }
34
+ if (geometryToExclude instanceof element_1.Element) {
35
+ return checkElement(geometryToExclude, mesh);
36
+ }
37
+ if (geometryToExclude instanceof mesh_1.Mesh) {
38
+ return checkMesh(geometryToExclude, mesh);
39
+ }
40
+ return false;
41
+ });
42
+ return isExcluded;
43
+ };
44
+ exports.isMeshIncludedInExclusionList = isMeshIncludedInExclusionList;
45
+ //# sourceMappingURL=structureHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structureHelper.js","sourceRoot":"","sources":["../../../../src/api/util/structureHelper.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AACnD,8CAA6C;AAC7C,8DAA6D;AAC7D,8CAA6C;AAE7C;;;;;GAKG;AACH,IAAM,6BAA6B,GAAG,UAAU,IAAU,EAAE,IAAsB;IAChF,IAAM,SAAS,GAAG,UAAC,SAAe,EAAE,WAAiB;QACnD,OAAO,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC;IACrD,CAAC,CAAC;IACF,IAAM,YAAY,GAAG,UAAC,OAAgB,EAAE,WAAiB;QACvD,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,EAAzB,CAAyB,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,IAAM,YAAY,GAAG,UAAC,YAAqB,EAAE,WAAiB;QAC5D,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,EAA7B,CAA6B,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,IAAM,oBAAoB,GAAG,UAAC,YAA6B,EAAE,WAAiB;QAC5E,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,EAA7B,CAA6B,CAAC,CAAC;IACjF,CAAC,CAAC;IACF,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAA,iBAAiB;QAC5C,IAAI,iBAAiB,YAAY,iCAAe,EAAE;YAChD,OAAO,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SACtD;QACD,IAAI,iBAAiB,YAAY,iBAAO,EAAE;YACxC,OAAO,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC9C;QACD,IAAI,iBAAiB,YAAY,iBAAO,EAAE;YACxC,OAAO,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC9C;QACD,IAAI,iBAAiB,YAAY,WAAI,EAAE;YACrC,OAAO,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC3C;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEO,sEAA6B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@combeenation/3d-viewer",
3
3
  "description": "Combeenation 3D Viewer",
4
- "version": "5.0.0-ar2",
4
+ "version": "5.0.0-beta4",
5
5
  "homepage": "https://github.com/Combeenation/3d-viewer#readme",
6
6
  "keywords": [],
7
7
  "author": "",
@@ -43,10 +43,10 @@
43
43
  "format": "prettier --write ."
44
44
  },
45
45
  "dependencies": {
46
- "@babylonjs/core": "5.0.0-rc.2",
47
- "@babylonjs/inspector": "5.0.0-rc.2",
48
- "@babylonjs/loaders": "5.0.0-rc.2",
49
- "@babylonjs/materials": "5.0.0-rc.2",
46
+ "@babylonjs/core": "^5.6.0",
47
+ "@babylonjs/inspector": "5.6.0",
48
+ "@babylonjs/loaders": "5.6.0",
49
+ "@babylonjs/materials": "5.6.0",
50
50
  "eventemitter3": "^4.0.0",
51
51
  "gsap": "^3.5.1",
52
52
  "lodash-es": "^4.17.15"
@@ -37,6 +37,7 @@ import { DottedPath } from './dottedPath';
37
37
  import { Parameter } from './parameter';
38
38
  import { Variant } from './variant';
39
39
  import { BaseTexture } from '@babylonjs/core/Materials/Textures/baseTexture';
40
+ import { Node } from '@babylonjs/core';
40
41
 
41
42
  /**
42
43
  * An {@link Element} of a {@link Variant}. Acts as a container for diverse definitions. Lives only in the context of a
@@ -134,6 +135,25 @@ export class Element extends VariantParameterizable {
134
135
  return merge({}, this.variant.inheritedParameters, this.parameters);
135
136
  }
136
137
 
138
+ /**
139
+ * The actual {@link Mesh}es that make up this {@link Element}.
140
+ * Handy for e.g. creating a bounding box around an entire element.
141
+ */
142
+ get meshesFlat(): Mesh[] {
143
+ const flatMeshes = this.nodes.reduce((accFlatMeshes, curNode) => {
144
+ const currMeshes = curNode.getChildMeshes(false, n => n instanceof Mesh) as Mesh[];
145
+ return [...accFlatMeshes, ...currMeshes];
146
+ }, [] as Mesh[]);
147
+ return flatMeshes;
148
+ }
149
+
150
+ /**
151
+ * The meshes of this {@link Element}.
152
+ */
153
+ get meshes(): Mesh[] {
154
+ return this.nodes.filter(node => node instanceof Mesh) as Mesh[];
155
+ }
156
+
137
157
  /**
138
158
  * @protected
139
159
  */
@@ -313,14 +333,6 @@ export class Element extends VariantParameterizable {
313
333
  // finally apply the texture on the desired node material
314
334
  setMaterialTexture(node, texture, false);
315
335
 
316
- // WORK IN PROGRESS
317
- const theMaterial: Material = node.material;
318
- const theMaterialTextures = theMaterial.getActiveTextures();
319
- const texturesOnScene: BaseTexture[] = node.getScene().textures;
320
- // node.getScene().textures.push(texture);
321
- // debugger;
322
- // WORK IN PROGRESS
323
-
324
336
  return this;
325
337
  }
326
338
 
@@ -1,4 +1,4 @@
1
- import { IPointerEvent } from '@babylonjs/core';
1
+ import { AbstractMesh, IPointerEvent } from '@babylonjs/core';
2
2
  import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
3
3
  import { PickingInfo } from '@babylonjs/core/Collisions/pickingInfo';
4
4
  import { BoundingInfo } from '@babylonjs/core/Culling/boundingInfo';
@@ -12,6 +12,7 @@ import { Mesh } from '@babylonjs/core/Meshes/mesh';
12
12
  import { ScreenshotTools } from '@babylonjs/core/Misc/screenshotTools';
13
13
  import { Scene } from '@babylonjs/core/scene';
14
14
  import { WebXRSessionManager } from '@babylonjs/core/XR/webXRSessionManager';
15
+ import { isMeshIncludedInExclusionList } from 'api/util/structureHelper';
15
16
  import { isString } from 'lodash-es';
16
17
  import { version } from '../../buildinfo.json';
17
18
  import { sceneSetup } from '../internal/sceneSetup';
@@ -321,7 +322,7 @@ export class Viewer extends EventBroadcaster {
321
322
  /**
322
323
  * Calculates the bounding box from all visible meshes on the scene.
323
324
  */
324
- public async calculateBoundingBox(): Promise<Mesh> {
325
+ public async calculateBoundingBox(excludeGeometry?: ExcludedGeometry): Promise<Mesh> {
325
326
  if (this.scene.meshes.length === 0) {
326
327
  throw new Error('There are currently no meshes on the scene.');
327
328
  }
@@ -335,7 +336,9 @@ export class Viewer extends EventBroadcaster {
335
336
  const isNotBBoxMesh = bbName !== mesh.id;
336
337
  // ignore meshes with invalid bounding infos
337
338
  const hasValidBBoxInfo = mesh.getBoundingInfo().boundingSphere.radius > 0;
338
- return isEnabled && isNotBBoxMesh && hasValidBBoxInfo;
339
+ // ignore excluded meshes
340
+ const isExcluded = excludeGeometry ? isMeshIncludedInExclusionList(mesh as Mesh, excludeGeometry) : false;
341
+ return isEnabled && isNotBBoxMesh && hasValidBBoxInfo && !isExcluded;
339
342
  })
340
343
  .reduce(
341
344
  (accBBoxMinMax, curMesh, idx) => {
@@ -371,7 +374,7 @@ export class Viewer extends EventBroadcaster {
371
374
  }
372
375
 
373
376
  // get bounding box of all visible meshes, this is the base for the autofocus algorithm
374
- const boundingBox = await this.calculateBoundingBox();
377
+ const boundingBox = await this.calculateBoundingBox(settings?.exclude);
375
378
 
376
379
  // focus the helper camera and set the calculated camera data to the real camera
377
380
  const helperCamera = this.getFocusedHelperCamera(boundingBox, settings);
@@ -421,6 +424,7 @@ export class Viewer extends EventBroadcaster {
421
424
  plane.material.diffuseTexture = dynamicTexture;
422
425
  return plane;
423
426
  };
427
+
424
428
  const axisX = Mesh.CreateLines(
425
429
  'axisX',
426
430
  [
@@ -430,7 +434,8 @@ export class Viewer extends EventBroadcaster {
430
434
  new Vector3(dimension, 0, 0),
431
435
  new Vector3(dimension * 0.95, -0.05 * dimension, 0),
432
436
  ],
433
- scene
437
+ scene,
438
+ false
434
439
  );
435
440
  axisX.color = new Color3(1, 0, 0);
436
441
  const xChar = makeTextPlane('X', 'red', dimension / 10);
@@ -444,7 +449,8 @@ export class Viewer extends EventBroadcaster {
444
449
  new Vector3(0, dimension, 0),
445
450
  new Vector3(0.05 * dimension, dimension * 0.95, 0),
446
451
  ],
447
- scene
452
+ scene,
453
+ false
448
454
  );
449
455
  axisY.color = new Color3(0, 1, 0);
450
456
  const yChar = makeTextPlane('Y', 'green', dimension / 10);
@@ -458,7 +464,8 @@ export class Viewer extends EventBroadcaster {
458
464
  new Vector3(0, 0, dimension),
459
465
  new Vector3(0, 0.05 * dimension, dimension * 0.95),
460
466
  ],
461
- scene
467
+ scene,
468
+ false
462
469
  );
463
470
  axisZ.color = new Color3(0, 0, 1);
464
471
  const zChar = makeTextPlane('Z', 'blue', dimension / 10);
@@ -1,8 +1,10 @@
1
+ import { Mesh } from '@babylonjs/core';
1
2
  import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
2
3
  import { Color3 } from '@babylonjs/core/Maths/math.color';
3
4
  import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
4
5
  import { Scene } from '@babylonjs/core/scene';
5
6
  import { GLTF2Export, IExportOptions } from '@babylonjs/serializers';
7
+ import { isMeshIncludedInExclusionList } from 'api/util/structureHelper';
6
8
  import { merge } from 'lodash-es';
7
9
 
8
10
  export class GltfExportManager {
@@ -22,10 +24,19 @@ export class GltfExportManager {
22
24
  * Exports selected nodes to a file.
23
25
  * @param filename optional name of the exported .GLB file.
24
26
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
27
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
25
28
  */
26
- public async exportGlb(filename = 'glb-export.glb', exportOptions: IExportOptions = {}): Promise<File | undefined> {
29
+ public async exportGlb(
30
+ filename = 'glb-export.glb',
31
+ exportOptions: IExportOptions = {},
32
+ excluded?: ExcludedGeometry
33
+ ): Promise<File | undefined> {
27
34
  this.exportPreProcess();
28
- const glbData = await GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', this.gltfExportOptions(exportOptions));
35
+ const glbData = await GLTF2Export.GLBAsync(
36
+ this.viewer.scene,
37
+ 'dummy',
38
+ this.gltfExportOptions(exportOptions, excluded)
39
+ );
29
40
  this.exportPostProcess();
30
41
  const resBlob = glbData.glTFFiles['dummy.glb']; // should be only one file for glb
31
42
 
@@ -45,12 +56,15 @@ export class GltfExportManager {
45
56
  * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
46
57
  * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
47
58
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
59
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
48
60
  */
49
- public async exportGltfToFile(filename: string, exportOptions: IExportOptions = {}) {
61
+ public async exportGltfToFile(filename: string, exportOptions: IExportOptions = {}, excluded?: ExcludedGeometry) {
50
62
  this.exportPreProcess();
51
- await GLTF2Export.GLTFAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions)).then(glb => {
52
- glb.downloadFiles();
53
- });
63
+ await GLTF2Export.GLTFAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(
64
+ glb => {
65
+ glb.downloadFiles();
66
+ }
67
+ );
54
68
  this.exportPostProcess();
55
69
  }
56
70
 
@@ -58,20 +72,22 @@ export class GltfExportManager {
58
72
  * Exports selected nodes to GLB. This results in one binary file.
59
73
  * @param filename name of the .GLB file.
60
74
  * @param exportOptions export options to be merged with default options. See {@link gltfExportOptions}.
75
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
61
76
  */
62
- public async exportGlbToFile(filename: string, exportOptions: IExportOptions = {}) {
77
+ public async exportGlbToFile(filename: string, exportOptions: IExportOptions = {}, excluded?: ExcludedGeometry) {
63
78
  this.exportPreProcess();
64
- await GLTF2Export.GLBAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions)).then(glb => {
65
- glb.downloadFiles();
66
- });
79
+ await GLTF2Export.GLBAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(
80
+ glb => {
81
+ glb.downloadFiles();
82
+ }
83
+ );
67
84
  this.exportPostProcess();
68
85
  }
69
86
 
70
87
  /**
71
88
  * Gets predefined {@link IExportOptions } merged with given ones.
72
- * @protected
73
89
  */
74
- protected gltfExportOptions(mergeWithOptions: IExportOptions = {}): IExportOptions {
90
+ protected gltfExportOptions(mergeWithOptions: IExportOptions = {}, excluded?: ExcludedGeometry): IExportOptions {
75
91
  const defaultOptions = {
76
92
  // includeCoordinateSystemConversionNodes: true,
77
93
  shouldExportNode: function (node: any) {
@@ -84,6 +100,9 @@ export class GltfExportManager {
84
100
  if (node.name === '__bounding_box__') {
85
101
  return false;
86
102
  }
103
+ if (excluded && node instanceof Mesh && isMeshIncludedInExclusionList(node, excluded)) {
104
+ return false;
105
+ }
87
106
  return true;
88
107
  },
89
108
  };
@@ -92,78 +111,66 @@ export class GltfExportManager {
92
111
 
93
112
  /**
94
113
  * Stuff to be done before exporting to GLTF
95
- * @protected
96
114
  */
97
115
  protected exportPreProcess() {
98
116
  this.viewer.pauseRendering();
99
- this.exchangeRefractionMaterials('__cloned');
117
+ this.exchangeRefractionMaterials();
100
118
  }
101
119
 
102
120
  /**
103
121
  * Stuff to be done after the GLTF export
104
- * @protected
105
122
  */
106
123
  protected exportPostProcess() {
107
- this.restoreRefractionMaterials('__cloned');
124
+ this.restoreRefractionMaterials();
108
125
  this.viewer.resumeRendering();
109
126
  }
110
127
 
111
128
  /**
112
129
  * Materials with refraction set are not exported properly.
113
130
  * Exchange all such (relevant) materials with a more export-friendly version
114
- * @param suffix String to be added to the replacement material's name
115
- * @protected
116
131
  */
117
- protected exchangeRefractionMaterials(suffix: string) {
132
+ protected exchangeRefractionMaterials() {
118
133
  for (const n of this.viewer.scene.getNodes()) {
119
134
  if (!(n instanceof AbstractMesh)) continue;
120
135
  if (!(n.material instanceof PBRMaterial)) continue;
121
- if ((n.material as PBRMaterial).subSurface.isRefractionEnabled !== true) continue;
136
+ if (!(n.material as PBRMaterial).subSurface.isRefractionEnabled) continue;
122
137
  if ((n.material as PBRMaterial).transparencyMode !== PBRMaterial.PBRMATERIAL_OPAQUE) continue;
123
138
  // if we're here, we have a node holding a material with set refraction whose transparencyMode is set to PBRMATERIAL_OPAQUE
124
- n.material = this.createRefractionMaterialReplacement(n.material, suffix);
139
+ n.material = this.createRefractionMaterialReplacement(n.material);
125
140
  }
126
141
  }
127
142
 
128
143
  /**
129
144
  * Restore original materials with set refraction.
130
- * @param suffix String added to the replacement material's name
131
- * @protected
132
145
  */
133
- protected restoreRefractionMaterials(suffix: string) {
146
+ protected restoreRefractionMaterials() {
134
147
  for (const n of this.viewer.scene.getNodes()) {
135
- if (n instanceof AbstractMesh && n.material instanceof PBRMaterial) {
136
- // at this point we have a pbrmaterial that's set on a mesh
137
- if (n.material.name.endsWith(suffix)) {
138
- const previousMaterialName = n.material.name.replace(suffix, ''); // strip suffix from name
139
- n.material = this.viewer.scene.getMaterialByName(previousMaterialName); // set previous material on mesh
140
- }
148
+ if (!(n instanceof AbstractMesh)) continue;
149
+ if (!(n.material instanceof PBRMaterial)) continue;
150
+ if (!this.isMaterialClonedForExport(n.material)) continue;
151
+ // at this point we have a pbrmaterial tagged as cloned in its metadata that's set on a mesh
152
+
153
+ // restore and dispose
154
+ const currMaterial = n.material;
155
+ const prevMaterial = this.viewer.scene.getMaterialByUniqueID(n.material.metadata.clonedFrom);
156
+ if (prevMaterial) {
157
+ n.material = prevMaterial; // restore previous material
158
+ currMaterial.dispose(false, true); // dispose of clone
141
159
  }
142
160
  }
143
- // dispose of all clones.
144
- let allClonedMaterials = [];
145
- for (const mat of this.viewer.scene.materials) {
146
- if (mat.name.endsWith(suffix)) allClonedMaterials.push(mat.name);
147
- }
148
- allClonedMaterials.forEach(mat => {
149
- this.viewer.scene.getMaterialByName(mat)?.dispose(false, true);
150
- });
151
161
  }
152
162
 
153
163
  /**
154
164
  * Create an export-friendly replacement material for a material using refraction.
155
165
  * @param mat Material to be replaced
156
- * @param suffix String to be added to the replacement material's name
157
- * @protected
158
166
  */
159
- protected createRefractionMaterialReplacement(mat: PBRMaterial, suffix: string): PBRMaterial {
160
- const newMatName = mat.name + suffix;
161
- // if material of that name already exists - return it instead of cloning
162
- if (this.viewer.scene.getMaterialByName(newMatName))
163
- return this.viewer.scene.getMaterialByName(newMatName) as PBRMaterial;
167
+ protected createRefractionMaterialReplacement(mat: PBRMaterial): PBRMaterial {
168
+ // if we're dealing with a clone already, return it instead of cloning
169
+ if (this.isMaterialClonedForExport(mat)) return mat;
164
170
 
165
171
  // change material according to https://www.notion.so/combeenation/Glas-materials-don-t-look-glasy-after-export-d5fda2c6515e4420a8772744d3e6b460
166
- let clonedMaterial = mat.clone(mat.name + suffix);
172
+ let clonedMaterial = mat.clone(mat.name); // clone material. clone uses same name
173
+ clonedMaterial.metadata = { ...mat.metadata, clonedFrom: mat.uniqueId }; // create shallow copy of metadata on clone. see https://forum.babylonjs.com/t/the-metadata-of-the-mesh-cloned-by-the-instantiatemodelstoscene-method-is-a-shallow-copy/21563
167
174
  clonedMaterial.refractionTexture = null;
168
175
  clonedMaterial.metallicReflectanceTexture = null; // is this the correct one for metallic roughness?
169
176
  clonedMaterial.alpha = 0.7;
@@ -174,4 +181,12 @@ export class GltfExportManager {
174
181
 
175
182
  return clonedMaterial;
176
183
  }
184
+
185
+ /**
186
+ * Inspect if a material was temporarily cloned for GLB export
187
+ * @param mat Material to be inspected
188
+ */
189
+ protected isMaterialClonedForExport(mat: PBRMaterial): boolean {
190
+ return mat.metadata.clonedFrom;
191
+ }
177
192
  }
@@ -232,6 +232,11 @@ type ScreenshotSettings = {
232
232
  renderSprites?: boolean;
233
233
  };
234
234
 
235
+ /**
236
+ * Use this to define geometry to be excluded from autofocus, GLB export, etc.
237
+ */
238
+ type ExcludedGeometry = (Mesh | VariantInstance | Variant | VariantElement)[];
239
+
235
240
  type AutofocusSettings = {
236
241
  /**
237
242
  * Can be used to customize the margins shown around the 3d model when calling {@link autofocusActiveCamera}.\
@@ -247,6 +252,8 @@ type AutofocusSettings = {
247
252
  beta?: number;
248
253
  /** Optional animation for the focusing camera movement */
249
254
  animation?: string | AnimationDefinition;
255
+ /** Optional list of geometry to be excluded from consideration */
256
+ exclude?: ExcludedGeometry;
250
257
  };
251
258
 
252
259
  type LightDefinitions = {
@@ -0,0 +1,43 @@
1
+ import { Mesh } from '@babylonjs/core/Meshes/mesh';
2
+ import { Variant } from '../classes/variant';
3
+ import { VariantInstance } from '../classes/variantInstance';
4
+ import { Element } from '../classes/element';
5
+
6
+ /**
7
+ * Find out if a mesh is part of a list of excluded geometry
8
+ * @param mesh BJS mesh
9
+ * @param list list of excluded geometry
10
+ * @returns boolean based on whether mesh was found in list
11
+ */
12
+ const isMeshIncludedInExclusionList = function (mesh: Mesh, list: ExcludedGeometry): boolean {
13
+ const checkMesh = (inputMesh: Mesh, meshToCheck: Mesh) => {
14
+ return inputMesh.uniqueId === meshToCheck.uniqueId;
15
+ };
16
+ const checkElement = (inputEl: Element, meshToCheck: Mesh) => {
17
+ return inputEl.meshesFlat.some(m => checkMesh(m, meshToCheck));
18
+ };
19
+ const checkVariant = (inputVariant: Variant, meshToCheck: Mesh) => {
20
+ return inputVariant.elements.some(el => checkElement(el, meshToCheck));
21
+ };
22
+ const checkVariantInstance = (inputVarInst: VariantInstance, meshToCheck: Mesh) => {
23
+ return inputVarInst.variant.elements.some(el => checkElement(el, meshToCheck));
24
+ };
25
+ const isExcluded = list.some(geometryToExclude => {
26
+ if (geometryToExclude instanceof VariantInstance) {
27
+ return checkVariantInstance(geometryToExclude, mesh);
28
+ }
29
+ if (geometryToExclude instanceof Variant) {
30
+ return checkVariant(geometryToExclude, mesh);
31
+ }
32
+ if (geometryToExclude instanceof Element) {
33
+ return checkElement(geometryToExclude, mesh);
34
+ }
35
+ if (geometryToExclude instanceof Mesh) {
36
+ return checkMesh(geometryToExclude, mesh);
37
+ }
38
+ return false;
39
+ });
40
+ return isExcluded;
41
+ };
42
+
43
+ export { isMeshIncludedInExclusionList };