|
@@ -1,11 +1,12 @@
|
|
|
/// <reference path="./babylon.d.ts"/>
|
|
|
/// <reference path="./babylon.glTF2Interface.d.ts"/>
|
|
|
/// <reference path="./babylonjs.loaders.d.ts"/>
|
|
|
+declare module "babylonjs-loaders"{ export=BABYLON;}
|
|
|
|
|
|
// Generated by dts-bundle v0.7.3
|
|
|
// Dependencies for this module:
|
|
|
-// ../../Tools/Gulp/babylonjs
|
|
|
-// ../../Tools/Gulp/babylonjs-loaders
|
|
|
+// ../../tools/Gulp/babylonjs
|
|
|
+// ../../tools/Gulp/babylonjs-loaders
|
|
|
|
|
|
declare module 'babylonjs-viewer' {
|
|
|
import { mapperManager } from 'babylonjs-viewer/configuration/mappers';
|
|
@@ -145,7 +146,7 @@ declare module 'babylonjs-viewer/viewer/viewerManager' {
|
|
|
}
|
|
|
|
|
|
declare module 'babylonjs-viewer/viewer/defaultViewer' {
|
|
|
- import { ViewerConfiguration } from 'babylonjs-viewer/configuration/configuration';
|
|
|
+ import { ViewerConfiguration, IModelConfiguration } from 'babylonjs-viewer/configuration/configuration';
|
|
|
import { Template } from 'babylonjs-viewer/templateManager';
|
|
|
import { AbstractViewer } from 'babylonjs-viewer/viewer/viewer';
|
|
|
import { ViewerModel } from 'babylonjs-viewer/model/viewerModel';
|
|
@@ -185,7 +186,7 @@ declare module 'babylonjs-viewer/viewer/defaultViewer' {
|
|
|
* The scene will automatically be cleared of the old models, if exist.
|
|
|
* @param model the configuration object (or URL) to load.
|
|
|
*/
|
|
|
- loadModel(model?: any): Promise<ViewerModel>;
|
|
|
+ loadModel(model?: string | IModelConfiguration): Promise<ViewerModel>;
|
|
|
/**
|
|
|
* Show the overlay and the defined sub-screen.
|
|
|
* Mainly used for help and errors
|
|
@@ -517,7 +518,7 @@ declare module 'babylonjs-viewer/loader/modelLoader' {
|
|
|
}
|
|
|
|
|
|
declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
- import { ISceneLoaderPlugin, ISceneLoaderPluginAsync, AnimationGroup, AbstractMesh, Observable, SceneLoaderProgressEvent, ParticleSystem, Skeleton, IDisposable, Nullable } from "babylonjs";
|
|
|
+ import { ISceneLoaderPlugin, ISceneLoaderPluginAsync, AnimationGroup, AbstractMesh, Observable, SceneLoaderProgressEvent, ParticleSystem, Skeleton, IDisposable, Nullable, Animation } from "babylonjs";
|
|
|
import { GLTF2 } from "babylonjs-loaders";
|
|
|
import { IModelConfiguration } from "babylonjs-viewer/configuration/configuration";
|
|
|
import { IModelAnimation } from "babylonjs-viewer/model/modelAnimation";
|
|
@@ -526,8 +527,11 @@ declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
INIT = 0,
|
|
|
LOADING = 1,
|
|
|
LOADED = 2,
|
|
|
- CANCELED = 3,
|
|
|
- ERROR = 4,
|
|
|
+ ENTRY = 3,
|
|
|
+ ENTRYDONE = 4,
|
|
|
+ COMPLETE = 5,
|
|
|
+ CANCELED = 6,
|
|
|
+ ERROR = 7,
|
|
|
}
|
|
|
/**
|
|
|
* The viewer model is a container for all assets representing a sngle loaded model.
|
|
@@ -572,6 +576,10 @@ declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
exception: any;
|
|
|
}>;
|
|
|
/**
|
|
|
+ * Will be executed after the model finished loading and complete, including entry animation and lod
|
|
|
+ */
|
|
|
+ onCompleteObservable: Observable<ViewerModel>;
|
|
|
+ /**
|
|
|
* Observers registered here will be executed every time the model is being configured.
|
|
|
* This can be used to extend the model's configuration without extending the class itself
|
|
|
*/
|
|
@@ -590,6 +598,7 @@ declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
* Set whether this model is enabled or not.
|
|
|
*/
|
|
|
enabled: boolean;
|
|
|
+ loaderDone: boolean;
|
|
|
/**
|
|
|
* Get the viewer showing this model
|
|
|
*/
|
|
@@ -606,7 +615,6 @@ declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
* get the list of meshes (excluding the root mesh)
|
|
|
*/
|
|
|
readonly meshes: AbstractMesh[];
|
|
|
- get: any;
|
|
|
/**
|
|
|
* (Re-)set the model's entire configuration
|
|
|
* @param newConfiguration the new configuration to replace the new one
|
|
@@ -644,6 +652,19 @@ declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
*/
|
|
|
playAnimation(name: string): IModelAnimation;
|
|
|
/**
|
|
|
+ * Begin @animations with the specified @easingFunction
|
|
|
+ * @param animations The BABYLON Animations to begin
|
|
|
+ * @param duration of transition, in seconds
|
|
|
+ * @param easingFunction An easing function to apply
|
|
|
+ * @param easingMode A easing mode to apply to the easingFunction
|
|
|
+ * @param onAnimationEnd Call back trigger at the end of the animation.
|
|
|
+ */
|
|
|
+ transitionTo(animations: Animation[], duration: number, easingFunction: any, easingMode: number | undefined, onAnimationEnd: () => void): void;
|
|
|
+ /**
|
|
|
+ * Stops and removes all animations that have been applied to the model
|
|
|
+ */
|
|
|
+ stopAllAnimations(): void;
|
|
|
+ /**
|
|
|
* Will remove this model from the viewer (but NOT dispose it).
|
|
|
*/
|
|
|
remove(): void;
|
|
@@ -655,18 +676,18 @@ declare module 'babylonjs-viewer/model/viewerModel' {
|
|
|
}
|
|
|
|
|
|
declare module 'babylonjs-viewer/model/modelAnimation' {
|
|
|
- import { AnimationGroup } from "babylonjs";
|
|
|
+ import { AnimationGroup, Vector3 } from "babylonjs";
|
|
|
/**
|
|
|
* Animation play mode enum - is the animation looping or playing once
|
|
|
*/
|
|
|
- export enum AnimationPlayMode {
|
|
|
+ export const enum AnimationPlayMode {
|
|
|
ONCE = 0,
|
|
|
LOOP = 1,
|
|
|
}
|
|
|
/**
|
|
|
* An enum representing the current state of an animation object
|
|
|
*/
|
|
|
- export enum AnimationState {
|
|
|
+ export const enum AnimationState {
|
|
|
INIT = 0,
|
|
|
PLAYING = 1,
|
|
|
PAUSED = 2,
|
|
@@ -674,6 +695,46 @@ declare module 'babylonjs-viewer/model/modelAnimation' {
|
|
|
ENDED = 4,
|
|
|
}
|
|
|
/**
|
|
|
+ * The different type of easing functions available
|
|
|
+ */
|
|
|
+ export const enum EasingFunction {
|
|
|
+ Linear = 0,
|
|
|
+ CircleEase = 1,
|
|
|
+ BackEase = 2,
|
|
|
+ BounceEase = 3,
|
|
|
+ CubicEase = 4,
|
|
|
+ ElasticEase = 5,
|
|
|
+ ExponentialEase = 6,
|
|
|
+ PowerEase = 7,
|
|
|
+ QuadraticEase = 8,
|
|
|
+ QuarticEase = 9,
|
|
|
+ QuinticEase = 10,
|
|
|
+ SineEase = 11,
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * Defines a simple animation to be applied to a model (scale).
|
|
|
+ */
|
|
|
+ export interface ModelAnimationConfiguration {
|
|
|
+ /**
|
|
|
+ * Time of animation, in seconds
|
|
|
+ */
|
|
|
+ time: number;
|
|
|
+ /**
|
|
|
+ * Scale to apply
|
|
|
+ */
|
|
|
+ scaling?: Vector3;
|
|
|
+ /**
|
|
|
+ * Easing function to apply
|
|
|
+ * See SPECTRE.EasingFunction
|
|
|
+ */
|
|
|
+ easingFunction?: number;
|
|
|
+ /**
|
|
|
+ * An Easing mode to apply to the easing function
|
|
|
+ * See BABYLON.EasingFunction
|
|
|
+ */
|
|
|
+ easingMode?: number;
|
|
|
+ }
|
|
|
+ /**
|
|
|
* This interface can be implemented to define new types of ModelAnimation objects.
|
|
|
*/
|
|
|
export interface IModelAnimation {
|
|
@@ -854,7 +915,8 @@ declare module 'babylonjs-viewer/initializer' {
|
|
|
|
|
|
declare module 'babylonjs-viewer/configuration/configuration' {
|
|
|
import { ITemplateConfiguration } from 'babylonjs-viewer/templateManager';
|
|
|
- import { EngineOptions, IGlowLayerOptions } from 'babylonjs';
|
|
|
+ import { EngineOptions, IGlowLayerOptions, DepthOfFieldEffectBlurLevel } from 'babylonjs';
|
|
|
+ export function getConfigurationKey(key: string, configObject: any): any;
|
|
|
export interface ViewerConfiguration {
|
|
|
version?: string;
|
|
|
extends?: string;
|
|
@@ -876,6 +938,7 @@ declare module 'babylonjs-viewer/configuration/configuration' {
|
|
|
[name: string]: boolean | ILightConfiguration;
|
|
|
};
|
|
|
engine?: {
|
|
|
+ renderInBackground?: boolean;
|
|
|
antialiasing?: boolean;
|
|
|
disableResize?: boolean;
|
|
|
engineOptions?: EngineOptions;
|
|
@@ -917,7 +980,12 @@ declare module 'babylonjs-viewer/configuration/configuration' {
|
|
|
};
|
|
|
};
|
|
|
hideLoadingDelay?: number;
|
|
|
- environmentAssetsRootURL?: string;
|
|
|
+ assetsRootURL?: string;
|
|
|
+ environmentMainColor?: {
|
|
|
+ r: number;
|
|
|
+ g: number;
|
|
|
+ b: number;
|
|
|
+ };
|
|
|
environmentMap?: {
|
|
|
/**
|
|
|
* Environment map texture path in relative to the asset folder.
|
|
@@ -932,26 +1000,60 @@ declare module 'babylonjs-viewer/configuration/configuration' {
|
|
|
*/
|
|
|
tintLevel: number;
|
|
|
};
|
|
|
- renderingPipelines?: {
|
|
|
- default?: boolean | {
|
|
|
- [propName: string]: any;
|
|
|
- };
|
|
|
- standard?: boolean | {
|
|
|
- [propName: string]: any;
|
|
|
- };
|
|
|
- ssao?: boolean | {
|
|
|
- [propName: string]: any;
|
|
|
- };
|
|
|
- ssao2?: boolean | {
|
|
|
- [propName: string]: any;
|
|
|
- };
|
|
|
- };
|
|
|
+ defaultRenderingPipelines?: boolean | IDefaultRenderingPipelineConfiguration;
|
|
|
};
|
|
|
}
|
|
|
+ /**
|
|
|
+ * Defines an animation to be applied to a model (translation, scale or rotation).
|
|
|
+ */
|
|
|
+ export interface IModelAnimationConfiguration {
|
|
|
+ /**
|
|
|
+ * Time of animation, in seconds
|
|
|
+ */
|
|
|
+ time?: number;
|
|
|
+ /**
|
|
|
+ * Scale to apply
|
|
|
+ */
|
|
|
+ scaling?: {
|
|
|
+ x: number;
|
|
|
+ y: number;
|
|
|
+ z: number;
|
|
|
+ };
|
|
|
+ /**
|
|
|
+ * Easing function to apply
|
|
|
+ * See SPECTRE.EasingFunction
|
|
|
+ */
|
|
|
+ easingFunction?: number;
|
|
|
+ /**
|
|
|
+ * An Easing mode to apply to the easing function
|
|
|
+ * See BABYLON.EasingFunction
|
|
|
+ */
|
|
|
+ easingMode?: number;
|
|
|
+ }
|
|
|
+ export interface IDefaultRenderingPipelineConfiguration {
|
|
|
+ sharpenEnabled?: boolean;
|
|
|
+ bloomEnabled?: boolean;
|
|
|
+ bloomThreshold?: number;
|
|
|
+ depthOfFieldEnabled?: boolean;
|
|
|
+ depthOfFieldBlurLevel?: DepthOfFieldEffectBlurLevel;
|
|
|
+ fxaaEnabled?: boolean;
|
|
|
+ imageProcessingEnabled?: boolean;
|
|
|
+ defaultPipelineTextureType?: number;
|
|
|
+ bloomScale?: number;
|
|
|
+ chromaticAberrationEnabled?: boolean;
|
|
|
+ grainEnabled?: boolean;
|
|
|
+ bloomKernel?: number;
|
|
|
+ hardwareScaleLevel?: number;
|
|
|
+ bloomWeight?: number;
|
|
|
+ bllomThreshold?: number;
|
|
|
+ hdr?: boolean;
|
|
|
+ samples?: number;
|
|
|
+ }
|
|
|
export interface IModelConfiguration {
|
|
|
id?: string;
|
|
|
url?: string;
|
|
|
root?: string;
|
|
|
+ file?: string;
|
|
|
loader?: string;
|
|
|
position?: {
|
|
|
x: number;
|
|
@@ -984,6 +1086,8 @@ declare module 'babylonjs-viewer/configuration/configuration' {
|
|
|
autoStart?: boolean | string;
|
|
|
playOnce?: boolean;
|
|
|
};
|
|
|
+ entryAnimation?: IModelAnimationConfiguration;
|
|
|
+ exitAnimation?: IModelAnimationConfiguration;
|
|
|
material?: {
|
|
|
directEnabled?: boolean;
|
|
|
directIntensity?: number;
|
|
@@ -1191,6 +1295,7 @@ declare module 'babylonjs-viewer/configuration/configuration' {
|
|
|
renderTarget?: ISceneOptimizerParameters;
|
|
|
mergeMeshes?: ISceneOptimizerParameters;
|
|
|
};
|
|
|
+ custom?: string;
|
|
|
}
|
|
|
export interface IObserversConfiguration {
|
|
|
onEngineInit?: string;
|
|
@@ -1550,7 +1655,7 @@ declare module 'babylonjs-viewer/templateManager' {
|
|
|
}
|
|
|
|
|
|
declare module 'babylonjs-viewer/viewer/sceneManager' {
|
|
|
- import { Scene, ArcRotateCamera, Light, SceneOptimizer, EnvironmentHelper, Color3, Observable } from 'babylonjs';
|
|
|
+ import { Scene, ArcRotateCamera, Light, SceneOptimizer, EnvironmentHelper, Color3, Observable, DefaultRenderingPipeline, Nullable } from 'babylonjs';
|
|
|
import { AbstractViewer } from 'babylonjs-viewer/viewer/viewer';
|
|
|
import { ILightConfiguration, ISceneConfiguration, ISceneOptimizerConfiguration, ICameraConfiguration, ISkyboxConfiguration, ViewerConfiguration, IGroundConfiguration, IModelConfiguration } from 'babylonjs-viewer/configuration/configuration';
|
|
|
import { ViewerModel } from 'babylonjs-viewer/model/viewerModel';
|
|
@@ -1632,6 +1737,7 @@ declare module 'babylonjs-viewer/viewer/sceneManager' {
|
|
|
* Please be careful when using labs in production.
|
|
|
*/
|
|
|
labs: ViewerLabs;
|
|
|
+ readonly defaultRenderingPipeline: Nullable<DefaultRenderingPipeline>;
|
|
|
constructor(_viewer: AbstractViewer);
|
|
|
/**
|
|
|
* Returns a boolean representing HDR support
|
|
@@ -1641,6 +1747,8 @@ declare module 'babylonjs-viewer/viewer/sceneManager' {
|
|
|
* Return the main color defined in the configuration.
|
|
|
*/
|
|
|
readonly mainColor: Color3;
|
|
|
+ readonly reflectionColor: Color3;
|
|
|
+ animationBlendingEnabled: boolean;
|
|
|
/**
|
|
|
* Should shadows be rendered every frame, or only once and stop.
|
|
|
* This can be used to optimize a scene.
|
|
@@ -1649,19 +1757,18 @@ declare module 'babylonjs-viewer/viewer/sceneManager' {
|
|
|
* @param process if true shadows will be updated once every frame. if false they will stop being updated.
|
|
|
*/
|
|
|
processShadows: boolean;
|
|
|
+ groundEnabled: boolean;
|
|
|
+ /**
|
|
|
+ * sets wether the reflection is disabled.
|
|
|
+ */
|
|
|
+ groundMirrorEnabled: boolean;
|
|
|
+ defaultRenderingPipelineEnabled: boolean;
|
|
|
/**
|
|
|
* Sets the engine flags to unlock all babylon features.
|
|
|
* Can also be configured using the scene.flags configuration object
|
|
|
*/
|
|
|
unlockBabylonFeatures(): void;
|
|
|
/**
|
|
|
- * initialize the environment for a specific model.
|
|
|
- * Per default it will use the viewer's configuration.
|
|
|
- * @param model the model to use to configure the environment.
|
|
|
- * @returns a Promise that will resolve when the configuration is done.
|
|
|
- */
|
|
|
- protected _initEnvironment(model?: ViewerModel): Promise<Scene>;
|
|
|
- /**
|
|
|
* initialize the scene. Calling this function again will dispose the old scene, if exists.
|
|
|
*/
|
|
|
initScene(sceneConfiguration?: ISceneConfiguration, optimizerConfiguration?: boolean | ISceneOptimizerConfiguration): Promise<Scene>;
|
|
@@ -1672,6 +1779,8 @@ declare module 'babylonjs-viewer/viewer/sceneManager' {
|
|
|
* @param globalConfiguration The global configuration object, after the new configuration was merged into it
|
|
|
*/
|
|
|
updateConfiguration(newConfiguration: Partial<ViewerConfiguration>, globalConfiguration: ViewerConfiguration, model?: ViewerModel): void;
|
|
|
+ bloomEnabled: boolean;
|
|
|
+ fxaaEnabled: boolean;
|
|
|
/**
|
|
|
* internally configure the scene using the provided configuration.
|
|
|
* The scene will not be recreated, but just updated.
|
|
@@ -1685,11 +1794,6 @@ declare module 'babylonjs-viewer/viewer/sceneManager' {
|
|
|
*/
|
|
|
protected _configureOptimizer(optimizerConfig: ISceneOptimizerConfiguration | boolean): void;
|
|
|
/**
|
|
|
- * configure all models using the configuration.
|
|
|
- * @param modelConfiguration the configuration to use to reconfigure the models
|
|
|
- */
|
|
|
- protected _configureModel(modelConfiguration: Partial<IModelConfiguration>): void;
|
|
|
- /**
|
|
|
* (Re) configure the camera. The camera will only be created once and from this point will only be reconfigured.
|
|
|
* @param cameraConfig the new camera configuration
|
|
|
* @param model optionally use the model to configure the camera.
|
|
@@ -1818,7 +1922,7 @@ declare module 'babylonjs-viewer/labs/viewerLabs' {
|
|
|
import { SceneManager } from 'babylonjs-viewer/viewer/sceneManager';
|
|
|
export class ViewerLabs {
|
|
|
constructor(_sceneManager: SceneManager);
|
|
|
- environmentAssetsRootURL: string;
|
|
|
+ assetsRootURL: string;
|
|
|
environment: PBREnvironment;
|
|
|
/**
|
|
|
* Loads an environment map from a given URL
|
|
@@ -1854,7 +1958,7 @@ declare module 'babylonjs-viewer/labs/viewerLabs' {
|
|
|
* @param url Asset url
|
|
|
* @returns The Asset url using the `environmentAssetsRootURL` if the url is not an absolute path.
|
|
|
*/
|
|
|
- getEnvironmentAssetUrl(url: string): string;
|
|
|
+ getAssetUrl(url: string): string;
|
|
|
}
|
|
|
}
|
|
|
|