import { EnvironmentManager } from '../Components/Environment/EnvironmentManager'; import { EditingMode, EnvironmentMode } from '../Enumerations'; import { IDisposable } from '../Interfaces/IDisposable'; import { ISceneEditor } from '../Interfaces/ISceneEditor'; import { FineTuningProviderData, TryOnFineTuningSettings, TryOnProvider, TryOnSettings, TryOnSettingsType, TryOnType } from '../Interfaces/ITryOn'; import { LightSelectedEventArgs, LightSelectedEventHandler } from '../Layers/LightsLayer'; import { Nullable } from '../types'; import { SceneViewer } from './SceneViewer'; export declare class MaterialGroup { groupName: string; materials: BABYLON.Material[]; guid: string; constructor(groupName: string); } export type SceneEditorOptions = { showGround?: boolean; showHighlight?: boolean; highlightColor?: string; editorBackgroundColor?: string; highlightOver?: boolean; highlightOverColor?: string; }; export type FileObjectData = { fileObjectID?: number | null | undefined; fileLength?: number | null | undefined; url?: string | null | undefined; }; export type SceneSourceTextureInfo = { textureID?: string; fileObjectID?: number | null | undefined; fileLength?: number | null | undefined; url?: string; }; export type SceneSourceInfo = { sourceID?: string; fileObjectID?: number | null | undefined; fileLength?: number | null | undefined; url?: string; rootUrl?: string; sceneFileName?: string; textureFiles: SceneSourceTextureInfo[]; }; export type SceneTextureInfo = { sceneID?: string; textureID?: string; materialID?: string; fileObjectID?: number | null | undefined; fileLength?: number | null | undefined; url?: string; }; export type SceneMaterialPhotoInfo = { sceneID?: string; photoID?: string; materialID?: string; fileObjectID?: number | null | undefined; fileLength?: number | null | undefined; url?: string; }; export declare enum SourceTaskStatus { uploading = 0, progress = 1, checking = 2, success = 3, completed_success = 4, completed_error = 5 } export type SceneSourceTask = { taskID?: number; sourceID?: string; status?: SourceTaskStatus; message?: string; downloadProgress?: number; uploadProgress?: number; sceneSourceInfo: SceneSourceInfo; }; export type MeshSelectedEventArgs = { id: string; name: string; scenePointerX: number; scenePointerY: number; screenPointerX: number; screenPointerY: number; }; export type UploadSceneFileInfo = { sceneID: string; fileObjectID?: number | null | undefined; fileLength?: number | null | undefined; url: string; rootUrl: string; sceneFileName: string; manifestFileObjectID?: number | null | undefined; manifestFileLength?: number | null | undefined; manifestFileUrl?: string | null | undefined; incrementalsFileObjectID?: number | null | undefined; incrementalsFileLength?: number | null | undefined; incrementalsFileUrl?: string | null | undefined; }; export type ProvidersTypesMapping = { list: { [key: string]: number; }; }; export type MaterialType = 'Standard' | 'PBRMetallicRoughness' | 'PBRSpecularGlossiness' | 'PBR' | 'NewPBR'; export type LightType = 'Point' | 'Directional' | 'Spot' | 'Hemispheric'; export type ObjectSizeType = 'width' | 'height' | 'depth'; export type PreUpdateEventHandler = () => void; export type PostUpdateEventHandler = () => void; export type MeshSelectedEventHandler = (evt: MeshSelectedEventArgs) => void; export type SelectionChangedEventHandler = () => void; export type SceneCreatedEventHandler = () => void; export type CameraLocationCreatedEventHandler = (evt: Zakeke.SceneCameraLocation) => void; export type SceneSourceTaskSuccessEventHandler = (evt: BABYLON.AbstractMesh[]) => void; export type SceneSourceTaskErrorEventHandler = (evt?: number) => void; export type SceneSourceTaskCheckEventHandler = () => void; export type MeshesUpdateEventHandler = (evt: BABYLON.AbstractMesh[]) => void; export type MaterialsUpdateEventHandler = (evt: MaterialGroup[]) => void; export type LightsUpdateEventHandler = (evt: BABYLON.Light[]) => void; export type CameraLocationsUpdateEventHandler = (evt: Zakeke.SceneCameraLocation[]) => void; export type MeshLocationCreatedEventHandler = (evt: Zakeke.SceneMeshLocation) => void; export type MeshLocationsUpdateEventHandler = (evt: Zakeke.SceneMeshLocation[]) => void; export type ArTaskSuccessEventHandler = () => void; export type ArTaskErrorEventHandler = () => void; export type ArTasksCheckEventHandler = () => void; export type TryOnTaskUpdateFineTuningSettingsEventHandler = (evt: TryOnFineTuningSettings) => void; export type TryOnTaskCloseFineTuningEventHandler = () => void; export declare class SceneEditor extends SceneViewer implements ISceneEditor, IDisposable { private _dracoEnabled; private _dracoEncodingSpeed; private _dracoDecodingSpeed; private _envMode; private _selectOnPick; private _showBoundingBox; private _editorBackgroundColor; private _showGround; private _ground; private _showLights; private _lightsLayer; private _showAxes; private _axesLayer; private _showFineTuning; private _fineTuningModelLoaded; private _showHighlight; private _highlightOver; private _highlightOverColor; private _editingMode; private _manipulatedNode; private _oldManipulatedNode; private _EditControl; private _editControl; private _editControlVisible; private _shiftPressed; private _ctrlPressed; private _realMeshVisibility; private _sceneSourceTasks; private _isLoadingSourceFiles; private _preUpdateListeners; private _postUpdateListeners; private _meshSelectedListeners; private _selectionChangedListeners; private _lightSelectedListeners; private _sceneCreatedListeners; private _cameraLocationCreatedListeners; private _sceneSourceTaskSuccessListeners; private _sceneSourceTaskErrorListeners; private _sceneSourceTasksCheckListeners; private _meshesUpdateListeners; private _materialsUpdateListeners; private _lightsUpdateListeners; private _cameraLocationsUpdateListeners; private _meshLocationCreatedListeners; private _meshLocationsUpdateListeners; private _arTaskSuccessListeners; private _arTaskErrorListeners; private _arTasksCheckListeners; private _tryOnFineTuningSettingListeners; private _tryOnFineTuningCloseListeners; private _providersTypesMapping; private _pickedProvider; private _providerData; private _sessionTryOnEnabled; private _tryOnInfoLoading; private _initialMeshMaterials; private _initialSubMeshMaterials; private _lastMeshMaterials; private _lastSubMeshMaterials; private _meshOver; private _incrementalFilesMaker?; private _sceneToBlobs?; private _showMeasurements; private _modelMeasurements; private static readonly EmptyGroupName; get realMeshVisibility(): { [meshID: string]: boolean; }; get environmentManager(): Nullable; get envMode(): EnvironmentMode; get sceneSourceTasks(): SceneSourceTask[]; set envMode(value: EnvironmentMode); get selectOnPick(): boolean; set seletOnPick(value: boolean); get showBoundingBox(): boolean; set showBoundingBox(value: boolean); get editorBackgroundColor(): string; set editorBackgroundColor(value: string); get showGround(): boolean; set showGround(value: boolean); get showLights(): boolean; set showLights(value: boolean); get showAxes(): boolean; set showAxes(value: boolean); get showFineTuning(): boolean; set showFineTuning(value: boolean); set fineTuningModelLoaded(value: boolean); get fineTuningModelLoaded(): boolean; get sessionTryOnEnabled(): boolean; set sessionTryOnEnabled(value: boolean); get tryOnInfoLoading(): boolean; set tryOnInfoLoading(value: boolean); get showHighlight(): boolean; set showHighlight(value: boolean); get highlightOver(): boolean; set highlightOver(value: boolean); get highlightOverColor(): string; set highlightOverColor(value: string); get editingMode(): EditingMode; set editingMode(value: EditingMode); get editControlVisible(): boolean; set editControlVisible(value: boolean); get providersTypesMapping(): ProvidersTypesMapping; set providersTypesMapping(value: ProvidersTypesMapping); get selectedProvider(): TryOnProvider; get selectedProviderFineTuningData(): FineTuningProviderData; get modelMeasurements(): BABYLON.Vector3; set modelMeasurements(value: BABYLON.Vector3); get showMeasurements(): boolean; fireHideMeasurementsEvent(): void; fireShowMeasurementsEvent(): void; protected constructor(options?: SceneEditorOptions); static createSceneEditorAsync(options?: SceneEditorOptions): Promise; protected createCanvas(): HTMLCanvasElement; protected deleteComponents(): void; dispose(): void; protected createEngine(): void; createEmptySceneAsync(): Promise; protected setupSceneAsync(): Promise; render(): void; private deleteHighlightLayer; protected setupAntialiasPostProcesses(): void; protected canEnableAntialiasing(): boolean; protected setupHighlightLayerIntensity(): void; protected setupAxes(): void; getMatchSameNameTextures(): boolean; setMatchSameNameTextures(value: boolean): void; getAREnabled(): boolean; setAREnabled(value: boolean): void; getAROnTheFly(): boolean; setAROnTheFly(value: boolean): void; setARAnchor(value: 'wall' | 'floor' | null): void; getTryOnEnabled(): boolean; setTryOnEnabled(value: boolean): void; setTryOnSelectedType(value: TryOnType): void; getForceDracoCompression(): boolean; setForceDracoCompression(value: boolean): void; setProvider(provider: TryOnProvider): void; setProviderFineTuningData(data: FineTuningProviderData): void; resetProviderFineTuningData(): void; getTryOnSelectedType(): TryOnType | null; getTryOnSetting(key: TryOnSettingsType): boolean; setTryOnSetting(key: TryOnSettingsType, value: any): void; setTryOnTypeSettings(settings: TryOnSettings): void; setTryOnDefaultTypeSettings(): void; getUseDelayedMaterialLoading(): boolean; setUseDelayedMaterialLoading(value: boolean): void; getUseDelayedTextureLoading(): boolean; setUseDelayedTextureLoading(value: boolean): void; getGlowEnabled(): boolean; setGlowEnabled(enabled: boolean): void; getGlowIntensity(): number; setGlowIntensity(intensity: number): void; getGlowBlurSize(): number; setGlowBlurSize(blurSize: number): void; getInfoPointsEnabled(): boolean; setInfoPointsEnabled(value: boolean): void; getInfoPointsBorderColor(): string; setInfoPointsBorderColor(value: string): void; getInfoPointsInnerPointColor(): string; setInfoPointsInnerPointColor(value: string): void; getInfoPointsColor(): string; setInfoPointsColor(value: string): void; getInfoPointsHighlightColor(): string; setInfoPointsHighlightColor(value: string): void; enableGlowForMesh(mesh: BABYLON.AbstractMesh): void; disableGlowForMesh(mesh: BABYLON.AbstractMesh): void; enableARForMesh(mesh: BABYLON.AbstractMesh): void; disableARForMesh(mesh: BABYLON.AbstractMesh): void; disableTryOnForMesh(mesh: BABYLON.AbstractMesh): void; enableTryOnForMesh(mesh: BABYLON.AbstractMesh): void; enableInfoPointsForMesh(mesh: BABYLON.AbstractMesh): void; disableInfoPointsForMesh(mesh: BABYLON.AbstractMesh): void; enableForcedInfoPointsVisibilityOnMesh(mesh: BABYLON.AbstractMesh): void; disableForcedInfoPointsVisibilityOnMesh(mesh: BABYLON.AbstractMesh): void; setEditorBackgroundColor(hexColor: string): void; setViewerBackgroundAlpha(alpha: number): void; setViewerBackgroundColor(hexColor: string): void; setViewerEnvironmentSizeAuto(sizeAuto: boolean): void; setViewerEnvironmentMainColor(hexColor: string): void; setViewerSkyboxCreateSkybox(createSkybox: boolean): void; setViewerSkyboxSize(size: number): void; setViewerSkyboxBlur(blur: number): void; setViewerSkyboxTexture(url: string, extensions?: string[], files?: string[]): void; removeViewerSkyboxTexture(): void; setViewerSkyboxColor(hexColor: string): void; setViewerGroundCreateGround(createGround: boolean): void; setViewerGroundSize(size: number): void; setViewerGroundTexture(url: string): void; removeViewerGroundTexture(): void; setViewerGroundColor(hexColor: string): void; setViewerGroundOpacity(opacity: number): void; setViewerGroundEnableShadow(enableShadow: boolean): void; setViewerGroundShadowLevel(shadowLevel: number): void; setViewerGroundEnableMirror(enableMirror: boolean): void; setViewerGroundMirrorBlur(mirrorBlur: number): void; setViewerCameraAutoRotate(autoRotate: boolean): void; setViewerCameraContrast(contrast: number): void; setViewerCameraExposure(exposure: number): void; setViewerCameraUpperAlphaLimit(alphaLimit: number): void; setViewerCameraLowerAlphaLimit(alphaLimit: number): void; setViewerCameraLowerBetaLimit(betaLimit: number | null): void; setViewerCameraUpperBetaLimit(betaLimit: number): void; setViewerCameraToneMappingEnabled(toneMappingEnabled: boolean): void; resetEditorEnvironment(): void; protected resetEditorBackground(): void; protected resetEditorCamera(): void; protected preSceneContentScreenshot(): void; protected postSceneContentScreenshot(): void; protected preSceneMaterialScreenshot(): void; protected postSceneMaterialScreenshot(): void; sceneReadyForSave(): boolean; isCurrentCameraPivot(meshID: string): boolean | null; getCurrentCameraPivotID(): Nullable; setCameraPivot(meshID: string | null | undefined): void; private getBlobFromEmbeddedTextureAsync; private uploadEmbeddedTexturesAsync; protected useIncrementalLoading(): boolean; updateSceneModel(onSuccess: () => void, onError?: (reason: string) => void, onProgress?: (perc: number, type?: string) => void, options?: { forceDraco?: boolean; }): void; private onUploadScenFileSuccess; private uploadSceneFile; private getSceneFileBlobsAsync; getSceneJson(): string; private resetCameraRotationLimits; private setCameraRotationLimits; private adjustSceneForSerialization; private extractTextureNameAndUrl; private removeDisabledFresnelParameters; private uploadSceneIncrementalFiles; private getSceneIncrementalFilesAsync; setNewSceneModelAsync(zkModel: MPlaza.Model, zkScene: Zakeke.Scene): Promise; getSceneConfig(): Zakeke.SceneConfig | null; protected preSceneFileLoading(): void; protected postSceneFileLoading(): void; removeAllVTOReferenceMeshes(meshes: BABYLON.AbstractMesh[]): BABYLON.Mesh[]; hideAllVTOFiles(meshes: BABYLON.AbstractMesh[]): void; loadSceneSourceFiles(files?: File[] | string, onSuccess?: (task: SceneSourceTask) => void, onError?: (reason: string) => void): void; private checkSceneSourceTasks; private updateSceneModelFromSourceTask; private loadMeshesFromRemoteFiles; private loadMeshesFromRemoteFiles_OLD; isRealMesh(mesh: BABYLON.AbstractMesh): boolean; onMeshChanged(evt: { mesh: BABYLON.AbstractMesh; }): void; onSubMeshChanged(evt: { mesh: BABYLON.AbstractMesh; subMesh: BABYLON.SubMesh; }): void; onMaterialChanged(evt: { material: BABYLON.Material; }): void; onLightChanged(evt: { light: BABYLON.Light; }): void; getSceneMeshesByName(name: string): BABYLON.AbstractMesh[]; getSceneMeshes(): BABYLON.AbstractMesh[]; getMeshesUsingMaterial(materialID: string): BABYLON.AbstractMesh[]; getMeshesMaterials(meshes: BABYLON.AbstractMesh[]): BABYLON.Material[]; getMeshMaterials(mesh: BABYLON.AbstractMesh): BABYLON.Material[]; getAllMaterials(): BABYLON.Material[]; getGroupedMaterials(): MaterialGroup[]; setMaterialsGroup(materialIDs: string[], groupName: string, fireEvent?: boolean): void; setMaterialGroup(materialID: string, groupName: string, fireEvent?: boolean): void; getMaterialGroup(materialID: string): string; removeMaterialGroup(materialID: string): void; getMaterialsByGroup(groupName: string | undefined | null): BABYLON.Material[]; getGroupCenter(parent: BABYLON.AbstractMesh): Nullable; getGroupBoundingInfo(parent: BABYLON.AbstractMesh): BABYLON.BoundingInfo; showHideBoundingBox(show: any): void; updateBoundingBox(): void; deleteBoundingBox(): void; setCameraPositionScale(scale: number): void; setCameraLimitLowerRadius(limit: boolean): void; setCameraZoomEnabled(enabled: boolean): void; setCameraUseMinZoomPercentage(value: boolean): void; setCameraMinZoomPercentage(value: number): void; setCameraUseMaxZoomPercentage(value: boolean): void; setCameraMaxZoomPercentage(value: number): void; lockCameraAlphaAngle(): void; unlockCameraAlphaAngle(): void; lockCameraBetaAngle(): void; unlockCameraBetaAngle(): void; setCameraLowerAlphaLimit(): void; unsetCameraLowerAlphaLimit(): void; setCameraUpperAlphaLimit(): void; unsetCameraUpperAlphaLimit(): void; setCameraLowerBetaLimit(): void; unsetCameraLowerBetaLimit(): void; setCameraUpperBetaLimit(): void; unsetCameraUpperBetaLimit(): void; selectMesh(id: string): void; unselectMesh(id: string): void; unselectAllMeshes(): void; selectUnselectMesh(id: string, select: boolean): void; selectSingleMesh(mesh: BABYLON.AbstractMesh): void; unselectSingleMesh(mesh: any): void; isMeshSelected(mesh: BABYLON.AbstractMesh): boolean; showMesh(meshID: string): void; hideMesh(meshID: string): void; showHideMesh(meshID: string, show: boolean, notifyChanges?: boolean): void; setTemporaryExclusivelyVisible(meshID: string): void; resetRealVisibility(): void; changeMaterialColor(material: BABYLON.Material, propertyName: string, nextColor: BABYLON.Color3): void; renameMesh(id: string, name: string): void; protected firePreUpdateEvent(): void; addPreUpdateListener(listenerFunction: PreUpdateEventHandler): void; removePreUpdateListener(listenerFunction: PreUpdateEventHandler): void; protected firePostUpdateEvent(): void; addPostUpdateListener(listenerFunction: PostUpdateEventHandler): void; removePostUpdateListener(listenerFunction: PreUpdateEventHandler): void; protected fireMeshSelectedEvent(e: MeshSelectedEventArgs): void; addMeshSelectedListener(listenerFunction: MeshSelectedEventHandler): void; protected fireSelectionChangedEvent(): void; addSelectionChangedListener(listenerFunction: SelectionChangedEventHandler): void; protected fireLightSelectedEvent(e: LightSelectedEventArgs): void; addLightSelectedListener(listenerFunction: LightSelectedEventHandler): void; protected fireSceneCreatedEvent(): void; addSceneCreatedListener(listenerFunction: SceneCreatedEventHandler): void; protected fireCameraLocationCreatedEvent(e: Zakeke.SceneCameraLocation): void; addCameraLocationCreatedListener(listenerFunction: CameraLocationCreatedEventHandler): void; protected fireCameraLocationsUpdateEvent(locations?: Zakeke.SceneCameraLocation[]): void; addCameraLocationsUpdateListener(listenerFunction: CameraLocationsUpdateEventHandler): void; protected fireSceneSourceTaskSuccessEvent(meshes: BABYLON.AbstractMesh[]): void; addSceneSourceTaskSuccessListener(listenerFunction: SceneSourceTaskSuccessEventHandler): void; protected fireSceneSourceTaskErrorEvent(taskID?: number): void; addSceneSourceTaskErrorListener(listenerFunction: SceneSourceTaskErrorEventHandler): void; removeSceneSourceTaskErrorListener(listenerFunction: SceneSourceTaskErrorEventHandler): void; protected fireSceneSourceTaskCheckEvent(): void; addSceneSourceTaskCheckListener(listenerFunction: SceneSourceTaskCheckEventHandler): void; protected fireMeshesUpdateEvent(meshes?: BABYLON.AbstractMesh[]): void; addMeshesUpdateListener(listenerFunction: MeshesUpdateEventHandler): void; protected fireMaterialsUpdateEvent(materials?: MaterialGroup[]): void; addMaterialsUpdateListener(listenerFunction: MaterialsUpdateEventHandler): void; protected fireLightsUpdateEvent(lights?: BABYLON.Light[]): void; addLightsUpdateListener(listernerFunction: LightsUpdateEventHandler): void; protected fireMeshLocationCreatedEvent(location: Zakeke.SceneMeshLocation): void; addMeshLocationCreatedListener(listenerFunction: MeshLocationCreatedEventHandler): void; protected fireMeshLocationsUpdateEvent(locations?: Zakeke.SceneMeshLocation[]): void; addMeshLocatonsUpdateListener(listenerFunction: MeshLocationsUpdateEventHandler): void; protected fireArTaskSuccessEvent(): void; addArTaskSuccessListener(listenerFunction: ArTaskSuccessEventHandler): void; protected fireArTaskErrorEvent(): void; addArTaskErrorListener(listenerFunction: ArTaskErrorEventHandler): void; protected fireArTaskCheckEvent(): void; addArTaskCheckListener(listenerFunction: ArTasksCheckEventHandler): void; fireFineTuningSettingEvent(settings: TryOnFineTuningSettings): void; addFineTuningSettingListener(listenerFunction: TryOnTaskUpdateFineTuningSettingsEventHandler): number; removeFineTuningSettingListener(listenerIndex: number): void; removeAllFineTuningSettingListeners(): void; fireFineTuningCloseEvent(): void; addFineTuningCloseListener(listenerFunction: TryOnTaskCloseFineTuningEventHandler): void; clearListeners(): void; protected onPointerDown(evt: PointerEvent, pickInfo: BABYLON.PickingInfo): void; protected onPointerMove(evt: BABYLON.IPointerEvent, pickInfo: BABYLON.PickingInfo): void; getSubMesh(mesh: BABYLON.AbstractMesh, submeshIdx: number): Nullable; getLightByID(id: string): Nullable; applyMaterialByName(name: string, mesh: BABYLON.AbstractMesh): void; applyMaterial(material: BABYLON.Material, mesh: BABYLON.AbstractMesh): void; applyMaterialToSubMeshByName(name: string, mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): void; applyMaterialToSubMesh(material: BABYLON.Material, mesh: Nullable, subMesh: BABYLON.SubMesh): void; resetMeshMaterial(mesh: BABYLON.AbstractMesh, initial: boolean): void; resetSubMeshMaterial(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, initial: boolean): void; getExtension(name: string): string | undefined; loadMobileTextureFilesAsync(filesToLoad: File[], material: Nullable, type: string, noMipMap: boolean): Promise; getDAMMainMesh(): BABYLON.Mesh | undefined; loadMobileTextureFiles(filesToLoad: File[], material: Nullable, type: string, noMipMap: boolean, onSuccess?: () => void, onError?: (reason: any) => void): void; loadTextureFilesAsync(filesToLoad: File[], material: Nullable, type: string, noMipMap: boolean): Promise; loadTextureFiles(filesToLoad: File[], material: Nullable, type: string, noMipMap: boolean, onSuccess?: () => void, onError?: (reason: any) => void): void; getRecursiveBoundingBox(mesh: BABYLON.AbstractMesh): BABYLON.BoundingBox; calculateRecursiveBoundingBox(mesh: BABYLON.AbstractMesh): void; calculateBoundingBox(meshes: BABYLON.AbstractMesh[]): number; checkMeshHiddenByMeshes(meshes: BABYLON.AbstractMesh[], referenceMesh: BABYLON.AbstractMesh[], maxThreshold: number, minThreshold: number): number; uploadTextureFileAsync(fileToLoad: File, material: Nullable): Promise>; uploadTextureFiles(filesToLoad: File[], material: Nullable, type: string, onSuccess?: (zkSceneTextures: Zakeke.SceneTexture[]) => void, onError?: (reason: any) => void, resize?: boolean): void; protected getTexturesUploadUrl(materialID: string): string; removeAllMaterialPhotos(material: BABYLON.Material): void; removeMaterialPhotoAtIndex(material: BABYLON.Material, index: number): void; loadMaterialPhotoFiles(filesToLoad: File[], material: BABYLON.Material, onSuccess?: () => void, onError?: (reason: any) => void): void; uploadMaterialPhotoFiles(filesToLoad: File[], material: BABYLON.Material, onSuccess?: (zkSceneMaterialPhotos: Zakeke.SceneMaterialPhoto[]) => void, onError?: (reason: any) => void): void; protected getMaterialPhotosUploadUrl(materialID: string): string; protected canLoadCubemap(material: Nullable, type: string): boolean; setEnvironmentTexture(url: string, type: string, extensions?: string[], files?: string[], onLoad?: () => void): void; removeSceneEnvironmentTexture(): void; setSceneEnvironmentTextureRotationY(rotationY: number): void; private setTextureImage; private setCubeTextureImages; private setMobileTextureImage; private setMobileCubeTextureImages; private getCubeTextureInfo; isTextureUsed(texture: BABYLON.BaseTexture): boolean; changeTextureInvertYAsync(material: BABYLON.Material, type: string, invertY: boolean): Promise; applyTextureByName(name: string, material: BABYLON.Material, type: string): void; applyTexture(texture: Nullable, material: BABYLON.Material, type: string): void; getMaterialTexture(material: BABYLON.Material, type: string): Nullable; removeMaterialTexture(material: BABYLON.Material, type: string): void; removeMaterialMobileTexture(material: BABYLON.Material, type: string): void; /** * Create a group of meshes * @param parentId Id of the parent node of the group * @param name Name of the group * @param children Array of meshes to be included in the group */ createGroup(parentId: Nullable, name: string, children?: BABYLON.AbstractMesh[]): Nullable; deleteMesh(meshID: string, removeMaterials: boolean): { meshIDs: string[]; materialIDs: string[]; }; deleteAllMeshes(): void; deleteDuplicatedMeshesWithDifferentParent(parentID: string, removeMaterials: boolean): { meshIDs: string[]; materialIDs: string[]; }; deleteDuplicatedChildMeshes(parentID: string, removeMaterials: boolean): { meshIDs: string[]; materialIDs: string[]; }; deleteMaterial(materialID: string): void; private deleteMaterialInternal; deleteAllMaterials(): void; renameMaterial(id: string, name: string): void; cloneMesh(id: string): Nullable; duplicateMesh(id: string, updatable?: boolean): Nullable; cloneMaterial(id: string, newId?: string, newName?: string): Nullable; createMaterial(name?: string, type?: MaterialType, group?: string): Nullable; changeMeshParent(meshID: string, newParentID: string): void; removeMeshParent(meshID: any): void; protected setManipulatedNode(node: Nullable): void; importLibraryMaterial(zkMaterial: Zakeke.Material): void; getTexturesForMaterial(material: BABYLON.Material): BABYLON.BaseTexture[]; getStandardMaterialTextures(material: BABYLON.StandardMaterial): BABYLON.BaseTexture[]; getPBRBaseSimpleMaterialTextures(material: BABYLON.PBRBaseSimpleMaterial): BABYLON.BaseTexture[]; getPBRMaterialTextures(material: BABYLON.PBRMaterial): BABYLON.BaseTexture[]; getNewPBRMaterialTextures(material: Zakeke.PBRMaterial): BABYLON.BaseTexture[]; getPBRMetallicRoughnessMaterialTextures(material: BABYLON.PBRMetallicRoughnessMaterial): BABYLON.BaseTexture[]; getPBRSpecularGlossinessMaterialTextures(material: BABYLON.PBRSpecularGlossinessMaterial): BABYLON.BaseTexture[]; removeCameraLocation(cameraLocation: Zakeke.SceneCameraLocation): void; saveCameraLocation(name: string): void; clearCameraLocations(): void; getAllCameraLocations(): Zakeke.SceneCameraLocation[]; saveMeshLocation(name: string): void; saveExplodedMeshLocation(): void; saveCollapsedMeshLocation(): void; protected onBeforeSaveMeshLocation(): void; protected onAfterSaveMeshLocation(): void; clearMeshLocations(): void; getAllMeshLocations(): Zakeke.SceneMeshLocation[]; makeLibraryMaterial(id: string, name: string): Promise; private getMaterialScreenShotForLibrary; private createLibraryMaterial; lightsLayer_onLightSelected(event: LightSelectedEventArgs): void; isDefaultLight(light: BABYLON.Light): boolean; createLight(name?: string, type?: LightType): Nullable; cloneLight(id: string, newId?: string, newName?: string): Nullable; renameLight(id: string, name: string): void; deleteLight(id: string): void; getAllLights(): BABYLON.Light[]; canShowLights(): boolean; showHideLights(show: boolean): void; canShowGround(): boolean; removeGround(): void; refreshGround(): void; showHideGround(show: boolean): void; canShowAxes(): boolean; showHideAxes(show: boolean): void; showHideHighlight(show: boolean): void; setHighlightOver(highlight: boolean): void; highlightMesh(mesh: Nullable, highlight: boolean): void; highlightMeshOver(highlight: boolean): void; showHideEditControl(show: boolean): void; setEditingMode(mode: EditingMode): void; undoEditing(): void; redoEditing(): void; setEnvironmentMode(newMode: EnvironmentMode): void; refreshEnvironment(): void; zoomOnMesh(mesh: BABYLON.AbstractMesh): void; moveCameraToMeshPosition(mesh: BABYLON.AbstractMesh): void; exportMeshToOBJ(meshID: string): void; exportMeshGeometryToJson(meshID: string): void; enableDisableARForMesh(meshID: string, value: boolean): void; isAREnabledForMesh(meshID: string): any; enableDisableTryOnForMesh(meshID: string, value: boolean): void; isTryOnEnabledForMesh(meshID: string): any; splitSubMeshes(meshID: string): void; flipMeshFaces(meshID: string): void; convertSceneToScreenPoint(sceneX: number, sceneY: number): Nullable<{ X: number; Y: number; }>; saveTextAsFile(text: string, filename: string): void; saveBytesAsFile(data: ArrayBuffer, filename: string): void; saveBlobAsFile(blob: Blob, filename: string, mimetype: string): void; private downloadFile; exportDracoEncodedToFile(meshID: string): void; getDracoEncodedGeometry(originalMesh: BABYLON.AbstractMesh): Nullable; createCustomMesh(): Nullable; createBox(parentID: Nullable, name: string): Nullable; getSceneBoundingBox(): Nullable; getOrCreateSceneBoundingBox(visible?: boolean): Nullable; createSceneBoundingBox(visible?: boolean): Nullable; createBoundingBox(meshID: Nullable, name?: string, visible?: boolean): BABYLON.Mesh | null; createSphere(parentID: Nullable, name?: string): Nullable; createPlane(parentID: Nullable, name?: string): Nullable; createDisc(parentID: Nullable, name?: string): Nullable; createCylinder(parentID: Nullable, name?: string): Nullable; createTorus(parentID: Nullable, name?: string): Nullable; createKnot(parentID: Nullable, name?: string): Nullable; createRibbon(parentID: Nullable, name?: string): Nullable; createRoundedCubeAsync(parentID: Nullable, name: string): Promise; createRoundedCylinderAsync(parentID: Nullable, name: string): Promise; createMatBallAsync(parentID: Nullable, name: string): Promise; createMaleHeadAsync(parentID: Nullable, name: string): Promise; createFemaleHeadAsync(parentID: Nullable, name: string): Promise; createPokemonBallAsync(parentID: Nullable, name: string): Promise; createShaderBallAsync(parentID: Nullable, name: string): Promise; createBootsAsync(parentID: Nullable, name: string): Promise; createSuzanneAsync(parentID: Nullable, name: string): Promise; createStepPyramidAsync(parentID: Nullable, name: string): Promise; createTeapotAsync(parentID: Nullable, name: string): Promise; createAlloyWheelAsync(parentID: Nullable, name: string): Promise; createTryonReferenceGlassesFrameAsync(parentID: Nullable, name: string): Promise; createTryOnReferenceModelsAsync(parentID: Nullable, name: string, filename: string): Promise; importMeshesFromUrlAsync(parentID: Nullable, url: string): Promise; connectMeshToModelSideAsync(meshID: string, submeshID: number, sideID: number): Promise; clearMeshDesignManagers(): void; getMeshDesignMananger(mesh: BABYLON.Mesh, subMesh: Nullable): Nullable; translateDesignView(mesh: BABYLON.AbstractMesh, submesh: Nullable, dx: number, dy: number): void; rotateDesignView(mesh: BABYLON.AbstractMesh, submesh: Nullable, angle: number, centerX: number, centerY: number): void; scaleDesignView(mesh: BABYLON.AbstractMesh, submesh: Nullable, hor: number, ver: number, centerX: number, centerY: number): void; setDesignViewTextureUVChannelAsync(mesh: BABYLON.AbstractMesh, submesh: Nullable, uvChannel: number): Promise; setDesignViewFormFactorAsync(mesh: BABYLON.AbstractMesh, submesh: Nullable, percWidth: number, percHeight: number): Promise; setSceneSizeCm(size: number | null, sizeType: ObjectSizeType): void; getSceneWidthCm(): Nullable; getSceneHeightCm(): Nullable; getSceneDepthCm(): Nullable; setMeshSizeCm(meshId: string, size: number | null, sizeType: ObjectSizeType): void; getMeshWidthCm(meshID: string): Nullable; getMeshHeightCm(meshID: string): Nullable; getMeshDepthCm(meshID: string): Nullable; getMaterialsPreviewsAsync(materialIDs: string[], width?: number, height?: number, crop?: boolean, createBlobs?: boolean): Promise<(Blob | string)[]>; getAllMaterialsPreviewsAsync(width?: number, height?: number, crop?: boolean, createBlobs?: boolean): Promise<(Blob | string)[]>; downloadMaterialsPreviewsAsync(materialIDs: string[], width?: number, height?: number, crop?: boolean): Promise; downloadAllMaterialsPreviewsAsync(width?: number, height?: number, crop?: boolean): Promise; createEnvelopeMesh(meshID: string): Nullable; expandMesh(meshID: string, delta: number): void; enableDisableMeshFacetData(meshID: string, enable: boolean): void; enableDisableDepthSortFacets(meshID: string, enable: boolean): void; }