@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.
- 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 +1 -1
- package/dist/lib-cjs/api/classes/viewer.js +9 -6
- package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
- package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +15 -16
- package/dist/lib-cjs/api/manager/gltfExportManager.js +47 -46
- package/dist/lib-cjs/api/manager/gltfExportManager.js.map +1 -1
- package/dist/lib-cjs/api/util/globalTypes.d.ts +6 -0
- 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 +14 -7
- package/src/api/manager/gltfExportManager.ts +61 -46
- package/src/api/util/globalTypes.ts +7 -0
- 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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"}
|
|
@@ -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
|
-
|
|
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(
|
|
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(
|
|
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
|
|
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(
|
|
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(
|
|
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 (
|
|
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
|
|
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
|
|
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 (
|
|
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
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
|
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":";;;;AAAA,yEAAwE;AACxE,+DAA0D;AAC1D,oEAAmE;AAEnE,sDAAqE;AACrE,uCAAkC;AAElC;IACE;;OAEG;IACH,2BAAgC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAElD;;OAEG;IACiB,wBAAM,GAA1B,UAA2B,MAAc;;;gBACvC,sBAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAC;;;KACtC;IAED
|
|
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-
|
|
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.
|
|
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 '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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
52
|
-
glb
|
|
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(
|
|
65
|
-
glb
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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
|
|
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(
|
|
146
|
+
protected restoreRefractionMaterials() {
|
|
134
147
|
for (const n of this.viewer.scene.getNodes()) {
|
|
135
|
-
if (n instanceof AbstractMesh
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
|
160
|
-
|
|
161
|
-
|
|
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
|
|
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 };
|