@combeenation/3d-viewer 5.0.0-ar1 → 5.0.0-beta5
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.
- package/dist/lib-cjs/api/classes/element.d.ts +9 -0
- package/dist/lib-cjs/api/classes/element.js +25 -7
- package/dist/lib-cjs/api/classes/element.js.map +1 -1
- package/dist/lib-cjs/api/classes/viewer.d.ts +10 -1
- package/dist/lib-cjs/api/classes/viewer.js +25 -8
- package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
- package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +40 -10
- package/dist/lib-cjs/api/manager/gltfExportManager.js +134 -19
- package/dist/lib-cjs/api/manager/gltfExportManager.js.map +1 -1
- package/dist/lib-cjs/api/util/globalTypes.d.ts +6 -1
- package/dist/lib-cjs/api/util/structureHelper.d.ts +9 -0
- package/dist/lib-cjs/api/util/structureHelper.js +45 -0
- package/dist/lib-cjs/api/util/structureHelper.js.map +1 -0
- package/package.json +5 -5
- package/src/api/classes/element.ts +20 -8
- package/src/api/classes/viewer.ts +32 -9
- package/src/api/manager/gltfExportManager.ts +138 -17
- package/src/api/util/globalTypes.ts +7 -2
- package/src/api/util/structureHelper.ts +43 -0
|
@@ -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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"}
|
|
@@ -25,6 +25,7 @@ export declare class Viewer extends EventBroadcaster {
|
|
|
25
25
|
protected _gltfExportManager: GltfExportManager | null;
|
|
26
26
|
protected _variantInstances: VariantInstanceManager | null;
|
|
27
27
|
protected _cloneMaterialsOnMutation: boolean;
|
|
28
|
+
protected _isRenderLoopPaused: boolean;
|
|
28
29
|
static version: string;
|
|
29
30
|
/**
|
|
30
31
|
* Constructor
|
|
@@ -125,7 +126,7 @@ export declare class Viewer extends EventBroadcaster {
|
|
|
125
126
|
/**
|
|
126
127
|
* Calculates the bounding box from all visible meshes on the scene.
|
|
127
128
|
*/
|
|
128
|
-
calculateBoundingBox(): Promise<Mesh>;
|
|
129
|
+
calculateBoundingBox(excludeGeometry?: ExcludedGeometry): Promise<Mesh>;
|
|
129
130
|
/**
|
|
130
131
|
* Focuses the camera to see every visible mesh in scene and tries to optimize wheel precision and panning
|
|
131
132
|
*/
|
|
@@ -146,6 +147,14 @@ export declare class Viewer extends EventBroadcaster {
|
|
|
146
147
|
* Show coordinate system with given dimension (for debugging purpose).
|
|
147
148
|
*/
|
|
148
149
|
showWorldCoordinates(dimension: number): void;
|
|
150
|
+
/**
|
|
151
|
+
* Pause render loop.
|
|
152
|
+
*/
|
|
153
|
+
pauseRendering(): void;
|
|
154
|
+
/**
|
|
155
|
+
* Resume render loop when paused.
|
|
156
|
+
*/
|
|
157
|
+
resumeRendering(): void;
|
|
149
158
|
/**
|
|
150
159
|
* @emits {@link Event.SCENE_PROCESSING_START}
|
|
151
160
|
* @emits {@link Event.SCENE_PROCESSING_END}
|
|
@@ -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("../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");
|
|
@@ -52,6 +53,7 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
52
53
|
// default value is `true` ATM for compatibility reasons
|
|
53
54
|
// in the future material cloning should be the edge case
|
|
54
55
|
_this._cloneMaterialsOnMutation = true;
|
|
56
|
+
_this._isRenderLoopPaused = false;
|
|
55
57
|
return _this;
|
|
56
58
|
}
|
|
57
59
|
Object.defineProperty(Viewer.prototype, "scene", {
|
|
@@ -215,7 +217,7 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
215
217
|
case 12:
|
|
216
218
|
// create gltf export manager
|
|
217
219
|
_c = this;
|
|
218
|
-
return [4 /*yield*/, gltfExportManager_1.GltfExportManager.create(this
|
|
220
|
+
return [4 /*yield*/, gltfExportManager_1.GltfExportManager.create(this)];
|
|
219
221
|
case 13:
|
|
220
222
|
// create gltf export manager
|
|
221
223
|
_c._gltfExportManager = _d.sent();
|
|
@@ -230,7 +232,8 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
230
232
|
this.broadcastEvent(event_1.Event.BOOTSTRAP_END, this);
|
|
231
233
|
// render loop
|
|
232
234
|
this.engine.runRenderLoop(function () {
|
|
233
|
-
_this.
|
|
235
|
+
if (!_this._isRenderLoopPaused)
|
|
236
|
+
_this.scene.render();
|
|
234
237
|
});
|
|
235
238
|
return [2 /*return*/, this];
|
|
236
239
|
}
|
|
@@ -383,7 +386,7 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
383
386
|
/**
|
|
384
387
|
* Calculates the bounding box from all visible meshes on the scene.
|
|
385
388
|
*/
|
|
386
|
-
Viewer.prototype.calculateBoundingBox = function () {
|
|
389
|
+
Viewer.prototype.calculateBoundingBox = function (excludeGeometry) {
|
|
387
390
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
388
391
|
var bbName, _a, max, min, boundingBox;
|
|
389
392
|
return tslib_1.__generator(this, function (_b) {
|
|
@@ -399,7 +402,9 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
399
402
|
var isNotBBoxMesh = bbName !== mesh.id;
|
|
400
403
|
// ignore meshes with invalid bounding infos
|
|
401
404
|
var hasValidBBoxInfo = mesh.getBoundingInfo().boundingSphere.radius > 0;
|
|
402
|
-
|
|
405
|
+
// ignore excluded meshes
|
|
406
|
+
var isExcluded = excludeGeometry ? structureHelper_1.isMeshIncludedInExclusionList(mesh, excludeGeometry) : false;
|
|
407
|
+
return isEnabled && isNotBBoxMesh && hasValidBBoxInfo && !isExcluded;
|
|
403
408
|
})
|
|
404
409
|
.reduce(function (accBBoxMinMax, curMesh, idx) {
|
|
405
410
|
var bBox = curMesh.getBoundingInfo().boundingBox;
|
|
@@ -434,7 +439,7 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
434
439
|
cameraClsName = activeCamera.getClassName();
|
|
435
440
|
throw new Error("Camera of type \"" + cameraClsName + "\" is not implemented yet to use autofocus feature.");
|
|
436
441
|
}
|
|
437
|
-
return [4 /*yield*/, this.calculateBoundingBox()];
|
|
442
|
+
return [4 /*yield*/, this.calculateBoundingBox(settings === null || settings === void 0 ? void 0 : settings.exclude)];
|
|
438
443
|
case 1:
|
|
439
444
|
boundingBox = _a.sent();
|
|
440
445
|
helperCamera = this.getFocusedHelperCamera(boundingBox, settings);
|
|
@@ -500,7 +505,7 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
500
505
|
new math_vector_1.Vector3(dimension * 0.95, 0.05 * dimension, 0),
|
|
501
506
|
new math_vector_1.Vector3(dimension, 0, 0),
|
|
502
507
|
new math_vector_1.Vector3(dimension * 0.95, -0.05 * dimension, 0),
|
|
503
|
-
], scene);
|
|
508
|
+
], scene, false);
|
|
504
509
|
axisX.color = new math_color_1.Color3(1, 0, 0);
|
|
505
510
|
var xChar = makeTextPlane('X', 'red', dimension / 10);
|
|
506
511
|
xChar.position = new math_vector_1.Vector3(0.9 * dimension, -0.05 * dimension, 0);
|
|
@@ -510,7 +515,7 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
510
515
|
new math_vector_1.Vector3(-0.05 * dimension, dimension * 0.95, 0),
|
|
511
516
|
new math_vector_1.Vector3(0, dimension, 0),
|
|
512
517
|
new math_vector_1.Vector3(0.05 * dimension, dimension * 0.95, 0),
|
|
513
|
-
], scene);
|
|
518
|
+
], scene, false);
|
|
514
519
|
axisY.color = new math_color_1.Color3(0, 1, 0);
|
|
515
520
|
var yChar = makeTextPlane('Y', 'green', dimension / 10);
|
|
516
521
|
yChar.position = new math_vector_1.Vector3(0, 0.9 * dimension, -0.05 * dimension);
|
|
@@ -520,11 +525,23 @@ var Viewer = /** @class */ (function (_super) {
|
|
|
520
525
|
new math_vector_1.Vector3(0, -0.05 * dimension, dimension * 0.95),
|
|
521
526
|
new math_vector_1.Vector3(0, 0, dimension),
|
|
522
527
|
new math_vector_1.Vector3(0, 0.05 * dimension, dimension * 0.95),
|
|
523
|
-
], scene);
|
|
528
|
+
], scene, false);
|
|
524
529
|
axisZ.color = new math_color_1.Color3(0, 0, 1);
|
|
525
530
|
var zChar = makeTextPlane('Z', 'blue', dimension / 10);
|
|
526
531
|
zChar.position = new math_vector_1.Vector3(0, 0.05 * dimension, 0.9 * dimension);
|
|
527
532
|
};
|
|
533
|
+
/**
|
|
534
|
+
* Pause render loop.
|
|
535
|
+
*/
|
|
536
|
+
Viewer.prototype.pauseRendering = function () {
|
|
537
|
+
this._isRenderLoopPaused = true;
|
|
538
|
+
};
|
|
539
|
+
/**
|
|
540
|
+
* Resume render loop when paused.
|
|
541
|
+
*/
|
|
542
|
+
Viewer.prototype.resumeRendering = function () {
|
|
543
|
+
this._isRenderLoopPaused = false;
|
|
544
|
+
};
|
|
528
545
|
/**
|
|
529
546
|
* @emits {@link Event.SCENE_PROCESSING_START}
|
|
530
547
|
* @emits {@link Event.SCENE_PROCESSING_END}
|
|
@@ -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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"}
|
|
@@ -1,35 +1,65 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
|
|
2
2
|
import { IExportOptions } from '@babylonjs/serializers';
|
|
3
3
|
export declare class GltfExportManager {
|
|
4
|
-
protected
|
|
4
|
+
protected viewer: Viewer;
|
|
5
5
|
/**
|
|
6
6
|
* Constructor.
|
|
7
7
|
*/
|
|
8
|
-
protected constructor(
|
|
8
|
+
protected constructor(viewer: Viewer);
|
|
9
9
|
/**
|
|
10
10
|
* Creates an {@link GltfExportManager}.
|
|
11
11
|
*/
|
|
12
|
-
static create(
|
|
12
|
+
static create(viewer: Viewer): Promise<GltfExportManager>;
|
|
13
13
|
/**
|
|
14
|
-
* Exports selected nodes to a
|
|
14
|
+
* Exports selected nodes to a file.
|
|
15
|
+
* @param filename optional name of the exported .GLB file.
|
|
15
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.
|
|
16
18
|
*/
|
|
17
|
-
exportGlb(exportOptions?: IExportOptions): Promise<
|
|
19
|
+
exportGlb(filename?: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometry): Promise<File | undefined>;
|
|
18
20
|
/**
|
|
19
21
|
* Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
|
|
20
22
|
* @param filename name of the main (text-based) .GLTF file referring to separate texture files.
|
|
21
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.
|
|
22
25
|
*/
|
|
23
|
-
exportGltfToFile(filename: string, exportOptions?: IExportOptions): Promise<void>;
|
|
26
|
+
exportGltfToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometry): Promise<void>;
|
|
24
27
|
/**
|
|
25
28
|
* Exports selected nodes to GLB. This results in one binary file.
|
|
26
29
|
* @param filename name of the .GLB file.
|
|
27
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
|
|
28
32
|
*/
|
|
29
|
-
exportGlbToFile(filename: string, exportOptions?: IExportOptions): Promise<void>;
|
|
33
|
+
exportGlbToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometry): Promise<void>;
|
|
30
34
|
/**
|
|
31
35
|
* Gets predefined {@link IExportOptions } merged with given ones.
|
|
32
|
-
* @protected
|
|
33
36
|
*/
|
|
34
|
-
protected gltfExportOptions(mergeWithOptions?: IExportOptions): IExportOptions;
|
|
37
|
+
protected gltfExportOptions(mergeWithOptions?: IExportOptions, excluded?: ExcludedGeometry): IExportOptions;
|
|
38
|
+
/**
|
|
39
|
+
* Stuff to be done before exporting to GLTF
|
|
40
|
+
*/
|
|
41
|
+
protected exportPreProcess(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Stuff to be done after the GLTF export
|
|
44
|
+
*/
|
|
45
|
+
protected exportPostProcess(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Materials with refraction set are not exported properly.
|
|
48
|
+
* Exchange all such (relevant) materials with a more export-friendly version
|
|
49
|
+
*/
|
|
50
|
+
protected exchangeRefractionMaterials(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Restore original materials with set refraction.
|
|
53
|
+
*/
|
|
54
|
+
protected restoreRefractionMaterials(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Create an export-friendly replacement material for a material using refraction.
|
|
57
|
+
* @param mat Material to be replaced
|
|
58
|
+
*/
|
|
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;
|
|
35
65
|
}
|
|
@@ -2,39 +2,62 @@
|
|
|
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");
|
|
6
|
+
var pbrMaterial_1 = require("@babylonjs/core/Materials/PBR/pbrMaterial");
|
|
7
|
+
var math_color_1 = require("@babylonjs/core/Maths/math.color");
|
|
8
|
+
var abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
|
|
5
9
|
var serializers_1 = require("@babylonjs/serializers");
|
|
10
|
+
var structureHelper_1 = require("../util/structureHelper");
|
|
6
11
|
var lodash_es_1 = require("lodash-es");
|
|
7
12
|
var GltfExportManager = /** @class */ (function () {
|
|
8
13
|
/**
|
|
9
14
|
* Constructor.
|
|
10
15
|
*/
|
|
11
|
-
function GltfExportManager(
|
|
12
|
-
this.
|
|
16
|
+
function GltfExportManager(viewer) {
|
|
17
|
+
this.viewer = viewer;
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
15
20
|
* Creates an {@link GltfExportManager}.
|
|
16
21
|
*/
|
|
17
|
-
GltfExportManager.create = function (
|
|
22
|
+
GltfExportManager.create = function (viewer) {
|
|
18
23
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
19
24
|
return tslib_1.__generator(this, function (_a) {
|
|
20
|
-
return [2 /*return*/, new GltfExportManager(
|
|
25
|
+
return [2 /*return*/, new GltfExportManager(viewer)];
|
|
21
26
|
});
|
|
22
27
|
});
|
|
23
28
|
};
|
|
24
29
|
/**
|
|
25
|
-
* Exports selected nodes to a
|
|
30
|
+
* Exports selected nodes to a file.
|
|
31
|
+
* @param filename optional name of the exported .GLB file.
|
|
26
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.
|
|
27
34
|
*/
|
|
28
|
-
GltfExportManager.prototype.exportGlb = function (exportOptions) {
|
|
35
|
+
GltfExportManager.prototype.exportGlb = function (filename, exportOptions, excluded) {
|
|
36
|
+
if (filename === void 0) { filename = 'glb-export.glb'; }
|
|
29
37
|
if (exportOptions === void 0) { exportOptions = {}; }
|
|
30
38
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
31
|
-
var glbData;
|
|
39
|
+
var glbData, resBlob;
|
|
32
40
|
return tslib_1.__generator(this, function (_a) {
|
|
33
41
|
switch (_a.label) {
|
|
34
|
-
case 0:
|
|
42
|
+
case 0:
|
|
43
|
+
this.exportPreProcess();
|
|
44
|
+
return [4 /*yield*/, serializers_1.GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', this.gltfExportOptions(exportOptions, excluded))];
|
|
35
45
|
case 1:
|
|
36
46
|
glbData = _a.sent();
|
|
37
|
-
|
|
47
|
+
this.exportPostProcess();
|
|
48
|
+
resBlob = glbData.glTFFiles['dummy.glb'];
|
|
49
|
+
// check if result is valid, according to the typings this could also be a string
|
|
50
|
+
if (resBlob instanceof Blob) {
|
|
51
|
+
if (!filename.endsWith('.glb')) {
|
|
52
|
+
filename += '.glb';
|
|
53
|
+
}
|
|
54
|
+
return [2 /*return*/, new File([resBlob], filename)];
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// result was not a valid blob
|
|
58
|
+
return [2 /*return*/, undefined];
|
|
59
|
+
}
|
|
60
|
+
return [2 /*return*/];
|
|
38
61
|
}
|
|
39
62
|
});
|
|
40
63
|
});
|
|
@@ -43,17 +66,21 @@ var GltfExportManager = /** @class */ (function () {
|
|
|
43
66
|
* Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
|
|
44
67
|
* @param filename name of the main (text-based) .GLTF file referring to separate texture files.
|
|
45
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.
|
|
46
70
|
*/
|
|
47
|
-
GltfExportManager.prototype.exportGltfToFile = function (filename, exportOptions) {
|
|
71
|
+
GltfExportManager.prototype.exportGltfToFile = function (filename, exportOptions, excluded) {
|
|
48
72
|
if (exportOptions === void 0) { exportOptions = {}; }
|
|
49
73
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
50
74
|
return tslib_1.__generator(this, function (_a) {
|
|
51
75
|
switch (_a.label) {
|
|
52
|
-
case 0:
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
case 0:
|
|
77
|
+
this.exportPreProcess();
|
|
78
|
+
return [4 /*yield*/, serializers_1.GLTF2Export.GLTFAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(function (glb) {
|
|
79
|
+
glb.downloadFiles();
|
|
80
|
+
})];
|
|
55
81
|
case 1:
|
|
56
82
|
_a.sent();
|
|
83
|
+
this.exportPostProcess();
|
|
57
84
|
return [2 /*return*/];
|
|
58
85
|
}
|
|
59
86
|
});
|
|
@@ -63,17 +90,21 @@ var GltfExportManager = /** @class */ (function () {
|
|
|
63
90
|
* Exports selected nodes to GLB. This results in one binary file.
|
|
64
91
|
* @param filename name of the .GLB file.
|
|
65
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
|
|
66
94
|
*/
|
|
67
|
-
GltfExportManager.prototype.exportGlbToFile = function (filename, exportOptions) {
|
|
95
|
+
GltfExportManager.prototype.exportGlbToFile = function (filename, exportOptions, excluded) {
|
|
68
96
|
if (exportOptions === void 0) { exportOptions = {}; }
|
|
69
97
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
70
98
|
return tslib_1.__generator(this, function (_a) {
|
|
71
99
|
switch (_a.label) {
|
|
72
|
-
case 0:
|
|
73
|
-
|
|
74
|
-
|
|
100
|
+
case 0:
|
|
101
|
+
this.exportPreProcess();
|
|
102
|
+
return [4 /*yield*/, serializers_1.GLTF2Export.GLBAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(function (glb) {
|
|
103
|
+
glb.downloadFiles();
|
|
104
|
+
})];
|
|
75
105
|
case 1:
|
|
76
106
|
_a.sent();
|
|
107
|
+
this.exportPostProcess();
|
|
77
108
|
return [2 /*return*/];
|
|
78
109
|
}
|
|
79
110
|
});
|
|
@@ -81,9 +112,8 @@ var GltfExportManager = /** @class */ (function () {
|
|
|
81
112
|
};
|
|
82
113
|
/**
|
|
83
114
|
* Gets predefined {@link IExportOptions } merged with given ones.
|
|
84
|
-
* @protected
|
|
85
115
|
*/
|
|
86
|
-
GltfExportManager.prototype.gltfExportOptions = function (mergeWithOptions) {
|
|
116
|
+
GltfExportManager.prototype.gltfExportOptions = function (mergeWithOptions, excluded) {
|
|
87
117
|
if (mergeWithOptions === void 0) { mergeWithOptions = {}; }
|
|
88
118
|
var defaultOptions = {
|
|
89
119
|
// includeCoordinateSystemConversionNodes: true,
|
|
@@ -97,11 +127,96 @@ var GltfExportManager = /** @class */ (function () {
|
|
|
97
127
|
if (node.name === '__bounding_box__') {
|
|
98
128
|
return false;
|
|
99
129
|
}
|
|
130
|
+
if (excluded && node instanceof core_1.Mesh && structureHelper_1.isMeshIncludedInExclusionList(node, excluded)) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
100
133
|
return true;
|
|
101
134
|
},
|
|
102
135
|
};
|
|
103
136
|
return lodash_es_1.merge({}, defaultOptions, mergeWithOptions);
|
|
104
137
|
};
|
|
138
|
+
/**
|
|
139
|
+
* Stuff to be done before exporting to GLTF
|
|
140
|
+
*/
|
|
141
|
+
GltfExportManager.prototype.exportPreProcess = function () {
|
|
142
|
+
this.viewer.pauseRendering();
|
|
143
|
+
this.exchangeRefractionMaterials();
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Stuff to be done after the GLTF export
|
|
147
|
+
*/
|
|
148
|
+
GltfExportManager.prototype.exportPostProcess = function () {
|
|
149
|
+
this.restoreRefractionMaterials();
|
|
150
|
+
this.viewer.resumeRendering();
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Materials with refraction set are not exported properly.
|
|
154
|
+
* Exchange all such (relevant) materials with a more export-friendly version
|
|
155
|
+
*/
|
|
156
|
+
GltfExportManager.prototype.exchangeRefractionMaterials = function () {
|
|
157
|
+
for (var _i = 0, _a = this.viewer.scene.getNodes(); _i < _a.length; _i++) {
|
|
158
|
+
var n = _a[_i];
|
|
159
|
+
if (!(n instanceof abstractMesh_1.AbstractMesh))
|
|
160
|
+
continue;
|
|
161
|
+
if (!(n.material instanceof pbrMaterial_1.PBRMaterial))
|
|
162
|
+
continue;
|
|
163
|
+
if (!n.material.subSurface.isRefractionEnabled)
|
|
164
|
+
continue;
|
|
165
|
+
if (n.material.transparencyMode !== pbrMaterial_1.PBRMaterial.PBRMATERIAL_OPAQUE)
|
|
166
|
+
continue;
|
|
167
|
+
// if we're here, we have a node holding a material with set refraction whose transparencyMode is set to PBRMATERIAL_OPAQUE
|
|
168
|
+
n.material = this.createRefractionMaterialReplacement(n.material);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Restore original materials with set refraction.
|
|
173
|
+
*/
|
|
174
|
+
GltfExportManager.prototype.restoreRefractionMaterials = function () {
|
|
175
|
+
for (var _i = 0, _a = this.viewer.scene.getNodes(); _i < _a.length; _i++) {
|
|
176
|
+
var n = _a[_i];
|
|
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
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Create an export-friendly replacement material for a material using refraction.
|
|
195
|
+
* @param mat Material to be replaced
|
|
196
|
+
*/
|
|
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;
|
|
201
|
+
// change material according to https://www.notion.so/combeenation/Glas-materials-don-t-look-glasy-after-export-d5fda2c6515e4420a8772744d3e6b460
|
|
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
|
|
204
|
+
clonedMaterial.refractionTexture = null;
|
|
205
|
+
clonedMaterial.metallicReflectanceTexture = null; // is this the correct one for metallic roughness?
|
|
206
|
+
clonedMaterial.alpha = 0.7;
|
|
207
|
+
clonedMaterial.albedoColor = new math_color_1.Color3(0.3, 0.3, 0.3);
|
|
208
|
+
clonedMaterial.transparencyMode = pbrMaterial_1.PBRMaterial.PBRMATERIAL_ALPHABLEND;
|
|
209
|
+
clonedMaterial.metallic = 0.65;
|
|
210
|
+
clonedMaterial.roughness = 0.15;
|
|
211
|
+
return clonedMaterial;
|
|
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
|
+
};
|
|
105
220
|
return GltfExportManager;
|
|
106
221
|
}());
|
|
107
222
|
exports.GltfExportManager = GltfExportManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltfExportManager.js","sourceRoot":"","sources":["../../../../src/api/manager/gltfExportManager.ts"],"names":[],"mappings":";;;;
|
|
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;
|
|
@@ -348,4 +354,3 @@ declare type AnimationDefinitions = {
|
|
|
348
354
|
declare type AnimationDefinition = GSAPTweenVars & {
|
|
349
355
|
shortestWay?: boolean;
|
|
350
356
|
};
|
|
351
|
-
declare type GlbExportResult = string | Blob;
|
|
@@ -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-
|
|
4
|
+
"version": "5.0.0-beta5",
|
|
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.
|
|
47
|
-
"@babylonjs/inspector": "5.
|
|
48
|
-
"@babylonjs/loaders": "5.
|
|
49
|
-
"@babylonjs/materials": "5.
|
|
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 '../util/structureHelper';
|
|
15
16
|
import { isString } from 'lodash-es';
|
|
16
17
|
import { version } from '../../buildinfo.json';
|
|
17
18
|
import { sceneSetup } from '../internal/sceneSetup';
|
|
@@ -51,6 +52,8 @@ export class Viewer extends EventBroadcaster {
|
|
|
51
52
|
// in the future material cloning should be the edge case
|
|
52
53
|
protected _cloneMaterialsOnMutation: boolean = true;
|
|
53
54
|
|
|
55
|
+
protected _isRenderLoopPaused: boolean = false;
|
|
56
|
+
|
|
54
57
|
static version = version;
|
|
55
58
|
|
|
56
59
|
/**
|
|
@@ -177,7 +180,7 @@ export class Viewer extends EventBroadcaster {
|
|
|
177
180
|
await this.createVariantInstances();
|
|
178
181
|
}
|
|
179
182
|
// create gltf export manager
|
|
180
|
-
this._gltfExportManager = await GltfExportManager.create(this
|
|
183
|
+
this._gltfExportManager = await GltfExportManager.create(this);
|
|
181
184
|
// resize handler
|
|
182
185
|
window.addEventListener('resize', debounce(this.resize.bind(this), 100));
|
|
183
186
|
// wait until scene is completely ready
|
|
@@ -186,7 +189,7 @@ export class Viewer extends EventBroadcaster {
|
|
|
186
189
|
this.broadcastEvent(Event.BOOTSTRAP_END, this);
|
|
187
190
|
// render loop
|
|
188
191
|
this.engine.runRenderLoop(() => {
|
|
189
|
-
this.scene.render();
|
|
192
|
+
if (!this._isRenderLoopPaused) this.scene.render();
|
|
190
193
|
});
|
|
191
194
|
return this;
|
|
192
195
|
}
|
|
@@ -319,7 +322,7 @@ export class Viewer extends EventBroadcaster {
|
|
|
319
322
|
/**
|
|
320
323
|
* Calculates the bounding box from all visible meshes on the scene.
|
|
321
324
|
*/
|
|
322
|
-
public async calculateBoundingBox(): Promise<Mesh> {
|
|
325
|
+
public async calculateBoundingBox(excludeGeometry?: ExcludedGeometry): Promise<Mesh> {
|
|
323
326
|
if (this.scene.meshes.length === 0) {
|
|
324
327
|
throw new Error('There are currently no meshes on the scene.');
|
|
325
328
|
}
|
|
@@ -333,7 +336,9 @@ export class Viewer extends EventBroadcaster {
|
|
|
333
336
|
const isNotBBoxMesh = bbName !== mesh.id;
|
|
334
337
|
// ignore meshes with invalid bounding infos
|
|
335
338
|
const hasValidBBoxInfo = mesh.getBoundingInfo().boundingSphere.radius > 0;
|
|
336
|
-
|
|
339
|
+
// ignore excluded meshes
|
|
340
|
+
const isExcluded = excludeGeometry ? isMeshIncludedInExclusionList(mesh as Mesh, excludeGeometry) : false;
|
|
341
|
+
return isEnabled && isNotBBoxMesh && hasValidBBoxInfo && !isExcluded;
|
|
337
342
|
})
|
|
338
343
|
.reduce(
|
|
339
344
|
(accBBoxMinMax, curMesh, idx) => {
|
|
@@ -369,7 +374,7 @@ export class Viewer extends EventBroadcaster {
|
|
|
369
374
|
}
|
|
370
375
|
|
|
371
376
|
// get bounding box of all visible meshes, this is the base for the autofocus algorithm
|
|
372
|
-
const boundingBox = await this.calculateBoundingBox();
|
|
377
|
+
const boundingBox = await this.calculateBoundingBox(settings?.exclude);
|
|
373
378
|
|
|
374
379
|
// focus the helper camera and set the calculated camera data to the real camera
|
|
375
380
|
const helperCamera = this.getFocusedHelperCamera(boundingBox, settings);
|
|
@@ -419,6 +424,7 @@ export class Viewer extends EventBroadcaster {
|
|
|
419
424
|
plane.material.diffuseTexture = dynamicTexture;
|
|
420
425
|
return plane;
|
|
421
426
|
};
|
|
427
|
+
|
|
422
428
|
const axisX = Mesh.CreateLines(
|
|
423
429
|
'axisX',
|
|
424
430
|
[
|
|
@@ -428,7 +434,8 @@ export class Viewer extends EventBroadcaster {
|
|
|
428
434
|
new Vector3(dimension, 0, 0),
|
|
429
435
|
new Vector3(dimension * 0.95, -0.05 * dimension, 0),
|
|
430
436
|
],
|
|
431
|
-
scene
|
|
437
|
+
scene,
|
|
438
|
+
false
|
|
432
439
|
);
|
|
433
440
|
axisX.color = new Color3(1, 0, 0);
|
|
434
441
|
const xChar = makeTextPlane('X', 'red', dimension / 10);
|
|
@@ -442,7 +449,8 @@ export class Viewer extends EventBroadcaster {
|
|
|
442
449
|
new Vector3(0, dimension, 0),
|
|
443
450
|
new Vector3(0.05 * dimension, dimension * 0.95, 0),
|
|
444
451
|
],
|
|
445
|
-
scene
|
|
452
|
+
scene,
|
|
453
|
+
false
|
|
446
454
|
);
|
|
447
455
|
axisY.color = new Color3(0, 1, 0);
|
|
448
456
|
const yChar = makeTextPlane('Y', 'green', dimension / 10);
|
|
@@ -456,13 +464,28 @@ export class Viewer extends EventBroadcaster {
|
|
|
456
464
|
new Vector3(0, 0, dimension),
|
|
457
465
|
new Vector3(0, 0.05 * dimension, dimension * 0.95),
|
|
458
466
|
],
|
|
459
|
-
scene
|
|
467
|
+
scene,
|
|
468
|
+
false
|
|
460
469
|
);
|
|
461
470
|
axisZ.color = new Color3(0, 0, 1);
|
|
462
471
|
const zChar = makeTextPlane('Z', 'blue', dimension / 10);
|
|
463
472
|
zChar.position = new Vector3(0, 0.05 * dimension, 0.9 * dimension);
|
|
464
473
|
}
|
|
465
474
|
|
|
475
|
+
/**
|
|
476
|
+
* Pause render loop.
|
|
477
|
+
*/
|
|
478
|
+
public pauseRendering() {
|
|
479
|
+
this._isRenderLoopPaused = true;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Resume render loop when paused.
|
|
484
|
+
*/
|
|
485
|
+
public resumeRendering() {
|
|
486
|
+
this._isRenderLoopPaused = false;
|
|
487
|
+
}
|
|
488
|
+
|
|
466
489
|
/**
|
|
467
490
|
* @emits {@link Event.SCENE_PROCESSING_START}
|
|
468
491
|
* @emits {@link Event.SCENE_PROCESSING_END}
|
|
@@ -1,56 +1,93 @@
|
|
|
1
|
+
import { Mesh } from '@babylonjs/core';
|
|
2
|
+
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
|
|
3
|
+
import { Color3 } from '@babylonjs/core/Maths/math.color';
|
|
4
|
+
import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
|
|
1
5
|
import { Scene } from '@babylonjs/core/scene';
|
|
2
6
|
import { GLTF2Export, IExportOptions } from '@babylonjs/serializers';
|
|
7
|
+
import { isMeshIncludedInExclusionList } from '../util/structureHelper';
|
|
3
8
|
import { merge } from 'lodash-es';
|
|
4
9
|
|
|
5
10
|
export class GltfExportManager {
|
|
6
11
|
/**
|
|
7
12
|
* Constructor.
|
|
8
13
|
*/
|
|
9
|
-
protected constructor(protected
|
|
14
|
+
protected constructor(protected viewer: Viewer) {}
|
|
10
15
|
|
|
11
16
|
/**
|
|
12
17
|
* Creates an {@link GltfExportManager}.
|
|
13
18
|
*/
|
|
14
|
-
public static async create(
|
|
15
|
-
return new GltfExportManager(
|
|
19
|
+
public static async create(viewer: Viewer): Promise<GltfExportManager> {
|
|
20
|
+
return new GltfExportManager(viewer);
|
|
16
21
|
}
|
|
17
22
|
|
|
18
23
|
/**
|
|
19
|
-
* Exports selected nodes to a
|
|
24
|
+
* Exports selected nodes to a file.
|
|
25
|
+
* @param filename optional name of the exported .GLB file.
|
|
20
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.
|
|
21
28
|
*/
|
|
22
|
-
public async exportGlb(
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
public async exportGlb(
|
|
30
|
+
filename = 'glb-export.glb',
|
|
31
|
+
exportOptions: IExportOptions = {},
|
|
32
|
+
excluded?: ExcludedGeometry
|
|
33
|
+
): Promise<File | undefined> {
|
|
34
|
+
this.exportPreProcess();
|
|
35
|
+
const glbData = await GLTF2Export.GLBAsync(
|
|
36
|
+
this.viewer.scene,
|
|
37
|
+
'dummy',
|
|
38
|
+
this.gltfExportOptions(exportOptions, excluded)
|
|
39
|
+
);
|
|
40
|
+
this.exportPostProcess();
|
|
41
|
+
const resBlob = glbData.glTFFiles['dummy.glb']; // should be only one file for glb
|
|
42
|
+
|
|
43
|
+
// check if result is valid, according to the typings this could also be a string
|
|
44
|
+
if (resBlob instanceof Blob) {
|
|
45
|
+
if (!filename.endsWith('.glb')) {
|
|
46
|
+
filename += '.glb';
|
|
47
|
+
}
|
|
48
|
+
return new File([resBlob], filename);
|
|
49
|
+
} else {
|
|
50
|
+
// result was not a valid blob
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
25
53
|
}
|
|
26
54
|
|
|
27
55
|
/**
|
|
28
56
|
* Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
|
|
29
57
|
* @param filename name of the main (text-based) .GLTF file referring to separate texture files.
|
|
30
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.
|
|
31
60
|
*/
|
|
32
|
-
public async exportGltfToFile(filename: string, exportOptions: IExportOptions = {}) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
61
|
+
public async exportGltfToFile(filename: string, exportOptions: IExportOptions = {}, excluded?: ExcludedGeometry) {
|
|
62
|
+
this.exportPreProcess();
|
|
63
|
+
await GLTF2Export.GLTFAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(
|
|
64
|
+
glb => {
|
|
65
|
+
glb.downloadFiles();
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
this.exportPostProcess();
|
|
36
69
|
}
|
|
37
70
|
|
|
38
71
|
/**
|
|
39
72
|
* Exports selected nodes to GLB. This results in one binary file.
|
|
40
73
|
* @param filename name of the .GLB file.
|
|
41
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
|
|
42
76
|
*/
|
|
43
|
-
public async exportGlbToFile(filename: string, exportOptions: IExportOptions = {}) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
77
|
+
public async exportGlbToFile(filename: string, exportOptions: IExportOptions = {}, excluded?: ExcludedGeometry) {
|
|
78
|
+
this.exportPreProcess();
|
|
79
|
+
await GLTF2Export.GLBAsync(this.viewer.scene, filename, this.gltfExportOptions(exportOptions, excluded)).then(
|
|
80
|
+
glb => {
|
|
81
|
+
glb.downloadFiles();
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
this.exportPostProcess();
|
|
47
85
|
}
|
|
48
86
|
|
|
49
87
|
/**
|
|
50
88
|
* Gets predefined {@link IExportOptions } merged with given ones.
|
|
51
|
-
* @protected
|
|
52
89
|
*/
|
|
53
|
-
protected gltfExportOptions(mergeWithOptions: IExportOptions = {}): IExportOptions {
|
|
90
|
+
protected gltfExportOptions(mergeWithOptions: IExportOptions = {}, excluded?: ExcludedGeometry): IExportOptions {
|
|
54
91
|
const defaultOptions = {
|
|
55
92
|
// includeCoordinateSystemConversionNodes: true,
|
|
56
93
|
shouldExportNode: function (node: any) {
|
|
@@ -63,9 +100,93 @@ export class GltfExportManager {
|
|
|
63
100
|
if (node.name === '__bounding_box__') {
|
|
64
101
|
return false;
|
|
65
102
|
}
|
|
103
|
+
if (excluded && node instanceof Mesh && isMeshIncludedInExclusionList(node, excluded)) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
66
106
|
return true;
|
|
67
107
|
},
|
|
68
108
|
};
|
|
69
109
|
return merge({}, defaultOptions, mergeWithOptions);
|
|
70
110
|
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Stuff to be done before exporting to GLTF
|
|
114
|
+
*/
|
|
115
|
+
protected exportPreProcess() {
|
|
116
|
+
this.viewer.pauseRendering();
|
|
117
|
+
this.exchangeRefractionMaterials();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Stuff to be done after the GLTF export
|
|
122
|
+
*/
|
|
123
|
+
protected exportPostProcess() {
|
|
124
|
+
this.restoreRefractionMaterials();
|
|
125
|
+
this.viewer.resumeRendering();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Materials with refraction set are not exported properly.
|
|
130
|
+
* Exchange all such (relevant) materials with a more export-friendly version
|
|
131
|
+
*/
|
|
132
|
+
protected exchangeRefractionMaterials() {
|
|
133
|
+
for (const n of this.viewer.scene.getNodes()) {
|
|
134
|
+
if (!(n instanceof AbstractMesh)) continue;
|
|
135
|
+
if (!(n.material instanceof PBRMaterial)) continue;
|
|
136
|
+
if (!(n.material as PBRMaterial).subSurface.isRefractionEnabled) continue;
|
|
137
|
+
if ((n.material as PBRMaterial).transparencyMode !== PBRMaterial.PBRMATERIAL_OPAQUE) continue;
|
|
138
|
+
// if we're here, we have a node holding a material with set refraction whose transparencyMode is set to PBRMATERIAL_OPAQUE
|
|
139
|
+
n.material = this.createRefractionMaterialReplacement(n.material);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Restore original materials with set refraction.
|
|
145
|
+
*/
|
|
146
|
+
protected restoreRefractionMaterials() {
|
|
147
|
+
for (const n of this.viewer.scene.getNodes()) {
|
|
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
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Create an export-friendly replacement material for a material using refraction.
|
|
165
|
+
* @param mat Material to be replaced
|
|
166
|
+
*/
|
|
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;
|
|
170
|
+
|
|
171
|
+
// change material according to https://www.notion.so/combeenation/Glas-materials-don-t-look-glasy-after-export-d5fda2c6515e4420a8772744d3e6b460
|
|
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
|
|
174
|
+
clonedMaterial.refractionTexture = null;
|
|
175
|
+
clonedMaterial.metallicReflectanceTexture = null; // is this the correct one for metallic roughness?
|
|
176
|
+
clonedMaterial.alpha = 0.7;
|
|
177
|
+
clonedMaterial.albedoColor = new Color3(0.3, 0.3, 0.3);
|
|
178
|
+
clonedMaterial.transparencyMode = PBRMaterial.PBRMATERIAL_ALPHABLEND;
|
|
179
|
+
clonedMaterial.metallic = 0.65;
|
|
180
|
+
clonedMaterial.roughness = 0.15;
|
|
181
|
+
|
|
182
|
+
return clonedMaterial;
|
|
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
|
+
}
|
|
71
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 = {
|
|
@@ -393,5 +400,3 @@ type AnimationDefinitions = {
|
|
|
393
400
|
* ```
|
|
394
401
|
*/
|
|
395
402
|
type AnimationDefinition = GSAPTweenVars & { shortestWay?: boolean };
|
|
396
|
-
|
|
397
|
-
type GlbExportResult = string | Blob;
|
|
@@ -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 };
|