zakeke-configurator-react 0.1.370 → 0.1.372

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 (83) hide show
  1. package/README.md +283 -283
  2. package/dist/declarations/3D/src/Components/AR/AndroidAR.d.ts +7 -7
  3. package/dist/declarations/3D/src/Components/ActionExecutor/SceneActionExecutor.d.ts +87 -87
  4. package/dist/declarations/3D/src/Components/CollapseExplode/MeshLocationsManager.d.ts +44 -44
  5. package/dist/declarations/3D/src/Components/DesignManagers/MeshDesignManager.d.ts +166 -166
  6. package/dist/declarations/3D/src/Components/DesignManagers/SceneDesignManager.d.ts +63 -63
  7. package/dist/declarations/3D/src/Components/Draco/DracoCompression.d.ts +106 -106
  8. package/dist/declarations/3D/src/Components/Environment/EnvironmentManager.d.ts +43 -43
  9. package/dist/declarations/3D/src/Components/Glow/GlowManager.d.ts +26 -26
  10. package/dist/declarations/3D/src/Components/IncrementalFiles/IncrementalFiles.d.ts +26 -26
  11. package/dist/declarations/3D/src/Components/IncrementalFiles/MakeIncremental.d.ts +11 -11
  12. package/dist/declarations/3D/src/Components/InfoPointsManager/InfoPointsManager.d.ts +122 -122
  13. package/dist/declarations/3D/src/Components/MaterialsPreview/MaterialsPreview.d.ts +16 -16
  14. package/dist/declarations/3D/src/Components/MeshExpander/MeshExpander.d.ts +24 -24
  15. package/dist/declarations/3D/src/Components/NormalMap/ProceduralNormalMap.d.ts +30 -30
  16. package/dist/declarations/3D/src/Components/Preview3D/Preview3DConfigurationManager.d.ts +51 -51
  17. package/dist/declarations/3D/src/Components/ProceduralTextures/BaseProceduralTexture.d.ts +16 -16
  18. package/dist/declarations/3D/src/Components/ProceduralTextures/BlendProceduralTexture.d.ts +31 -31
  19. package/dist/declarations/3D/src/Components/ProceduralTextures/BlurXProceduralTexture.d.ts +23 -23
  20. package/dist/declarations/3D/src/Components/ProceduralTextures/BlurYProceduralTexture.d.ts +23 -23
  21. package/dist/declarations/3D/src/Components/ProceduralTextures/ForegroundBackgroundProceduralTexture.d.ts +26 -26
  22. package/dist/declarations/3D/src/Components/ProceduralTextures/MoveProceduralTexture.d.ts +23 -23
  23. package/dist/declarations/3D/src/Components/ProceduralTextures/MultiplyProceduralTexture.d.ts +23 -23
  24. package/dist/declarations/3D/src/Components/ProceduralTextures/NormalMapProceduralTexture.d.ts +35 -35
  25. package/dist/declarations/3D/src/Components/ProceduralTextures/OpacityProceduralTexture.d.ts +23 -23
  26. package/dist/declarations/3D/src/Components/ProceduralTextures/OverlayProceduralTexture.d.ts +23 -23
  27. package/dist/declarations/3D/src/Components/SceneHelper.d.ts +352 -352
  28. package/dist/declarations/3D/src/Components/ScenePreview/ScenePreview.d.ts +19 -19
  29. package/dist/declarations/3D/src/Components/SceneToBlobs/SceneToBlobs.d.ts +31 -31
  30. package/dist/declarations/3D/src/Components/Selector/ElementSelector.d.ts +42 -42
  31. package/dist/declarations/3D/src/Components/Shadows/InnerShadow.d.ts +18 -18
  32. package/dist/declarations/3D/src/Components/Shadows/OuterShadow.d.ts +16 -16
  33. package/dist/declarations/3D/src/Components/USDZ/UsdzHelper.d.ts +4 -4
  34. package/dist/declarations/3D/src/Enumerations.d.ts +15 -15
  35. package/dist/declarations/3D/src/Helpers/debounce.d.ts +8 -8
  36. package/dist/declarations/3D/src/Helpers/utils.d.ts +40 -40
  37. package/dist/declarations/3D/src/Interfaces/IDisposable.d.ts +9 -9
  38. package/dist/declarations/3D/src/Interfaces/ISceneEditor.d.ts +11 -11
  39. package/dist/declarations/3D/src/Interfaces/ISupportInitialize.d.ts +13 -13
  40. package/dist/declarations/3D/src/Interfaces/ITryOn.d.ts +76 -76
  41. package/dist/declarations/3D/src/Layers/AxesLayer.d.ts +17 -17
  42. package/dist/declarations/3D/src/Layers/LightsLayer.d.ts +31 -31
  43. package/dist/declarations/3D/src/Misc/Database.d.ts +20 -20
  44. package/dist/declarations/3D/src/Misc/DefaultAssetUrls.d.ts +51 -51
  45. package/dist/declarations/3D/src/Misc/Observable.d.ts +220 -220
  46. package/dist/declarations/3D/src/Misc/StringTools.d.ts +31 -31
  47. package/dist/declarations/3D/src/Misc/WorkerPool.d.ts +24 -24
  48. package/dist/declarations/3D/src/Viewers/MaterialEditor.d.ts +57 -57
  49. package/dist/declarations/3D/src/Viewers/SceneEditor.d.ts +676 -676
  50. package/dist/declarations/3D/src/Viewers/SceneViewer.d.ts +411 -411
  51. package/dist/declarations/3D/src/index.d.ts +61 -61
  52. package/dist/declarations/3D/src/types.d.ts +2 -2
  53. package/dist/declarations/composer/Admin/src/Pages/ParametricMeshesBuilder/uvHelpers.d.ts +1 -1
  54. package/dist/declarations/composer/Components/ChunkedTask.d.ts +16 -16
  55. package/dist/declarations/composer/Module/src/api.d.ts +3 -3
  56. package/dist/declarations/composer/Module/src/components/debug/debugPanel.d.ts +6 -6
  57. package/dist/declarations/composer/Module/src/components/debugs/debugPanel.d.ts +2 -2
  58. package/dist/declarations/composer/Module/src/components/sceneViewer.d.ts +5 -5
  59. package/dist/declarations/composer/Module/src/components/tryOnViewer.d.ts +109 -109
  60. package/dist/declarations/composer/Module/src/components/tryon/deepARQrCode.d.ts +6 -6
  61. package/dist/declarations/composer/Module/src/components/tryon/tryOnProviders/tryOnBanuba.d.ts +22 -22
  62. package/dist/declarations/composer/Module/src/components/tryon/tryOnProviders/tryOnDeepAR.d.ts +22 -22
  63. package/dist/declarations/composer/Module/src/environment.d.ts +443 -447
  64. package/dist/declarations/composer/Module/src/fontsManager.d.ts +75 -75
  65. package/dist/declarations/composer/Module/src/generated/feature-flags.d.ts +83 -83
  66. package/dist/declarations/composer/Module/src/helpers.d.ts +49 -49
  67. package/dist/declarations/composer/Module/src/hooks/tryonContext.d.ts +11 -11
  68. package/dist/declarations/composer/Module/src/imageUploadTask.d.ts +20 -20
  69. package/dist/declarations/composer/Module/src/index.d.ts +11 -11
  70. package/dist/declarations/composer/Module/src/integrations/Integration.d.ts +24 -24
  71. package/dist/declarations/composer/Module/src/integrations/generic.d.ts +16 -16
  72. package/dist/declarations/composer/Module/src/models.d.ts +1203 -1212
  73. package/dist/declarations/composer/Module/src/state/createProviderValue.d.ts +3 -3
  74. package/dist/declarations/composer/Module/src/state/provider.d.ts +18 -18
  75. package/dist/declarations/composer/Module/src/state/providerValue.d.ts +278 -281
  76. package/dist/declarations/composer/Module/src/state/state.d.ts +11 -11
  77. package/dist/declarations/libs/pricingRuleBase/DesignPriceCalculatorRuleBased.d.ts +83 -83
  78. package/dist/globals0.js +1 -1
  79. package/dist/globals1.js +1 -1
  80. package/dist/index.js +11917 -11739
  81. package/dist/index.js.map +1 -1
  82. package/package.json +43 -43
  83. /package/dist/declarations/composer/Module/src/integrations/{helpers.d.ts → Helpers.d.ts} +0 -0
