babylon.scene.d.ts 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. declare module BABYLON {
  2. interface IDisposable {
  3. dispose(): void;
  4. }
  5. class Scene {
  6. static FOGMODE_NONE: number;
  7. static FOGMODE_EXP: number;
  8. static FOGMODE_EXP2: number;
  9. static FOGMODE_LINEAR: number;
  10. static MinDeltaTime: number;
  11. static MaxDeltaTime: number;
  12. public autoClear: boolean;
  13. public clearColor: any;
  14. public ambientColor: Color3;
  15. public beforeRender: () => void;
  16. public afterRender: () => void;
  17. public onDispose: () => void;
  18. public beforeCameraRender: (camera: Camera) => void;
  19. public afterCameraRender: (camera: Camera) => void;
  20. public forceWireframe: boolean;
  21. public forcePointsCloud: boolean;
  22. public forceShowBoundingBoxes: boolean;
  23. public clipPlane: Plane;
  24. public animationsEnabled: boolean;
  25. private _onPointerMove;
  26. private _onPointerDown;
  27. public onPointerDown: (evt: PointerEvent, pickInfo: PickingInfo) => void;
  28. public cameraToUseForPointers: Camera;
  29. private _pointerX;
  30. private _pointerY;
  31. private _meshUnderPointer;
  32. private _onKeyDown;
  33. private _onKeyUp;
  34. public fogEnabled: boolean;
  35. public fogMode: number;
  36. public fogColor: Color3;
  37. public fogDensity: number;
  38. public fogStart: number;
  39. public fogEnd: number;
  40. public shadowsEnabled: boolean;
  41. public lightsEnabled: boolean;
  42. public lights: Light[];
  43. public cameras: Camera[];
  44. public activeCameras: Camera[];
  45. public activeCamera: Camera;
  46. public meshes: AbstractMesh[];
  47. private _geometries;
  48. public materials: Material[];
  49. public multiMaterials: MultiMaterial[];
  50. public defaultMaterial: StandardMaterial;
  51. public texturesEnabled: boolean;
  52. public textures: BaseTexture[];
  53. public particlesEnabled: boolean;
  54. public particleSystems: ParticleSystem[];
  55. public spriteManagers: SpriteManager[];
  56. public layers: Layer[];
  57. public skeletonsEnabled: boolean;
  58. public skeletons: Skeleton[];
  59. public lensFlaresEnabled: boolean;
  60. public lensFlareSystems: LensFlareSystem[];
  61. public collisionsEnabled: boolean;
  62. public gravity: Vector3;
  63. public postProcessesEnabled: boolean;
  64. public postProcessManager: PostProcessManager;
  65. public postProcessRenderPipelineManager: PostProcessRenderPipelineManager;
  66. public renderTargetsEnabled: boolean;
  67. public customRenderTargets: RenderTargetTexture[];
  68. public useDelayedTextureLoading: boolean;
  69. public importedMeshesFiles: String[];
  70. public database: any;
  71. public actionManager: ActionManager;
  72. public _actionManagers: ActionManager[];
  73. private _meshesForIntersections;
  74. public proceduralTexturesEnabled: boolean;
  75. public _proceduralTextures: ProceduralTexture[];
  76. public mainSoundTrack: SoundTrack;
  77. public soundTracks: SoundTrack[];
  78. private _engine;
  79. private _totalVertices;
  80. public _activeVertices: number;
  81. public _activeParticles: number;
  82. private _lastFrameDuration;
  83. private _evaluateActiveMeshesDuration;
  84. private _renderTargetsDuration;
  85. public _particlesDuration: number;
  86. private _renderDuration;
  87. public _spritesDuration: number;
  88. private _animationRatio;
  89. private _animationStartDate;
  90. public _cachedMaterial: Material;
  91. private _renderId;
  92. private _executeWhenReadyTimeoutId;
  93. public _toBeDisposed: SmartArray<IDisposable>;
  94. private _onReadyCallbacks;
  95. private _pendingData;
  96. private _onBeforeRenderCallbacks;
  97. private _onAfterRenderCallbacks;
  98. private _activeMeshes;
  99. private _processedMaterials;
  100. private _renderTargets;
  101. public _activeParticleSystems: SmartArray<ParticleSystem>;
  102. private _activeSkeletons;
  103. private _activeBones;
  104. private _renderingManager;
  105. private _physicsEngine;
  106. public _activeAnimatables: Animatable[];
  107. private _transformMatrix;
  108. private _pickWithRayInverseMatrix;
  109. private _scaledPosition;
  110. private _scaledVelocity;
  111. private _boundingBoxRenderer;
  112. private _outlineRenderer;
  113. private _viewMatrix;
  114. private _projectionMatrix;
  115. private _frustumPlanes;
  116. private _selectionOctree;
  117. private _pointerOverMesh;
  118. private _debugLayer;
  119. constructor(engine: Engine);
  120. public debugLayer : DebugLayer;
  121. public meshUnderPointer : AbstractMesh;
  122. public pointerX : number;
  123. public pointerY : number;
  124. public getCachedMaterial(): Material;
  125. public getBoundingBoxRenderer(): BoundingBoxRenderer;
  126. public getOutlineRenderer(): OutlineRenderer;
  127. public getEngine(): Engine;
  128. public getTotalVertices(): number;
  129. public getActiveVertices(): number;
  130. public getActiveParticles(): number;
  131. public getActiveBones(): number;
  132. public getLastFrameDuration(): number;
  133. public getEvaluateActiveMeshesDuration(): number;
  134. public getActiveMeshes(): SmartArray<Mesh>;
  135. public getRenderTargetsDuration(): number;
  136. public getRenderDuration(): number;
  137. public getParticlesDuration(): number;
  138. public getSpritesDuration(): number;
  139. public getAnimationRatio(): number;
  140. public getRenderId(): number;
  141. private _updatePointerPosition(evt);
  142. public attachControl(): void;
  143. public detachControl(): void;
  144. public isReady(): boolean;
  145. public resetCachedMaterial(): void;
  146. public registerBeforeRender(func: () => void): void;
  147. public unregisterBeforeRender(func: () => void): void;
  148. public registerAfterRender(func: () => void): void;
  149. public unregisterAfterRender(func: () => void): void;
  150. public _addPendingData(data: any): void;
  151. public _removePendingData(data: any): void;
  152. public getWaitingItemsCount(): number;
  153. public executeWhenReady(func: () => void): void;
  154. public _checkIsReady(): void;
  155. public beginAnimation(target: any, from: number, to: number, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void, animatable?: Animatable): Animatable;
  156. public beginDirectAnimation(target: any, animations: Animation[], from: number, to: number, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void): Animatable;
  157. public getAnimatableByTarget(target: any): Animatable;
  158. public stopAnimation(target: any): void;
  159. private _animate();
  160. public getViewMatrix(): Matrix;
  161. public getProjectionMatrix(): Matrix;
  162. public getTransformMatrix(): Matrix;
  163. public setTransformMatrix(view: Matrix, projection: Matrix): void;
  164. public setActiveCameraByID(id: string): Camera;
  165. public setActiveCameraByName(name: string): Camera;
  166. public getMaterialByID(id: string): Material;
  167. public getMaterialByName(name: string): Material;
  168. public getCameraByID(id: string): Camera;
  169. public getCameraByName(name: string): Camera;
  170. public getLightByName(name: string): Light;
  171. public getLightByID(id: string): Light;
  172. public getGeometryByID(id: string): Geometry;
  173. public pushGeometry(geometry: Geometry, force?: boolean): boolean;
  174. public getGeometries(): Geometry[];
  175. public getMeshByID(id: string): AbstractMesh;
  176. public getLastMeshByID(id: string): AbstractMesh;
  177. public getLastEntryByID(id: string): Node;
  178. public getMeshByName(name: string): AbstractMesh;
  179. public getLastSkeletonByID(id: string): Skeleton;
  180. public getSkeletonById(id: string): Skeleton;
  181. public getSkeletonByName(name: string): Skeleton;
  182. public isActiveMesh(mesh: Mesh): boolean;
  183. private _evaluateSubMesh(subMesh, mesh);
  184. private _evaluateActiveMeshes();
  185. private _activeMesh(mesh);
  186. public updateTransformMatrix(force?: boolean): void;
  187. private _renderForCamera(camera);
  188. private _processSubCameras(camera);
  189. private _checkIntersections();
  190. public render(): void;
  191. private _updateAudioParameters();
  192. public dispose(): void;
  193. public _getNewPosition(position: Vector3, velocity: Vector3, collider: Collider, maximumRetry: number, finalPosition: Vector3, excludedMesh?: AbstractMesh): void;
  194. private _collideWithWorld(position, velocity, collider, maximumRetry, finalPosition, excludedMesh?);
  195. public createOrUpdateSelectionOctree(maxCapacity?: number, maxDepth?: number): Octree<AbstractMesh>;
  196. public createPickingRay(x: number, y: number, world: Matrix, camera: Camera): Ray;
  197. private _internalPick(rayFunction, predicate, fastCheck?);
  198. public pick(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean, fastCheck?: boolean, camera?: Camera): PickingInfo;
  199. public pickWithRay(ray: Ray, predicate: (mesh: Mesh) => boolean, fastCheck?: boolean): PickingInfo;
  200. public setPointerOverMesh(mesh: AbstractMesh): void;
  201. public getPointerOverMesh(): AbstractMesh;
  202. public getPhysicsEngine(): PhysicsEngine;
  203. public enablePhysics(gravity: Vector3, plugin?: IPhysicsEnginePlugin): boolean;
  204. public disablePhysicsEngine(): void;
  205. public isPhysicsEnabled(): boolean;
  206. public setGravity(gravity: Vector3): void;
  207. public createCompoundImpostor(parts: any, options: PhysicsBodyCreationOptions): any;
  208. public deleteCompoundImpostor(compound: any): void;
  209. private _getByTags(list, tagsQuery);
  210. public getMeshesByTags(tagsQuery: string): Mesh[];
  211. public getCamerasByTags(tagsQuery: string): Camera[];
  212. public getLightsByTags(tagsQuery: string): Light[];
  213. public getMaterialByTags(tagsQuery: string): Material[];
  214. }
  215. }