@combeenation/3d-viewer 6.5.0 → 7.0.0-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +111 -111
  2. package/dist/lib-cjs/api/classes/animationInterface.d.ts +8 -8
  3. package/dist/lib-cjs/api/classes/animationInterface.js +2 -2
  4. package/dist/lib-cjs/api/classes/dottedPath.d.ts +79 -79
  5. package/dist/lib-cjs/api/classes/dottedPath.js +166 -166
  6. package/dist/lib-cjs/api/classes/element.d.ts +153 -149
  7. package/dist/lib-cjs/api/classes/element.js +670 -669
  8. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  9. package/dist/lib-cjs/api/classes/event.d.ts +396 -342
  10. package/dist/lib-cjs/api/classes/event.js +419 -365
  11. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  12. package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +26 -26
  13. package/dist/lib-cjs/api/classes/eventBroadcaster.js +49 -49
  14. package/dist/lib-cjs/api/classes/fuzzyMap.d.ts +7 -0
  15. package/dist/lib-cjs/api/classes/fuzzyMap.js +22 -0
  16. package/dist/lib-cjs/api/classes/fuzzyMap.js.map +1 -0
  17. package/dist/lib-cjs/api/classes/parameter.d.ts +351 -339
  18. package/dist/lib-cjs/api/classes/parameter.js +517 -464
  19. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  20. package/dist/lib-cjs/api/classes/parameterObservable.d.ts +36 -36
  21. package/dist/lib-cjs/api/classes/parameterObservable.js +72 -97
  22. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  23. package/dist/lib-cjs/api/classes/parameterizable.d.ts +15 -15
  24. package/dist/lib-cjs/api/classes/parameterizable.js +102 -102
  25. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +45 -45
  26. package/dist/lib-cjs/api/classes/placementAnimation.js +176 -176
  27. package/dist/lib-cjs/api/classes/variant.d.ts +253 -234
  28. package/dist/lib-cjs/api/classes/variant.js +843 -818
  29. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  30. package/dist/lib-cjs/api/classes/variantInstance.d.ts +53 -44
  31. package/dist/lib-cjs/api/classes/variantInstance.js +125 -105
  32. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  33. package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +17 -17
  34. package/dist/lib-cjs/api/classes/variantParameterizable.js +88 -88
  35. package/dist/lib-cjs/api/classes/viewer.d.ts +199 -185
  36. package/dist/lib-cjs/api/classes/viewer.js +670 -619
  37. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  38. package/dist/lib-cjs/api/classes/viewerLight.d.ts +66 -66
  39. package/dist/lib-cjs/api/classes/viewerLight.js +348 -348
  40. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
  41. package/dist/lib-cjs/api/internal/lensRendering.d.ts +8 -8
  42. package/dist/lib-cjs/api/internal/lensRendering.js +11 -11
  43. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +13 -13
  44. package/dist/lib-cjs/api/internal/sceneSetup.js +226 -226
  45. package/dist/lib-cjs/api/manager/animationManager.d.ts +30 -30
  46. package/dist/lib-cjs/api/manager/animationManager.js +126 -126
  47. package/dist/lib-cjs/api/manager/animationManager.js.map +1 -1
  48. package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +78 -78
  49. package/dist/lib-cjs/api/manager/gltfExportManager.js +241 -241
  50. package/dist/lib-cjs/api/manager/sceneManager.d.ts +33 -33
  51. package/dist/lib-cjs/api/manager/sceneManager.js +130 -130
  52. package/dist/lib-cjs/api/manager/sceneManager.js.map +1 -1
  53. package/dist/lib-cjs/api/manager/tagManager.d.ts +108 -0
  54. package/dist/lib-cjs/api/manager/tagManager.js +420 -0
  55. package/dist/lib-cjs/api/manager/tagManager.js.map +1 -0
  56. package/dist/lib-cjs/api/manager/textureLoadManager.d.ts +22 -22
  57. package/dist/lib-cjs/api/manager/textureLoadManager.js +97 -97
  58. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +102 -92
  59. package/dist/lib-cjs/api/manager/variantInstanceManager.js +284 -260
  60. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +1 -1
  61. package/dist/lib-cjs/api/store/specStorage.d.ts +32 -24
  62. package/dist/lib-cjs/api/store/specStorage.js +65 -50
  63. package/dist/lib-cjs/api/store/specStorage.js.map +1 -1
  64. package/dist/lib-cjs/api/util/babylonHelper.d.ts +235 -206
  65. package/dist/lib-cjs/api/util/babylonHelper.js +745 -668
  66. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  67. package/dist/lib-cjs/api/util/globalTypes.d.ts +432 -387
  68. package/dist/lib-cjs/api/util/globalTypes.js +1 -1
  69. package/dist/lib-cjs/api/util/resourceHelper.d.ts +58 -58
  70. package/dist/lib-cjs/api/util/resourceHelper.js +203 -203
  71. package/dist/lib-cjs/api/util/sceneLoaderHelper.d.ts +44 -43
  72. package/dist/lib-cjs/api/util/sceneLoaderHelper.js +173 -155
  73. package/dist/lib-cjs/api/util/sceneLoaderHelper.js.map +1 -1
  74. package/dist/lib-cjs/api/util/stringHelper.d.ts +13 -13
  75. package/dist/lib-cjs/api/util/stringHelper.js +32 -32
  76. package/dist/lib-cjs/api/util/structureHelper.d.ts +9 -9
  77. package/dist/lib-cjs/api/util/structureHelper.js +48 -48
  78. package/dist/lib-cjs/buildinfo.json +3 -3
  79. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
  80. package/dist/lib-cjs/index.d.ts +53 -52
  81. package/dist/lib-cjs/index.js +114 -112
  82. package/dist/lib-cjs/index.js.map +1 -1
  83. package/package.json +81 -81
  84. package/src/api/classes/animationInterface.ts +10 -10
  85. package/src/api/classes/dottedPath.ts +181 -181
  86. package/src/api/classes/element.ts +731 -717
  87. package/src/api/classes/event.ts +452 -385
  88. package/src/api/classes/eventBroadcaster.ts +52 -52
  89. package/src/api/classes/fuzzyMap.ts +21 -0
  90. package/src/api/classes/parameter.ts +554 -497
  91. package/src/api/classes/parameterObservable.ts +73 -100
  92. package/src/api/classes/parameterizable.ts +87 -87
  93. package/src/api/classes/placementAnimation.ts +162 -162
  94. package/src/api/classes/variant.ts +933 -884
  95. package/src/api/classes/variantInstance.ts +123 -97
  96. package/src/api/classes/variantParameterizable.ts +85 -85
  97. package/src/api/classes/viewer.ts +743 -691
  98. package/src/api/classes/viewerLight.ts +339 -339
  99. package/src/api/internal/debugViewer.ts +90 -90
  100. package/src/api/internal/lensRendering.ts +9 -9
  101. package/src/api/internal/sceneSetup.ts +205 -205
  102. package/src/api/manager/animationManager.ts +143 -143
  103. package/src/api/manager/gltfExportManager.ts +236 -236
  104. package/src/api/manager/sceneManager.ts +136 -132
  105. package/src/api/manager/tagManager.ts +451 -0
  106. package/src/api/manager/textureLoadManager.ts +95 -95
  107. package/src/api/manager/variantInstanceManager.ts +297 -265
  108. package/src/api/store/specStorage.ts +68 -51
  109. package/src/api/util/babylonHelper.ts +817 -739
  110. package/src/api/util/globalTypes.ts +499 -437
  111. package/src/api/util/resourceHelper.ts +191 -191
  112. package/src/api/util/sceneLoaderHelper.ts +170 -151
  113. package/src/api/util/stringHelper.ts +30 -30
  114. package/src/api/util/structureHelper.ts +49 -49
  115. package/src/buildinfo.json +3 -3
  116. package/src/dev.ts +62 -60
  117. package/src/index.ts +100 -98
  118. package/src/types.d.ts +35 -28
