babylon.sandbox.module.d.ts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. /// <reference types="react" />
  2. declare module "babylonjs-sandbox/globalState" {
  3. import { Observable } from 'babylonjs/Misc/observable';
  4. import { Scene } from 'babylonjs/scene';
  5. import { FilesInput } from 'babylonjs/Misc/filesInput';
  6. export class GlobalState {
  7. currentScene: Scene;
  8. onSceneLoaded: Observable<{
  9. scene: Scene;
  10. filename: string;
  11. }>;
  12. onError: Observable<{
  13. scene?: Scene | undefined;
  14. message?: string | undefined;
  15. }>;
  16. onEnvironmentChanged: Observable<string>;
  17. onRequestClickInterceptor: Observable<void>;
  18. onClickInterceptorClicked: Observable<void>;
  19. filesInput: FilesInput;
  20. isDebugLayerEnabled: boolean;
  21. showDebugLayer(): void;
  22. hideDebugLayer(): void;
  23. }
  24. }
  25. declare module "babylonjs-sandbox/tools/localStorageHelper" {
  26. export class LocalStorageHelper {
  27. static ReadLocalStorageValue(key: string, defaultValue: number): number;
  28. }
  29. }
  30. declare module "babylonjs-sandbox/tools/environmentTools" {
  31. import { HDRCubeTexture } from 'babylonjs/Materials/Textures/hdrCubeTexture';
  32. import { CubeTexture } from 'babylonjs/Materials/Textures/cubeTexture';
  33. import { Scene } from 'babylonjs/scene';
  34. import { GlobalState } from "babylonjs-sandbox/globalState";
  35. export class EnvironmentTools {
  36. static SkyboxPath: string;
  37. static Skyboxes: string[];
  38. static SkyboxesNames: string[];
  39. static LoadSkyboxPathTexture(scene: Scene): HDRCubeTexture | CubeTexture;
  40. static HookWithEnvironmentChange(globalState: GlobalState): void;
  41. }
  42. }
  43. declare module "babylonjs-sandbox/components/renderingZone" {
  44. import * as React from "react";
  45. import { GlobalState } from "babylonjs-sandbox/globalState";
  46. import { Vector3 } from 'babylonjs/Maths/math.vector';
  47. interface IRenderingZoneProps {
  48. globalState: GlobalState;
  49. assetUrl?: string;
  50. cameraPosition?: Vector3;
  51. expanded: boolean;
  52. }
  53. export class RenderingZone extends React.Component<IRenderingZoneProps> {
  54. private _currentPluginName;
  55. private _engine;
  56. private _scene;
  57. private _canvas;
  58. constructor(props: IRenderingZoneProps);
  59. initEngine(): void;
  60. prepareCamera(): void;
  61. handleErrors(): void;
  62. prepareLighting(): void;
  63. onSceneLoaded(filename: string): void;
  64. loadAssetFromUrl(): void;
  65. loadAsset(): void;
  66. componentDidMount(): void;
  67. shouldComponentUpdate(nextProps: IRenderingZoneProps): boolean;
  68. render(): JSX.Element;
  69. }
  70. }
  71. declare module "babylonjs-sandbox/components/footerButton" {
  72. import * as React from "react";
  73. import { GlobalState } from "babylonjs-sandbox/globalState";
  74. interface IFooterButtonProps {
  75. globalState: GlobalState;
  76. enabled: boolean;
  77. onClick: () => void;
  78. icon: any;
  79. label: string;
  80. }
  81. export class FooterButton extends React.Component<IFooterButtonProps> {
  82. render(): JSX.Element | null;
  83. }
  84. }
  85. declare module "babylonjs-sandbox/components/dropUpButton" {
  86. import * as React from "react";
  87. import { GlobalState } from "babylonjs-sandbox/globalState";
  88. interface IDropUpButtonProps {
  89. globalState: GlobalState;
  90. enabled: boolean;
  91. icon: any;
  92. label: string;
  93. options: string[];
  94. onOptionPicked: (option: string) => void;
  95. }
  96. export class DropUpButton extends React.Component<IDropUpButtonProps, {
  97. isOpen: boolean;
  98. }> {
  99. private _onClickInterceptorClickedObserver;
  100. constructor(props: IDropUpButtonProps);
  101. componentWillUnmount(): void;
  102. switchDropUp(): void;
  103. clickOption(option: string): void;
  104. render(): JSX.Element | null;
  105. }
  106. }
  107. declare module "babylonjs-sandbox/components/footerFileButton" {
  108. import * as React from "react";
  109. import { GlobalState } from "babylonjs-sandbox/globalState";
  110. interface IFooterFileButtonProps {
  111. globalState: GlobalState;
  112. enabled: boolean;
  113. icon: any;
  114. label: string;
  115. onFilesPicked: (evt: Event, files: FileList | null) => void;
  116. }
  117. export class FooterFileButton extends React.Component<IFooterFileButtonProps> {
  118. onFilePicked(evt: React.ChangeEvent<HTMLInputElement>): void;
  119. render(): JSX.Element | null;
  120. }
  121. }
  122. declare module "babylonjs-sandbox/components/footer" {
  123. import * as React from "react";
  124. import { GlobalState } from "babylonjs-sandbox/globalState";
  125. interface IFooterProps {
  126. globalState: GlobalState;
  127. }
  128. export class Footer extends React.Component<IFooterProps> {
  129. constructor(props: IFooterProps);
  130. showInspector(): void;
  131. render(): JSX.Element;
  132. }
  133. }
  134. declare module "babylonjs-sandbox/sandbox" {
  135. import * as React from "react";
  136. interface ISandboxProps {
  137. }
  138. export class Sandbox extends React.Component<ISandboxProps, {
  139. isFooterVisible: boolean;
  140. errorMessage: string;
  141. }> {
  142. private _globalState;
  143. private _assetUrl?;
  144. private _cameraPosition?;
  145. private _logoRef;
  146. private _dropTextRef;
  147. private _clickInterceptorRef;
  148. constructor(props: ISandboxProps);
  149. checkUrl(): void;
  150. componentDidUpdate(): void;
  151. render(): JSX.Element;
  152. static Show(hostElement: HTMLElement): void;
  153. }
  154. }
  155. declare module "babylonjs-sandbox/index" {
  156. export * from "babylonjs-sandbox/sandbox";
  157. }
  158. declare module "babylonjs-sandbox/legacy/legacy" {
  159. export * from "babylonjs-sandbox/index";
  160. }
  161. declare module "babylonjs-sandbox" {
  162. export * from "babylonjs-sandbox/legacy/legacy";
  163. }
  164. /// <reference types="react" />
  165. declare module SANDBOX {
  166. export class GlobalState {
  167. currentScene: BABYLON.Scene;
  168. onSceneLoaded: BABYLON.Observable<{
  169. scene: BABYLON.Scene;
  170. filename: string;
  171. }>;
  172. onError: BABYLON.Observable<{
  173. scene?: BABYLON.Scene | undefined;
  174. message?: string | undefined;
  175. }>;
  176. onEnvironmentChanged: BABYLON.Observable<string>;
  177. onRequestClickInterceptor: BABYLON.Observable<void>;
  178. onClickInterceptorClicked: BABYLON.Observable<void>;
  179. filesInput: BABYLON.FilesInput;
  180. isDebugLayerEnabled: boolean;
  181. showDebugLayer(): void;
  182. hideDebugLayer(): void;
  183. }
  184. }
  185. declare module SANDBOX {
  186. export class LocalStorageHelper {
  187. static ReadLocalStorageValue(key: string, defaultValue: number): number;
  188. }
  189. }
  190. declare module SANDBOX {
  191. export class EnvironmentTools {
  192. static SkyboxPath: string;
  193. static Skyboxes: string[];
  194. static SkyboxesNames: string[];
  195. static LoadSkyboxPathTexture(scene: BABYLON.Scene): BABYLON.HDRCubeTexture | BABYLON.CubeTexture;
  196. static HookWithEnvironmentChange(globalState: GlobalState): void;
  197. }
  198. }
  199. declare module SANDBOX {
  200. interface IRenderingZoneProps {
  201. globalState: GlobalState;
  202. assetUrl?: string;
  203. cameraPosition?: BABYLON.Vector3;
  204. expanded: boolean;
  205. }
  206. export class RenderingZone extends React.Component<IRenderingZoneProps> {
  207. private _currentPluginName;
  208. private _engine;
  209. private _scene;
  210. private _canvas;
  211. constructor(props: IRenderingZoneProps);
  212. initEngine(): void;
  213. prepareCamera(): void;
  214. handleErrors(): void;
  215. prepareLighting(): void;
  216. onSceneLoaded(filename: string): void;
  217. loadAssetFromUrl(): void;
  218. loadAsset(): void;
  219. componentDidMount(): void;
  220. shouldComponentUpdate(nextProps: IRenderingZoneProps): boolean;
  221. render(): JSX.Element;
  222. }
  223. }
  224. declare module SANDBOX {
  225. interface IFooterButtonProps {
  226. globalState: GlobalState;
  227. enabled: boolean;
  228. onClick: () => void;
  229. icon: any;
  230. label: string;
  231. }
  232. export class FooterButton extends React.Component<IFooterButtonProps> {
  233. render(): JSX.Element | null;
  234. }
  235. }
  236. declare module SANDBOX {
  237. interface IDropUpButtonProps {
  238. globalState: GlobalState;
  239. enabled: boolean;
  240. icon: any;
  241. label: string;
  242. options: string[];
  243. onOptionPicked: (option: string) => void;
  244. }
  245. export class DropUpButton extends React.Component<IDropUpButtonProps, {
  246. isOpen: boolean;
  247. }> {
  248. private _onClickInterceptorClickedObserver;
  249. constructor(props: IDropUpButtonProps);
  250. componentWillUnmount(): void;
  251. switchDropUp(): void;
  252. clickOption(option: string): void;
  253. render(): JSX.Element | null;
  254. }
  255. }
  256. declare module SANDBOX {
  257. interface IFooterFileButtonProps {
  258. globalState: GlobalState;
  259. enabled: boolean;
  260. icon: any;
  261. label: string;
  262. onFilesPicked: (evt: Event, files: FileList | null) => void;
  263. }
  264. export class FooterFileButton extends React.Component<IFooterFileButtonProps> {
  265. onFilePicked(evt: React.ChangeEvent<HTMLInputElement>): void;
  266. render(): JSX.Element | null;
  267. }
  268. }
  269. declare module SANDBOX {
  270. interface IFooterProps {
  271. globalState: GlobalState;
  272. }
  273. export class Footer extends React.Component<IFooterProps> {
  274. constructor(props: IFooterProps);
  275. showInspector(): void;
  276. render(): JSX.Element;
  277. }
  278. }
  279. declare module SANDBOX {
  280. interface ISandboxProps {
  281. }
  282. export class Sandbox extends React.Component<ISandboxProps, {
  283. isFooterVisible: boolean;
  284. errorMessage: string;
  285. }> {
  286. private _globalState;
  287. private _assetUrl?;
  288. private _cameraPosition?;
  289. private _logoRef;
  290. private _dropTextRef;
  291. private _clickInterceptorRef;
  292. constructor(props: ISandboxProps);
  293. checkUrl(): void;
  294. componentDidUpdate(): void;
  295. render(): JSX.Element;
  296. static Show(hostElement: HTMLElement): void;
  297. }
  298. }