@@ -1,352 +1,352 @@
1
- import { IDisposable } from '../Interfaces/IDisposable';
2
- import { TryOnFineTuningSettings } from '../Interfaces/ITryOn';
3
- import { Nullable } from '../types';
4
- export type WorldExtends = {
5
- min: BABYLON.Vector3;
6
- max: BABYLON.Vector3;
7
- };
8
- export type DelayedMaterials = {
9
- [id: string]: {
10
- name: string;
11
- file: string;
12
- };
13
- };
14
- export type OffloadedMaterial = {
15
- name: string;
16
- data: any;
17
- };
18
- export type OffloadedMaterials = {
19
- [id: string]: OffloadedMaterial;
20
- };
21
- export type UrlTexture = BABYLON.Texture | BABYLON.CubeTexture | BABYLON.HDRCubeTexture | BABYLON.ColorGradingTexture | BABYLON.EquiRectangularCubeTexture;
22
- export declare class SceneHelper implements IDisposable {
23
- private _scene;
24
- private _engine;
25
- private _camera;
26
- private _canvas;
27
- private _hemiLight;
28
- private _pointLight;
29
- private _onPrePointerObservableObserver;
30
- private _isPointerDown;
31
- private _radiusScale;
32
- private _positionScale;
33
- private _limitLowerRadius;
34
- private _zoomEnabled;
35
- private _minZoomPerc;
36
- private _maxZoomPerc;
37
- private _cameraPivot;
38
- private _resizableCanvas3DGenerator;
39
- private readonly _defHemiLightID;
40
- private readonly _defPointLightID;
41
- private readonly _targetAnimationID;
42
- private readonly _radiusAnimationID;
43
- private readonly _alphaAnimationID;
44
- private readonly _betaAnimationID;
45
- private readonly _dummyMaterialID;
46
- private _loadingMaterials;
47
- get camera(): Nullable<BABYLON.Camera>;
48
- constructor(scene: BABYLON.Scene);
49
- private static checkAllMaterialTextureReady;
50
- static whenAllMaterialTexturesAreReady(material: BABYLON.Material): Promise<void>;
51
- static whenTextureIsReadyAsync(texture: BABYLON.BaseTexture): Promise<void>;
52
- static whenMeshMaterialIsReady(mesh: BABYLON.AbstractMesh): Promise<void>;
53
- static whenMaterialIsReadyForSubMeshAsync(material: BABYLON.Material, mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): Promise<void>;
54
- private static getMeshGeometry;
55
- private static checkMeshIsReady;
56
- static checkAllMeshesAreReady(meshes: BABYLON.AbstractMesh[]): boolean;
57
- static whenAllMeshesAreReadyAsync(meshes: BABYLON.AbstractMesh[]): Promise<void>;
58
- static whenAllVisibleMeshesAreReadyAsync(meshes: BABYLON.AbstractMesh[]): Promise<void>;
59
- static whenMeshIsReadyAsync(mesh: BABYLON.AbstractMesh): Promise<void>;
60
- static visibleMeshesRequireDelayedLoading(scene: BABYLON.Scene): boolean;
61
- static meshRequiresDelayedLoading(mesh: BABYLON.AbstractMesh): boolean;
62
- materialRequiresDelayedLoading(materialID: string): boolean;
63
- private init;
64
- dispose(): void;
65
- switchFullScreen(parent: any): void;
66
- private quitFullscreen;
67
- private launchFullscreen;
68
- getMeshHierarchySize(mesh: BABYLON.AbstractMesh): BABYLON.Vector3;
69
- getMeshHierarchyCenter(mesh: BABYLON.AbstractMesh): BABYLON.Vector3;
70
- getSceneBoundingInfo(): Nullable<BABYLON.BoundingInfo>;
71
- userIsMoving(): boolean;
72
- cameraIsMoving(): boolean;
73
- cameraLimitsReached(): boolean;
74
- restoreCameraState(): void;
75
- isTextureWithUrl(texture: BABYLON.BaseTexture): texture is UrlTexture;
76
- getTextureUrl(texture: Nullable<BABYLON.BaseTexture>): Nullable<string>;
77
- private isEditControl;
78
- isRealMesh(mesh: BABYLON.AbstractMesh): boolean;
79
- meshFineTuningSettings(mesh: BABYLON.AbstractMesh): Nullable<TryOnFineTuningSettings>;
80
- meshHasParent(meshID: string, parentID: string): boolean;
81
- countSceneMeshes(): number;
82
- sceneHasRealMeshes(): boolean;
83
- getSceneMeshes(): BABYLON.AbstractMesh[];
84
- getSceneMeshesByName(name: string): BABYLON.AbstractMesh[];
85
- isVisibleMesh(mesh: BABYLON.AbstractMesh): boolean;
86
- getVisibleMeshes(): BABYLON.AbstractMesh[];
87
- getInvisibleMeshes(): BABYLON.AbstractMesh[];
88
- getSubMesh(mesh: BABYLON.AbstractMesh, submeshIdx: number): Nullable<BABYLON.SubMesh>;
89
- getMeshHierarchy(parentID: string): BABYLON.AbstractMesh[];
90
- getTryOnMeshHierarchy(parentID: string): BABYLON.AbstractMesh[];
91
- isCanvasMesh(mesh: BABYLON.AbstractMesh): boolean;
92
- isAREnabledForMesh(mesh: BABYLON.AbstractMesh): boolean;
93
- isTryOnEnabledForMesh(mesh: BABYLON.AbstractMesh): boolean;
94
- getMeshesForAR(): BABYLON.AbstractMesh[];
95
- checkMaterialsForAR(): boolean;
96
- getMeshesMaterials(meshes: BABYLON.AbstractMesh[]): BABYLON.Material[];
97
- getMeshMaterials(mesh: BABYLON.AbstractMesh): BABYLON.Material[];
98
- getHiddenMeshTotalVertices(): number;
99
- getTotalVertices(predicate?: (mesh: any) => boolean): number;
100
- getHiddenMeshTotalIndices(): number;
101
- getTotalIndices(predicate?: (mesh: any) => boolean): number;
102
- getAllMaterials(): BABYLON.Material[];
103
- getMeshesUsingMaterial(materialID: string): BABYLON.AbstractMesh[];
104
- isMeshUsingMaterial(mesh: BABYLON.AbstractMesh, materialID: string): boolean;
105
- getAllUnusedMaterials(): BABYLON.Material[];
106
- getSceneScreenshotAsync(width: number, height: number): Promise<string>;
107
- containsPBRMaterials(): boolean;
108
- getMeshesForTryOn(): BABYLON.AbstractMesh[];
109
- setupLights(): void;
110
- getDefaultHemisphericLight(): Nullable<BABYLON.HemisphericLight>;
111
- getDefaultPointLight(): Nullable<BABYLON.PointLight>;
112
- isDefaultLight(light: BABYLON.Light): boolean;
113
- setupCamera(): void;
114
- setCameraRadiusParameters(radius: number): void;
115
- removeCameraLimits(): void;
116
- getWorldExtends(): Nullable<WorldExtends>;
117
- getCameraWorldExtends(): Nullable<WorldExtends>;
118
- setupCameraLimits(worldExtends?: WorldExtends): void;
119
- adjustCamera(currentPluginName?: string, keepAlpha?: boolean, keepBeta?: boolean, animate?: boolean): void;
120
- normalizeAngleOfView(alpha: number, beta: number): {
121
- alpha: number;
122
- beta: number;
123
- };
124
- computeCameraAngleOfView(target: BABYLON.Vector3, position: BABYLON.Vector3): {
125
- alpha: number;
126
- beta: number;
127
- };
128
- moveCamera(endTarget: BABYLON.Vector3, endPosition: BABYLON.Vector3): void;
129
- animateCamera(endTarget: BABYLON.Vector3, endPosition: BABYLON.Vector3, seconds: number, callback?: () => void): void;
130
- wrapPi(angle: number): number;
131
- wrap2Pi(angle: number): number;
132
- zoomIn(): void;
133
- zoomOut(): void;
134
- zoom(perc: number): void;
135
- moveCameraToFinalParameters(alpha: number, beta: number, radius: number, target: BABYLON.Vector3): void;
136
- animateCameraToFinalParamters(endAlpha: number, endBeta: number, endRadius: number, endTarget: BABYLON.Vector3, seconds: number, callback?: () => void): void;
137
- private getFrustumSlope;
138
- calculateCameraRadius(worldExtends?: WorldExtends): number;
139
- private calculateLowerRadiusFromModelBoundingSphere;
140
- getWorldCenter(worldExtends?: WorldExtends): Nullable<BABYLON.Vector3>;
141
- getCameraWorldCenter(worldExtends?: WorldExtends): Nullable<BABYLON.Vector3>;
142
- getCameraRadius(worldExtends?: WorldExtends): Nullable<number>;
143
- setCameraLimitLowerRadius(limitLowerRadius: boolean, adjustCamera?: boolean): void;
144
- setCameraPositionScale(positionScale: number, adjustCamera?: boolean): void;
145
- getCameraPivot(): Nullable<BABYLON.AbstractMesh>;
146
- setCameraPivot(mesh: Nullable<BABYLON.AbstractMesh>): void;
147
- setZoomEnabled(enabled: boolean): void;
148
- setMinZoomPerc(minZoomPerc: number | undefined | null): void;
149
- setMaxZoomPerc(maxZoomPerc: number | undefined | null): void;
150
- setCameraAlphaLimits(lower: number | undefined | null, upper: number | undefined | null): void;
151
- setCameraLowerAlphaLimit(angle: number | undefined | null): void;
152
- setCameraUpperAlphaLimit(angle: number | undefined | null): void;
153
- setCameraLowerBetaLimit(angle: number | undefined | null): void;
154
- setCameraUpperBetaLimit(angle: number | undefined | null): void;
155
- setCameraBetaLimits(lower: number | undefined | null, upper: number | undefined | null): void;
156
- zoomOnMesh(mesh: BABYLON.AbstractMesh): void;
157
- takeScreenshotAsync(width: number, height: number): Promise<string>;
158
- takeContentScreenshotAsync(width: number, height: number): Promise<string>;
159
- takeMaterialScreenshotAsync(materialID: string, width: number, height: number): Promise<string>;
160
- getScenePBRMaterials(): BABYLON.PBRBaseMaterial[];
161
- resetPBRMaterialsImageProcessingConfiguration(): void;
162
- private adjustPBRMaterialImageProcessingConfiguration;
163
- animateMeshToFinalParameters(mesh: BABYLON.AbstractMesh, p: BABYLON.Vector3, rE: BABYLON.Vector3, rQ: BABYLON.Quaternion, s: BABYLON.Vector3, seconds?: number, callback?: () => void): void;
164
- getMaterialsUsingTexture(texture: BABYLON.BaseTexture): BABYLON.Material[];
165
- private getTextureMaterialsMap;
166
- getTexturesForMaterial(material: BABYLON.Material): BABYLON.BaseTexture[];
167
- getTexturesExclusivelyForMaterial(material: BABYLON.Material): BABYLON.BaseTexture[];
168
- getStandardMaterialTextures(material: BABYLON.StandardMaterial): BABYLON.BaseTexture[];
169
- getPBRBaseSimpleMaterialTextures(material: BABYLON.PBRBaseSimpleMaterial): BABYLON.BaseTexture[];
170
- getPBRMaterialTextures(material: BABYLON.PBRMaterial): BABYLON.BaseTexture[];
171
- getPBRMetallicRoughnessMaterialTextures(material: BABYLON.PBRMetallicRoughnessMaterial): BABYLON.BaseTexture[];
172
- getPBRSpecularGlossinessMaterialTextures(material: BABYLON.PBRSpecularGlossinessMaterial): BABYLON.BaseTexture[];
173
- getNewPBRMaterialTextures(material: Zakeke.PBRMaterial): BABYLON.BaseTexture[];
174
- createMeshesFromSubMeshes(mesh: BABYLON.AbstractMesh): void;
175
- private createMeshFromSubMesh;
176
- getNextIncrementalName(name: string): string;
177
- createBox(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
178
- createBoundingBox(mesh: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
179
- createSphere(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
180
- createPlane(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
181
- createDisc(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
182
- createCylinder(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
183
- createTorus(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
184
- createKnot(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
185
- createRibbon(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
186
- createRoundedCubeAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
187
- createRoundedCylinderAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
188
- createMatBallAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
189
- createMaleHeadAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
190
- createFemaleHeadAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
191
- createPokemonBallAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
192
- createShaderBallAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
193
- createBootsAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
194
- createSuzanneAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
195
- createStepPyramidAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
196
- createTeapotAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
197
- createAlloyWheelAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
198
- createTryonReferenceGlassesFrameAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
199
- createTryOnReferenceModelsAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, filename: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
200
- private importPrimitiveShapeAsync;
201
- private replaceTransformNodeWithMesh;
202
- importMeshesFromUrlAsync(url: string, parent: Nullable<BABYLON.AbstractMesh>, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
203
- setupShaderMaterialsCameraPosition(): void;
204
- private setupShaderMaterialCameraPosition;
205
- getSceneCmScalingFactor(): Nullable<number>;
206
- exportSceneToUsdzAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, sceneID?: string, sceneCode?: string, arScale?: boolean): Promise<string>;
207
- exportMeshToUsdzAsync(sceneRootUrl: any, mesh: any, arScale?: boolean): Promise<string>;
208
- exportSceneToRemoteGlTFAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, sceneID?: string, sceneCode?: string, arScale?: boolean): Promise<string>;
209
- exportMeshToRemoteGlTFAsync(sceneRootUrl: Nullable<string>, mesh: BABYLON.AbstractMesh, arScale?: boolean): Promise<string>;
210
- exportSceneToRemoteGLBAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, sceneID?: string, sceneCode?: string, arScale?: boolean): Promise<string>;
211
- exportMeshToRemoteGLBAsync(sceneRootUrl: Nullable<string>, mesh: BABYLON.AbstractMesh, arScale?: boolean): Promise<string>;
212
- exportSceneToARMultiformatAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, formats?: string[], arScale?: boolean): Promise<{
213
- format: string;
214
- arFileUrl: string;
215
- }[]>;
216
- exportMeshToARMultiformatAsync(sceneRootUrl: Nullable<string>, mesh: BABYLON.AbstractMesh, formats?: string[], arScale?: boolean): Promise<{
217
- format: string;
218
- arFileUrl: string;
219
- }[]>;
220
- private getGltfBlobForARExport;
221
- exportMeshToGLBBlob(sceneRootUrl: Nullable<string>, meshID: string): Promise<Blob | null>;
222
- exportMeshesToARAsync(filePrefix: string, sceneRootUrl: Nullable<string>, meshes: BABYLON.AbstractMesh[], sceneID?: string, sceneCode?: string, fileFormat?: 'usdz' | 'glTF' | 'glb', arScale?: boolean): Promise<string>;
223
- exportMeshesToARMultiformatAsync(filePrefix: string, sceneRootUrl: Nullable<string>, meshes: BABYLON.AbstractMesh[], formats?: string[], arScale?: boolean): Promise<{
224
- format: string;
225
- arFileUrl: string;
226
- }[]>;
227
- exportSceneToLocalGlTFBlobsAsync(): Promise<(string | Blob)[]>;
228
- exportSceneToLocalGlTFUrlsAsync(): Promise<string[]>;
229
- downloadSceneLocalGltfAsync(): Promise<void>;
230
- exportSceneToLocalGLBBlobAsync(): Promise<string | Blob | null>;
231
- exportSceneToLocalGLBBase64Async(): Promise<Nullable<string>>;
232
- exportSceneToLocalGLBUrlAsync(): Promise<Nullable<string>>;
233
- downloadSceneLocalGLBAsync(): Promise<void>;
234
- private getSceneLocalGLBBlobInfoAsync;
235
- exportSceneToLocalUSDZBlobAsync(): Promise<string | Blob | null>;
236
- exportSceneToLocalUSDZBase64Async(): Promise<Nullable<string>>;
237
- exportSceneToLocalUSDZUrlAsync(): Promise<Nullable<string>>;
238
- downloadSceneLocalUSDZAsync(): Promise<void>;
239
- private getSceneLocalUSDZBlobInfoAsync;
240
- private getSceneToGltfExportOptions;
241
- private getGltfFileUrl;
242
- private getUsdzFileUrl;
243
- exportSceneToBabylon(): string;
244
- exportVisibleMeshesToBabylon(): string;
245
- downloadImageFromBase64(base64: string, name: string, mimetype: string): void;
246
- private getStandardMaterialTextureType;
247
- private getPBRMetallicRoughnessMaterialTextureType;
248
- private getPBRSpecularGlossinessMaterialTextureType;
249
- private getPBRMaterialTextureType;
250
- private getZakekePBRMaterialTextureType;
251
- getMaterialTextureType(material: BABYLON.Material, texture: BABYLON.BaseTexture): Nullable<string>;
252
- getMaterialTexture(material: BABYLON.Material, type: string): Nullable<BABYLON.BaseTexture>;
253
- applyTexture(texture: Nullable<BABYLON.BaseTexture>, material: BABYLON.Material, type: string): void;
254
- applyTextureOnSerializedMaterial(serializedTexture: any, serializedMaterial: any, textureType: string, materialType: string): void;
255
- getSerializedMaterialTexture(serializedMaterial: any, textureType: string, materialType: string): any;
256
- private getMaterialTypeName;
257
- exportMeshToBabylon(mesh: BABYLON.AbstractMesh): Promise<string>;
258
- exportMeshesToBabylon(meshes: BABYLON.AbstractMesh[]): Promise<string>;
259
- exportMeshesForTyOnToBabylon(): Promise<string>;
260
- private downloadBlob;
261
- downloadMeshBabylonAsync(mesh: BABYLON.AbstractMesh): Promise<void>;
262
- downloadMeshesBabylonAsync(meshes: BABYLON.AbstractMesh[]): Promise<void>;
263
- loadAllDelayedMaterialsAsync(rootUrl: string, progressCallback?: (txt: number, totalTxt: number) => Promise<void>): Promise<BABYLON.Material[]>;
264
- loadDelayedMaterialsAsync(rootUrl: string, materialIDs: string[]): Promise<BABYLON.Material[]>;
265
- loadDelayedMaterialAsync(rootUrl: string, materialID: string): Promise<Nullable<BABYLON.Material>>;
266
- loadMaterialsAsync(rootUrl: string, delayedMaterials: DelayedMaterials, progressCallback?: (txt: number, totalTxt: number) => Promise<void>): Promise<BABYLON.Material[]>;
267
- private loadMaterialInternalAsync;
268
- showMesh(meshID: string): void;
269
- hideMesh(meshID: string): void;
270
- showHideMesh(meshID: string, show: boolean): void;
271
- changeMaterialColor(material: BABYLON.Material, propertyName: string, nextColor: BABYLON.Color3): void;
272
- applyMaterialByName(name: string, mesh: BABYLON.AbstractMesh): void;
273
- applyMaterial(material: BABYLON.Material, mesh: BABYLON.AbstractMesh): void;
274
- applyMaterialToSubMeshByName(name: string, mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): void;
275
- applyMaterialToSubMesh(material: BABYLON.Material, mesh: Nullable<BABYLON.AbstractMesh>, subMesh: BABYLON.SubMesh): void;
276
- getSubMeshMaterial(mesh: Nullable<BABYLON.AbstractMesh>, subMesh: BABYLON.SubMesh): Nullable<BABYLON.Material>;
277
- prefetchTexturesFormMeshAsync(mesh: BABYLON.AbstractMesh): Promise<void>;
278
- prefetchTexturesForMaterialAsync(material: BABYLON.Material): Promise<void>;
279
- checkDelayState(mesh: BABYLON.AbstractMesh): void;
280
- createEnvelopeMesh(mesh: BABYLON.Mesh): Nullable<BABYLON.AbstractMesh>;
281
- expandMesh(mesh: BABYLON.Mesh, delta: number): void;
282
- cloneMesh(id: string, duplicateGeometry?: boolean, updatableGeometry?: boolean): Nullable<BABYLON.AbstractMesh>;
283
- private duplicateGeometry;
284
- getSceneMaterialMetadata(materialID: string): any;
285
- getOrCreateSceneMaterialMetadata(materialID: string): any;
286
- removeSceneMaterialMetadata(materialID: string): void;
287
- offloadAllUnusedMaterials(): void;
288
- offloadMaterial(materialID: string): void;
289
- getOffloadedMaterialInfo(material: any): OffloadedMaterial;
290
- loadAllOffloadedMaterials(rootUrl: string): BABYLON.Material[];
291
- loadOffloadedMaterialsByIDs(rootUrl: string, materialIDs: string[]): BABYLON.Material[];
292
- loadOffloadedMaterial(rootUrl: string, materialID: string): Nullable<BABYLON.Material>;
293
- loadOffloadedMaterials(rootUrl: string, offloadedMaterials: OffloadedMaterials): BABYLON.Material[];
294
- private loadOffloadedMaterialInternal;
295
- loadAllOffloadedMaterialsAsync(rootUrl: string): Promise<BABYLON.Material[]>;
296
- loadOffloadedMaterialsByIDsAsync(rootUrl: string, materialIDs: string[]): Promise<BABYLON.Material[]>;
297
- loadOffloadedMaterialAsync(rootUrl: string, materialID: string): Promise<Nullable<BABYLON.Material>>;
298
- loadOffloadedMaterialsAsync(rootUrl: string, offloadedMaterials: OffloadedMaterials): Promise<BABYLON.Material[]>;
299
- private loadOffloadedMaterialInternalAsync;
300
- loadTextureFiles(rootUrl: string, textureUrls: string[]): void;
301
- private getOrLoadMaterialAsync;
302
- getOrCreateDummyMaterial(): BABYLON.Material;
303
- isDummyMaterial(material: BABYLON.Material): boolean;
304
- meshHasDummyMaterial(mesh: BABYLON.AbstractMesh, recursive: boolean): boolean;
305
- getMeshDelayedMaterialIDs(mesh: BABYLON.AbstractMesh): string[];
306
- getMeshOffloadedMaterialIDs(mesh: BABYLON.AbstractMesh): string[];
307
- setDummyMaterialToInvisibleMeshes(): void;
308
- setMeshDummyMaterial(mesh: BABYLON.AbstractMesh, recursive: boolean): void;
309
- unsetAllDummyMaterials(): void;
310
- unsetAllDummyMaterialsAsync(rootUrl: string): Promise<void>;
311
- unsetMeshDummyMaterial(mesh: BABYLON.AbstractMesh, recursive: boolean): void;
312
- unsetMeshDummyMaterialAsync(mesh: BABYLON.AbstractMesh, rootUrl: string, recursive: boolean): Promise<void>;
313
- reloadAllLoadingErrorTexturesAsync(rootUrl: string): Promise<void>;
314
- reloadMaterialLoadingErrorTexturesAsync(rootUrl: string, material: BABYLON.Material): Promise<void>;
315
- reloadLoadingErrorTextureAsync(rootUrl: string, texture: BABYLON.BaseTexture): Promise<void>;
316
- isTextureLoadingError(texture: BABYLON.BaseTexture): boolean;
317
- materialHasLoadingErrorTextues(material: BABYLON.Material): boolean;
318
- getMaterialDynamicTextures(material: BABYLON.Material): BABYLON.BaseTexture[];
319
- exportTextureToBase64Async(babylonTexture: BABYLON.BaseTexture, mimeType?: string, invertY?: boolean): Promise<Nullable<string>>;
320
- private createBase64FromCanvasAsync;
321
- private getPixelsFromTexture;
322
- comparePBRMaterials(mat1: BABYLON.PBRMaterial, mat2: BABYLON.PBRMaterial): void;
323
- private compareAnisotropy;
324
- private compareBRDF;
325
- private compareClearCoat;
326
- private compareDetailMap;
327
- private comparePrePassConfiguration;
328
- private compareSheen;
329
- private compareSubSurface;
330
- private compareCameraCurve;
331
- private compareImageProcessingConfiguration;
332
- private compareTexture;
333
- /**
334
- * Clear the scene and generate a canvas mesh
335
- * @param meshID The mesh ID to use, must be passed from the scene editor to update correctly the MeshSide
336
- * @param width The width of the canvas
337
- * @param height The height of the canvas
338
- * @param depth The depth of the canvas
339
- * @param borderRadius The border radius of the canvas
340
- * @returns The id of the generated mesh
341
- */
342
- private _loadedMeshes;
343
- private _isLoading;
344
- showResizableCanvas(width: number, height: number, depth: number, borderRadius: number, type: 'colored' | 'mirrored', borderColor: string, columns: number, rows: number): Promise<BABYLON.AbstractMesh[] | null | undefined>;
345
- /**
346
- * Remove all meshes from the scene
347
- */
348
- clearResizableMeshes(): void;
349
- private _lastVisibilityStates;
350
- switchMode(mode: 'upload' | 'resizable'): void;
351
- rotate(angle: number, axis: BABYLON.Vector3, animate: boolean): Promise<void>;
352
- }
1
+ import { IDisposable } from '../Interfaces/IDisposable';
2
+ import { TryOnFineTuningSettings } from '../Interfaces/ITryOn';
3
+ import { Nullable } from '../types';
4
+ export type WorldExtends = {
5
+ min: BABYLON.Vector3;
6
+ max: BABYLON.Vector3;
7
+ };
8
+ export type DelayedMaterials = {
9
+ [id: string]: {
10
+ name: string;
11
+ file: string;
12
+ };
13
+ };
14
+ export type OffloadedMaterial = {
15
+ name: string;
16
+ data: any;
17
+ };
18
+ export type OffloadedMaterials = {
19
+ [id: string]: OffloadedMaterial;
20
+ };
21
+ export type UrlTexture = BABYLON.Texture | BABYLON.CubeTexture | BABYLON.HDRCubeTexture | BABYLON.ColorGradingTexture | BABYLON.EquiRectangularCubeTexture;
22
+ export declare class SceneHelper implements IDisposable {
23
+ private _scene;
24
+ private _engine;
25
+ private _camera;
26
+ private _canvas;
27
+ private _hemiLight;
28
+ private _pointLight;
29
+ private _onPrePointerObservableObserver;
30
+ private _isPointerDown;
31
+ private _radiusScale;
32
+ private _positionScale;
33
+ private _limitLowerRadius;
34
+ private _zoomEnabled;
35
+ private _minZoomPerc;
36
+ private _maxZoomPerc;
37
+ private _cameraPivot;
38
+ private _resizableCanvas3DGenerator;
39
+ private readonly _defHemiLightID;
40
+ private readonly _defPointLightID;
41
+ private readonly _targetAnimationID;
42
+ private readonly _radiusAnimationID;
43
+ private readonly _alphaAnimationID;
44
+ private readonly _betaAnimationID;
45
+ private readonly _dummyMaterialID;
46
+ private _loadingMaterials;
47
+ get camera(): Nullable<BABYLON.Camera>;
48
+ constructor(scene: BABYLON.Scene);
49
+ private static checkAllMaterialTextureReady;
50
+ static whenAllMaterialTexturesAreReady(material: BABYLON.Material): Promise<void>;
51
+ static whenTextureIsReadyAsync(texture: BABYLON.BaseTexture): Promise<void>;
52
+ static whenMeshMaterialIsReady(mesh: BABYLON.AbstractMesh): Promise<void>;
53
+ static whenMaterialIsReadyForSubMeshAsync(material: BABYLON.Material, mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): Promise<void>;
54
+ private static getMeshGeometry;
55
+ private static checkMeshIsReady;
56
+ static checkAllMeshesAreReady(meshes: BABYLON.AbstractMesh[]): boolean;
57
+ static whenAllMeshesAreReadyAsync(meshes: BABYLON.AbstractMesh[]): Promise<void>;
58
+ static whenAllVisibleMeshesAreReadyAsync(meshes: BABYLON.AbstractMesh[]): Promise<void>;
59
+ static whenMeshIsReadyAsync(mesh: BABYLON.AbstractMesh): Promise<void>;
60
+ static visibleMeshesRequireDelayedLoading(scene: BABYLON.Scene): boolean;
61
+ static meshRequiresDelayedLoading(mesh: BABYLON.AbstractMesh): boolean;
62
+ materialRequiresDelayedLoading(materialID: string): boolean;
63
+ private init;
64
+ dispose(): void;
65
+ switchFullScreen(parent: any): void;
66
+ private quitFullscreen;
67
+ private launchFullscreen;
68
+ getMeshHierarchySize(mesh: BABYLON.AbstractMesh): BABYLON.Vector3;
69
+ getMeshHierarchyCenter(mesh: BABYLON.AbstractMesh): BABYLON.Vector3;
70
+ getSceneBoundingInfo(): Nullable<BABYLON.BoundingInfo>;
71
+ userIsMoving(): boolean;
72
+ cameraIsMoving(): boolean;
73
+ cameraLimitsReached(): boolean;
74
+ restoreCameraState(): void;
75
+ isTextureWithUrl(texture: BABYLON.BaseTexture): texture is UrlTexture;
76
+ getTextureUrl(texture: Nullable<BABYLON.BaseTexture>): Nullable<string>;
77
+ private isEditControl;
78
+ isRealMesh(mesh: BABYLON.AbstractMesh): boolean;
79
+ meshFineTuningSettings(mesh: BABYLON.AbstractMesh): Nullable<TryOnFineTuningSettings>;
80
+ meshHasParent(meshID: string, parentID: string): boolean;
81
+ countSceneMeshes(): number;
82
+ sceneHasRealMeshes(): boolean;
83
+ getSceneMeshes(): BABYLON.AbstractMesh[];
84
+ getSceneMeshesByName(name: string): BABYLON.AbstractMesh[];
85
+ isVisibleMesh(mesh: BABYLON.AbstractMesh): boolean;
86
+ getVisibleMeshes(): BABYLON.AbstractMesh[];
87
+ getInvisibleMeshes(): BABYLON.AbstractMesh[];
88
+ getSubMesh(mesh: BABYLON.AbstractMesh, submeshIdx: number): Nullable<BABYLON.SubMesh>;
89
+ getMeshHierarchy(parentID: string): BABYLON.AbstractMesh[];
90
+ getTryOnMeshHierarchy(parentID: string): BABYLON.AbstractMesh[];
91
+ isCanvasMesh(mesh: BABYLON.AbstractMesh): boolean;
92
+ isAREnabledForMesh(mesh: BABYLON.AbstractMesh): boolean;
93
+ isTryOnEnabledForMesh(mesh: BABYLON.AbstractMesh): boolean;
94
+ getMeshesForAR(): BABYLON.AbstractMesh[];
95
+ checkMaterialsForAR(): boolean;
96
+ getMeshesMaterials(meshes: BABYLON.AbstractMesh[]): BABYLON.Material[];
97
+ getMeshMaterials(mesh: BABYLON.AbstractMesh): BABYLON.Material[];
98
+ getHiddenMeshTotalVertices(): number;
99
+ getTotalVertices(predicate?: (mesh: any) => boolean): number;
100
+ getHiddenMeshTotalIndices(): number;
101
+ getTotalIndices(predicate?: (mesh: any) => boolean): number;
102
+ getAllMaterials(): BABYLON.Material[];
103
+ getMeshesUsingMaterial(materialID: string): BABYLON.AbstractMesh[];
104
+ isMeshUsingMaterial(mesh: BABYLON.AbstractMesh, materialID: string): boolean;
105
+ getAllUnusedMaterials(): BABYLON.Material[];
106
+ getSceneScreenshotAsync(width: number, height: number): Promise<string>;
107
+ containsPBRMaterials(): boolean;
108
+ getMeshesForTryOn(): BABYLON.AbstractMesh[];
109
+ setupLights(): void;
110
+ getDefaultHemisphericLight(): Nullable<BABYLON.HemisphericLight>;
111
+ getDefaultPointLight(): Nullable<BABYLON.PointLight>;
112
+ isDefaultLight(light: BABYLON.Light): boolean;
113
+ setupCamera(): void;
114
+ setCameraRadiusParameters(radius: number): void;
115
+ removeCameraLimits(): void;
116
+ getWorldExtends(): Nullable<WorldExtends>;
117
+ getCameraWorldExtends(): Nullable<WorldExtends>;
118
+ setupCameraLimits(worldExtends?: WorldExtends): void;
119
+ adjustCamera(currentPluginName?: string, keepAlpha?: boolean, keepBeta?: boolean, animate?: boolean): void;
120
+ normalizeAngleOfView(alpha: number, beta: number): {
121
+ alpha: number;
122
+ beta: number;
123
+ };
124
+ computeCameraAngleOfView(target: BABYLON.Vector3, position: BABYLON.Vector3): {
125
+ alpha: number;
126
+ beta: number;
127
+ };
128
+ moveCamera(endTarget: BABYLON.Vector3, endPosition: BABYLON.Vector3): void;
129
+ animateCamera(endTarget: BABYLON.Vector3, endPosition: BABYLON.Vector3, seconds: number, callback?: () => void): void;
130
+ wrapPi(angle: number): number;
131
+ wrap2Pi(angle: number): number;
132
+ zoomIn(): void;
133
+ zoomOut(): void;
134
+ zoom(perc: number): void;
135
+ moveCameraToFinalParameters(alpha: number, beta: number, radius: number, target: BABYLON.Vector3): void;
136
+ animateCameraToFinalParamters(endAlpha: number, endBeta: number, endRadius: number, endTarget: BABYLON.Vector3, seconds: number, callback?: () => void): void;
137
+ private getFrustumSlope;
138
+ calculateCameraRadius(worldExtends?: WorldExtends): number;
139
+ private calculateLowerRadiusFromModelBoundingSphere;
140
+ getWorldCenter(worldExtends?: WorldExtends): Nullable<BABYLON.Vector3>;
141
+ getCameraWorldCenter(worldExtends?: WorldExtends): Nullable<BABYLON.Vector3>;
142
+ getCameraRadius(worldExtends?: WorldExtends): Nullable<number>;
143
+ setCameraLimitLowerRadius(limitLowerRadius: boolean, adjustCamera?: boolean): void;
144
+ setCameraPositionScale(positionScale: number, adjustCamera?: boolean): void;
145
+ getCameraPivot(): Nullable<BABYLON.AbstractMesh>;
146
+ setCameraPivot(mesh: Nullable<BABYLON.AbstractMesh>): void;
147
+ setZoomEnabled(enabled: boolean): void;
148
+ setMinZoomPerc(minZoomPerc: number | undefined | null): void;
149
+ setMaxZoomPerc(maxZoomPerc: number | undefined | null): void;
150
+ setCameraAlphaLimits(lower: number | undefined | null, upper: number | undefined | null): void;
151
+ setCameraLowerAlphaLimit(angle: number | undefined | null): void;
152
+ setCameraUpperAlphaLimit(angle: number | undefined | null): void;
153
+ setCameraLowerBetaLimit(angle: number | undefined | null): void;
154
+ setCameraUpperBetaLimit(angle: number | undefined | null): void;
155
+ setCameraBetaLimits(lower: number | undefined | null, upper: number | undefined | null): void;
156
+ zoomOnMesh(mesh: BABYLON.AbstractMesh): void;
157
+ takeScreenshotAsync(width: number, height: number): Promise<string>;
158
+ takeContentScreenshotAsync(width: number, height: number): Promise<string>;
159
+ takeMaterialScreenshotAsync(materialID: string, width: number, height: number): Promise<string>;
160
+ getScenePBRMaterials(): BABYLON.PBRBaseMaterial[];
161
+ resetPBRMaterialsImageProcessingConfiguration(): void;
162
+ private adjustPBRMaterialImageProcessingConfiguration;
163
+ animateMeshToFinalParameters(mesh: BABYLON.AbstractMesh, p: BABYLON.Vector3, rE: BABYLON.Vector3, rQ: BABYLON.Quaternion, s: BABYLON.Vector3, seconds?: number, callback?: () => void): void;
164
+ getMaterialsUsingTexture(texture: BABYLON.BaseTexture): BABYLON.Material[];
165
+ private getTextureMaterialsMap;
166
+ getTexturesForMaterial(material: BABYLON.Material): BABYLON.BaseTexture[];
167
+ getTexturesExclusivelyForMaterial(material: BABYLON.Material): BABYLON.BaseTexture[];
168
+ getStandardMaterialTextures(material: BABYLON.StandardMaterial): BABYLON.BaseTexture[];
169
+ getPBRBaseSimpleMaterialTextures(material: BABYLON.PBRBaseSimpleMaterial): BABYLON.BaseTexture[];
170
+ getPBRMaterialTextures(material: BABYLON.PBRMaterial): BABYLON.BaseTexture[];
171
+ getPBRMetallicRoughnessMaterialTextures(material: BABYLON.PBRMetallicRoughnessMaterial): BABYLON.BaseTexture[];
172
+ getPBRSpecularGlossinessMaterialTextures(material: BABYLON.PBRSpecularGlossinessMaterial): BABYLON.BaseTexture[];
173
+ getNewPBRMaterialTextures(material: Zakeke.PBRMaterial): BABYLON.BaseTexture[];
174
+ createMeshesFromSubMeshes(mesh: BABYLON.AbstractMesh): void;
175
+ private createMeshFromSubMesh;
176
+ getNextIncrementalName(name: string): string;
177
+ createBox(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
178
+ createBoundingBox(mesh: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
179
+ createSphere(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
180
+ createPlane(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
181
+ createDisc(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
182
+ createCylinder(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
183
+ createTorus(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
184
+ createKnot(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
185
+ createRibbon(parent: Nullable<BABYLON.AbstractMesh>, name?: string): BABYLON.Mesh;
186
+ createRoundedCubeAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
187
+ createRoundedCylinderAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
188
+ createMatBallAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
189
+ createMaleHeadAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
190
+ createFemaleHeadAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
191
+ createPokemonBallAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
192
+ createShaderBallAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
193
+ createBootsAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
194
+ createSuzanneAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
195
+ createStepPyramidAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
196
+ createTeapotAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
197
+ createAlloyWheelAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
198
+ createTryonReferenceGlassesFrameAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
199
+ createTryOnReferenceModelsAsync(parent: Nullable<BABYLON.AbstractMesh>, name: string, filename: string, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
200
+ private importPrimitiveShapeAsync;
201
+ private replaceTransformNodeWithMesh;
202
+ importMeshesFromUrlAsync(url: string, parent: Nullable<BABYLON.AbstractMesh>, onProgress?: (event: BABYLON.ISceneLoaderProgressEvent) => void): Promise<BABYLON.AbstractMesh[]>;
203
+ setupShaderMaterialsCameraPosition(): void;
204
+ private setupShaderMaterialCameraPosition;
205
+ getSceneCmScalingFactor(): Nullable<number>;
206
+ exportSceneToUsdzAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, sceneID?: string, sceneCode?: string, arScale?: boolean): Promise<string>;
207
+ exportMeshToUsdzAsync(sceneRootUrl: any, mesh: any, arScale?: boolean): Promise<string>;
208
+ exportSceneToRemoteGlTFAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, sceneID?: string, sceneCode?: string, arScale?: boolean): Promise<string>;
209
+ exportMeshToRemoteGlTFAsync(sceneRootUrl: Nullable<string>, mesh: BABYLON.AbstractMesh, arScale?: boolean): Promise<string>;
210
+ exportSceneToRemoteGLBAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, sceneID?: string, sceneCode?: string, arScale?: boolean): Promise<string>;
211
+ exportMeshToRemoteGLBAsync(sceneRootUrl: Nullable<string>, mesh: BABYLON.AbstractMesh, arScale?: boolean): Promise<string>;
212
+ exportSceneToARMultiformatAsync(sceneName: Nullable<string>, sceneRootUrl: Nullable<string>, formats?: string[], arScale?: boolean): Promise<{
213
+ format: string;
214
+ arFileUrl: string;
215
+ }[]>;
216
+ exportMeshToARMultiformatAsync(sceneRootUrl: Nullable<string>, mesh: BABYLON.AbstractMesh, formats?: string[], arScale?: boolean): Promise<{
217
+ format: string;
218
+ arFileUrl: string;
219
+ }[]>;
220
+ private getGltfBlobForARExport;
221
+ exportMeshToGLBBlob(sceneRootUrl: Nullable<string>, meshID: string): Promise<Blob | null>;
222
+ exportMeshesToARAsync(filePrefix: string, sceneRootUrl: Nullable<string>, meshes: BABYLON.AbstractMesh[], sceneID?: string, sceneCode?: string, fileFormat?: 'usdz' | 'glTF' | 'glb', arScale?: boolean): Promise<string>;
223
+ exportMeshesToARMultiformatAsync(filePrefix: string, sceneRootUrl: Nullable<string>, meshes: BABYLON.AbstractMesh[], formats?: string[], arScale?: boolean): Promise<{
224
+ format: string;
225
+ arFileUrl: string;
226
+ }[]>;
227
+ exportSceneToLocalGlTFBlobsAsync(): Promise<(string | Blob)[]>;
228
+ exportSceneToLocalGlTFUrlsAsync(): Promise<string[]>;
229
+ downloadSceneLocalGltfAsync(): Promise<void>;
230
+ exportSceneToLocalGLBBlobAsync(): Promise<string | Blob | null>;
231
+ exportSceneToLocalGLBBase64Async(): Promise<Nullable<string>>;
232
+ exportSceneToLocalGLBUrlAsync(): Promise<Nullable<string>>;
233
+ downloadSceneLocalGLBAsync(): Promise<void>;
234
+ private getSceneLocalGLBBlobInfoAsync;
235
+ exportSceneToLocalUSDZBlobAsync(): Promise<string | Blob | null>;
236
+ exportSceneToLocalUSDZBase64Async(): Promise<Nullable<string>>;
237
+ exportSceneToLocalUSDZUrlAsync(): Promise<Nullable<string>>;
238
+ downloadSceneLocalUSDZAsync(): Promise<void>;
239
+ private getSceneLocalUSDZBlobInfoAsync;
240
+ private getSceneToGltfExportOptions;
241
+ private getGltfFileUrl;
242
+ private getUsdzFileUrl;
243
+ exportSceneToBabylon(): string;
244
+ exportVisibleMeshesToBabylon(): string;
245
+ downloadImageFromBase64(base64: string, name: string, mimetype: string): void;
246
+ private getStandardMaterialTextureType;
247
+ private getPBRMetallicRoughnessMaterialTextureType;
248
+ private getPBRSpecularGlossinessMaterialTextureType;
249
+ private getPBRMaterialTextureType;
250
+ private getZakekePBRMaterialTextureType;
251
+ getMaterialTextureType(material: BABYLON.Material, texture: BABYLON.BaseTexture): Nullable<string>;
252
+ getMaterialTexture(material: BABYLON.Material, type: string): Nullable<BABYLON.BaseTexture>;
253
+ applyTexture(texture: Nullable<BABYLON.BaseTexture>, material: BABYLON.Material, type: string): void;
254
+ applyTextureOnSerializedMaterial(serializedTexture: any, serializedMaterial: any, textureType: string, materialType: string): void;
255
+ getSerializedMaterialTexture(serializedMaterial: any, textureType: string, materialType: string): any;
256
+ private getMaterialTypeName;
257
+ exportMeshToBabylon(mesh: BABYLON.AbstractMesh): Promise<string>;
258
+ exportMeshesToBabylon(meshes: BABYLON.AbstractMesh[]): Promise<string>;
259
+ exportMeshesForTyOnToBabylon(): Promise<string>;
260
+ private downloadBlob;
261
+ downloadMeshBabylonAsync(mesh: BABYLON.AbstractMesh): Promise<void>;
262
+ downloadMeshesBabylonAsync(meshes: BABYLON.AbstractMesh[]): Promise<void>;
263
+ loadAllDelayedMaterialsAsync(rootUrl: string, progressCallback?: (txt: number, totalTxt: number) => Promise<void>): Promise<BABYLON.Material[]>;
264
+ loadDelayedMaterialsAsync(rootUrl: string, materialIDs: string[]): Promise<BABYLON.Material[]>;
265
+ loadDelayedMaterialAsync(rootUrl: string, materialID: string): Promise<Nullable<BABYLON.Material>>;
266
+ loadMaterialsAsync(rootUrl: string, delayedMaterials: DelayedMaterials, progressCallback?: (txt: number, totalTxt: number) => Promise<void>): Promise<BABYLON.Material[]>;
267
+ private loadMaterialInternalAsync;
268
+ showMesh(meshID: string): void;
269
+ hideMesh(meshID: string): void;
270
+ showHideMesh(meshID: string, show: boolean): void;
271
+ changeMaterialColor(material: BABYLON.Material, propertyName: string, nextColor: BABYLON.Color3): void;
272
+ applyMaterialByName(name: string, mesh: BABYLON.AbstractMesh): void;
273
+ applyMaterial(material: BABYLON.Material, mesh: BABYLON.AbstractMesh): void;
274
+ applyMaterialToSubMeshByName(name: string, mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): void;
275
+ applyMaterialToSubMesh(material: BABYLON.Material, mesh: Nullable<BABYLON.AbstractMesh>, subMesh: BABYLON.SubMesh): void;
276
+ getSubMeshMaterial(mesh: Nullable<BABYLON.AbstractMesh>, subMesh: BABYLON.SubMesh): Nullable<BABYLON.Material>;
277
+ prefetchTexturesFormMeshAsync(mesh: BABYLON.AbstractMesh): Promise<void>;
278
+ prefetchTexturesForMaterialAsync(material: BABYLON.Material): Promise<void>;
279
+ checkDelayState(mesh: BABYLON.AbstractMesh): void;
280
+ createEnvelopeMesh(mesh: BABYLON.Mesh): Nullable<BABYLON.AbstractMesh>;
281
+ expandMesh(mesh: BABYLON.Mesh, delta: number): void;
282
+ cloneMesh(id: string, duplicateGeometry?: boolean, updatableGeometry?: boolean): Nullable<BABYLON.AbstractMesh>;
283
+ private duplicateGeometry;
284
+ getSceneMaterialMetadata(materialID: string): any;
285
+ getOrCreateSceneMaterialMetadata(materialID: string): any;
286
+ removeSceneMaterialMetadata(materialID: string): void;
287
+ offloadAllUnusedMaterials(): void;
288
+ offloadMaterial(materialID: string): void;
289
+ getOffloadedMaterialInfo(material: any): OffloadedMaterial;
290
+ loadAllOffloadedMaterials(rootUrl: string): BABYLON.Material[];
291
+ loadOffloadedMaterialsByIDs(rootUrl: string, materialIDs: string[]): BABYLON.Material[];
292
+ loadOffloadedMaterial(rootUrl: string, materialID: string): Nullable<BABYLON.Material>;
293
+ loadOffloadedMaterials(rootUrl: string, offloadedMaterials: OffloadedMaterials): BABYLON.Material[];
294
+ private loadOffloadedMaterialInternal;
295
+ loadAllOffloadedMaterialsAsync(rootUrl: string): Promise<BABYLON.Material[]>;
296
+ loadOffloadedMaterialsByIDsAsync(rootUrl: string, materialIDs: string[]): Promise<BABYLON.Material[]>;
297
+ loadOffloadedMaterialAsync(rootUrl: string, materialID: string): Promise<Nullable<BABYLON.Material>>;
298
+ loadOffloadedMaterialsAsync(rootUrl: string, offloadedMaterials: OffloadedMaterials): Promise<BABYLON.Material[]>;
299
+ private loadOffloadedMaterialInternalAsync;
300
+ loadTextureFiles(rootUrl: string, textureUrls: string[]): void;
301
+ private getOrLoadMaterialAsync;
302
+ getOrCreateDummyMaterial(): BABYLON.Material;
303
+ isDummyMaterial(material: BABYLON.Material): boolean;
304
+ meshHasDummyMaterial(mesh: BABYLON.AbstractMesh, recursive: boolean): boolean;
305
+ getMeshDelayedMaterialIDs(mesh: BABYLON.AbstractMesh): string[];
306
+ getMeshOffloadedMaterialIDs(mesh: BABYLON.AbstractMesh): string[];
307
+ setDummyMaterialToInvisibleMeshes(): void;
308
+ setMeshDummyMaterial(mesh: BABYLON.AbstractMesh, recursive: boolean): void;
309
+ unsetAllDummyMaterials(): void;
310
+ unsetAllDummyMaterialsAsync(rootUrl: string): Promise<void>;
311
+ unsetMeshDummyMaterial(mesh: BABYLON.AbstractMesh, recursive: boolean): void;
312
+ unsetMeshDummyMaterialAsync(mesh: BABYLON.AbstractMesh, rootUrl: string, recursive: boolean): Promise<void>;
313
+ reloadAllLoadingErrorTexturesAsync(rootUrl: string): Promise<void>;
314
+ reloadMaterialLoadingErrorTexturesAsync(rootUrl: string, material: BABYLON.Material): Promise<void>;
315
+ reloadLoadingErrorTextureAsync(rootUrl: string, texture: BABYLON.BaseTexture): Promise<void>;
316
+ isTextureLoadingError(texture: BABYLON.BaseTexture): boolean;
317
+ materialHasLoadingErrorTextues(material: BABYLON.Material): boolean;
318
+ getMaterialDynamicTextures(material: BABYLON.Material): BABYLON.BaseTexture[];
319
+ exportTextureToBase64Async(babylonTexture: BABYLON.BaseTexture, mimeType?: string, invertY?: boolean): Promise<Nullable<string>>;
320
+ private createBase64FromCanvasAsync;
321
+ private getPixelsFromTexture;
322
+ comparePBRMaterials(mat1: BABYLON.PBRMaterial, mat2: BABYLON.PBRMaterial): void;
323
+ private compareAnisotropy;
324
+ private compareBRDF;
325
+ private compareClearCoat;
326
+ private compareDetailMap;
327
+ private comparePrePassConfiguration;
328
+ private compareSheen;
329
+ private compareSubSurface;
330
+ private compareCameraCurve;
331
+ private compareImageProcessingConfiguration;
332
+ private compareTexture;
333
+ /**
334
+ * Clear the scene and generate a canvas mesh
335
+ * @param meshID The mesh ID to use, must be passed from the scene editor to update correctly the MeshSide
336
+ * @param width The width of the canvas
337
+ * @param height The height of the canvas
338
+ * @param depth The depth of the canvas
339
+ * @param borderRadius The border radius of the canvas
340
+ * @returns The id of the generated mesh
341
+ */
342
+ private _loadedMeshes;
343
+ private _isLoading;
344
+ showResizableCanvas(width: number, height: number, depth: number, borderRadius: number, type: 'colored' | 'mirrored', borderColor: string, columns: number, rows: number): Promise<BABYLON.AbstractMesh[] | null | undefined>;
345
+ /**
346
+ * Remove all meshes from the scene
347
+ */
348
+ clearResizableMeshes(): void;
349
+ private _lastVisibilityStates;
350
+ switchMode(mode: 'upload' | 'resizable'): void;
351
+ rotate(angle: number, axis: BABYLON.Vector3, animate: boolean): Promise<void>;
352
+ }