@@ -1,127 +1,127 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AnimationManager = void 0;
13
- const placementAnimation_1 = require("../classes/placementAnimation");
14
- const animation_1 = require("@babylonjs/core/Animations/animation");
15
- //import { CustomEase } from 'gsap/CustomEase';
16
- //import { ExpoScaleEase, RoughEase, SlowMo } from 'gsap/EasePack';
17
- const lodash_es_1 = require("lodash-es");
18
- //gsap.registerPlugin( CustomEase, ExpoScaleEase, RoughEase, SlowMo );
19
- class AnimationManager {
20
- /**
21
- * Constructor.
22
- */
23
- constructor(scene) {
24
- this.scene = scene;
25
- this.animations = [];
26
- }
27
- /**
28
- * Creates an {@link AnimationManager} based on given BabylonJS scene.
29
- */
30
- static create(scene) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- return new AnimationManager(scene);
33
- });
34
- }
35
- /**
36
- * @deprecated Use viewer.moveCameraTo().
37
- */
38
- resetCamera(animate = false) {
39
- //TODO currently only works for arcrotate. are there any other cameras?
40
- const activeCamera = this.scene.activeCamera;
41
- if (!activeCamera) {
42
- throw new Error('There is no active camera');
43
- }
44
- const initAlpha = activeCamera.metadata.alpha;
45
- const initBeta = activeCamera.metadata.beta;
46
- const initRadius = activeCamera.metadata.radius;
47
- if (animate) {
48
- this.animateArcRotateCamera(initAlpha, initBeta, initRadius);
49
- }
50
- else {
51
- activeCamera.alpha = initAlpha;
52
- activeCamera.beta = initBeta;
53
- activeCamera.radius = initRadius;
54
- }
55
- }
56
- /**
57
- * @deprecated Use viewer.moveCameraTo().
58
- */
59
- animateArcRotateCamera(targetAlpha, targetBeta, targetRadius) {
60
- const activeCamera = this.scene.activeCamera;
61
- if (!activeCamera) {
62
- throw new Error('There is no active camera');
63
- }
64
- const alphaAnimation = new animation_1.Animation('alphaAnimation', 'alpha', 30, animation_1.Animation.ANIMATIONTYPE_FLOAT, animation_1.Animation.ANIMATIONLOOPMODE_CONSTANT);
65
- const betaAnimation = new animation_1.Animation('betaAnimation', 'beta', 30, animation_1.Animation.ANIMATIONTYPE_FLOAT, animation_1.Animation.ANIMATIONLOOPMODE_CONSTANT);
66
- const radiusAnimation = new animation_1.Animation('radiusAnimation', 'radius', 30, animation_1.Animation.ANIMATIONTYPE_FLOAT, animation_1.Animation.ANIMATIONLOOPMODE_CONSTANT);
67
- alphaAnimation.setKeys([
68
- {
69
- frame: 0,
70
- value: activeCamera.alpha,
71
- },
72
- {
73
- frame: 100,
74
- value: targetAlpha,
75
- },
76
- ]);
77
- betaAnimation.setKeys([
78
- {
79
- frame: 0,
80
- value: activeCamera.beta,
81
- },
82
- {
83
- frame: 100,
84
- value: targetBeta,
85
- },
86
- ]);
87
- radiusAnimation.setKeys([
88
- {
89
- frame: 0,
90
- value: activeCamera.radius,
91
- },
92
- {
93
- frame: 100,
94
- value: targetRadius,
95
- },
96
- ]);
97
- activeCamera.animations.push(alphaAnimation);
98
- activeCamera.animations.push(betaAnimation);
99
- activeCamera.animations.push(radiusAnimation);
100
- const animation = this.scene.beginAnimation(activeCamera, 0, 100, false, 10);
101
- animation.disposeOnEnd = true;
102
- }
103
- /**
104
- * Stops and kills all running animations.
105
- */
106
- killAllAnimations() {
107
- this.animations.forEach(animation => animation.kill());
108
- this.animations = [];
109
- }
110
- /**
111
- * @see {@link PlacementAnimation.play}
112
- */
113
- animateToPlacement(mutable, placement, animation) {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- const _animation = new placementAnimation_1.PlacementAnimation(mutable, placement, animation);
116
- this.animations.push(_animation);
117
- const animationPromise = _animation.play();
118
- animationPromise.then(a => {
119
- (0, lodash_es_1.remove)(this.animations, _a => _a === a);
120
- a.kill();
121
- });
122
- return yield animationPromise;
123
- });
124
- }
125
- }
126
- exports.AnimationManager = AnimationManager;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AnimationManager = void 0;
13
+ const placementAnimation_1 = require("../classes/placementAnimation");
14
+ const animation_1 = require("@babylonjs/core/Animations/animation");
15
+ //import { CustomEase } from 'gsap/CustomEase';
16
+ //import { ExpoScaleEase, RoughEase, SlowMo } from 'gsap/EasePack';
17
+ const lodash_es_1 = require("lodash-es");
18
+ //gsap.registerPlugin( CustomEase, ExpoScaleEase, RoughEase, SlowMo );
19
+ class AnimationManager {
20
+ /**
21
+ * Constructor.
22
+ */
23
+ constructor(scene) {
24
+ this.scene = scene;
25
+ this.animations = [];
26
+ }
27
+ /**
28
+ * Creates an {@link AnimationManager} based on given Babylon.js scene.
29
+ */
30
+ static create(scene) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ return new AnimationManager(scene);
33
+ });
34
+ }
35
+ /**
36
+ * @deprecated Use viewer.moveCameraTo().
37
+ */
38
+ resetCamera(animate = false) {
39
+ //TODO currently only works for arcrotate. are there any other cameras?
40
+ const activeCamera = this.scene.activeCamera;
41
+ if (!activeCamera) {
42
+ throw new Error('There is no active camera');
43
+ }
44
+ const initAlpha = activeCamera.metadata.alpha;
45
+ const initBeta = activeCamera.metadata.beta;
46
+ const initRadius = activeCamera.metadata.radius;
47
+ if (animate) {
48
+ this.animateArcRotateCamera(initAlpha, initBeta, initRadius);
49
+ }
50
+ else {
51
+ activeCamera.alpha = initAlpha;
52
+ activeCamera.beta = initBeta;
53
+ activeCamera.radius = initRadius;
54
+ }
55
+ }
56
+ /**
57
+ * @deprecated Use viewer.moveCameraTo().
58
+ */
59
+ animateArcRotateCamera(targetAlpha, targetBeta, targetRadius) {
60
+ const activeCamera = this.scene.activeCamera;
61
+ if (!activeCamera) {
62
+ throw new Error('There is no active camera');
63
+ }
64
+ const alphaAnimation = new animation_1.Animation('alphaAnimation', 'alpha', 30, animation_1.Animation.ANIMATIONTYPE_FLOAT, animation_1.Animation.ANIMATIONLOOPMODE_CONSTANT);
65
+ const betaAnimation = new animation_1.Animation('betaAnimation', 'beta', 30, animation_1.Animation.ANIMATIONTYPE_FLOAT, animation_1.Animation.ANIMATIONLOOPMODE_CONSTANT);
66
+ const radiusAnimation = new animation_1.Animation('radiusAnimation', 'radius', 30, animation_1.Animation.ANIMATIONTYPE_FLOAT, animation_1.Animation.ANIMATIONLOOPMODE_CONSTANT);
67
+ alphaAnimation.setKeys([
68
+ {
69
+ frame: 0,
70
+ value: activeCamera.alpha,
71
+ },
72
+ {
73
+ frame: 100,
74
+ value: targetAlpha,
75
+ },
76
+ ]);
77
+ betaAnimation.setKeys([
78
+ {
79
+ frame: 0,
80
+ value: activeCamera.beta,
81
+ },
82
+ {
83
+ frame: 100,
84
+ value: targetBeta,
85
+ },
86
+ ]);
87
+ radiusAnimation.setKeys([
88
+ {
89
+ frame: 0,
90
+ value: activeCamera.radius,
91
+ },
92
+ {
93
+ frame: 100,
94
+ value: targetRadius,
95
+ },
96
+ ]);
97
+ activeCamera.animations.push(alphaAnimation);
98
+ activeCamera.animations.push(betaAnimation);
99
+ activeCamera.animations.push(radiusAnimation);
100
+ const animation = this.scene.beginAnimation(activeCamera, 0, 100, false, 10);
101
+ animation.disposeOnEnd = true;
102
+ }
103
+ /**
104
+ * Stops and kills all running animations.
105
+ */
106
+ killAllAnimations() {
107
+ this.animations.forEach(animation => animation.kill());
108
+ this.animations = [];
109
+ }
110
+ /**
111
+ * @see {@link PlacementAnimation.play}
112
+ */
113
+ animateToPlacement(mutable, placement, animation) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const _animation = new placementAnimation_1.PlacementAnimation(mutable, placement, animation);
116
+ this.animations.push(_animation);
117
+ const animationPromise = _animation.play();
118
+ animationPromise.then(a => {
119
+ (0, lodash_es_1.remove)(this.animations, _a => _a === a);
120
+ a.kill();
121
+ });
122
+ return yield animationPromise;
123
+ });
124
+ }
125
+ }
126
+ exports.AnimationManager = AnimationManager;
127
127
  //# sourceMappingURL=animationManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animationManager.js","sourceRoot":"","sources":["../../../../src/api/manager/animationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animationManager.js","sourceRoot":"","sources":["../../../../src/api/manager/animationManager.ts"],"names":[],"mappings":"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"}
