babylon.inspector.d.ts 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411
  1. /// <reference types="react" />
  2. declare module INSPECTOR {
  3. export class PropertyChangedEvent {
  4. object: any;
  5. property: string;
  6. value: any;
  7. initialValue: any;
  8. }
  9. }
  10. declare module INSPECTOR {
  11. export class GlobalState {
  12. onSelectionChangedObservable: BABYLON.Observable<string>;
  13. onPropertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>;
  14. onInspectorClosedObservable: BABYLON.Observable<BABYLON.Scene>;
  15. onTabChangedObservable: BABYLON.Observable<number>;
  16. onPluginActivatedObserver: BABYLON.Nullable<BABYLON.Observer<BABYLON.ISceneLoaderPlugin | BABYLON.ISceneLoaderPluginAsync>>;
  17. validationResults: BABYLON.GLTF2.IGLTFValidationResults;
  18. onValidationResultsUpdatedObservable: BABYLON.Observable<BABYLON.GLTF2.IGLTFValidationResults>;
  19. onExtensionLoadedObservable: BABYLON.Observable<BABYLON.IGLTFLoaderExtension>;
  20. glTFLoaderExtensionDefaults: {
  21. [name: string]: {
  22. [key: string]: any;
  23. };
  24. };
  25. glTFLoaderDefaults: {
  26. [key: string]: any;
  27. };
  28. blockMutationUpdates: boolean;
  29. prepareGLTFPlugin(loader: BABYLON.GLTFFileLoader): void;
  30. }
  31. }
  32. declare module INSPECTOR {
  33. export interface IPaneComponentProps {
  34. title: string;
  35. scene: BABYLON.Scene;
  36. selectedEntity?: any;
  37. onSelectionChangedObservable?: BABYLON.Observable<any>;
  38. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  39. globalState: GlobalState;
  40. }
  41. export class PaneComponent extends React.Component<IPaneComponentProps, {
  42. tag: any;
  43. }> {
  44. constructor(props: IPaneComponentProps);
  45. render(): JSX.Element | null;
  46. }
  47. }
  48. declare module INSPECTOR {
  49. interface ITabsComponentProps {
  50. children: any[];
  51. selectedIndex: number;
  52. onSelectedIndexChange: (value: number) => void;
  53. }
  54. export class TabsComponent extends React.Component<ITabsComponentProps> {
  55. constructor(props: ITabsComponentProps);
  56. onSelect(index: number): void;
  57. renderLabel(child: PaneComponent, index: number): JSX.Element;
  58. render(): JSX.Element;
  59. }
  60. }
  61. declare module INSPECTOR {
  62. interface ITextLineComponentProps {
  63. label: string;
  64. value: string;
  65. color?: string;
  66. underline?: boolean;
  67. onLink?: () => void;
  68. }
  69. export class TextLineComponent extends React.Component<ITextLineComponentProps> {
  70. constructor(props: ITextLineComponentProps);
  71. onLink(): void;
  72. renderContent(): JSX.Element;
  73. render(): JSX.Element;
  74. }
  75. }
  76. declare module INSPECTOR {
  77. interface ILineContainerComponentProps {
  78. title: string;
  79. children: any[] | any;
  80. closed?: boolean;
  81. }
  82. export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
  83. isExpanded: boolean;
  84. }> {
  85. private static _InMemoryStorage;
  86. constructor(props: ILineContainerComponentProps);
  87. switchExpandedState(): void;
  88. renderHeader(): JSX.Element;
  89. render(): JSX.Element;
  90. }
  91. }
  92. declare module INSPECTOR {
  93. interface IValueLineComponentProps {
  94. label: string;
  95. value: number;
  96. color?: string;
  97. fractionDigits?: number;
  98. units?: string;
  99. }
  100. export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
  101. constructor(props: IValueLineComponentProps);
  102. render(): JSX.Element;
  103. }
  104. }
  105. declare module INSPECTOR {
  106. export interface IBooleanLineComponentProps {
  107. label: string;
  108. value: boolean;
  109. }
  110. export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
  111. constructor(props: IBooleanLineComponentProps);
  112. render(): JSX.Element;
  113. }
  114. }
  115. declare module INSPECTOR {
  116. export class StatisticsTabComponent extends PaneComponent {
  117. private _sceneInstrumentation;
  118. private _engineInstrumentation;
  119. private _timerIntervalId;
  120. constructor(props: IPaneComponentProps);
  121. componentWillMount(): void;
  122. componentWillUnmount(): void;
  123. render(): JSX.Element | null;
  124. }
  125. }
  126. declare module INSPECTOR {
  127. export interface ICheckBoxLineComponentProps {
  128. label: string;
  129. target?: any;
  130. propertyName?: string;
  131. isSelected?: () => boolean;
  132. onSelect?: (value: boolean) => void;
  133. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  134. }
  135. export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
  136. isSelected: boolean;
  137. }> {
  138. private static _UniqueIdSeed;
  139. private _uniqueId;
  140. private _localChange;
  141. constructor(props: ICheckBoxLineComponentProps);
  142. shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
  143. isSelected: boolean;
  144. }): boolean;
  145. onChange(): void;
  146. render(): JSX.Element;
  147. }
  148. }
  149. declare module INSPECTOR {
  150. interface IRenderGridPropertyGridComponentProps {
  151. scene: BABYLON.Scene;
  152. }
  153. export class RenderGridPropertyGridComponent extends React.Component<IRenderGridPropertyGridComponentProps, {
  154. isEnabled: boolean;
  155. }> {
  156. private _gridMesh;
  157. constructor(props: IRenderGridPropertyGridComponentProps);
  158. componentWillMount(): void;
  159. addOrRemoveGrid(): void;
  160. render(): JSX.Element;
  161. }
  162. }
  163. declare module INSPECTOR {
  164. export class DebugTabComponent extends PaneComponent {
  165. private _skeletonViewersEnabled;
  166. private _physicsViewersEnabled;
  167. private _skeletonViewers;
  168. constructor(props: IPaneComponentProps);
  169. componentWillMount(): void;
  170. componentWillUnmount(): void;
  171. switchSkeletonViewers(): void;
  172. switchPhysicsViewers(): void;
  173. render(): JSX.Element | null;
  174. }
  175. }
  176. declare module INSPECTOR {
  177. interface ISliderLineComponentProps {
  178. label: string;
  179. target?: any;
  180. propertyName?: string;
  181. minimum: number;
  182. maximum: number;
  183. step: number;
  184. directValue?: number;
  185. onChange?: (value: number) => void;
  186. onInput?: (value: number) => void;
  187. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  188. }
  189. export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
  190. value: number;
  191. }> {
  192. private _localChange;
  193. constructor(props: ISliderLineComponentProps);
  194. shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
  195. value: number;
  196. }): boolean;
  197. onChange(newValueString: any): void;
  198. onInput(newValueString: any): void;
  199. render(): JSX.Element;
  200. }
  201. }
  202. declare module INSPECTOR {
  203. class ListLineOption {
  204. label: string;
  205. value: number;
  206. }
  207. interface IOptionsLineComponentProps {
  208. label: string;
  209. target: any;
  210. propertyName: string;
  211. options: ListLineOption[];
  212. noDirectUpdate?: boolean;
  213. onSelect?: (value: number) => void;
  214. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  215. }
  216. export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
  217. value: number;
  218. }> {
  219. private _localChange;
  220. constructor(props: IOptionsLineComponentProps);
  221. shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
  222. value: number;
  223. }): boolean;
  224. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  225. updateValue(valueString: string): void;
  226. render(): JSX.Element;
  227. }
  228. }
  229. declare module INSPECTOR {
  230. /**
  231. * Class used to provide lock mechanism
  232. */
  233. export class LockObject {
  234. /**
  235. * Gets or set if the lock is engaged
  236. */
  237. lock: boolean;
  238. }
  239. }
  240. declare module INSPECTOR {
  241. interface ICommonMaterialPropertyGridComponentProps {
  242. material: BABYLON.Material;
  243. lockObject: LockObject;
  244. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  245. }
  246. export class CommonMaterialPropertyGridComponent extends React.Component<ICommonMaterialPropertyGridComponentProps> {
  247. constructor(props: ICommonMaterialPropertyGridComponentProps);
  248. render(): JSX.Element;
  249. }
  250. }
  251. declare module INSPECTOR {
  252. interface IMaterialPropertyGridComponentProps {
  253. material: BABYLON.Material;
  254. lockObject: LockObject;
  255. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  256. }
  257. export class MaterialPropertyGridComponent extends React.Component<IMaterialPropertyGridComponentProps> {
  258. constructor(props: IMaterialPropertyGridComponentProps);
  259. render(): JSX.Element;
  260. }
  261. }
  262. declare module INSPECTOR {
  263. interface INumericInputComponentProps {
  264. label: string;
  265. value: number;
  266. onChange: (value: number) => void;
  267. }
  268. export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
  269. value: string;
  270. }> {
  271. private _localChange;
  272. constructor(props: INumericInputComponentProps);
  273. shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
  274. value: string;
  275. }): boolean;
  276. updateValue(evt: any): void;
  277. render(): JSX.Element;
  278. }
  279. }
  280. declare module INSPECTOR {
  281. export interface IColor3LineComponentProps {
  282. label: string;
  283. target: any;
  284. propertyName: string;
  285. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  286. }
  287. export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
  288. isExpanded: boolean;
  289. color: BABYLON.Color3;
  290. }> {
  291. private _localChange;
  292. constructor(props: IColor3LineComponentProps);
  293. shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
  294. color: BABYLON.Color3;
  295. }): boolean;
  296. onChange(newValue: string): void;
  297. switchExpandState(): void;
  298. raiseOnPropertyChanged(previousValue: BABYLON.Color3): void;
  299. updateStateR(value: number): void;
  300. updateStateG(value: number): void;
  301. updateStateB(value: number): void;
  302. copyToClipboard(): void;
  303. render(): JSX.Element;
  304. }
  305. }
  306. declare module INSPECTOR {
  307. export interface ITextureLinkLineComponentProps {
  308. label: string;
  309. texture: BABYLON.Nullable<BABYLON.BaseTexture>;
  310. material?: BABYLON.Material;
  311. onSelectionChangedObservable?: BABYLON.Observable<any>;
  312. onDebugSelectionChangeObservable?: BABYLON.Observable<BABYLON.BaseTexture>;
  313. }
  314. export class TextureLinkLineComponent extends React.Component<ITextureLinkLineComponentProps, {
  315. isDebugSelected: boolean;
  316. }> {
  317. private _onDebugSelectionChangeObserver;
  318. constructor(props: ITextureLinkLineComponentProps);
  319. componentWillMount(): void;
  320. componentWillUnmount(): void;
  321. debugTexture(): void;
  322. onLink(): void;
  323. render(): JSX.Element | null;
  324. }
  325. }
  326. declare module INSPECTOR {
  327. interface IStandardMaterialPropertyGridComponentProps {
  328. material: BABYLON.StandardMaterial;
  329. lockObject: LockObject;
  330. onSelectionChangedObservable?: BABYLON.Observable<any>;
  331. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  332. }
  333. export class StandardMaterialPropertyGridComponent extends React.Component<IStandardMaterialPropertyGridComponentProps> {
  334. constructor(props: IStandardMaterialPropertyGridComponentProps);
  335. renderTextures(): JSX.Element | null;
  336. render(): JSX.Element;
  337. }
  338. }
  339. declare module INSPECTOR {
  340. interface ITextureLineComponentProps {
  341. texture: BABYLON.BaseTexture;
  342. width: number;
  343. height: number;
  344. globalState: GlobalState;
  345. }
  346. export class TextureLineComponent extends React.Component<ITextureLineComponentProps, {
  347. displayRed: boolean;
  348. displayGreen: boolean;
  349. displayBlue: boolean;
  350. displayAlpha: boolean;
  351. face: number;
  352. }> {
  353. constructor(props: ITextureLineComponentProps);
  354. shouldComponentUpdate(nextProps: ITextureLineComponentProps, nextState: {
  355. displayRed: boolean;
  356. displayGreen: boolean;
  357. displayBlue: boolean;
  358. displayAlpha: boolean;
  359. face: number;
  360. }): boolean;
  361. componentDidMount(): void;
  362. componentDidUpdate(): void;
  363. updatePreview(): void;
  364. render(): JSX.Element;
  365. }
  366. }
  367. declare module INSPECTOR {
  368. interface IFloatLineComponentProps {
  369. label: string;
  370. target: any;
  371. propertyName: string;
  372. lockObject?: LockObject;
  373. onChange?: (newValue: number) => void;
  374. isInteger?: boolean;
  375. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  376. additionalClass?: string;
  377. }
  378. export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
  379. value: string;
  380. }> {
  381. private _localChange;
  382. private _store;
  383. constructor(props: IFloatLineComponentProps);
  384. componentWillUnmount(): void;
  385. shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
  386. value: string;
  387. }): boolean;
  388. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  389. updateValue(valueString: string): void;
  390. lock(): void;
  391. unlock(): void;
  392. render(): JSX.Element;
  393. }
  394. }
  395. declare module INSPECTOR {
  396. interface IFileButtonLineComponentProps {
  397. label: string;
  398. onClick: (file: File) => void;
  399. accept: string;
  400. }
  401. export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
  402. constructor(props: IFileButtonLineComponentProps);
  403. onChange(evt: any): void;
  404. render(): JSX.Element;
  405. }
  406. }
  407. declare module INSPECTOR {
  408. interface ITexturePropertyGridComponentProps {
  409. texture: BABYLON.BaseTexture;
  410. lockObject: LockObject;
  411. globalState: GlobalState;
  412. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  413. }
  414. export class TexturePropertyGridComponent extends React.Component<ITexturePropertyGridComponentProps> {
  415. private _adtInstrumentation;
  416. constructor(props: ITexturePropertyGridComponentProps);
  417. componentWillMount(): void;
  418. componentWillUnmount(): void;
  419. updateTexture(file: File): void;
  420. render(): JSX.Element;
  421. }
  422. }
  423. declare module INSPECTOR {
  424. interface IPBRMaterialPropertyGridComponentProps {
  425. material: BABYLON.PBRMaterial;
  426. lockObject: LockObject;
  427. onSelectionChangedObservable?: BABYLON.Observable<any>;
  428. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  429. }
  430. export class PBRMaterialPropertyGridComponent extends React.Component<IPBRMaterialPropertyGridComponentProps> {
  431. constructor(props: IPBRMaterialPropertyGridComponentProps);
  432. renderTextures(): JSX.Element | null;
  433. render(): JSX.Element;
  434. }
  435. }
  436. declare module INSPECTOR {
  437. interface IRadioButtonLineComponentProps {
  438. onSelectionChangedObservable: BABYLON.Observable<RadioButtonLineComponent>;
  439. label: string;
  440. isSelected: () => boolean;
  441. onSelect: () => void;
  442. }
  443. export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
  444. isSelected: boolean;
  445. }> {
  446. private _onSelectionChangedObserver;
  447. constructor(props: IRadioButtonLineComponentProps);
  448. componentWillMount(): void;
  449. componentWillUnmount(): void;
  450. onChange(): void;
  451. render(): JSX.Element;
  452. }
  453. }
  454. declare module INSPECTOR {
  455. interface IFogPropertyGridComponentProps {
  456. scene: BABYLON.Scene;
  457. lockObject: LockObject;
  458. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  459. }
  460. export class FogPropertyGridComponent extends React.Component<IFogPropertyGridComponentProps, {
  461. mode: number;
  462. }> {
  463. constructor(props: IFogPropertyGridComponentProps);
  464. render(): JSX.Element;
  465. }
  466. }
  467. declare module INSPECTOR {
  468. interface IVector3LineComponentProps {
  469. label: string;
  470. target: any;
  471. propertyName: string;
  472. onChange?: (newvalue: BABYLON.Vector3) => void;
  473. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  474. }
  475. export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
  476. isExpanded: boolean;
  477. value: BABYLON.Vector3;
  478. }> {
  479. private _localChange;
  480. constructor(props: IVector3LineComponentProps);
  481. shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
  482. isExpanded: boolean;
  483. value: BABYLON.Vector3;
  484. }): boolean;
  485. switchExpandState(): void;
  486. raiseOnPropertyChanged(previousValue: BABYLON.Vector3): void;
  487. updateStateX(value: number): void;
  488. updateStateY(value: number): void;
  489. updateStateZ(value: number): void;
  490. render(): JSX.Element;
  491. }
  492. }
  493. declare module INSPECTOR {
  494. interface IScenePropertyGridComponentProps {
  495. scene: BABYLON.Scene;
  496. lockObject: LockObject;
  497. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  498. onSelectionChangedObservable?: BABYLON.Observable<any>;
  499. }
  500. export class ScenePropertyGridComponent extends React.Component<IScenePropertyGridComponentProps> {
  501. private _storedEnvironmentTexture;
  502. private _renderingModeGroupObservable;
  503. constructor(props: IScenePropertyGridComponentProps);
  504. setRenderingModes(point: boolean, wireframe: boolean): void;
  505. switchIBL(): void;
  506. updateEnvironmentTexture(file: File): void;
  507. updateGravity(newValue: BABYLON.Vector3): void;
  508. updateTimeStep(newValue: number): void;
  509. render(): JSX.Element;
  510. }
  511. }
  512. declare module INSPECTOR {
  513. interface ICommonLightPropertyGridComponentProps {
  514. light: BABYLON.Light;
  515. lockObject: LockObject;
  516. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  517. }
  518. export class CommonLightPropertyGridComponent extends React.Component<ICommonLightPropertyGridComponentProps> {
  519. constructor(props: ICommonLightPropertyGridComponentProps);
  520. render(): JSX.Element;
  521. }
  522. }
  523. declare module INSPECTOR {
  524. interface IHemisphericLightPropertyGridComponentProps {
  525. light: BABYLON.HemisphericLight;
  526. lockObject: LockObject;
  527. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  528. }
  529. export class HemisphericLightPropertyGridComponent extends React.Component<IHemisphericLightPropertyGridComponentProps> {
  530. constructor(props: IHemisphericLightPropertyGridComponentProps);
  531. render(): JSX.Element;
  532. }
  533. }
  534. declare module INSPECTOR {
  535. interface ICommonShadowLightPropertyGridComponentProps {
  536. light: BABYLON.IShadowLight;
  537. lockObject: LockObject;
  538. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  539. }
  540. export class CommonShadowLightPropertyGridComponent extends React.Component<ICommonShadowLightPropertyGridComponentProps> {
  541. constructor(props: ICommonShadowLightPropertyGridComponentProps);
  542. render(): JSX.Element;
  543. }
  544. }
  545. declare module INSPECTOR {
  546. interface IPointLightPropertyGridComponentProps {
  547. light: BABYLON.PointLight;
  548. lockObject: LockObject;
  549. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  550. }
  551. export class PointLightPropertyGridComponent extends React.Component<IPointLightPropertyGridComponentProps> {
  552. constructor(props: IPointLightPropertyGridComponentProps);
  553. render(): JSX.Element;
  554. }
  555. }
  556. declare module INSPECTOR {
  557. interface ICommonCameraPropertyGridComponentProps {
  558. camera: BABYLON.Camera;
  559. lockObject: LockObject;
  560. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  561. }
  562. export class CommonCameraPropertyGridComponent extends React.Component<ICommonCameraPropertyGridComponentProps, {
  563. mode: number;
  564. }> {
  565. constructor(props: ICommonCameraPropertyGridComponentProps);
  566. render(): JSX.Element;
  567. }
  568. }
  569. declare module INSPECTOR {
  570. interface IFreeCameraPropertyGridComponentProps {
  571. camera: BABYLON.FreeCamera;
  572. lockObject: LockObject;
  573. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  574. }
  575. export class FreeCameraPropertyGridComponent extends React.Component<IFreeCameraPropertyGridComponentProps> {
  576. constructor(props: IFreeCameraPropertyGridComponentProps);
  577. render(): JSX.Element;
  578. }
  579. }
  580. declare module INSPECTOR {
  581. interface IArcRotateCameraPropertyGridComponentProps {
  582. camera: BABYLON.ArcRotateCamera;
  583. lockObject: LockObject;
  584. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  585. }
  586. export class ArcRotateCameraPropertyGridComponent extends React.Component<IArcRotateCameraPropertyGridComponentProps> {
  587. constructor(props: IArcRotateCameraPropertyGridComponentProps);
  588. render(): JSX.Element;
  589. }
  590. }
  591. declare module INSPECTOR {
  592. interface IQuaternionLineComponentProps {
  593. label: string;
  594. target: any;
  595. propertyName: string;
  596. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  597. }
  598. export class QuaternionLineComponent extends React.Component<IQuaternionLineComponentProps, {
  599. isExpanded: boolean;
  600. value: BABYLON.Quaternion;
  601. }> {
  602. private _localChange;
  603. constructor(props: IQuaternionLineComponentProps);
  604. shouldComponentUpdate(nextProps: IQuaternionLineComponentProps, nextState: {
  605. isExpanded: boolean;
  606. value: BABYLON.Quaternion;
  607. }): boolean;
  608. switchExpandState(): void;
  609. raiseOnPropertyChanged(currentValue: BABYLON.Quaternion, previousValue: BABYLON.Quaternion): void;
  610. updateQuaternion(): void;
  611. updateStateX(value: number): void;
  612. updateStateY(value: number): void;
  613. updateStateZ(value: number): void;
  614. updateStateW(value: number): void;
  615. render(): JSX.Element;
  616. }
  617. }
  618. declare module INSPECTOR {
  619. interface IAxisViewerComponentProps {
  620. node: BABYLON.TransformNode;
  621. }
  622. export class AxesViewerComponent extends React.Component<IAxisViewerComponentProps, {
  623. displayAxis: boolean;
  624. }> {
  625. constructor(props: IAxisViewerComponentProps);
  626. displayAxes(): void;
  627. render(): JSX.Element;
  628. }
  629. }
  630. declare module INSPECTOR {
  631. interface IMeshPropertyGridComponentProps {
  632. mesh: BABYLON.Mesh;
  633. lockObject: LockObject;
  634. onSelectionChangedObservable?: BABYLON.Observable<any>;
  635. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  636. }
  637. export class MeshPropertyGridComponent extends React.Component<IMeshPropertyGridComponentProps, {
  638. displayNormals: boolean;
  639. renderNormalVectors: boolean;
  640. }> {
  641. constructor(props: IMeshPropertyGridComponentProps);
  642. renderNormalVectors(): void;
  643. displayNormals(): void;
  644. onMaterialLink(): void;
  645. convertPhysicsTypeToString(): string;
  646. render(): JSX.Element;
  647. }
  648. }
  649. declare module INSPECTOR {
  650. interface ITransformNodePropertyGridComponentProps {
  651. transformNode: BABYLON.TransformNode;
  652. lockObject: LockObject;
  653. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  654. }
  655. export class TransformNodePropertyGridComponent extends React.Component<ITransformNodePropertyGridComponentProps> {
  656. constructor(props: ITransformNodePropertyGridComponentProps);
  657. render(): JSX.Element;
  658. }
  659. }
  660. declare module INSPECTOR {
  661. interface IBackgroundMaterialPropertyGridComponentProps {
  662. material: BABYLON.BackgroundMaterial;
  663. lockObject: LockObject;
  664. onSelectionChangedObservable?: BABYLON.Observable<any>;
  665. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  666. }
  667. export class BackgroundMaterialPropertyGridComponent extends React.Component<IBackgroundMaterialPropertyGridComponentProps> {
  668. constructor(props: IBackgroundMaterialPropertyGridComponentProps);
  669. renderTextures(): JSX.Element;
  670. render(): JSX.Element;
  671. }
  672. }
  673. declare module INSPECTOR {
  674. interface ITextInputLineComponentProps {
  675. label: string;
  676. lockObject: LockObject;
  677. target?: any;
  678. propertyName?: string;
  679. value?: string;
  680. onChange?: (value: string) => void;
  681. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  682. }
  683. export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
  684. value: string;
  685. }> {
  686. private _localChange;
  687. constructor(props: ITextInputLineComponentProps);
  688. componentWillUnmount(): void;
  689. shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
  690. value: string;
  691. }): boolean;
  692. raiseOnPropertyChanged(newValue: string, previousValue: string): void;
  693. updateValue(value: string): void;
  694. render(): JSX.Element;
  695. }
  696. }
  697. declare module INSPECTOR {
  698. interface ICommonControlPropertyGridComponentProps {
  699. control: BABYLON.GUI.Control;
  700. lockObject: LockObject;
  701. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  702. }
  703. export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
  704. constructor(props: ICommonControlPropertyGridComponentProps);
  705. renderGridInformation(): JSX.Element | null;
  706. render(): JSX.Element;
  707. }
  708. }
  709. declare module INSPECTOR {
  710. interface IControlPropertyGridComponentProps {
  711. control: BABYLON.GUI.Control;
  712. lockObject: LockObject;
  713. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  714. }
  715. export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
  716. constructor(props: IControlPropertyGridComponentProps);
  717. render(): JSX.Element;
  718. }
  719. }
  720. declare module INSPECTOR {
  721. interface ITextBlockPropertyGridComponentProps {
  722. textBlock: BABYLON.GUI.TextBlock;
  723. lockObject: LockObject;
  724. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  725. }
  726. export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
  727. constructor(props: ITextBlockPropertyGridComponentProps);
  728. render(): JSX.Element;
  729. }
  730. }
  731. declare module INSPECTOR {
  732. interface IInputTextPropertyGridComponentProps {
  733. inputText: BABYLON.GUI.InputText;
  734. lockObject: LockObject;
  735. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  736. }
  737. export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
  738. constructor(props: IInputTextPropertyGridComponentProps);
  739. render(): JSX.Element;
  740. }
  741. }
  742. declare module INSPECTOR {
  743. interface IColorPickerPropertyGridComponentProps {
  744. colorPicker: BABYLON.GUI.ColorPicker;
  745. lockObject: LockObject;
  746. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  747. }
  748. export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
  749. constructor(props: IColorPickerPropertyGridComponentProps);
  750. render(): JSX.Element;
  751. }
  752. }
  753. declare module INSPECTOR {
  754. export interface IButtonLineComponentProps {
  755. label: string;
  756. onClick: () => void;
  757. }
  758. export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
  759. constructor(props: IButtonLineComponentProps);
  760. render(): JSX.Element;
  761. }
  762. }
  763. declare module INSPECTOR {
  764. interface IAnimationGroupGridComponentProps {
  765. animationGroup: BABYLON.AnimationGroup;
  766. scene: BABYLON.Scene;
  767. lockObject: LockObject;
  768. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  769. }
  770. export class AnimationGroupGridComponent extends React.Component<IAnimationGroupGridComponentProps, {
  771. playButtonText: string;
  772. currentFrame: number;
  773. }> {
  774. private _onAnimationGroupPlayObserver;
  775. private _onAnimationGroupPauseObserver;
  776. private _onBeforeRenderObserver;
  777. constructor(props: IAnimationGroupGridComponentProps);
  778. disconnect(animationGroup: BABYLON.AnimationGroup): void;
  779. connect(animationGroup: BABYLON.AnimationGroup): void;
  780. updateCurrentFrame(animationGroup: BABYLON.AnimationGroup): void;
  781. shouldComponentUpdate(nextProps: IAnimationGroupGridComponentProps): boolean;
  782. componentWillMount(): void;
  783. componentWillUnmount(): void;
  784. playOrPause(): void;
  785. onCurrentFrameChange(value: number): void;
  786. render(): JSX.Element;
  787. }
  788. }
  789. declare module INSPECTOR {
  790. interface IImagePropertyGridComponentProps {
  791. image: BABYLON.GUI.Image;
  792. lockObject: LockObject;
  793. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  794. }
  795. export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
  796. constructor(props: IImagePropertyGridComponentProps);
  797. render(): JSX.Element;
  798. }
  799. }
  800. declare module INSPECTOR {
  801. interface ISliderPropertyGridComponentProps {
  802. slider: BABYLON.GUI.Slider;
  803. lockObject: LockObject;
  804. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  805. }
  806. export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
  807. constructor(props: ISliderPropertyGridComponentProps);
  808. render(): JSX.Element;
  809. }
  810. }
  811. declare module INSPECTOR {
  812. interface IImageBasedSliderPropertyGridComponentProps {
  813. imageBasedSlider: BABYLON.GUI.ImageBasedSlider;
  814. lockObject: LockObject;
  815. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  816. }
  817. export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
  818. constructor(props: IImageBasedSliderPropertyGridComponentProps);
  819. render(): JSX.Element;
  820. }
  821. }
  822. declare module INSPECTOR {
  823. interface IRectanglePropertyGridComponentProps {
  824. rectangle: BABYLON.GUI.Rectangle;
  825. lockObject: LockObject;
  826. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  827. }
  828. export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
  829. constructor(props: IRectanglePropertyGridComponentProps);
  830. render(): JSX.Element;
  831. }
  832. }
  833. declare module INSPECTOR {
  834. interface IEllipsePropertyGridComponentProps {
  835. ellipse: BABYLON.GUI.Ellipse;
  836. lockObject: LockObject;
  837. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  838. }
  839. export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
  840. constructor(props: IEllipsePropertyGridComponentProps);
  841. render(): JSX.Element;
  842. }
  843. }
  844. declare module INSPECTOR {
  845. interface ICheckboxPropertyGridComponentProps {
  846. checkbox: BABYLON.GUI.Checkbox;
  847. lockObject: LockObject;
  848. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  849. }
  850. export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
  851. constructor(props: ICheckboxPropertyGridComponentProps);
  852. render(): JSX.Element;
  853. }
  854. }
  855. declare module INSPECTOR {
  856. interface IRadioButtonPropertyGridComponentProps {
  857. radioButton: BABYLON.GUI.RadioButton;
  858. lockObject: LockObject;
  859. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  860. }
  861. export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
  862. constructor(props: IRadioButtonPropertyGridComponentProps);
  863. render(): JSX.Element;
  864. }
  865. }
  866. declare module INSPECTOR {
  867. interface ILinePropertyGridComponentProps {
  868. line: BABYLON.GUI.Line;
  869. lockObject: LockObject;
  870. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  871. }
  872. export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
  873. constructor(props: ILinePropertyGridComponentProps);
  874. onDashChange(value: string): void;
  875. render(): JSX.Element;
  876. }
  877. }
  878. declare module INSPECTOR {
  879. interface IScrollViewerPropertyGridComponentProps {
  880. scrollViewer: BABYLON.GUI.ScrollViewer;
  881. lockObject: LockObject;
  882. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  883. }
  884. export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
  885. constructor(props: IScrollViewerPropertyGridComponentProps);
  886. render(): JSX.Element;
  887. }
  888. }
  889. declare module INSPECTOR {
  890. interface IGridPropertyGridComponentProps {
  891. grid: BABYLON.GUI.Grid;
  892. lockObject: LockObject;
  893. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  894. }
  895. export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
  896. constructor(props: IGridPropertyGridComponentProps);
  897. renderRows(): JSX.Element[];
  898. renderColumns(): JSX.Element[];
  899. render(): JSX.Element;
  900. }
  901. }
  902. declare module INSPECTOR {
  903. interface IPBRMetallicRoughnessMaterialPropertyGridComponentProps {
  904. material: BABYLON.PBRMetallicRoughnessMaterial;
  905. lockObject: LockObject;
  906. onSelectionChangedObservable?: BABYLON.Observable<any>;
  907. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  908. }
  909. export class PBRMetallicRoughnessMaterialPropertyGridComponent extends React.Component<IPBRMetallicRoughnessMaterialPropertyGridComponentProps> {
  910. constructor(props: IPBRMetallicRoughnessMaterialPropertyGridComponentProps);
  911. renderTextures(): JSX.Element | null;
  912. render(): JSX.Element;
  913. }
  914. }
  915. declare module INSPECTOR {
  916. interface IPBRSpecularGlossinessMaterialPropertyGridComponentProps {
  917. material: BABYLON.PBRSpecularGlossinessMaterial;
  918. lockObject: LockObject;
  919. onSelectionChangedObservable?: BABYLON.Observable<any>;
  920. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  921. }
  922. export class PBRSpecularGlossinessMaterialPropertyGridComponent extends React.Component<IPBRSpecularGlossinessMaterialPropertyGridComponentProps> {
  923. constructor(props: IPBRSpecularGlossinessMaterialPropertyGridComponentProps);
  924. renderTextures(): JSX.Element | null;
  925. render(): JSX.Element;
  926. }
  927. }
  928. declare module INSPECTOR {
  929. interface IStackPanelPropertyGridComponentProps {
  930. stackPanel: BABYLON.GUI.StackPanel;
  931. lockObject: LockObject;
  932. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  933. }
  934. export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
  935. constructor(props: IStackPanelPropertyGridComponentProps);
  936. render(): JSX.Element;
  937. }
  938. }
  939. declare module INSPECTOR {
  940. export class PropertyGridTabComponent extends PaneComponent {
  941. private _timerIntervalId;
  942. private _lockObject;
  943. constructor(props: IPaneComponentProps);
  944. timerRefresh(): void;
  945. componentWillMount(): void;
  946. componentWillUnmount(): void;
  947. render(): JSX.Element | null;
  948. }
  949. }
  950. declare module INSPECTOR {
  951. export interface IHeaderComponentProps {
  952. title: string;
  953. handleBack?: boolean;
  954. noExpand?: boolean;
  955. noClose?: boolean;
  956. noCommands?: boolean;
  957. onPopup: () => void;
  958. onClose: () => void;
  959. onSelectionChangedObservable?: BABYLON.Observable<any>;
  960. }
  961. export class HeaderComponent extends React.Component<IHeaderComponentProps, {
  962. isBackVisible: boolean;
  963. }> {
  964. private _backStack;
  965. private _onSelectionChangeObserver;
  966. constructor(props: IHeaderComponentProps);
  967. componentWillMount(): void;
  968. componentWillUnmount(): void;
  969. goBack(): void;
  970. renderLogo(): JSX.Element | null;
  971. render(): JSX.Element;
  972. }
  973. }
  974. declare module INSPECTOR {
  975. interface IMessageLineComponentProps {
  976. text: string;
  977. color?: string;
  978. }
  979. export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
  980. constructor(props: IMessageLineComponentProps);
  981. render(): JSX.Element;
  982. }
  983. }
  984. declare module INSPECTOR {
  985. interface IGLTFComponentProps {
  986. scene: BABYLON.Scene;
  987. globalState: GlobalState;
  988. }
  989. export class GLTFComponent extends React.Component<IGLTFComponentProps> {
  990. constructor(props: IGLTFComponentProps);
  991. openValidationDetails(): void;
  992. prepareText(singularForm: string, count: number): string;
  993. renderValidation(): JSX.Element;
  994. render(): JSX.Element;
  995. }
  996. }
  997. declare module INSPECTOR {
  998. export class ToolsTabComponent extends PaneComponent {
  999. private _videoRecorder;
  1000. constructor(props: IPaneComponentProps);
  1001. componentWillMount(): void;
  1002. componentWillUnmount(): void;
  1003. captureScreenshot(): void;
  1004. recordVideo(): void;
  1005. shouldExport(transformNode: BABYLON.TransformNode): boolean;
  1006. exportGLTF(): void;
  1007. exportBabylon(): void;
  1008. createEnvTexture(): void;
  1009. render(): JSX.Element | null;
  1010. }
  1011. }
  1012. declare module INSPECTOR {
  1013. interface IActionTabsComponentProps {
  1014. scene: BABYLON.Scene;
  1015. noCommands?: boolean;
  1016. noHeader?: boolean;
  1017. noExpand?: boolean;
  1018. noClose?: boolean;
  1019. popupMode?: boolean;
  1020. onPopup?: () => void;
  1021. onClose?: () => void;
  1022. globalState: GlobalState;
  1023. }
  1024. export class ActionTabsComponent extends React.Component<IActionTabsComponentProps, {
  1025. selectedEntity: any;
  1026. selectedIndex: number;
  1027. }> {
  1028. private _onSelectionChangeObserver;
  1029. private _onTabChangedObserver;
  1030. private _once;
  1031. constructor(props: IActionTabsComponentProps);
  1032. componentWillMount(): void;
  1033. componentWillUnmount(): void;
  1034. changeSelectedTab(index: number): void;
  1035. renderContent(): JSX.Element;
  1036. onClose(): void;
  1037. onPopup(): void;
  1038. render(): JSX.Element;
  1039. }
  1040. }
  1041. declare module INSPECTOR {
  1042. interface ITreeItemLabelComponentProps {
  1043. label: string;
  1044. onClick?: () => void;
  1045. color: string;
  1046. }
  1047. export class TreeItemLabelComponent extends React.Component<ITreeItemLabelComponentProps> {
  1048. constructor(props: ITreeItemLabelComponentProps);
  1049. onClick(): void;
  1050. render(): JSX.Element;
  1051. }
  1052. }
  1053. declare module INSPECTOR {
  1054. interface IExtensionsComponentProps {
  1055. target: any;
  1056. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1057. }
  1058. export class ExtensionsComponent extends React.Component<IExtensionsComponentProps, {
  1059. popupVisible: boolean;
  1060. }> {
  1061. private _popup;
  1062. constructor(props: IExtensionsComponentProps);
  1063. showPopup(): void;
  1064. componentDidMount(): void;
  1065. componentDidUpdate(): void;
  1066. render(): JSX.Element | null;
  1067. }
  1068. }
  1069. declare module INSPECTOR {
  1070. interface IMeshTreeItemComponentProps {
  1071. mesh: BABYLON.AbstractMesh;
  1072. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1073. onClick: () => void;
  1074. }
  1075. export class MeshTreeItemComponent extends React.Component<IMeshTreeItemComponentProps, {
  1076. isGizmoEnabled: boolean;
  1077. isVisible: boolean;
  1078. }> {
  1079. constructor(props: IMeshTreeItemComponentProps);
  1080. showGizmos(): void;
  1081. switchVisibility(): void;
  1082. render(): JSX.Element;
  1083. }
  1084. }
  1085. declare module INSPECTOR {
  1086. interface ICameraTreeItemComponentProps {
  1087. camera: BABYLON.Camera;
  1088. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1089. onClick: () => void;
  1090. }
  1091. export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
  1092. isActive: boolean;
  1093. }> {
  1094. private _onActiveCameraObserver;
  1095. constructor(props: ICameraTreeItemComponentProps);
  1096. setActive(): void;
  1097. componentWillMount(): void;
  1098. componentWillUnmount(): void;
  1099. render(): JSX.Element;
  1100. }
  1101. }
  1102. declare module INSPECTOR {
  1103. interface ILightTreeItemComponentProps {
  1104. light: BABYLON.Light;
  1105. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1106. onClick: () => void;
  1107. globalState: GlobalState;
  1108. }
  1109. export class LightTreeItemComponent extends React.Component<ILightTreeItemComponentProps, {
  1110. isEnabled: boolean;
  1111. }> {
  1112. constructor(props: ILightTreeItemComponentProps);
  1113. switchIsEnabled(): void;
  1114. render(): JSX.Element;
  1115. }
  1116. }
  1117. declare module INSPECTOR {
  1118. interface IMaterialTreeItemComponentProps {
  1119. material: BABYLON.Material;
  1120. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1121. onClick: () => void;
  1122. }
  1123. export class MaterialTreeItemComponent extends React.Component<IMaterialTreeItemComponentProps> {
  1124. constructor(props: IMaterialTreeItemComponentProps);
  1125. render(): JSX.Element;
  1126. }
  1127. }
  1128. declare module INSPECTOR {
  1129. interface ITextureTreeItemComponentProps {
  1130. texture: BABYLON.Texture;
  1131. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1132. onClick: () => void;
  1133. }
  1134. export class TextureTreeItemComponent extends React.Component<ITextureTreeItemComponentProps> {
  1135. constructor(props: ITextureTreeItemComponentProps);
  1136. render(): JSX.Element;
  1137. }
  1138. }
  1139. declare module INSPECTOR {
  1140. interface ITransformNodeItemComponentProps {
  1141. transformNode: BABYLON.TransformNode;
  1142. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1143. onClick: () => void;
  1144. }
  1145. export class TransformNodeItemComponent extends React.Component<ITransformNodeItemComponentProps> {
  1146. constructor(props: ITransformNodeItemComponentProps);
  1147. render(): JSX.Element;
  1148. }
  1149. }
  1150. declare module INSPECTOR {
  1151. interface IControlTreeItemComponentProps {
  1152. control: BABYLON.GUI.Control;
  1153. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1154. onClick: () => void;
  1155. }
  1156. export class ControlTreeItemComponent extends React.Component<IControlTreeItemComponentProps, {
  1157. isActive: boolean;
  1158. isVisible: boolean;
  1159. }> {
  1160. constructor(props: IControlTreeItemComponentProps);
  1161. highlight(): void;
  1162. switchVisibility(): void;
  1163. render(): JSX.Element;
  1164. }
  1165. }
  1166. declare module INSPECTOR {
  1167. interface IAdvancedDynamicTextureTreeItemComponentProps {
  1168. texture: BABYLON.GUI.AdvancedDynamicTexture;
  1169. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1170. onSelectionChangedObservable?: BABYLON.Observable<any>;
  1171. onClick: () => void;
  1172. }
  1173. export class AdvancedDynamicTextureTreeItemComponent extends React.Component<IAdvancedDynamicTextureTreeItemComponentProps, {
  1174. isInPickingMode: boolean;
  1175. }> {
  1176. private _onControlPickedObserver;
  1177. constructor(props: IAdvancedDynamicTextureTreeItemComponentProps);
  1178. componentWillUnmount(): void;
  1179. onPickingMode(): void;
  1180. render(): JSX.Element;
  1181. }
  1182. }
  1183. declare module INSPECTOR {
  1184. interface IAnimationGroupItemComponentProps {
  1185. animationGroup: BABYLON.AnimationGroup;
  1186. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1187. onClick: () => void;
  1188. }
  1189. export class AnimationGroupItemComponent extends React.Component<IAnimationGroupItemComponentProps> {
  1190. constructor(props: IAnimationGroupItemComponentProps);
  1191. render(): JSX.Element;
  1192. }
  1193. }
  1194. declare module INSPECTOR {
  1195. interface ITreeItemSpecializedComponentProps {
  1196. label: string;
  1197. entity?: any;
  1198. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1199. globalState: GlobalState;
  1200. onClick?: () => void;
  1201. }
  1202. export class TreeItemSpecializedComponent extends React.Component<ITreeItemSpecializedComponentProps> {
  1203. constructor(props: ITreeItemSpecializedComponentProps);
  1204. onClick(): void;
  1205. render(): JSX.Element;
  1206. }
  1207. }
  1208. declare module INSPECTOR {
  1209. export class Tools {
  1210. static LookForItem(item: any, selectedEntity: any): boolean;
  1211. private static _RecursiveRemoveHiddenMeshesAndHoistChildren;
  1212. static SortAndFilter(parent: any, items: any[]): any[];
  1213. }
  1214. }
  1215. declare module INSPECTOR {
  1216. export interface ITreeItemSelectableComponentProps {
  1217. entity: any;
  1218. selectedEntity?: any;
  1219. mustExpand?: boolean;
  1220. offset: number;
  1221. globalState: GlobalState;
  1222. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1223. filter: BABYLON.Nullable<string>;
  1224. }
  1225. export class TreeItemSelectableComponent extends React.Component<ITreeItemSelectableComponentProps, {
  1226. isExpanded: boolean;
  1227. isSelected: boolean;
  1228. }> {
  1229. private _wasSelected;
  1230. constructor(props: ITreeItemSelectableComponentProps);
  1231. switchExpandedState(): void;
  1232. shouldComponentUpdate(nextProps: ITreeItemSelectableComponentProps, nextState: {
  1233. isExpanded: boolean;
  1234. isSelected: boolean;
  1235. }): boolean;
  1236. scrollIntoView(): void;
  1237. componentDidMount(): void;
  1238. componentDidUpdate(): void;
  1239. onSelect(): void;
  1240. renderChildren(): JSX.Element[] | null;
  1241. render(): JSX.Element | null;
  1242. }
  1243. }
  1244. declare module INSPECTOR {
  1245. export interface ITreeItemComponentProps {
  1246. items?: BABYLON.Nullable<any[]>;
  1247. label: string;
  1248. offset: number;
  1249. filter: BABYLON.Nullable<string>;
  1250. globalState: GlobalState;
  1251. entity?: any;
  1252. selectedEntity: any;
  1253. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1254. }
  1255. export class TreeItemComponent extends React.Component<ITreeItemComponentProps, {
  1256. isExpanded: boolean;
  1257. mustExpand: boolean;
  1258. }> {
  1259. constructor(props: ITreeItemComponentProps);
  1260. switchExpandedState(): void;
  1261. shouldComponentUpdate(nextProps: ITreeItemComponentProps, nextState: {
  1262. isExpanded: boolean;
  1263. }): boolean;
  1264. expandAll(expand: boolean): void;
  1265. render(): JSX.Element;
  1266. }
  1267. }
  1268. declare module INSPECTOR {
  1269. interface ISceneTreeItemComponentProps {
  1270. scene: BABYLON.Scene;
  1271. onRefresh: () => void;
  1272. selectedEntity?: any;
  1273. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1274. onSelectionChangedObservable?: BABYLON.Observable<any>;
  1275. }
  1276. export class SceneTreeItemComponent extends React.Component<ISceneTreeItemComponentProps, {
  1277. isSelected: boolean;
  1278. isInPickingMode: boolean;
  1279. gizmoMode: number;
  1280. }> {
  1281. private _onPointerObserver;
  1282. private _onSelectionChangeObserver;
  1283. private _selectedEntity;
  1284. constructor(props: ISceneTreeItemComponentProps);
  1285. shouldComponentUpdate(nextProps: ISceneTreeItemComponentProps, nextState: {
  1286. isSelected: boolean;
  1287. isInPickingMode: boolean;
  1288. }): boolean;
  1289. componentWillMount(): void;
  1290. componentWillUnmount(): void;
  1291. onSelect(): void;
  1292. onPickingMode(): void;
  1293. setGizmoMode(mode: number): void;
  1294. render(): JSX.Element;
  1295. }
  1296. }
  1297. declare module INSPECTOR {
  1298. interface ISceneExplorerFilterComponentProps {
  1299. onFilter: (filter: string) => void;
  1300. }
  1301. export class SceneExplorerFilterComponent extends React.Component<ISceneExplorerFilterComponentProps> {
  1302. constructor(props: ISceneExplorerFilterComponentProps);
  1303. render(): JSX.Element;
  1304. }
  1305. interface ISceneExplorerComponentProps {
  1306. scene: BABYLON.Scene;
  1307. noCommands?: boolean;
  1308. noHeader?: boolean;
  1309. noExpand?: boolean;
  1310. noClose?: boolean;
  1311. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  1312. globalState: GlobalState;
  1313. popupMode?: boolean;
  1314. onPopup?: () => void;
  1315. onClose?: () => void;
  1316. }
  1317. export class SceneExplorerComponent extends React.Component<ISceneExplorerComponentProps, {
  1318. filter: BABYLON.Nullable<string>;
  1319. selectedEntity: any;
  1320. scene: BABYLON.Scene;
  1321. }> {
  1322. private _onSelectionChangeObserver;
  1323. private _onNewSceneAddedObserver;
  1324. private _once;
  1325. private sceneMutationFunc;
  1326. constructor(props: ISceneExplorerComponentProps);
  1327. processMutation(): void;
  1328. componentWillMount(): void;
  1329. componentWillUnmount(): void;
  1330. filterContent(filter: string): void;
  1331. findSiblings(parent: any, items: any[], target: any, goNext: boolean, data: {
  1332. previousOne?: any;
  1333. found?: boolean;
  1334. }): boolean;
  1335. processKeys(keyEvent: React.KeyboardEvent<HTMLDivElement>): void;
  1336. renderContent(): JSX.Element | null;
  1337. onClose(): void;
  1338. onPopup(): void;
  1339. render(): JSX.Element;
  1340. }
  1341. }
  1342. declare module INSPECTOR {
  1343. interface IEmbedHostComponentProps {
  1344. scene: BABYLON.Scene;
  1345. globalState: GlobalState;
  1346. popupMode: boolean;
  1347. noClose?: boolean;
  1348. noExpand?: boolean;
  1349. onClose: () => void;
  1350. onPopup: () => void;
  1351. }
  1352. export class EmbedHostComponent extends React.Component<IEmbedHostComponentProps> {
  1353. private _once;
  1354. constructor(props: IEmbedHostComponentProps);
  1355. componentDidMount(): void;
  1356. renderContent(): JSX.Element;
  1357. render(): JSX.Element;
  1358. }
  1359. }
  1360. declare module INSPECTOR {
  1361. export class Inspector {
  1362. private static _SceneExplorerHost;
  1363. private static _ActionTabsHost;
  1364. private static _EmbedHost;
  1365. private static _NewCanvasContainer;
  1366. private static _SceneExplorerWindow;
  1367. private static _ActionTabsWindow;
  1368. private static _EmbedHostWindow;
  1369. private static _Scene;
  1370. private static _OpenedPane;
  1371. private static _OnBeforeRenderObserver;
  1372. static OnSelectionChangeObservable: BABYLON.Observable<string>;
  1373. static OnPropertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>;
  1374. private static _GlobalState;
  1375. private static _CopyStyles;
  1376. private static _CreateSceneExplorer;
  1377. private static _CreateActionTabs;
  1378. private static _CreateEmbedHost;
  1379. private static _CreatePopup;
  1380. static readonly IsVisible: boolean;
  1381. static EarlyAttachToLoader(): void;
  1382. static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;
  1383. private static _CreateCanvasContainer;
  1384. private static _DestroyCanvasContainer;
  1385. private static _Cleanup;
  1386. private static _RemoveElementFromDOM;
  1387. static Hide(): void;
  1388. }
  1389. }
  1390. declare module INSPECTOR {
  1391. interface IDirectionalLightPropertyGridComponentProps {
  1392. light: BABYLON.DirectionalLight;
  1393. lockObject: LockObject;
  1394. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  1395. }
  1396. export class DirectionalLightPropertyGridComponent extends React.Component<IDirectionalLightPropertyGridComponentProps> {
  1397. constructor(props: IDirectionalLightPropertyGridComponentProps);
  1398. render(): JSX.Element;
  1399. }
  1400. }
  1401. declare module INSPECTOR {
  1402. interface ISpotLightPropertyGridComponentProps {
  1403. light: BABYLON.SpotLight;
  1404. lockObject: LockObject;
  1405. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  1406. }
  1407. export class SpotLightPropertyGridComponent extends React.Component<ISpotLightPropertyGridComponentProps> {
  1408. constructor(props: ISpotLightPropertyGridComponentProps);
  1409. render(): JSX.Element;
  1410. }
  1411. }