index.d.ts 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. declare module 'babylonjs/animations' {
  2. class AnimationRange {
  3. name: string;
  4. from: number;
  5. to: number;
  6. constructor(name: string, from: number, to: number);
  7. clone(): AnimationRange;
  8. }
  9. /**
  10. * Composed of a frame, and an action function
  11. */
  12. class AnimationEvent {
  13. frame: number;
  14. action: () => void;
  15. onlyOnce: boolean | undefined;
  16. isDone: boolean;
  17. constructor(frame: number, action: () => void, onlyOnce?: boolean | undefined);
  18. }
  19. class PathCursor {
  20. private path;
  21. private _onchange;
  22. value: number;
  23. animations: Animation[];
  24. constructor(path: Path2);
  25. getPoint(): Vector3;
  26. moveAhead(step?: number): PathCursor;
  27. moveBack(step?: number): PathCursor;
  28. move(step: number): PathCursor;
  29. private ensureLimits();
  30. private raiseOnChange();
  31. onchange(f: (cursor: PathCursor) => void): PathCursor;
  32. }
  33. class Animation {
  34. name: string;
  35. targetProperty: string;
  36. framePerSecond: number;
  37. dataType: number;
  38. loopMode: number | undefined;
  39. enableBlending: boolean | undefined;
  40. static AllowMatricesInterpolation: boolean;
  41. private _keys;
  42. private _easingFunction;
  43. _runtimeAnimations: RuntimeAnimation[];
  44. private _events;
  45. targetPropertyPath: string[];
  46. blendingSpeed: number;
  47. private _ranges;
  48. static _PrepareAnimation(name: string, targetProperty: string, framePerSecond: number, totalFrame: number, from: any, to: any, loopMode?: number, easingFunction?: EasingFunction): Nullable<Animation>;
  49. /**
  50. * Sets up an animation.
  51. * @param property the property to animate
  52. * @param animationType the animation type to apply
  53. * @param easingFunction the easing function used in the animation
  54. * @returns The created animation
  55. */
  56. static CreateAnimation(property: string, animationType: number, framePerSecond: number, easingFunction: EasingFunction): Animation;
  57. /**
  58. * Create and start an animation on a node
  59. * @param {string} name defines the name of the global animation that will be run on all nodes
  60. * @param {BABYLON.Node} node defines the root node where the animation will take place
  61. * @param {string} targetProperty defines property to animate
  62. * @param {number} framePerSecond defines the number of frame per second yo use
  63. * @param {number} totalFrame defines the number of frames in total
  64. * @param {any} from defines the initial value
  65. * @param {any} to defines the final value
  66. * @param {number} loopMode defines which loop mode you want to use (off by default)
  67. * @param {BABYLON.EasingFunction} easingFunction defines the easing function to use (linear by default)
  68. * @param onAnimationEnd defines the callback to call when animation end
  69. * @returns the animatable created for this animation
  70. */
  71. static CreateAndStartAnimation(name: string, node: Node, targetProperty: string, framePerSecond: number, totalFrame: number, from: any, to: any, loopMode?: number, easingFunction?: EasingFunction, onAnimationEnd?: () => void): Nullable<Animatable>;
  72. /**
  73. * Create and start an animation on a node and its descendants
  74. * @param {string} name defines the name of the global animation that will be run on all nodes
  75. * @param {BABYLON.Node} node defines the root node where the animation will take place
  76. * @param {boolean} directDescendantsOnly if true only direct descendants will be used, if false direct and also indirect (children of children, an so on in a recursive manner) descendants will be used.
  77. * @param {string} targetProperty defines property to animate
  78. * @param {number} framePerSecond defines the number of frame per second yo use
  79. * @param {number} totalFrame defines the number of frames in total
  80. * @param {any} from defines the initial value
  81. * @param {any} to defines the final value
  82. * @param {number} loopMode defines which loop mode you want to use (off by default)
  83. * @param {BABYLON.EasingFunction} easingFunction defines the easing function to use (linear by default)
  84. * @param onAnimationEnd defines the callback to call when an animation ends (will be called once per node)
  85. * @returns the list of animatables created for all nodes
  86. * @example https://www.babylonjs-playground.com/#MH0VLI
  87. */
  88. static CreateAndStartHierarchyAnimation(name: string, node: Node, directDescendantsOnly: boolean, targetProperty: string, framePerSecond: number, totalFrame: number, from: any, to: any, loopMode?: number, easingFunction?: EasingFunction, onAnimationEnd?: () => void): Nullable<Animatable[]>;
  89. static CreateMergeAndStartAnimation(name: string, node: Node, targetProperty: string, framePerSecond: number, totalFrame: number, from: any, to: any, loopMode?: number, easingFunction?: EasingFunction, onAnimationEnd?: () => void): Nullable<Animatable>;
  90. /**
  91. * Transition property of the Camera to the target Value.
  92. * @param property The property to transition
  93. * @param targetValue The target Value of the property
  94. * @param host The object where the property to animate belongs
  95. * @param scene Scene used to run the animation
  96. * @param frameRate Framerate (in frame/s) to use
  97. * @param transition The transition type we want to use
  98. * @param duration The duration of the animation, in milliseconds
  99. * @param onAnimationEnd Call back trigger at the end of the animation.
  100. */
  101. static TransitionTo(property: string, targetValue: any, host: any, scene: Scene, frameRate: number, transition: Animation, duration: number, onAnimationEnd?: Nullable<() => void>): Nullable<Animatable>;
  102. /**
  103. * Return the array of runtime animations currently using this animation
  104. */
  105. readonly runtimeAnimations: RuntimeAnimation[];
  106. readonly hasRunningRuntimeAnimations: boolean;
  107. constructor(name: string, targetProperty: string, framePerSecond: number, dataType: number, loopMode?: number | undefined, enableBlending?: boolean | undefined);
  108. /**
  109. * @param {boolean} fullDetails - support for multiple levels of logging within scene loading
  110. */
  111. toString(fullDetails?: boolean): string;
  112. /**
  113. * Add an event to this animation.
  114. */
  115. addEvent(event: AnimationEvent): void;
  116. /**
  117. * Remove all events found at the given frame
  118. * @param frame
  119. */
  120. removeEvents(frame: number): void;
  121. getEvents(): AnimationEvent[];
  122. createRange(name: string, from: number, to: number): void;
  123. deleteRange(name: string, deleteFrames?: boolean): void;
  124. getRange(name: string): Nullable<AnimationRange>;
  125. getKeys(): Array<{
  126. frame: number;
  127. value: any;
  128. inTangent?: any;
  129. outTangent?: any;
  130. }>;
  131. getHighestFrame(): number;
  132. getEasingFunction(): IEasingFunction;
  133. setEasingFunction(easingFunction: EasingFunction): void;
  134. floatInterpolateFunction(startValue: number, endValue: number, gradient: number): number;
  135. floatInterpolateFunctionWithTangents(startValue: number, outTangent: number, endValue: number, inTangent: number, gradient: number): number;
  136. quaternionInterpolateFunction(startValue: Quaternion, endValue: Quaternion, gradient: number): Quaternion;
  137. quaternionInterpolateFunctionWithTangents(startValue: Quaternion, outTangent: Quaternion, endValue: Quaternion, inTangent: Quaternion, gradient: number): Quaternion;
  138. vector3InterpolateFunction(startValue: Vector3, endValue: Vector3, gradient: number): Vector3;
  139. vector3InterpolateFunctionWithTangents(startValue: Vector3, outTangent: Vector3, endValue: Vector3, inTangent: Vector3, gradient: number): Vector3;
  140. vector2InterpolateFunction(startValue: Vector2, endValue: Vector2, gradient: number): Vector2;
  141. vector2InterpolateFunctionWithTangents(startValue: Vector2, outTangent: Vector2, endValue: Vector2, inTangent: Vector2, gradient: number): Vector2;
  142. sizeInterpolateFunction(startValue: Size, endValue: Size, gradient: number): Size;
  143. color3InterpolateFunction(startValue: Color3, endValue: Color3, gradient: number): Color3;
  144. matrixInterpolateFunction(startValue: Matrix, endValue: Matrix, gradient: number): Matrix;
  145. clone(): Animation;
  146. setKeys(values: Array<{
  147. frame: number;
  148. value: any;
  149. }>): void;
  150. serialize(): any;
  151. private static _ANIMATIONTYPE_FLOAT;
  152. private static _ANIMATIONTYPE_VECTOR3;
  153. private static _ANIMATIONTYPE_QUATERNION;
  154. private static _ANIMATIONTYPE_MATRIX;
  155. private static _ANIMATIONTYPE_COLOR3;
  156. private static _ANIMATIONTYPE_VECTOR2;
  157. private static _ANIMATIONTYPE_SIZE;
  158. private static _ANIMATIONLOOPMODE_RELATIVE;
  159. private static _ANIMATIONLOOPMODE_CYCLE;
  160. private static _ANIMATIONLOOPMODE_CONSTANT;
  161. static readonly ANIMATIONTYPE_FLOAT: number;
  162. static readonly ANIMATIONTYPE_VECTOR3: number;
  163. static readonly ANIMATIONTYPE_VECTOR2: number;
  164. static readonly ANIMATIONTYPE_SIZE: number;
  165. static readonly ANIMATIONTYPE_QUATERNION: number;
  166. static readonly ANIMATIONTYPE_MATRIX: number;
  167. static readonly ANIMATIONTYPE_COLOR3: number;
  168. static readonly ANIMATIONLOOPMODE_RELATIVE: number;
  169. static readonly ANIMATIONLOOPMODE_CYCLE: number;
  170. static readonly ANIMATIONLOOPMODE_CONSTANT: number;
  171. static Parse(parsedAnimation: any): Animation;
  172. static AppendSerializedAnimations(source: IAnimatable, destination: any): any;
  173. }
  174. }
  175. declare module 'babylonjs/animations' {
  176. /**
  177. * This class defines the direct association between an animation and a target
  178. */
  179. class TargetedAnimation {
  180. animation: Animation;
  181. target: any;
  182. }
  183. /**
  184. * Use this class to create coordinated animations on multiple targets
  185. */
  186. class AnimationGroup implements IDisposable {
  187. name: string;
  188. private _scene;
  189. private _targetedAnimations;
  190. private _animatables;
  191. private _from;
  192. private _to;
  193. private _isStarted;
  194. private _speedRatio;
  195. onAnimationEndObservable: Observable<TargetedAnimation>;
  196. /**
  197. * Define if the animations are started
  198. */
  199. readonly isStarted: boolean;
  200. /**
  201. * Gets or sets the speed ratio to use for all animations
  202. */
  203. /**
  204. * Gets or sets the speed ratio to use for all animations
  205. */
  206. speedRatio: number;
  207. constructor(name: string, scene?: Nullable<Scene>);
  208. /**
  209. * Add an animation (with its target) in the group
  210. * @param animation defines the animation we want to add
  211. * @param target defines the target of the animation
  212. * @returns the {BABYLON.TargetedAnimation} object
  213. */
  214. addTargetedAnimation(animation: Animation, target: any): TargetedAnimation;
  215. /**
  216. * This function will normalize every animation in the group to make sure they all go from beginFrame to endFrame
  217. * It can add constant keys at begin or end
  218. * @param beginFrame defines the new begin frame for all animations. It can't be bigger than the smaller begin frame of all animations
  219. * @param endFrame defines the new end frame for all animations. It can't be smaller than the larger end frame of all animations
  220. */
  221. normalize(beginFrame: number, endFrame: number): AnimationGroup;
  222. /**
  223. * Start all animations on given targets
  224. * @param loop defines if animations must loop
  225. * @param speedRatio defines the ratio to apply to animation speed (1 by default)
  226. */
  227. start(loop?: boolean, speedRatio?: number): AnimationGroup;
  228. /**
  229. * Pause all animations
  230. */
  231. pause(): AnimationGroup;
  232. /**
  233. * Play all animations to initial state
  234. * This function will start() the animations if they were not started or will restart() them if they were paused
  235. * @param loop defines if animations must loop
  236. */
  237. play(loop?: boolean): AnimationGroup;
  238. /**
  239. * Reset all animations to initial state
  240. */
  241. reset(): AnimationGroup;
  242. /**
  243. * Restart animations from key 0
  244. */
  245. restart(): AnimationGroup;
  246. /**
  247. * Stop all animations
  248. */
  249. stop(): AnimationGroup;
  250. /**
  251. * Dispose all associated resources
  252. */
  253. dispose(): void;
  254. }
  255. }
  256. declare module 'babylonjs/animations' {
  257. class RuntimeAnimation {
  258. currentFrame: number;
  259. private _animation;
  260. private _target;
  261. private _originalBlendValue;
  262. private _offsetsCache;
  263. private _highLimitsCache;
  264. private _stopped;
  265. private _blendingFactor;
  266. constructor(target: any, animation: Animation);
  267. readonly animation: Animation;
  268. reset(): void;
  269. isStopped(): boolean;
  270. dispose(): void;
  271. private _getKeyValue(value);
  272. private _interpolate(currentFrame, repeatCount, loopMode?, offsetValue?, highLimitValue?);
  273. setValue(currentValue: any, blend?: boolean): void;
  274. goToFrame(frame: number): void;
  275. _prepareForSpeedRatioChange(newSpeedRatio: number): void;
  276. private _ratioOffset;
  277. private _previousDelay;
  278. private _previousRatio;
  279. animate(delay: number, from: number, to: number, loop: boolean, speedRatio: number, blend?: boolean): boolean;
  280. }
  281. }
  282. declare module 'babylonjs/animations' {
  283. class Animatable {
  284. target: any;
  285. fromFrame: number;
  286. toFrame: number;
  287. loopAnimation: boolean;
  288. onAnimationEnd: (() => void) | null | undefined;
  289. private _localDelayOffset;
  290. private _pausedDelay;
  291. private _runtimeAnimations;
  292. private _paused;
  293. private _scene;
  294. private _speedRatio;
  295. animationStarted: boolean;
  296. speedRatio: number;
  297. constructor(scene: Scene, target: any, fromFrame?: number, toFrame?: number, loopAnimation?: boolean, speedRatio?: number, onAnimationEnd?: (() => void) | null | undefined, animations?: any);
  298. getAnimations(): RuntimeAnimation[];
  299. appendAnimations(target: any, animations: Animation[]): void;
  300. getAnimationByTargetProperty(property: string): Nullable<Animation>;
  301. getRuntimeAnimationByTargetProperty(property: string): Nullable<RuntimeAnimation>;
  302. reset(): void;
  303. enableBlending(blendingSpeed: number): void;
  304. disableBlending(): void;
  305. goToFrame(frame: number): void;
  306. pause(): void;
  307. restart(): void;
  308. stop(animationName?: string): void;
  309. _animate(delay: number): boolean;
  310. }
  311. }
  312. declare module 'babylonjs/animations' {
  313. interface IEasingFunction {
  314. ease(gradient: number): number;
  315. }
  316. class EasingFunction implements IEasingFunction {
  317. private static _EASINGMODE_EASEIN;
  318. private static _EASINGMODE_EASEOUT;
  319. private static _EASINGMODE_EASEINOUT;
  320. static readonly EASINGMODE_EASEIN: number;
  321. static readonly EASINGMODE_EASEOUT: number;
  322. static readonly EASINGMODE_EASEINOUT: number;
  323. private _easingMode;
  324. setEasingMode(easingMode: number): void;
  325. getEasingMode(): number;
  326. easeInCore(gradient: number): number;
  327. ease(gradient: number): number;
  328. }
  329. class CircleEase extends EasingFunction implements IEasingFunction {
  330. easeInCore(gradient: number): number;
  331. }
  332. class BackEase extends EasingFunction implements IEasingFunction {
  333. amplitude: number;
  334. constructor(amplitude?: number);
  335. easeInCore(gradient: number): number;
  336. }
  337. class BounceEase extends EasingFunction implements IEasingFunction {
  338. bounces: number;
  339. bounciness: number;
  340. constructor(bounces?: number, bounciness?: number);
  341. easeInCore(gradient: number): number;
  342. }
  343. class CubicEase extends EasingFunction implements IEasingFunction {
  344. easeInCore(gradient: number): number;
  345. }
  346. class ElasticEase extends EasingFunction implements IEasingFunction {
  347. oscillations: number;
  348. springiness: number;
  349. constructor(oscillations?: number, springiness?: number);
  350. easeInCore(gradient: number): number;
  351. }
  352. class ExponentialEase extends EasingFunction implements IEasingFunction {
  353. exponent: number;
  354. constructor(exponent?: number);
  355. easeInCore(gradient: number): number;
  356. }
  357. class PowerEase extends EasingFunction implements IEasingFunction {
  358. power: number;
  359. constructor(power?: number);
  360. easeInCore(gradient: number): number;
  361. }
  362. class QuadraticEase extends EasingFunction implements IEasingFunction {
  363. easeInCore(gradient: number): number;
  364. }
  365. class QuarticEase extends EasingFunction implements IEasingFunction {
  366. easeInCore(gradient: number): number;
  367. }
  368. class QuinticEase extends EasingFunction implements IEasingFunction {
  369. easeInCore(gradient: number): number;
  370. }
  371. class SineEase extends EasingFunction implements IEasingFunction {
  372. easeInCore(gradient: number): number;
  373. }
  374. class BezierCurveEase extends EasingFunction implements IEasingFunction {
  375. x1: number;
  376. y1: number;
  377. x2: number;
  378. y2: number;
  379. constructor(x1?: number, y1?: number, x2?: number, y2?: number);
  380. easeInCore(gradient: number): number;
  381. }
  382. }
  383. import {EffectFallbacks,EffectCreationOptions,Effect,Nullable,float,double,int,FloatArray,IndicesArray,KeyboardEventTypes,KeyboardInfo,KeyboardInfoPre,PointerEventTypes,PointerInfoBase,PointerInfoPre,PointerInfo,ToGammaSpace,ToLinearSpace,Epsilon,Color3,Color4,Vector2,Vector3,Vector4,ISize,Size,Quaternion,Matrix,Plane,Viewport,Frustum,Space,Axis,BezierCurve,Orientation,Angle,Arc2,Path2,Path3D,Curve3,PositionNormalVertex,PositionNormalTextureVertex,Tmp,Scalar,expandToProperty,serialize,serializeAsTexture,serializeAsColor3,serializeAsFresnelParameters,serializeAsVector2,serializeAsVector3,serializeAsMeshReference,serializeAsColorCurves,serializeAsColor4,serializeAsImageProcessingConfiguration,serializeAsQuaternion,SerializationHelper,EventState,Observer,MultiObserver,Observable,SmartArray,SmartArrayNoDuplicate,IAnimatable,LoadFileError,RetryStrategy,IFileRequest,Tools,PerfCounter,className,AsyncLoop,_AlphaState,_DepthCullingState,_StencilState,InstancingAttributeInfo,RenderTargetCreationOptions,EngineCapabilities,EngineOptions,IDisplayChangedEventArgs,Engine,Node,BoundingSphere,BoundingBox,ICullable,BoundingInfo,TransformNode,AbstractMesh,Light,Camera,RenderingManager,RenderingGroup,IDisposable,IActiveMeshCandidateProvider,RenderingGroupInfo,Scene,Buffer,VertexBuffer,InternalTexture,BaseTexture,Texture,_InstancesBatch,Mesh,BaseSubMesh,SubMesh,MaterialDefines,Material,UniformBuffer,IGetSetVerticesData,VertexData,Geometry,_PrimitiveGeometry,RibbonGeometry,BoxGeometry,SphereGeometry,DiscGeometry,CylinderGeometry,TorusGeometry,GroundGeometry,TiledGroundGeometry,PlaneGeometry,TorusKnotGeometry,PostProcessManager,PerformanceMonitor,RollingAverage,IImageProcessingConfigurationDefines,ImageProcessingConfiguration,ColorGradingTexture,ColorCurves,Behavior,MaterialHelper,PushMaterial,StandardMaterialDefines,StandardMaterial} from 'babylonjs/core';
  384. import {EngineInstrumentation,SceneInstrumentation,_TimeToken} from 'babylonjs/instrumentation';
  385. import {Particle,IParticleSystem,ParticleSystem,BoxParticleEmitter,ConeParticleEmitter,SphereParticleEmitter,SphereDirectedParticleEmitter,IParticleEmitterType} from 'babylonjs/particles';
  386. import {GPUParticleSystem} from 'babylonjs/gpuParticles';
  387. import {FramingBehavior,BouncingBehavior,AutoRotationBehavior} from 'babylonjs/cameraBehaviors';
  388. import {NullEngineOptions,NullEngine} from 'babylonjs/nullEngine';
  389. import {TextureTools} from 'babylonjs/textureTools';
  390. import {SolidParticle,ModelShape,DepthSortedParticle,SolidParticleSystem} from 'babylonjs/solidParticles';
  391. import {Collider,CollisionWorker,ICollisionCoordinator,SerializedMesh,SerializedSubMesh,SerializedGeometry,BabylonMessage,SerializedColliderToWorker,WorkerTaskType,WorkerReply,CollisionReplyPayload,InitPayload,CollidePayload,UpdatePayload,WorkerReplyType,CollisionCoordinatorWorker,CollisionCoordinatorLegacy} from 'babylonjs/collisions';
  392. import {IntersectionInfo,PickingInfo,Ray} from 'babylonjs/picking';
  393. import {SpriteManager,Sprite} from 'babylonjs/sprites';
  394. import {Condition,ValueCondition,PredicateCondition,StateCondition,Action,ActionEvent,ActionManager,InterpolateValueAction,SwitchBooleanAction,SetStateAction,SetValueAction,IncrementValueAction,PlayAnimationAction,StopAnimationAction,DoNothingAction,CombineAction,ExecuteCodeAction,SetParentAction,PlaySoundAction,StopSoundAction} from 'babylonjs/actions';
  395. import {GroundMesh,InstancedMesh,LinesMesh} from 'babylonjs/additionalMeshes';
  396. import {ShaderMaterial} from 'babylonjs/shaderMaterial';
  397. import {MeshBuilder} from 'babylonjs/meshBuilder';
  398. import {PBRBaseMaterial,PBRBaseSimpleMaterial,PBRMaterial,PBRMetallicRoughnessMaterial,PBRSpecularGlossinessMaterial} from 'babylonjs/pbrMaterial';
  399. import {CameraInputTypes,ICameraInput,CameraInputsMap,CameraInputsManager,TargetCamera} from 'babylonjs/targetCamera';
  400. import {ArcRotateCameraKeyboardMoveInput,ArcRotateCameraMouseWheelInput,ArcRotateCameraPointersInput,ArcRotateCameraInputsManager,ArcRotateCamera} from 'babylonjs/arcRotateCamera';
  401. import {FreeCameraMouseInput,FreeCameraKeyboardMoveInput,FreeCameraInputsManager,FreeCamera} from 'babylonjs/freeCamera';
  402. import {HemisphericLight} from 'babylonjs/hemisphericLight';
  403. import {IShadowLight,ShadowLight,PointLight} from 'babylonjs/pointLight';
  404. import {DirectionalLight} from 'babylonjs/directionalLight';
  405. import {SpotLight} from 'babylonjs/spotLight';
  406. import {CubeTexture,RenderTargetTexture,IMultiRenderTargetOptions,MultiRenderTarget,MirrorTexture,RefractionTexture,DynamicTexture,VideoTexture,RawTexture} from 'babylonjs/additionalTextures';
  407. import {AudioEngine,Sound,SoundTrack,Analyser} from 'babylonjs/audio';
  408. import {ILoadingScreen,DefaultLoadingScreen,SceneLoaderProgressEvent,ISceneLoaderPluginExtensions,ISceneLoaderPluginFactory,ISceneLoaderPlugin,ISceneLoaderPluginAsync,SceneLoader,FilesInput} from 'babylonjs/loader';
  409. import {IShadowGenerator,ShadowGenerator} from 'babylonjs/shadows';
  410. import {StringDictionary} from 'babylonjs/stringDictionary';
  411. import {Tags,AndOrNotEvaluator} from 'babylonjs/userData';
  412. import {FresnelParameters} from 'babylonjs/fresnel';
  413. import {MultiMaterial} from 'babylonjs/multiMaterial';
  414. import {Database} from 'babylonjs/offline';
  415. import {FreeCameraTouchInput,TouchCamera} from 'babylonjs/touchCamera';
  416. import {ProceduralTexture,CustomProceduralTexture} from 'babylonjs/procedural';
  417. import {FreeCameraGamepadInput,ArcRotateCameraGamepadInput,GamepadManager,StickValues,GamepadButtonChanges,Gamepad,GenericPad,Xbox360Button,Xbox360Dpad,Xbox360Pad,PoseEnabledControllerType,MutableGamepadButton,ExtendedGamepadButton,PoseEnabledControllerHelper,PoseEnabledController,WebVRController,OculusTouchController,ViveController,GenericController,WindowsMotionController} from 'babylonjs/gamepad';
  418. import {FollowCamera,ArcFollowCamera,UniversalCamera,GamepadCamera} from 'babylonjs/additionalCameras';
  419. import {DepthRenderer} from 'babylonjs/depthRenderer';
  420. import {GeometryBufferRenderer} from 'babylonjs/geometryBufferRenderer';
  421. import {PostProcessOptions,PostProcess,PassPostProcess} from 'babylonjs/postProcesses';
  422. import {BlurPostProcess} from 'babylonjs/additionalPostProcess_blur';
  423. import {FxaaPostProcess} from 'babylonjs/additionalPostProcess_fxaa';
  424. import {HighlightsPostProcess} from 'babylonjs/additionalPostProcess_highlights';
  425. import {RefractionPostProcess,BlackAndWhitePostProcess,ConvolutionPostProcess,FilterPostProcess,VolumetricLightScatteringPostProcess,ColorCorrectionPostProcess,TonemappingOperator,TonemapPostProcess,DisplayPassPostProcess,ImageProcessingPostProcess} from 'babylonjs/additionalPostProcesses';
  426. import {PostProcessRenderPipelineManager,PostProcessRenderPass,PostProcessRenderEffect,PostProcessRenderPipeline} from 'babylonjs/renderingPipeline';
  427. import {SSAORenderingPipeline,SSAO2RenderingPipeline,LensRenderingPipeline,StandardRenderingPipeline} from 'babylonjs/additionalRenderingPipeline';
  428. import {DefaultRenderingPipeline} from 'babylonjs/defaultRenderingPipeline';
  429. import {Bone,BoneIKController,BoneLookController,Skeleton} from 'babylonjs/bones';
  430. import {SphericalPolynomial,SphericalHarmonics,CubeMapToSphericalPolynomialTools,CubeMapInfo,PanoramaToCubeMapTools,HDRInfo,HDRTools,HDRCubeTexture} from 'babylonjs/hdr';
  431. import {CSG} from 'babylonjs/csg';
  432. import {Polygon,PolygonMeshBuilder} from 'babylonjs/polygonMesh';
  433. import {LensFlare,LensFlareSystem} from 'babylonjs/lensFlares';
  434. import {PhysicsJointData,PhysicsJoint,DistanceJoint,MotorEnabledJoint,HingeJoint,Hinge2Joint,IMotorEnabledJoint,DistanceJointData,SpringJointData,PhysicsImpostorParameters,IPhysicsEnabledObject,PhysicsImpostor,PhysicsImpostorJoint,PhysicsEngine,IPhysicsEnginePlugin,PhysicsHelper,PhysicsRadialExplosionEvent,PhysicsGravitationalFieldEvent,PhysicsUpdraftEvent,PhysicsVortexEvent,PhysicsRadialImpulseFalloff,PhysicsUpdraftMode,PhysicsForceAndContactPoint,PhysicsRadialExplosionEventData,PhysicsGravitationalFieldEventData,PhysicsUpdraftEventData,PhysicsVortexEventData,CannonJSPlugin,OimoJSPlugin} from 'babylonjs/physics';
  435. import {TGATools,DDSInfo,DDSTools,KhronosTextureContainer} from 'babylonjs/textureFormats';
  436. import {Debug,RayHelper,DebugLayer,BoundingBoxRenderer} from 'babylonjs/debug';
  437. import {MorphTarget,MorphTargetManager} from 'babylonjs/morphTargets';
  438. import {IOctreeContainer,Octree,OctreeBlock} from 'babylonjs/octrees';
  439. import {SIMDHelper} from 'babylonjs/simd';
  440. import {VRDistortionCorrectionPostProcess,AnaglyphPostProcess,StereoscopicInterlacePostProcess,FreeCameraDeviceOrientationInput,ArcRotateCameraVRDeviceOrientationInput,VRCameraMetrics,DevicePose,PoseControlled,WebVROptions,WebVRFreeCamera,DeviceOrientationCamera,VRDeviceOrientationFreeCamera,VRDeviceOrientationGamepadCamera,VRDeviceOrientationArcRotateCamera,AnaglyphFreeCamera,AnaglyphArcRotateCamera,AnaglyphGamepadCamera,AnaglyphUniversalCamera,StereoscopicFreeCamera,StereoscopicArcRotateCamera,StereoscopicGamepadCamera,StereoscopicUniversalCamera,VRTeleportationOptions,VRExperienceHelperOptions,VRExperienceHelper} from 'babylonjs/vr';
  441. import {JoystickAxis,VirtualJoystick,VirtualJoysticksCamera,FreeCameraVirtualJoystickInput} from 'babylonjs/virtualJoystick';
  442. import {ISimplifier,ISimplificationSettings,SimplificationSettings,ISimplificationTask,SimplificationQueue,SimplificationType,DecimationTriangle,DecimationVertex,QuadraticMatrix,Reference,QuadraticErrorSimplification,MeshLODLevel,SceneOptimization,TextureOptimization,HardwareScalingOptimization,ShadowsOptimization,PostProcessesOptimization,LensFlaresOptimization,ParticlesOptimization,RenderTargetsOptimization,MergeMeshesOptimization,SceneOptimizerOptions,SceneOptimizer} from 'babylonjs/optimizations';
  443. import {OutlineRenderer,EdgesRenderer,IHighlightLayerOptions,HighlightLayer} from 'babylonjs/highlights';
  444. import {SceneSerializer} from 'babylonjs/serialization';
  445. import {AssetTaskState,AbstractAssetTask,IAssetsProgressEvent,AssetsProgressEvent,MeshAssetTask,TextFileAssetTask,BinaryFileAssetTask,ImageAssetTask,ITextureAssetTask,TextureAssetTask,CubeTextureAssetTask,HDRCubeTextureAssetTask,AssetsManager} from 'babylonjs/assetsManager';
  446. import {ReflectionProbe} from 'babylonjs/probes';
  447. import {BackgroundMaterial} from 'babylonjs/backgroundMaterial';
  448. import {Layer} from 'babylonjs/layer';
  449. import {IEnvironmentHelperOptions,EnvironmentHelper} from 'babylonjs/environmentHelper';