@@ -1,78 +1,78 @@
1
- import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
2
- import { IExportOptions } from '@babylonjs/serializers/glTF/2.0';
3
- export declare class GltfExportManager {
4
- protected viewer: Viewer;
5
- static readonly UNIQUE_MESH_METADATA_PROPERTY = "originalName";
6
- /**
7
- * Constructor.
8
- */
9
- protected constructor(viewer: Viewer);
10
- /**
11
- * Creates an {@link GltfExportManager}.
12
- */
13
- static create(viewer: Viewer): Promise<GltfExportManager>;
14
- /**
15
- * Exports selected nodes to a file.
16
- * @param filename optional name of the exported .GLB file.
17
- * @param exportOptions export options to be merged with default options.\
18
- * `exportOptions.createUniqueMeshNames` defaults to `true` if not given.
19
- * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
20
- */
21
- exportGlb(filename?: string, { createUniqueMeshNames, ...exportOptionsRest }?: IExportOptionsExtended, excluded?: ExcludedGeometryList): Promise<File | undefined>;
22
- /**
23
- * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
24
- * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
25
- * @param exportOptions export options to be merged with default options.\
26
- * `exportOptions.createUniqueMeshNames` defaults to `true` if not given.
27
- * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
28
- */
29
- exportGltfToFile(filename: string, { createUniqueMeshNames, ...exportOptionsRest }?: IExportOptionsExtended, excluded?: ExcludedGeometryList): Promise<void>;
30
- /**
31
- * Exports selected nodes to GLB. This results in one binary file.
32
- * @param filename name of the .GLB file.
33
- * @param exportOptions export options to be merged with default options.\
34
- * `exportOptions.createUniqueMeshNames` defaults to `true` if not given.
35
- * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
36
- */
37
- exportGlbToFile(filename: string, { createUniqueMeshNames, ...exportOptionsRest }?: IExportOptionsExtended, excluded?: ExcludedGeometryList): Promise<void>;
38
- /**
39
- * Gets predefined {@link IExportOptionsExtended } merged with given ones.
40
- */
41
- protected gltfExportOptions(mergeWithOptions?: IExportOptionsExtended, excluded?: ExcludedGeometryList): IExportOptions;
42
- /**
43
- * Stuff to be done before exporting to GLTF
44
- */
45
- protected exportPreProcess({ createUniqueMeshNames }: IExportOptionsExtended): void;
46
- /**
47
- * Stuff to be done after the GLTF export
48
- */
49
- protected exportPostProcess(): void;
50
- /**
51
- * Materials with refraction set are not exported properly.
52
- * Exchange all such (relevant) materials with a more export-friendly version
53
- */
54
- protected exchangeRefractionMaterials(): void;
55
- /**
56
- * Restore original materials with set refraction.
57
- */
58
- protected restoreRefractionMaterials(): void;
59
- /**
60
- * Create an export-friendly replacement material for a material using refraction.
61
- * @param mat Material to be replaced
62
- */
63
- protected createRefractionMaterialReplacement(mat: PBRMaterial): PBRMaterial;
64
- /**
65
- * Inspect if a material was temporarily cloned for GLB export
66
- * @param mat Material to be inspected
67
- */
68
- protected isMaterialClonedForExport(mat: PBRMaterial): boolean;
69
- /**
70
- * Set unique mesh names for GLB export
71
- */
72
- protected setUniqueMeshNames(): void;
73
- /**
74
- * Restore original mesh names for meshes that were
75
- * renamed with {@link setUniqueMeshNames()}
76
- */
77
- protected restoreOriginalMeshNames(): void;
78
- }
1
+ import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
2
+ import { IExportOptions } from '@babylonjs/serializers/glTF/2.0';
3
+ export declare class GltfExportManager {
4
+ protected viewer: Viewer;
5
+ static readonly UNIQUE_MESH_METADATA_PROPERTY = "originalName";
6
+ /**
7
+ * Constructor.
8
+ */
9
+ protected constructor(viewer: Viewer);
10
+ /**
11
+ * Creates an {@link GltfExportManager}.
12
+ */
13
+ static create(viewer: Viewer): Promise<GltfExportManager>;
14
+ /**
15
+ * Exports selected nodes to a file.
16
+ * @param filename optional name of the exported .GLB file.
17
+ * @param exportOptions export options to be merged with default options.\
18
+ * `exportOptions.createUniqueMeshNames` defaults to `true` if not given.
19
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
20
+ */
21
+ exportGlb(filename?: string, { createUniqueMeshNames, ...exportOptionsRest }?: IExportOptionsExtended, excluded?: ExcludedGeometryList): Promise<File | undefined>;
22
+ /**
23
+ * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
24
+ * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
25
+ * @param exportOptions export options to be merged with default options.\
26
+ * `exportOptions.createUniqueMeshNames` defaults to `true` if not given.
27
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
28
+ */
29
+ exportGltfToFile(filename: string, { createUniqueMeshNames, ...exportOptionsRest }?: IExportOptionsExtended, excluded?: ExcludedGeometryList): Promise<void>;
30
+ /**
31
+ * Exports selected nodes to GLB. This results in one binary file.
32
+ * @param filename name of the .GLB file.
33
+ * @param exportOptions export options to be merged with default options.\
34
+ * `exportOptions.createUniqueMeshNames` defaults to `true` if not given.
35
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
36
+ */
37
+ exportGlbToFile(filename: string, { createUniqueMeshNames, ...exportOptionsRest }?: IExportOptionsExtended, excluded?: ExcludedGeometryList): Promise<void>;
38
+ /**
39
+ * Gets predefined {@link IExportOptionsExtended } merged with given ones.
40
+ */
41
+ protected gltfExportOptions(mergeWithOptions?: IExportOptionsExtended, excluded?: ExcludedGeometryList): IExportOptions;
42
+ /**
43
+ * Stuff to be done before exporting to GLTF
44
+ */
45
+ protected exportPreProcess({ createUniqueMeshNames }: IExportOptionsExtended): void;
46
+ /**
47
+ * Stuff to be done after the GLTF export
48
+ */
49
+ protected exportPostProcess(): void;
50
+ /**
51
+ * Materials with refraction set are not exported properly.
52
+ * Exchange all such (relevant) materials with a more export-friendly version
53
+ */
54
+ protected exchangeRefractionMaterials(): void;
55
+ /**
56
+ * Restore original materials with set refraction.
57
+ */
58
+ protected restoreRefractionMaterials(): void;
59
+ /**
60
+ * Create an export-friendly replacement material for a material using refraction.
61
+ * @param mat Material to be replaced
62
+ */
63
+ protected createRefractionMaterialReplacement(mat: PBRMaterial): PBRMaterial;
64
+ /**
65
+ * Inspect if a material was temporarily cloned for GLB export
66
+ * @param mat Material to be inspected
67
+ */
68
+ protected isMaterialClonedForExport(mat: PBRMaterial): boolean;
69
+ /**
70
+ * Set unique mesh names for GLB export
71
+ */
72
+ protected setUniqueMeshNames(): void;
73
+ /**
74
+ * Restore original mesh names for meshes that were
75
+ * renamed with {@link setUniqueMeshNames()}
76
+ */
77
+ protected restoreOriginalMeshNames(): void;
78
+ }