12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339 |
- /// <reference types="react" />
- declare module "babylonjs-inspector/components/propertyChangedEvent" {
- export class PropertyChangedEvent {
- object: any;
- property: string;
- value: any;
- initialValue: any;
- allowNullValue?: boolean;
- }
- }
- declare module "babylonjs-inspector/components/replayRecorder" {
- import { Scene } from 'babylonjs/scene';
- export class ReplayRecorder {
- private _sceneRecorder;
- private _isRecording;
- get isRecording(): boolean;
- cancel(): void;
- trackScene(scene: Scene): void;
- applyDelta(json: any, scene: Scene): void;
- export(): void;
- }
- }
- declare module "babylonjs-inspector/components/globalState" {
- import { IGLTFValidationResults } from "babylonjs-gltf2interface";
- import { Nullable } from "babylonjs/types";
- import { Observable, Observer } from "babylonjs/Misc/observable";
- import { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "babylonjs/Loading/sceneLoader";
- import { Scene } from "babylonjs/scene";
- import { Light } from "babylonjs/Lights/light";
- import { Camera } from "babylonjs/Cameras/camera";
- import { LightGizmo } from "babylonjs/Gizmos/lightGizmo";
- import { CameraGizmo } from "babylonjs/Gizmos/cameraGizmo";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { ReplayRecorder } from "babylonjs-inspector/components/replayRecorder";
- export class GlobalState {
- onSelectionChangedObservable: Observable<any>;
- onPropertyChangedObservable: Observable<PropertyChangedEvent>;
- onInspectorClosedObservable: Observable<Scene>;
- onTabChangedObservable: Observable<number>;
- onSelectionRenamedObservable: Observable<void>;
- onPluginActivatedObserver: Nullable<Observer<ISceneLoaderPlugin | ISceneLoaderPluginAsync>>;
- onNewSceneObservable: Observable<Scene>;
- sceneImportDefaults: {
- [key: string]: any;
- };
- validationResults: Nullable<IGLTFValidationResults>;
- onValidationResultsUpdatedObservable: Observable<Nullable<IGLTFValidationResults>>;
- onExtensionLoadedObservable: Observable<import("babylonjs-loaders/glTF/index").IGLTFLoaderExtension>;
- glTFLoaderExtensionDefaults: {
- [name: string]: {
- [key: string]: any;
- };
- };
- glTFLoaderDefaults: {
- [key: string]: any;
- };
- glTFLoaderExtensions: {
- [key: string]: import("babylonjs-loaders/glTF/index").IGLTFLoaderExtension;
- };
- blockMutationUpdates: boolean;
- selectedLineContainerTitles: Array<string>;
- selectedLineContainerTitlesNoFocus: Array<string>;
- recorder: ReplayRecorder;
- private _onlyUseEulers;
- get onlyUseEulers(): boolean;
- set onlyUseEulers(value: boolean);
- private _ignoreBackfacesForPicking;
- get ignoreBackfacesForPicking(): boolean;
- set ignoreBackfacesForPicking(value: boolean);
- init(propertyChangedObservable: Observable<PropertyChangedEvent>): void;
- prepareGLTFPlugin(loader: import("babylonjs-loaders/glTF/index").GLTFFileLoader): void;
- lightGizmos: Array<LightGizmo>;
- enableLightGizmo(light: Light, enable?: boolean): void;
- cameraGizmos: Array<CameraGizmo>;
- enableCameraGizmo(camera: Camera, enable?: boolean): void;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/paneComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- export interface IPaneComponentProps {
- title: string;
- scene: Scene;
- selectedEntity?: any;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- globalState: GlobalState;
- }
- export class PaneComponent extends React.Component<IPaneComponentProps, {
- tag: any;
- }> {
- constructor(props: IPaneComponentProps);
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabsComponent" {
- import * as React from "react";
- import { PaneComponent } from "babylonjs-inspector/components/actionTabs/paneComponent";
- interface ITabsComponentProps {
- children: any[];
- selectedIndex: number;
- onSelectedIndexChange: (value: number) => void;
- }
- export class TabsComponent extends React.Component<ITabsComponentProps> {
- constructor(props: ITabsComponentProps);
- onSelect(index: number): void;
- renderLabel(child: PaneComponent, index: number): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/textLineComponent" {
- import * as React from "react";
- interface ITextLineComponentProps {
- label?: string;
- value?: string;
- color?: string;
- underline?: boolean;
- onLink?: () => void;
- url?: string;
- ignoreValue?: boolean;
- additionalClass?: string;
- }
- export class TextLineComponent extends React.Component<ITextLineComponentProps> {
- constructor(props: ITextLineComponentProps);
- onLink(): void;
- renderContent(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lineContainerComponent" {
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ILineContainerComponentProps {
- globalState?: GlobalState;
- title: string;
- children: any[] | any;
- closed?: boolean;
- }
- export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
- isExpanded: boolean;
- isHighlighted: boolean;
- }> {
- constructor(props: ILineContainerComponentProps);
- switchExpandedState(): void;
- componentDidMount(): void;
- renderHeader(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/valueLineComponent" {
- import * as React from "react";
- interface IValueLineComponentProps {
- label: string;
- value: number;
- color?: string;
- fractionDigits?: number;
- units?: string;
- }
- export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
- constructor(props: IValueLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/booleanLineComponent" {
- import * as React from "react";
- export interface IBooleanLineComponentProps {
- label: string;
- value: boolean;
- }
- export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
- constructor(props: IBooleanLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/statisticsTabComponent" {
- import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
- export class StatisticsTabComponent extends PaneComponent {
- private _sceneInstrumentation;
- private _engineInstrumentation;
- private _timerIntervalId;
- constructor(props: IPaneComponentProps);
- componentWillUnmount(): void;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/checkBoxLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- export interface ICheckBoxLineComponentProps {
- label: string;
- target?: any;
- propertyName?: string;
- isSelected?: () => boolean;
- onSelect?: (value: boolean) => void;
- onValueChanged?: () => void;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
- isSelected: boolean;
- }> {
- private static _UniqueIdSeed;
- private _uniqueId;
- private _localChange;
- constructor(props: ICheckBoxLineComponentProps);
- shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
- isSelected: boolean;
- }): boolean;
- onChange(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/renderGridPropertyGridComponent" {
- import * as React from "react";
- import { Scene } from "babylonjs/scene";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IRenderGridPropertyGridComponentProps {
- globalState: GlobalState;
- scene: Scene;
- }
- export class RenderGridPropertyGridComponent extends React.Component<IRenderGridPropertyGridComponentProps, {
- isEnabled: boolean;
- }> {
- private _gridMesh;
- constructor(props: IRenderGridPropertyGridComponentProps);
- componentDidMount(): void;
- addOrRemoveGrid(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/debugTabComponent" {
- import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
- export class DebugTabComponent extends PaneComponent {
- private _physicsViewersEnabled;
- constructor(props: IPaneComponentProps);
- switchPhysicsViewers(): void;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/sliderLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- interface ISliderLineComponentProps {
- label: string;
- target?: any;
- propertyName?: string;
- minimum: number;
- maximum: number;
- step: number;
- directValue?: number;
- useEuler?: boolean;
- onChange?: (value: number) => void;
- onInput?: (value: number) => void;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- decimalCount?: number;
- }
- export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
- value: number;
- }> {
- private _localChange;
- constructor(props: ISliderLineComponentProps);
- shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
- value: number;
- }): boolean;
- onChange(newValueString: any): void;
- onInput(newValueString: any): void;
- prepareDataToRead(value: number): number;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/optionsLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- export const Null_Value: number;
- class ListLineOption {
- label: string;
- value: number;
- }
- interface IOptionsLineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- options: ListLineOption[];
- noDirectUpdate?: boolean;
- onSelect?: (value: number) => void;
- extractValue?: () => number;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- allowNullValue?: boolean;
- }
- export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
- value: number;
- }> {
- private _localChange;
- private remapValueIn;
- private remapValueOut;
- constructor(props: IOptionsLineComponentProps);
- shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
- value: number;
- }): boolean;
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
- updateValue(valueString: string): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject" {
- /**
- * Class used to provide lock mechanism
- */
- export class LockObject {
- /**
- * Gets or set if the lock is engaged
- */
- lock: boolean;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/numericInputComponent" {
- import * as React from "react";
- interface INumericInputComponentProps {
- label: string;
- value: number;
- step?: number;
- onChange: (value: number) => void;
- precision?: number;
- }
- export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
- value: string;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: INumericInputComponentProps);
- shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
- value: string;
- }): boolean;
- updateValue(evt: any): void;
- onBlur(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/colorPickerComponent" {
- import * as React from "react";
- import { Color4, Color3 } from 'babylonjs/Maths/math.color';
- export interface IColorPickerComponentProps {
- value: Color4 | Color3;
- onColorChanged: (newOne: string) => void;
- disableAlpha?: boolean;
- }
- interface IColorPickerComponentState {
- pickerEnabled: boolean;
- color: {
- r: number;
- g: number;
- b: number;
- a?: number;
- };
- hex: string;
- }
- export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
- private _floatRef;
- private _floatHostRef;
- constructor(props: IColorPickerComponentProps);
- syncPositions(): void;
- shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
- componentDidUpdate(): void;
- componentDidMount(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/color3LineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Color3 } from 'babylonjs/Maths/math.color';
- export interface IColor3LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- isLinear?: boolean;
- }
- export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
- isExpanded: boolean;
- color: Color3;
- }> {
- private _localChange;
- constructor(props: IColor3LineComponentProps);
- shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
- color: Color3;
- }): boolean;
- setPropertyValue(newColor: Color3): void;
- onChange(newValue: string): void;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: Color3): void;
- updateStateR(value: number): void;
- updateStateG(value: number): void;
- updateStateB(value: number): void;
- copyToClipboard(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/vector3LineComponent" {
- import * as React from "react";
- import { Vector3 } from "babylonjs/Maths/math.vector";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- interface IVector3LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- step?: number;
- onChange?: (newvalue: Vector3) => void;
- useEuler?: boolean;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- noSlider?: boolean;
- }
- export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
- isExpanded: boolean;
- value: Vector3;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: IVector3LineComponentProps);
- getCurrentValue(): any;
- shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
- isExpanded: boolean;
- value: Vector3;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: Vector3): void;
- updateVector3(): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- updateStateZ(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/quaternionLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Quaternion, Vector3 } from "babylonjs/Maths/math.vector";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- interface IQuaternionLineComponentProps {
- label: string;
- target: any;
- useEuler?: boolean;
- propertyName: string;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class QuaternionLineComponent extends React.Component<IQuaternionLineComponentProps, {
- isExpanded: boolean;
- value: Quaternion;
- eulerValue: Vector3;
- }> {
- private _localChange;
- constructor(props: IQuaternionLineComponentProps);
- shouldComponentUpdate(nextProps: IQuaternionLineComponentProps, nextState: {
- isExpanded: boolean;
- value: Quaternion;
- eulerValue: Vector3;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(currentValue: Quaternion, previousValue: Quaternion): void;
- updateQuaternion(): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- updateStateZ(value: number): void;
- updateStateW(value: number): void;
- updateQuaternionFromEuler(): void;
- updateStateEulerX(value: number): void;
- updateStateEulerY(value: number): void;
- updateStateEulerZ(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/textInputLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- interface ITextInputLineComponentProps {
- label: string;
- lockObject: LockObject;
- target?: any;
- propertyName?: string;
- value?: string;
- onChange?: (value: string) => void;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
- value: string;
- }> {
- private _localChange;
- constructor(props: ITextInputLineComponentProps);
- componentWillUnmount(): void;
- shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
- value: string;
- }): boolean;
- raiseOnPropertyChanged(newValue: string, previousValue: string): void;
- updateValue(value: string): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/customPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { IInspectable } from 'babylonjs/Misc/iInspectable';
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- interface ICustomPropertyGridComponentProps {
- globalState: GlobalState;
- target: any;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CustomPropertyGridComponent extends React.Component<ICustomPropertyGridComponentProps, {
- mode: number;
- }> {
- constructor(props: ICustomPropertyGridComponentProps);
- renderInspectable(inspectable: IInspectable): JSX.Element | null;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/buttonLineComponent" {
- import * as React from "react";
- export interface IButtonLineComponentProps {
- label: string;
- onClick: () => void;
- }
- export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
- constructor(props: IButtonLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/floatLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- interface IFloatLineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- lockObject?: LockObject;
- onChange?: (newValue: number) => void;
- isInteger?: boolean;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- additionalClass?: string;
- step?: string;
- digits?: number;
- useEuler?: boolean;
- min?: number;
- max?: number;
- }
- export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
- value: string;
- }> {
- private _localChange;
- private _store;
- constructor(props: IFloatLineComponentProps);
- componentWillUnmount(): void;
- shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
- value: string;
- }): boolean;
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
- updateValue(valueString: string): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/anchorSvgPoint" {
- import * as React from "react";
- import { Vector2 } from "babylonjs/Maths/math.vector";
- interface IAnchorSvgPointProps {
- control: Vector2;
- anchor: Vector2;
- active: boolean;
- type: string;
- index: string;
- selected: boolean;
- selectControlPoint: (id: string) => void;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- }
- /**
- * Renders the control point to a keyframe.
- */
- export class AnchorSvgPoint extends React.Component<IAnchorSvgPointProps, {
- visiblePoint: Vector2;
- }> {
- constructor(props: IAnchorSvgPointProps);
- componentDidUpdate(prevProps: IAnchorSvgPointProps, prevState: any): void;
- select: () => void;
- setVisiblePoint(): Vector2;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint" {
- import * as React from "react";
- import { Vector2 } from "babylonjs/Maths/math.vector";
- export interface IKeyframeSvgPoint {
- keyframePoint: Vector2;
- rightControlPoint: Vector2 | null;
- leftControlPoint: Vector2 | null;
- id: string;
- selected: boolean;
- isLeftActive: boolean;
- isRightActive: boolean;
- curveId?: ICurveMetaData;
- }
- export interface ICurveMetaData {
- id: number;
- animationName: string;
- property: string;
- }
- interface IKeyframeSvgPointProps {
- keyframePoint: Vector2;
- leftControlPoint: Vector2 | null;
- rightControlPoint: Vector2 | null;
- id: string;
- selected: boolean;
- selectKeyframe: (id: string, multiselect: boolean) => void;
- selectedControlPoint: (type: string, id: string) => void;
- isLeftActive: boolean;
- isRightActive: boolean;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- }
- /**
- * Renders the Keyframe as an SVG Element for the Canvas component.
- * Holds the two control points to generate the proper curve.
- */
- export class KeyframeSvgPoint extends React.Component<IKeyframeSvgPointProps> {
- constructor(props: IKeyframeSvgPointProps);
- select: (e: React.MouseEvent<SVGImageElement>) => void;
- selectedControlPointId: (type: string) => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/svgDraggableArea" {
- import * as React from "react";
- import { Vector2 } from "babylonjs/Maths/math.vector";
- import { IKeyframeSvgPoint } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint";
- interface ISvgDraggableAreaProps {
- keyframeSvgPoints: IKeyframeSvgPoint[];
- updatePosition: (updatedKeyframe: IKeyframeSvgPoint, id: string) => void;
- scale: number;
- viewBoxScale: number;
- deselectKeyframes: () => void;
- removeSelectedKeyframes: (points: IKeyframeSvgPoint[]) => void;
- panningY: (panningY: number) => void;
- panningX: (panningX: number) => void;
- setCurrentFrame: (direction: number) => void;
- positionCanvas?: Vector2;
- repositionCanvas?: boolean;
- canvasPositionEnded: () => void;
- resetActionableKeyframe: () => void;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- framesResized: number;
- }
- /**
- * The SvgDraggableArea is a wrapper for SVG Canvas the interaction
- *
- * Here we control the drag and key behavior for the SVG components.
- */
- export class SvgDraggableArea extends React.Component<ISvgDraggableAreaProps, {
- panX: number;
- panY: number;
- }> {
- private _active;
- private _isCurrentPointControl;
- private _currentPointId;
- private _draggableArea;
- private _panStart;
- private _panStop;
- private _playheadDrag;
- private _playheadSelected;
- private _movedX;
- private _movedY;
- private _isControlKeyPress;
- readonly _dragBuffer: number;
- readonly _draggingMultiplier: number;
- constructor(props: ISvgDraggableAreaProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: ISvgDraggableAreaProps): void;
- dragStart: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- drag: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- dragEnd: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- getMousePosition: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => Vector2 | undefined;
- /**
- * Handles the canvas panning direction and sets the X and Y values to move the
- * SVG canvas
- */
- panDirection(): void;
- keyDown(e: KeyboardEvent): void;
- keyUp(e: KeyboardEvent): void;
- focus: (e: React.MouseEvent<SVGSVGElement>) => void;
- isNotControlPointActive(): boolean;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/iconButtonLineComponent" {
- import * as React from 'react';
- export interface IIconButtonLineComponentProps {
- icon: string;
- onClick: () => void;
- tooltip: string;
- active?: boolean;
- }
- export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
- constructor(props: IIconButtonLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/controls" {
- import * as React from "react";
- import { IAnimationKey } from "babylonjs/Animations/animationKey";
- interface IControlsProps {
- keyframes: IAnimationKey[] | null;
- selected: IAnimationKey | null;
- currentFrame: number;
- onCurrentFrameChange: (frame: number) => void;
- repositionCanvas: (keyframe: IAnimationKey) => void;
- playPause: (direction: number) => void;
- isPlaying: boolean;
- scrollable: React.RefObject<HTMLDivElement>;
- }
- /**
- * The playback controls for the animation editor
- */
- export class Controls extends React.Component<IControlsProps, {
- selected: IAnimationKey;
- playingType: string;
- }> {
- readonly _sizeOfKeyframe: number;
- constructor(props: IControlsProps);
- playBackwards: () => void;
- play: () => void;
- pause: () => void;
- moveToAnimationStart: () => void;
- moveToAnimationEnd: () => void;
- nextKeyframe: () => void;
- previousKeyframe: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/timeline" {
- import * as React from "react";
- import { IAnimationKey } from "babylonjs/Animations/animationKey";
- interface ITimelineProps {
- keyframes: IAnimationKey[] | null;
- selected: IAnimationKey | null;
- currentFrame: number;
- onCurrentFrameChange: (frame: number) => void;
- onAnimationLimitChange: (limit: number) => void;
- dragKeyframe: (frame: number, index: number) => void;
- playPause: (direction: number) => void;
- isPlaying: boolean;
- animationLimit: number;
- fps: number;
- repositionCanvas: (keyframe: IAnimationKey) => void;
- resizeWindowProportion: number;
- }
- /**
- * The Timeline for the curve editor
- *
- * Has a scrollbar that can be resized and move to left and right.
- * The timeline does not affect the Canvas but only the frame container.
- */
- export class Timeline extends React.Component<ITimelineProps, {
- selected: IAnimationKey;
- activeKeyframe: number | null;
- start: number;
- end: number;
- scrollWidth: number | undefined;
- selectionLength: number[];
- limitValue: number;
- }> {
- private _scrollable;
- private _scrollbarHandle;
- private _scrollContainer;
- private _inputAnimationLimit;
- private _direction;
- private _scrolling;
- private _shiftX;
- private _active;
- readonly _marginScrollbar: number;
- constructor(props: ITimelineProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: ITimelineProps): void;
- componentWillUnmount(): void;
- isEnterKeyUp(event: KeyboardEvent): void;
- onInputBlur(event: React.FocusEvent<HTMLInputElement>): void;
- setControlState(): void;
- /**
- * @param {number} start Frame from which the scrollbar should begin.
- * @param {number} end Last frame for the timeline.
- */
- calculateScrollWidth(start: number, end: number): number | undefined;
- playBackwards(event: React.MouseEvent<HTMLDivElement>): void;
- play(event: React.MouseEvent<HTMLDivElement>): void;
- pause(event: React.MouseEvent<HTMLDivElement>): void;
- setCurrentFrame: (event: React.MouseEvent<HTMLDivElement>) => void;
- /**
- * Handles the change of number of frames available in the timeline.
- */
- handleLimitChange(event: React.ChangeEvent<HTMLInputElement>): void;
- dragStart: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- drag: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- /**
- * Check if the frame is being used as a Keyframe by the animation
- */
- isFrameBeingUsed(frame: number, direction: number): number | false;
- dragEnd: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- scrollDragStart: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
- scrollDrag: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
- scrollDragEnd: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
- /**
- * Sets the start, end and selection length of the scrollbar. This will control the width and
- * height of the scrollbar as well as the number of frames available
- * @param {number} pageX Controls the X axis of the scrollbar movement.
- */
- moveScrollbar(pageX: number): void;
- /**
- * Controls the resizing of the scrollbar from the right handle
- */
- resizeScrollbarRight(clientX: number): void;
- /**
- * Controls the resizing of the scrollbar from the left handle
- */
- resizeScrollbarLeft(clientX: number): void;
- /**
- * Returns array with the expected length between two numbers
- */
- range(start: number, end: number): number[];
- getKeyframe(frame: number): false | IAnimationKey | undefined;
- getCurrentFrame(frame: number): boolean;
- dragDomFalse: () => boolean;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/notification" {
- import * as React from "react";
- interface IPlayheadProps {
- message: string;
- open: boolean;
- close: () => void;
- }
- /**
- * Renders the notification for the user
- */
- export class Notification extends React.Component<IPlayheadProps> {
- constructor(props: IPlayheadProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/graphActionsBar" {
- import * as React from "react";
- import { IActionableKeyFrame } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationCurveEditorComponent";
- interface IGraphActionsBarProps {
- addKeyframe: () => void;
- removeKeyframe: () => void;
- frameSelectedKeyframes: () => void;
- handleValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- handleFrameChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- flatTangent: () => void;
- brokeTangents: () => void;
- setLerpToActiveControlPoint: () => void;
- brokenMode: boolean;
- lerpMode: boolean;
- actionableKeyframe: IActionableKeyFrame;
- title: string;
- enabled: boolean;
- setKeyframeValue: (actionableKeyframe: IActionableKeyFrame) => void;
- frameRange: {
- min: number | undefined;
- max: number | undefined;
- };
- }
- /**
- * Has the buttons and actions for the Canvas Graph.
- * Handles input change and actions (flat, broken mode, set linear control points)
- */
- export class GraphActionsBar extends React.Component<IGraphActionsBarProps, {
- frame: string;
- value: string;
- min: number | undefined;
- max: number | undefined;
- }> {
- private _frameInput;
- private _valueInput;
- constructor(props: IGraphActionsBarProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: IGraphActionsBarProps, prevState: any): void;
- selectedKeyframeChanged(keyframe: IActionableKeyFrame): {
- frame: string;
- value: string;
- };
- componentWillUnmount(): void;
- isEnterKeyUp(event: KeyboardEvent): void;
- onBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
- getFrame(): string | number;
- getValue(): string | number;
- handleValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- handleFrameChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/addAnimation" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Animation } from "babylonjs/Animations/animation";
- import { IAnimatable } from "babylonjs/Animations/animatable.interface";
- interface IAddAnimationProps {
- isOpen: boolean;
- close: () => void;
- entity: IAnimatable;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- setNotificationMessage: (message: string) => void;
- finishedUpdate: () => void;
- addedNewAnimation: (animation: Animation) => void;
- fps: number;
- selectedToUpdate?: Animation | undefined;
- }
- /**
- * Controls the creation of a new animation
- */
- export class AddAnimation extends React.Component<IAddAnimationProps, {
- animationName: string;
- animationTargetProperty: string;
- animationType: number;
- loopMode: number;
- animationTargetPath: string;
- isUpdating: boolean;
- }> {
- constructor(props: IAddAnimationProps);
- setInitialState(editingAnimation?: Animation): {
- animationName: string;
- animationTargetPath: string;
- animationType: number;
- loopMode: number;
- animationTargetProperty: string;
- isUpdating: boolean;
- };
- componentDidUpdate(prevProps: IAddAnimationProps, prevState: any): void;
- updateAnimation: () => void;
- getTypeAsString(type: number): "Float" | "Quaternion" | "Vector3" | "Vector2" | "Size" | "Color3" | "Color4";
- addAnimation: () => void;
- raiseOnPropertyChanged(newValue: Animation[], previousValue: Animation[]): void;
- raiseOnPropertyUpdated(newValue: string | number | undefined, previousValue: string | number, property: string): void;
- handlePathChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- handleNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- handleTypeChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
- handlePropertyChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- handleLoopModeChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree" {
- import * as React from "react";
- import { IAnimatable } from "babylonjs/Animations/animatable.interface";
- import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Animation } from "babylonjs/Animations/animation";
- import { Nullable } from "babylonjs/types";
- interface IAnimationListTreeProps {
- isTargetedAnimation: boolean;
- entity: IAnimatable | TargetedAnimation;
- selected: Animation | null;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- selectAnimation: (selected: Animation, coordinate?: SelectedCoordinate) => void;
- empty: () => void;
- editAnimation: (selected: Animation) => void;
- deselectAnimation: () => void;
- }
- interface Item {
- index: number;
- name: string;
- property: string;
- selected: boolean;
- open: boolean;
- }
- export enum SelectedCoordinate {
- x = 0,
- y = 1,
- z = 2,
- w = 3,
- r = 0,
- g = 1,
- b = 2,
- a = 3,
- width = 0,
- height = 1
- }
- interface ItemCoordinate {
- id: string;
- color: string;
- coordinate: SelectedCoordinate;
- }
- /**
- * Renders a list of current animations.
- */
- export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
- selectedCoordinate: SelectedCoordinate;
- selectedAnimation: number;
- animationList: Item[] | null;
- animations: Nullable<Animation[]> | Animation;
- }> {
- constructor(props: IAnimationListTreeProps);
- componentDidUpdate(prevProps: IAnimationListTreeProps): void;
- deleteAnimation: () => void;
- raiseOnPropertyChanged(newValue: Animation[], previousValue: Animation[]): void;
- generateList(): Item[] | null;
- toggleProperty(index: number): void;
- setSelectedCoordinate(animation: Animation, coordinate: SelectedCoordinate, index: number): void;
- coordinateItem(i: number, animation: Animation, coordinate: string, color: string, selectedCoordinate: SelectedCoordinate): JSX.Element;
- typeAnimationItem(animation: Animation, i: number, childrenElements: ItemCoordinate[]): JSX.Element;
- setListItem(animation: Animation, i: number): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/fileButtonLineComponent" {
- import * as React from "react";
- interface IFileButtonLineComponentProps {
- label: string;
- onClick: (file: File) => void;
- accept: string;
- }
- export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
- private static _IDGenerator;
- private _id;
- private uploadInputRef;
- constructor(props: IFileButtonLineComponentProps);
- onChange(evt: any): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/loadsnippet" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Animation } from "babylonjs/Animations/animation";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { IAnimatable } from "babylonjs/Animations/animatable.interface";
- import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
- interface ILoadSnippetProps {
- animations: Animation[];
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- lockObject: LockObject;
- globalState: GlobalState;
- snippetServer: string;
- setSnippetId: (id: string) => void;
- entity: IAnimatable | TargetedAnimation;
- setNotificationMessage: (message: string) => void;
- animationsLoaded: (numberOfAnimations: number) => void;
- }
- /**
- * Loads animation locally or from the Babylon.js Snippet Server
- */
- export class LoadSnippet extends React.Component<ILoadSnippetProps, {
- snippetId: string;
- }> {
- private _serverAddress;
- constructor(props: ILoadSnippetProps);
- change: (value: string) => void;
- loadFromFile: (file: File) => void;
- loadFromSnippet: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/saveSnippet" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Animation } from "babylonjs/Animations/animation";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Nullable } from "babylonjs/types";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISaveSnippetProps {
- animations: Nullable<Animation[]>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- lockObject: LockObject;
- globalState: GlobalState;
- snippetServer: string;
- snippetId: string;
- }
- export interface Snippet {
- url: string;
- id: string;
- }
- interface SelectedAnimation {
- id: string;
- name: string;
- index: number;
- selected: boolean;
- }
- /**
- * Saves the animation snippet to the Babylon.js site or downloads the animation file locally
- */
- export class SaveSnippet extends React.Component<ISaveSnippetProps, {
- selectedAnimations: SelectedAnimation[];
- }> {
- constructor(props: ISaveSnippetProps);
- handleCheckboxChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- stringifySelectedAnimations(): string;
- saveToFile: () => void;
- saveToSnippet: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/editorControls" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Animation } from "babylonjs/Animations/animation";
- import { SelectedCoordinate } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree";
- import { IAnimatable } from "babylonjs/Animations/animatable.interface";
- import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IEditorControlsProps {
- isTargetedAnimation: boolean;
- entity: IAnimatable | TargetedAnimation;
- selected: Animation | null;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- setNotificationMessage: (message: string) => void;
- selectAnimation: (selected: Animation, axis?: SelectedCoordinate) => void;
- setFps: (fps: number) => void;
- setIsLooping: () => void;
- globalState: GlobalState;
- snippetServer: string;
- deselectAnimation: () => void;
- fps: number;
- }
- /**
- * Renders the Curve Editor controls to create, save, remove, load and edit animations
- */
- export class EditorControls extends React.Component<IEditorControlsProps, {
- isAnimationTabOpen: boolean;
- isEditTabOpen: boolean;
- isLoadTabOpen: boolean;
- isSaveTabOpen: boolean;
- isLoopActive: boolean;
- animationsCount: number;
- framesPerSecond: number;
- snippetId: string;
- selected: Animation | undefined;
- }> {
- constructor(props: IEditorControlsProps);
- componentDidUpdate(prevProps: IEditorControlsProps): void;
- onAnimationAdded: (animation: Animation) => void;
- finishedUpdate: () => void;
- recountAnimations(): number;
- changeLoopBehavior: () => void;
- handleFirstTab: () => void;
- handleSecondTab: () => void;
- handleThirdTab: () => void;
- handleFourthTab: () => void;
- handleTabs(tab: number): void;
- handleChangeFps: (fps: number) => void;
- /**
- * Cleans the list when has been emptied
- */
- onEmptiedList: () => void;
- /**
- * When animations have been reloaded update tabs
- */
- animationsLoaded: (numberOfAnimations: number) => void;
- editAnimation: (selected: Animation) => void;
- setSnippetId: (id: string) => void;
- /**
- * Marks animation tab closed and hides the tab
- */
- onCloseAddAnimation: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/scale-label" {
- import * as React from "react";
- import { CurveScale } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationCurveEditorComponent";
- interface ISwitchButtonProps {
- current: CurveScale;
- action?: (event: CurveScale) => void;
- }
- /**
- * Displays the current scale
- */
- export class ScaleLabel extends React.Component<ISwitchButtonProps, {
- current: CurveScale;
- }> {
- constructor(props: ISwitchButtonProps);
- renderLabel(scale: CurveScale): "" | "DEG" | "FLT" | "INT" | "RAD";
- onClickHandle: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationCurveEditorComponent" {
- import * as React from "react";
- import { Animation } from "babylonjs/Animations/animation";
- import { Vector2, Vector3, Quaternion } from "babylonjs/Maths/math.vector";
- import { Color3, Color4 } from "babylonjs/Maths/math.color";
- import { Size } from "babylonjs/Maths/math.size";
- import { EasingFunction } from "babylonjs/Animations/easing";
- import { IAnimationKey } from "babylonjs/Animations/animationKey";
- import { IKeyframeSvgPoint } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint";
- import { Scene } from "babylonjs/scene";
- import { IAnimatable } from "babylonjs/Animations/animatable.interface";
- import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
- import { SelectedCoordinate } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { Nullable } from "babylonjs/types";
- interface IAnimationCurveEditorComponentProps {
- playOrPause?: () => void;
- scene: Scene;
- entity: IAnimatable | TargetedAnimation;
- lockObject: LockObject;
- globalState: GlobalState;
- }
- interface ICanvasAxis {
- value: number;
- label: number;
- }
- export enum CurveScale {
- float = 0,
- radians = 1,
- degrees = 2,
- integers = 3,
- default = 4
- }
- export interface IActionableKeyFrame {
- frame?: number | string;
- value?: any;
- }
- interface ICurveData {
- pathData: string;
- pathLength: number;
- domCurve: React.RefObject<SVGPathElement>;
- color: string;
- id: string;
- }
- /**
- * Animation curve Editor Component
- */
- export class AnimationCurveEditorComponent extends React.Component<IAnimationCurveEditorComponentProps, {
- isOpen: boolean;
- selected: Animation | null;
- svgKeyframes: IKeyframeSvgPoint[] | undefined;
- currentFrame: number;
- currentValue: number;
- frameAxisLength: ICanvasAxis[];
- valueAxisLength: ICanvasAxis[];
- isFlatTangentMode: boolean;
- isTangentMode: boolean;
- isBrokenMode: boolean;
- lerpMode: boolean;
- scale: number;
- playheadOffset: number;
- notification: string;
- currentPoint: SVGPoint | undefined;
- playheadPos: number;
- isPlaying: boolean;
- selectedPathData: ICurveData[] | undefined;
- selectedCoordinate: number;
- animationLimit: number;
- fps: number;
- isLooping: boolean;
- panningY: number;
- panningX: number;
- repositionCanvas: boolean;
- actionableKeyframe: IActionableKeyFrame;
- valueScaleType: CurveScale;
- valueScale: number;
- canvasLength: number;
- lastKeyframeCreated: Nullable<string>;
- canvasWidthScale: number;
- valuesPositionResize: number;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- maxFrame: number | undefined;
- minFrame: number | undefined;
- framesResized: number;
- }> {
- readonly _entityName: string;
- private _snippetUrl;
- private _heightScale;
- private _scaleFactor;
- private _currentScale;
- private _pixelFrameUnit;
- private _svgKeyframes;
- private _isPlaying;
- private _graphCanvas;
- private _editor;
- private _editorWindow;
- private _resizeId;
- private _svgCanvas;
- private _isTargetedAnimation;
- private _resizedTimeline;
- private _onBeforeRenderObserver;
- private _mainAnimatable;
- constructor(props: IAnimationCurveEditorComponentProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: IAnimationCurveEditorComponentProps, prevState: any): void;
- componentWillUnmount(): void;
- onCurrentFrameChangeChangeScene(value: number): void;
- /**
- * Notifications
- * To add notification we set the state and clear to make the notification bar hide.
- */
- clearNotification: () => void;
- /**
- * Zoom and Scroll
- * This section handles zoom and scroll
- * of the graph area.
- */
- zoom: (e: React.WheelEvent<HTMLDivElement>) => void;
- /**
- * Returns Array with labels and values for Frame axis in Canvas
- */
- setFrameAxis(currentLength: number): {
- value: number;
- label: number;
- }[];
- /**
- * Returns Array with labels, lines and values for Value axis in Canvas
- */
- setValueLines(): {
- value: number;
- label: string;
- }[];
- /**
- * Creates a string id from animation name and the keyframe index
- */
- encodeCurveId(animationName: string, keyframeIndex: number): string;
- /**
- * Returns the animation keyframe index and the animation selected coordinate (x, y, z)
- */
- decodeCurveId(id: string): {
- order: number;
- coordinate: number;
- };
- /**
- * Returns the value from a keyframe
- */
- getKeyframeValueFromAnimation(id: string): {
- frame: number;
- value: number;
- } | undefined;
- /**
- * Keyframe Manipulation
- * This section handles events from SvgDraggableArea.
- */
- selectKeyframe: (id: string, multiselect: boolean) => void;
- /**
- * Determine if two control points are collinear (flat tangent)
- */
- hasCollinearPoints: (kf: IKeyframeSvgPoint | undefined) => boolean;
- /**
- * Returns the previous and next keyframe from a selected frame.
- */
- getPreviousAndNextKeyframe: (frame: number) => {
- prev: number | undefined;
- next: number | undefined;
- };
- /**
- * Selects a keyframe in animation based on its Id
- */
- selectKeyframeFromId: (id: string, actionableKeyframe: IActionableKeyFrame) => void;
- /**
- * Resets the current selected keyframe as an updatable pairs by Graph Control Bar
- */
- resetActionableKeyframe: () => void;
- /**
- * Sets the selected control point.
- */
- selectedControlPoint: (type: string, id: string) => void;
- /**
- * Sets the selected control point.
- */
- deselectKeyframes: () => void;
- /**
- * Update the Animation Key values based on its type
- */
- updateValuePerCoordinate(dataType: number, value: number | Vector2 | Vector3 | Color3 | Color4 | Size | Quaternion, newValue: number, coordinate?: number): number | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size;
- /**
- * Animation should always have a keyframe at Frame Zero
- */
- forceFrameZeroToExist(keys: IAnimationKey[]): void;
- /**
- * Renders SVG points with dragging of the curve
- */
- renderPoints: (updatedSvgKeyFrame: IKeyframeSvgPoint, id: string) => void;
- /**
- * Updates the left control point on render points
- */
- updateLeftControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: IAnimationKey, dataType: number, coordinate: number): void;
- /**
- * Updates the right control point on render points
- */
- updateRightControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: IAnimationKey, dataType: number, coordinate: number): void;
- /**
- * Get the current Control Point weight (how far the X value is multiplied)
- */
- getControlPointWeight(updatedSvgKeyFrame: IKeyframeSvgPoint): number;
- /**
- * Handles a Frame selection change
- */
- handleFrameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- /**
- * Handles how a value change on a selected frame
- */
- handleValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- /**
- * Set the Keyframe from input control in Graph Control Bar
- */
- setKeyframeValueFromInput: (actionableKeyframe: IActionableKeyFrame) => void;
- /**
- * Sets the SVG Keyframe value
- */
- setKeyframeValue: () => void;
- /**
- * Set the flat tangent to the current selected control points.
- */
- setFlatTangent: () => void;
- /**
- * Sets Broken mode of lines
- */
- setBrokenMode: () => void;
- /**
- * Sets a control point to be a linear interpolation with its Keyframe
- */
- setLerpToActiveControlPoint: () => void;
- /**
- * Adds a new keyframe to the curve on canvas click
- */
- addKeyframeClick: () => void;
- /**
- * Remove keyframe on click
- */
- removeKeyframeClick: () => void;
- /**
- * Remove the selected keyframes
- */
- removeKeyframes: (points: IKeyframeSvgPoint[]) => void;
- /**
- * Adds a keyframe
- */
- addKeyFrame(event: React.MouseEvent<SVGSVGElement>): void;
- /**
- * Curve Rendering Functions
- * This section handles how to render curves.
- */
- setKeyframePointLinear(point: Vector2, index: number): void;
- flatTangents(keyframes: IAnimationKey[], dataType: number): IAnimationKey[];
- /**
- * Return a Keyframe zero value depending on Type
- */
- returnZero(dataType: number): 0 | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size;
- /**
- * Return the keyframe value as an array depending on type
- */
- getValueAsArray(valueType: number, value: number | Vector2 | Vector3 | Color3 | Color4 | Size | Quaternion): number[];
- /**
- * Sets the keyframe value as an array depending on type
- */
- setValueAsType(valueType: number, arrayValue: number[]): number | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size;
- /**
- * Returns the SVG Path Data to render the curve
- */
- getPathData(animation: Animation | null): ICurveData[] | undefined;
- getAnimationData(animation: Animation): {
- loopMode: number | undefined;
- name: string;
- blendingSpeed: number;
- targetPropertyPath: string[];
- targetProperty: string;
- framesPerSecond: number;
- highestFrame: number;
- usesTangents: boolean;
- easingType: string | undefined;
- easingMode: number | undefined;
- valueType: number;
- };
- calculateLinearTangents(keyframes: IAnimationKey[]): IAnimationKey[];
- /**
- * Calculates the proper linear tangents if there is no tangents defined
- */
- curvePathWithoutTangents(keyframes: IAnimationKey[], data: string, middle: number, type: number, coordinate: number, animationName: string): string;
- /**
- * Calculates the curve data and control points for animation
- */
- curvePathWithTangents(keyframes: IAnimationKey[], data: string, middle: number, type: number, coordinate: number, animationName: string): string;
- /**
- * Calculates a curve path from predefined easing function
- */
- curvePath(keyframes: IAnimationKey[], data: string, middle: number, easingFunction: EasingFunction): string;
- /**
- * Sets the proper SVG Keyframe points
- */
- setKeyframePoint(controlPoints: Vector2[], index: number, keyframesCount: number): void;
- interpolateControlPoints(p0: Vector2, p1: Vector2, u: number, p2: Vector2, v: number, p3: Vector2): Vector2[] | undefined;
- deselectAnimation: () => void;
- /**
- * Remove all curves from canvas
- */
- cleanCanvas: () => void;
- /**
- * Selects the animation and renders the curve
- */
- selectAnimation: (animation: Animation, coordinate?: SelectedCoordinate | undefined) => void;
- /**
- * Set the state for the last selected keyframe
- */
- postSelectionEvents: () => void;
- /**
- * Set main animatable to play or pause the animation
- */
- setMainAnimatable(): void;
- isAnimationPlaying(): boolean;
- stopAnimation(): void;
- setIsLooping: () => void;
- setFramesPerSecond: (fps: number) => void;
- /**
- * Check if the animation has easing predefined
- */
- analyzeAnimationForLerp(animation: Animation | null): boolean;
- /**
- * Timeline
- * This section controls the timeline.
- */
- changeCurrentFrame: (frame: number) => void;
- /**
- * Calculate the value of the selected frame in curve
- */
- calculateCurrentPointInCurve: (frame: number) => number | undefined;
- /**
- * Center the position the canvas depending on Keyframe value and frame
- */
- setCanvasPosition: (keyframe: IAnimationKey) => void;
- setCurrentFrame: (frame: number) => void;
- /**
- * Change the timeline animation frame limit
- */
- changeAnimationLimit: (limit: number) => void;
- /**
- * Update the frame in the selected Keyframe
- */
- updateFrameInKeyFrame: (frame: number, index: number) => void;
- playPause: (direction: number) => void;
- /**
- * Set the frame to selected position on canvas
- */
- moveFrameTo(e: React.MouseEvent<SVGRectElement, MouseEvent>): void;
- registerObs(): void;
- isCurrentFrame(frame: number): boolean;
- setPanningY: (panningY: number) => void;
- setPanningX: (panningX: number) => void;
- canvasPositionEnded: () => void;
- setNotificationMessage: (message: string) => void;
- frameSelectedKeyframes: () => void;
- /**
- * Handle the frames quantity and scale on Window resize width
- */
- onWindowResizeWidth: () => void;
- onWindowEndResize: (framesResized: number) => void;
- onTimelineResize: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/popupComponent" {
- import * as React from "react";
- interface IPopupComponentProps {
- id: string;
- title: string;
- size: {
- width: number;
- height: number;
- };
- onOpen: (window: Window) => void;
- onClose: (window: Window) => void;
- }
- export class PopupComponent extends React.Component<IPopupComponentProps, {
- isComponentMounted: boolean;
- blockedByBrowser: boolean;
- }> {
- private _container;
- private _window;
- private _curveEditorHost;
- constructor(props: IPopupComponentProps);
- componentDidMount(): void;
- openPopup(): void;
- componentWillUnmount(): void;
- getWindow(): Window | null;
- render(): React.ReactPortal | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { IAnimatable } from "babylonjs/Animations/animatable.interface";
- interface IAnimationGridComponentProps {
- globalState: GlobalState;
- animatable: IAnimatable;
- scene: Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class AnimationGridComponent extends React.Component<IAnimationGridComponentProps, {
- currentFrame: number;
- }> {
- private _animations;
- private _ranges;
- private _mainAnimatable;
- private _onBeforeRenderObserver;
- private _isPlaying;
- private timelineRef;
- private _isCurveEditorOpen;
- private _animationControl;
- constructor(props: IAnimationGridComponentProps);
- playOrPause(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- onCurrentFrameChange(value: number): void;
- onChangeFromOrTo(): void;
- onOpenAnimationCurveEditor(): void;
- onCloseAnimationCurveEditor(window: Window | null): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/commonMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Material } from "babylonjs/Materials/material";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: Material;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonMaterialPropertyGridComponent extends React.Component<ICommonMaterialPropertyGridComponentProps> {
- constructor(props: ICommonMaterialPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/materialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Material } from "babylonjs/Materials/material";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: Material;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class MaterialPropertyGridComponent extends React.Component<IMaterialPropertyGridComponentProps> {
- constructor(props: IMaterialPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/textureLinkLineComponent" {
- import * as React from "react";
- import { Nullable } from "babylonjs/types";
- import { Observable } from "babylonjs/Misc/observable";
- import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
- import { Material } from "babylonjs/Materials/material";
- export interface ITextureLinkLineComponentProps {
- label: string;
- texture: Nullable<BaseTexture>;
- material?: Material;
- onSelectionChangedObservable?: Observable<any>;
- onDebugSelectionChangeObservable?: Observable<TextureLinkLineComponent>;
- propertyName?: string;
- onTextureCreated?: (texture: BaseTexture) => void;
- customDebugAction?: (state: boolean) => void;
- onTextureRemoved?: () => void;
- }
- export class TextureLinkLineComponent extends React.Component<ITextureLinkLineComponentProps, {
- isDebugSelected: boolean;
- }> {
- private _onDebugSelectionChangeObserver;
- constructor(props: ITextureLinkLineComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- debugTexture(): void;
- onLink(): void;
- updateTexture(file: File): void;
- removeTexture(): void;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/standardMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { StandardMaterial } from "babylonjs/Materials/standardMaterial";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IStandardMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: StandardMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class StandardMaterialPropertyGridComponent extends React.Component<IStandardMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IStandardMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/lod" {
- /** @hidden */
- export var lodPixelShader: {
- name: string;
- shader: string;
- };
- }
- declare module "babylonjs-inspector/lodCube" {
- /** @hidden */
- export var lodCubePixelShader: {
- name: string;
- shader: string;
- };
- }
- declare module "babylonjs-inspector/textureHelper" {
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
- import "babylonjs-inspector/lod";
- import "babylonjs-inspector/lodCube";
- export interface TextureChannelsToDisplay {
- R: boolean;
- G: boolean;
- B: boolean;
- A: boolean;
- }
- export class TextureHelper {
- private static _ProcessAsync;
- static GetTextureDataAsync(texture: BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise<Uint8Array>;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/textureLineComponent" {
- import * as React from "react";
- import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { TextureChannelsToDisplay } from "babylonjs-inspector/textureHelper";
- interface ITextureLineComponentProps {
- texture: BaseTexture;
- width: number;
- height: number;
- globalState?: GlobalState;
- hideChannelSelect?: boolean;
- }
- export class TextureLineComponent extends React.Component<ITextureLineComponentProps, {
- channels: TextureChannelsToDisplay;
- face: number;
- }> {
- private canvasRef;
- private static TextureChannelStates;
- constructor(props: ITextureLineComponentProps);
- shouldComponentUpdate(nextProps: ITextureLineComponentProps, nextState: {
- channels: TextureChannelsToDisplay;
- face: number;
- }): boolean;
- componentDidMount(): void;
- componentDidUpdate(): void;
- updatePreview(): Promise<void>;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar" {
- import * as React from 'react';
- import { IToolData, IToolType, IMetadata } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export interface ITool extends IToolData {
- instance: IToolType;
- }
- interface IToolBarProps {
- tools: ITool[];
- addTool(url: string): void;
- changeTool(toolIndex: number): void;
- activeToolIndex: number;
- metadata: IMetadata;
- setMetadata(data: any): void;
- pickerOpen: boolean;
- setPickerOpen(open: boolean): void;
- pickerRef: React.RefObject<HTMLDivElement>;
- hasAlpha: boolean;
- }
- interface IToolBarState {
- toolURL: string;
- addOpen: boolean;
- }
- export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
- constructor(props: IToolBarProps);
- computeRGBAColor(): string;
- shouldComponentUpdate(nextProps: IToolBarProps): boolean;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar" {
- import * as React from 'react';
- export interface IChannel {
- visible: boolean;
- editable: boolean;
- name: string;
- id: 'R' | 'G' | 'B' | 'A';
- icon: any;
- }
- interface IChannelsBarProps {
- channels: IChannel[];
- setChannels(channelState: IChannel[]): void;
- }
- export class ChannelsBar extends React.PureComponent<IChannelsBarProps> {
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/canvasShader" {
- export const canvasShader: {
- path: {
- vertexSource: string;
- fragmentSource: string;
- };
- options: {
- attributes: string[];
- uniforms: string[];
- };
- };
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager" {
- import { Scene } from 'babylonjs/scene';
- import { Vector2 } from 'babylonjs/Maths/math.vector';
- import { Nullable } from 'babylonjs/types';
- import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
- import { ISize } from 'babylonjs/Maths/math.size';
- import { PointerInfo } from 'babylonjs/Events/pointerEvents';
- import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
- import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
- import { IMetadata } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export interface IPixelData {
- x?: number;
- y?: number;
- r?: number;
- g?: number;
- b?: number;
- a?: number;
- }
- export class TextureCanvasManager {
- private _engine;
- private _scene;
- private _camera;
- private _cameraPos;
- private _scale;
- private _isPanning;
- private _mouseX;
- private _mouseY;
- private _UICanvas;
- private _size;
- /** The canvas we paint onto using the canvas API */
- private _2DCanvas;
- /** The canvas we apply post processes to */
- private _3DCanvas;
- /** The canvas which handles channel filtering */
- private _channelsTexture;
- private _3DEngine;
- private _3DPlane;
- private _3DCanvasTexture;
- private _3DScene;
- private _channels;
- private _face;
- private _mipLevel;
- /** The texture from the original engine that we invoked the editor on */
- private _originalTexture;
- /** This is a hidden texture which is only responsible for holding the actual texture memory in the original engine */
- private _target;
- /** The internal texture representation of the original texture */
- private _originalInternalTexture;
- /** Keeps track of whether we have modified the texture */
- private _didEdit;
- private _plane;
- private _planeMaterial;
- /** Tracks which keys are currently pressed */
- private _keyMap;
- private readonly ZOOM_MOUSE_SPEED;
- private readonly ZOOM_KEYBOARD_SPEED;
- private readonly ZOOM_IN_KEY;
- private readonly ZOOM_OUT_KEY;
- private readonly PAN_SPEED;
- private readonly PAN_MOUSE_BUTTON;
- private readonly MIN_SCALE;
- private readonly GRID_SCALE;
- private readonly MAX_SCALE;
- private readonly SELECT_ALL_KEY;
- private readonly SAVE_KEY;
- private readonly RESET_KEY;
- private readonly DESELECT_KEY;
- /** The number of milliseconds between texture updates */
- private readonly PUSH_FREQUENCY;
- private _tool;
- private _setPixelData;
- private _setMipLevel;
- private _window;
- private _metadata;
- private _editing3D;
- private _onUpdate;
- private _setMetadata;
- private _imageData;
- private _canPush;
- private _shouldPush;
- private _paintCanvas;
- constructor(texture: BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void, metadata: IMetadata, onUpdate: () => void, setMetadata: (metadata: any) => void, setMipLevel: (level: number) => void);
- updateTexture(): Promise<void>;
- private pushTexture;
- startPainting(): Promise<CanvasRenderingContext2D>;
- updatePainting(): void;
- stopPainting(): void;
- private updateDisplay;
- set channels(channels: IChannel[]);
- paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
- grabOriginalTexture(): Promise<Uint8Array>;
- getMouseCoordinates(pointerInfo: PointerInfo): Vector2;
- get scene(): Scene;
- get canvas2D(): HTMLCanvasElement;
- get size(): ISize;
- set tool(tool: Nullable<ITool>);
- get tool(): Nullable<ITool>;
- set face(face: number);
- set mipLevel(mipLevel: number);
- /** Returns the 3D scene used for postprocesses */
- get scene3D(): Scene;
- set metadata(metadata: IMetadata);
- private makePlane;
- reset(): void;
- resize(newSize: ISize): Promise<void>;
- setSize(size: ISize): void;
- upload(file: File): void;
- saveTexture(): void;
- dispose(): void;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/propertiesBar" {
- import * as React from 'react';
- import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
- import { IPixelData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
- import { ISize } from 'babylonjs/Maths/math.size';
- interface IPropertiesBarProps {
- texture: BaseTexture;
- size: ISize;
- saveTexture(): void;
- pixelData: IPixelData;
- face: number;
- setFace(face: number): void;
- resetTexture(): void;
- resizeTexture(width: number, height: number): void;
- uploadTexture(file: File): void;
- mipLevel: number;
- setMipLevel: (mipLevel: number) => void;
- }
- interface IPropertiesBarState {
- width: number;
- height: number;
- }
- export class PropertiesBar extends React.PureComponent<IPropertiesBarProps, IPropertiesBarState> {
- private _resetButton;
- private _uploadButton;
- private _saveButton;
- private _babylonLogo;
- private _resizeButton;
- private _mipUp;
- private _mipDown;
- private _faces;
- constructor(props: IPropertiesBarProps);
- private pixelData;
- private getNewDimension;
- componentWillUpdate(nextProps: IPropertiesBarProps): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/bottomBar" {
- import * as React from 'react';
- import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
- interface IBottomBarProps {
- texture: BaseTexture;
- mipLevel: number;
- }
- export class BottomBar extends React.PureComponent<IBottomBarProps> {
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasComponent" {
- import * as React from 'react';
- import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
- interface ITextureCanvasComponentProps {
- canvasUI: React.RefObject<HTMLCanvasElement>;
- canvas2D: React.RefObject<HTMLCanvasElement>;
- canvas3D: React.RefObject<HTMLCanvasElement>;
- texture: BaseTexture;
- }
- export class TextureCanvasComponent extends React.Component<ITextureCanvasComponentProps> {
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/paintbrush" {
- import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export const Paintbrush: IToolData;
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/eyedropper" {
- import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export const Eyedropper: IToolData;
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/floodfill" {
- import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export const Floodfill: IToolData;
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/rectangleSelect" {
- import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export const RectangleSelect: IToolData;
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/defaultTools" {
- const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
- export default _default;
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolSettings" {
- import * as React from 'react';
- import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
- interface IToolSettingsProps {
- tool: ITool | undefined;
- }
- export class ToolSettings extends React.Component<IToolSettingsProps> {
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent" {
- import * as React from 'react';
- import { IPixelData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
- import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
- import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
- import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
- import { Scene } from 'babylonjs/scene';
- import { ISize } from 'babylonjs/Maths/math.size';
- import { Vector2 } from 'babylonjs/Maths/math.vector';
- import { PointerInfo } from 'babylonjs/Events/pointerEvents';
- import { PopupComponent } from "babylonjs-inspector/components/popupComponent";
- interface ITextureEditorComponentProps {
- texture: BaseTexture;
- url: string;
- window: React.RefObject<PopupComponent>;
- onUpdate: () => void;
- }
- interface ITextureEditorComponentState {
- tools: ITool[];
- activeToolIndex: number;
- metadata: IMetadata;
- channels: IChannel[];
- pixelData: IPixelData;
- face: number;
- mipLevel: number;
- pickerOpen: boolean;
- }
- export interface IToolParameters {
- /** The visible scene in the editor. Useful for adding pointer and keyboard events. */
- scene: Scene;
- /** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
- canvas2D: HTMLCanvasElement;
- /** The 3D scene which tools can add post processes to. */
- scene3D: Scene;
- /** The size of the texture. */
- size: ISize;
- /** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
- updateTexture: () => void;
- /** The metadata object which is shared between all tools. Feel free to store any information here. Do not set this directly: instead call setMetadata. */
- metadata: IMetadata;
- /** Call this when you want to mutate the metadata. */
- setMetadata: (data: any) => void;
- /** Returns the texture coordinates under the cursor */
- getMouseCoordinates: (pointerInfo: PointerInfo) => Vector2;
- /** Provides access to the BABYLON namespace */
- BABYLON: any;
- /** Provides a canvas that you can use the canvas API to paint on. */
- startPainting: () => Promise<CanvasRenderingContext2D>;
- /** After you have painted on your canvas, call this method to push the updates back to the texture. */
- updatePainting: () => void;
- /** Call this when you are finished painting. */
- stopPainting: () => void;
- }
- export interface IToolGUIProps {
- instance: IToolType;
- }
- /** An interface representing the definition of a tool */
- export interface IToolData {
- /** Name to display on the toolbar */
- name: string;
- /** A class definition for the tool including setup and cleanup methods */
- type: IToolConstructable;
- /** An SVG icon encoded in Base64 */
- icon: string;
- /** Whether the tool uses postprocesses */
- is3D?: boolean;
- cursor?: string;
- settingsComponent?: React.ComponentType<IToolGUIProps>;
- }
- export interface IToolType {
- /** Called when the tool is selected. */
- setup: () => void;
- /** Called when the tool is deselected. */
- cleanup: () => void;
- /** Optional. Called when the user resets the texture or uploads a new texture. Tools may want to reset their state when this happens. */
- onReset?: () => void;
- }
- /** For constructable types, TS requires that you define a seperate interface which constructs your actual interface */
- interface IToolConstructable {
- new (getParameters: () => IToolParameters): IToolType;
- }
- export interface IMetadata {
- color: string;
- alpha: number;
- select: {
- x1: number;
- y1: number;
- x2: number;
- y2: number;
- };
- [key: string]: any;
- }
- global {
- var _TOOL_DATA_: IToolData;
- }
- export class TextureEditorComponent extends React.Component<ITextureEditorComponentProps, ITextureEditorComponentState> {
- private _textureCanvasManager;
- private _UICanvas;
- private _2DCanvas;
- private _3DCanvas;
- private _pickerRef;
- private _timer;
- private static PREVIEW_UPDATE_DELAY_MS;
- constructor(props: ITextureEditorComponentProps);
- componentDidMount(): void;
- componentDidUpdate(): void;
- componentWillUnmount(): void;
- textureDidUpdate(): void;
- loadToolFromURL(url: string): void;
- addTools(tools: IToolData[]): void;
- getToolParameters(): IToolParameters;
- changeTool(index: number): void;
- setMetadata(newMetadata: any): void;
- setPickerOpen(open: boolean): void;
- onPointerDown(evt: React.PointerEvent): void;
- saveTexture(): void;
- resetTexture(): void;
- resizeTexture(width: number, height: number): void;
- uploadTexture(file: File): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/texturePropertyGridComponent" {
- import * as React from "react";
- import { Nullable } from "babylonjs/types";
- import { Observable } from "babylonjs/Misc/observable";
- import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ITexturePropertyGridComponentProps {
- texture: BaseTexture;
- lockObject: LockObject;
- globalState: GlobalState;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- interface ITexturePropertyGridComponentState {
- isTextureEditorOpen: boolean;
- textureEditing: Nullable<BaseTexture>;
- }
- export class TexturePropertyGridComponent extends React.Component<ITexturePropertyGridComponentProps, ITexturePropertyGridComponentState> {
- private _adtInstrumentation;
- private popoutWindowRef;
- private textureLineRef;
- private _textureInspectorSize;
- constructor(props: ITexturePropertyGridComponentProps);
- componentWillUnmount(): void;
- updateTexture(file: File): void;
- openTextureEditor(): void;
- onOpenTextureEditor(window: Window): void;
- onCloseTextureEditor(callback?: {
- (): void;
- }): void;
- forceRefresh(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/vector2LineComponent" {
- import * as React from "react";
- import { Vector2 } from "babylonjs/Maths/math.vector";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- interface IVector2LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- step?: number;
- onChange?: (newvalue: Vector2) => void;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
- isExpanded: boolean;
- value: Vector2;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: IVector2LineComponentProps);
- shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
- isExpanded: boolean;
- value: Vector2;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: Vector2): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/pbrMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PBRMaterial } from "babylonjs/Materials/PBR/pbrMaterial";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { TextureLinkLineComponent } from "babylonjs-inspector/components/actionTabs/lines/textureLinkLineComponent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IPBRMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: PBRMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class PBRMaterialPropertyGridComponent extends React.Component<IPBRMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IPBRMaterialPropertyGridComponentProps);
- switchAmbientMode(state: boolean): void;
- switchMetallicMode(state: boolean): void;
- switchRoughnessMode(state: boolean): void;
- renderTextures(onDebugSelectionChangeObservable: Observable<TextureLinkLineComponent>): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/radioLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- interface IRadioButtonLineComponentProps {
- onSelectionChangedObservable: Observable<RadioButtonLineComponent>;
- label: string;
- isSelected: () => boolean;
- onSelect: () => void;
- }
- export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
- isSelected: boolean;
- }> {
- private _onSelectionChangedObserver;
- constructor(props: IRadioButtonLineComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- onChange(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/fogPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IFogPropertyGridComponentProps {
- globalState: GlobalState;
- scene: Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class FogPropertyGridComponent extends React.Component<IFogPropertyGridComponentProps, {
- mode: number;
- }> {
- constructor(props: IFogPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/scenePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Vector3 } from "babylonjs/Maths/math.vector";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IScenePropertyGridComponentProps {
- globalState: GlobalState;
- scene: Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- onSelectionChangedObservable?: Observable<any>;
- }
- export class ScenePropertyGridComponent extends React.Component<IScenePropertyGridComponentProps> {
- private _storedEnvironmentTexture;
- private _renderingModeGroupObservable;
- constructor(props: IScenePropertyGridComponentProps);
- setRenderingModes(point: boolean, wireframe: boolean): void;
- switchIBL(): void;
- updateEnvironmentTexture(file: File): void;
- updateGravity(newValue: Vector3): void;
- updateTimeStep(newValue: number): void;
- normalizeScene(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/commonLightPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Light } from "babylonjs/Lights/light";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: Light;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonLightPropertyGridComponent extends React.Component<ICommonLightPropertyGridComponentProps> {
- constructor(props: ICommonLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/hemisphericLightPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { HemisphericLight } from "babylonjs/Lights/hemisphericLight";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IHemisphericLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: HemisphericLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class HemisphericLightPropertyGridComponent extends React.Component<IHemisphericLightPropertyGridComponentProps> {
- constructor(props: IHemisphericLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/commonShadowLightPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { IShadowLight } from "babylonjs/Lights/shadowLight";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonShadowLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: IShadowLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonShadowLightPropertyGridComponent extends React.Component<ICommonShadowLightPropertyGridComponentProps> {
- private _internals;
- constructor(props: ICommonShadowLightPropertyGridComponentProps);
- createShadowGenerator(): void;
- disposeShadowGenerator(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/pointLightPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PointLight } from "babylonjs/Lights/pointLight";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IPointLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: PointLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class PointLightPropertyGridComponent extends React.Component<IPointLightPropertyGridComponentProps> {
- constructor(props: IPointLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/hexLineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- interface IHexLineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- lockObject?: LockObject;
- onChange?: (newValue: number) => void;
- isInteger?: boolean;
- replaySourceReplacement?: string;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- additionalClass?: string;
- step?: string;
- digits?: number;
- useEuler?: boolean;
- min?: number;
- }
- export class HexLineComponent extends React.Component<IHexLineComponentProps, {
- value: string;
- }> {
- private _localChange;
- private _store;
- private _propertyChange;
- constructor(props: IHexLineComponentProps);
- componentWillUnmount(): void;
- shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
- value: string;
- }): boolean;
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
- convertToHexString(valueString: string): string;
- updateValue(valueString: string, raisePropertyChanged: boolean): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/commonCameraPropertyGridComponent" {
- import * as React from "react";
- import { Camera } from "babylonjs/Cameras/camera";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: Camera;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonCameraPropertyGridComponent extends React.Component<ICommonCameraPropertyGridComponentProps, {
- mode: number;
- }> {
- constructor(props: ICommonCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/freeCameraPropertyGridComponent" {
- import * as React from "react";
- import { FreeCamera } from "babylonjs/Cameras/freeCamera";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IFreeCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: FreeCamera;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class FreeCameraPropertyGridComponent extends React.Component<IFreeCameraPropertyGridComponentProps> {
- constructor(props: IFreeCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/arcRotateCameraPropertyGridComponent" {
- import * as React from "react";
- import { ArcRotateCamera } from "babylonjs/Cameras/arcRotateCamera";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IArcRotateCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: ArcRotateCamera;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ArcRotateCameraPropertyGridComponent extends React.Component<IArcRotateCameraPropertyGridComponentProps> {
- constructor(props: IArcRotateCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/indentedTextLineComponent" {
- import * as React from "react";
- interface IIndentedTextLineComponentProps {
- value?: string;
- color?: string;
- underline?: boolean;
- onLink?: () => void;
- url?: string;
- additionalClass?: string;
- }
- export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
- constructor(props: IIndentedTextLineComponentProps);
- onLink(): void;
- renderContent(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/commonPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonPropertyGridComponentProps {
- globalState: GlobalState;
- host: {
- metadata: any;
- };
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonPropertyGridComponent extends React.Component<ICommonPropertyGridComponentProps> {
- constructor(props: ICommonPropertyGridComponentProps);
- renderLevel(jsonObject: any): JSX.Element[];
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/variantsPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IVariantsPropertyGridComponentProps {
- globalState: GlobalState;
- host: any;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class VariantsPropertyGridComponent extends React.Component<IVariantsPropertyGridComponentProps> {
- constructor(props: IVariantsPropertyGridComponentProps);
- private _getVariantsExtension;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/meshPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Mesh } from "babylonjs/Meshes/mesh";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IMeshPropertyGridComponentProps {
- globalState: GlobalState;
- mesh: Mesh;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class MeshPropertyGridComponent extends React.Component<IMeshPropertyGridComponentProps, {
- displayNormals: boolean;
- displayVertexColors: boolean;
- displayBoneWeights: boolean;
- displayBoneIndex: number;
- displaySkeletonMap: boolean;
- }> {
- constructor(props: IMeshPropertyGridComponentProps);
- renderWireframeOver(): void;
- renderNormalVectors(): void;
- displayNormals(): void;
- displayVertexColors(): void;
- displayBoneWeights(): void;
- displaySkeletonMap(): void;
- onBoneDisplayIndexChange(value: number): void;
- onMaterialLink(): void;
- onSourceMeshLink(): void;
- onSkeletonLink(): void;
- convertPhysicsTypeToString(): string;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/transformNodePropertyGridComponent" {
- import * as React from "react";
- import { TransformNode } from "babylonjs/Meshes/transformNode";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ITransformNodePropertyGridComponentProps {
- globalState: GlobalState;
- transformNode: TransformNode;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class TransformNodePropertyGridComponent extends React.Component<ITransformNodePropertyGridComponentProps> {
- constructor(props: ITransformNodePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/backgroundMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { BackgroundMaterial } from "babylonjs/Materials/Background/backgroundMaterial";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IBackgroundMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BackgroundMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class BackgroundMaterialPropertyGridComponent extends React.Component<IBackgroundMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IBackgroundMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/commonControlPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Control } from "babylonjs-gui/2D/controls/control";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonControlPropertyGridComponentProps {
- globalState: GlobalState;
- control: Control;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
- constructor(props: ICommonControlPropertyGridComponentProps);
- renderGridInformation(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/controlPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Control } from "babylonjs-gui/2D/controls/control";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- interface IControlPropertyGridComponentProps {
- globalState: GlobalState;
- control: Control;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
- constructor(props: IControlPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/textBlockPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { TextBlock } from "babylonjs-gui/2D/controls/textBlock";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ITextBlockPropertyGridComponentProps {
- globalState: GlobalState;
- textBlock: TextBlock;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
- constructor(props: ITextBlockPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/inputTextPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { InputText } from "babylonjs-gui/2D/controls/inputText";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IInputTextPropertyGridComponentProps {
- globalState: GlobalState;
- inputText: InputText;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
- constructor(props: IInputTextPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/colorPickerPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { ColorPicker } from "babylonjs-gui/2D/controls/colorpicker";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IColorPickerPropertyGridComponentProps {
- globalState: GlobalState;
- colorPicker: ColorPicker;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
- constructor(props: IColorPickerPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationGroupPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { AnimationGroup } from "babylonjs/Animations/animationGroup";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IAnimationGroupGridComponentProps {
- globalState: GlobalState;
- animationGroup: AnimationGroup;
- scene: Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class AnimationGroupGridComponent extends React.Component<IAnimationGroupGridComponentProps, {
- playButtonText: string;
- currentFrame: number;
- }> {
- private _onAnimationGroupPlayObserver;
- private _onAnimationGroupPauseObserver;
- private _onBeforeRenderObserver;
- private timelineRef;
- constructor(props: IAnimationGroupGridComponentProps);
- disconnect(animationGroup: AnimationGroup): void;
- connect(animationGroup: AnimationGroup): void;
- updateCurrentFrame(animationGroup: AnimationGroup): void;
- shouldComponentUpdate(nextProps: IAnimationGroupGridComponentProps): boolean;
- componentWillUnmount(): void;
- playOrPause(): void;
- onCurrentFrameChange(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/imagePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Image } from "babylonjs-gui/2D/controls/image";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IImagePropertyGridComponentProps {
- globalState: GlobalState;
- image: Image;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
- constructor(props: IImagePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/sliderPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Slider } from "babylonjs-gui/2D/controls/sliders/slider";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISliderPropertyGridComponentProps {
- globalState: GlobalState;
- slider: Slider;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
- constructor(props: ISliderPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { ImageBasedSlider } from "babylonjs-gui/2D/controls/sliders/imageBasedSlider";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IImageBasedSliderPropertyGridComponentProps {
- globalState: GlobalState;
- imageBasedSlider: ImageBasedSlider;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
- constructor(props: IImageBasedSliderPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/rectanglePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Rectangle } from "babylonjs-gui/2D/controls/rectangle";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IRectanglePropertyGridComponentProps {
- globalState: GlobalState;
- rectangle: Rectangle;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
- constructor(props: IRectanglePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/ellipsePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Ellipse } from "babylonjs-gui/2D/controls/ellipse";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IEllipsePropertyGridComponentProps {
- globalState: GlobalState;
- ellipse: Ellipse;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
- constructor(props: IEllipsePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Checkbox } from "babylonjs-gui/2D/controls/checkbox";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICheckboxPropertyGridComponentProps {
- globalState: GlobalState;
- checkbox: Checkbox;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
- constructor(props: ICheckboxPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/radioButtonPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { RadioButton } from "babylonjs-gui/2D/controls/radioButton";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IRadioButtonPropertyGridComponentProps {
- globalState: GlobalState;
- radioButton: RadioButton;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
- constructor(props: IRadioButtonPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/linePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Line } from "babylonjs-gui/2D/controls/line";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ILinePropertyGridComponentProps {
- globalState: GlobalState;
- line: Line;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
- constructor(props: ILinePropertyGridComponentProps);
- onDashChange(value: string): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { ScrollViewer } from "babylonjs-gui/2D/controls/scrollViewers/scrollViewer";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IScrollViewerPropertyGridComponentProps {
- globalState: GlobalState;
- scrollViewer: ScrollViewer;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
- constructor(props: IScrollViewerPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/gridPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Grid } from "babylonjs-gui/2D/controls/grid";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IGridPropertyGridComponentProps {
- globalState: GlobalState;
- grid: Grid;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
- constructor(props: IGridPropertyGridComponentProps);
- renderRows(): JSX.Element[];
- renderColumns(): JSX.Element[];
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/pbrMetallicRoughnessMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PBRMetallicRoughnessMaterial } from "babylonjs/Materials/PBR/pbrMetallicRoughnessMaterial";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IPBRMetallicRoughnessMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: PBRMetallicRoughnessMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class PBRMetallicRoughnessMaterialPropertyGridComponent extends React.Component<IPBRMetallicRoughnessMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IPBRMetallicRoughnessMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/pbrSpecularGlossinessMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PBRSpecularGlossinessMaterial } from "babylonjs/Materials/PBR/pbrSpecularGlossinessMaterial";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IPBRSpecularGlossinessMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: PBRSpecularGlossinessMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class PBRSpecularGlossinessMaterialPropertyGridComponent extends React.Component<IPBRSpecularGlossinessMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IPBRSpecularGlossinessMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/stackPanelPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { StackPanel } from "babylonjs-gui/2D/controls/stackPanel";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IStackPanelPropertyGridComponentProps {
- globalState: GlobalState;
- stackPanel: StackPanel;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
- constructor(props: IStackPanelPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/commonPostProcessPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { PostProcess } from 'babylonjs/PostProcesses/postProcess';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonPostProcessPropertyGridComponentProps {
- globalState: GlobalState;
- postProcess: PostProcess;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonPostProcessPropertyGridComponent extends React.Component<ICommonPostProcessPropertyGridComponentProps> {
- constructor(props: ICommonPostProcessPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/postProcessPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PostProcess } from "babylonjs/PostProcesses/postProcess";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IPostProcessPropertyGridComponentProps {
- globalState: GlobalState;
- postProcess: PostProcess;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class PostProcessPropertyGridComponent extends React.Component<IPostProcessPropertyGridComponentProps> {
- constructor(props: IPostProcessPropertyGridComponentProps);
- edit(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/commonRenderingPipelinePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { PostProcessRenderPipeline } from 'babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICommonRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: PostProcessRenderPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CommonRenderingPipelinePropertyGridComponent extends React.Component<ICommonRenderingPipelinePropertyGridComponentProps> {
- constructor(props: ICommonRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/renderingPipelinePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PostProcessRenderPipeline } from "babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: PostProcessRenderPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class RenderingPipelinePropertyGridComponent extends React.Component<IRenderingPipelinePropertyGridComponentProps> {
- constructor(props: IRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/defaultRenderingPipelinePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { DefaultRenderingPipeline } from "babylonjs/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IDefaultRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: DefaultRenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class DefaultRenderingPipelinePropertyGridComponent extends React.Component<IDefaultRenderingPipelinePropertyGridComponentProps> {
- constructor(props: IDefaultRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/ssaoRenderingPipelinePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { SSAORenderingPipeline } from 'babylonjs/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISSAORenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: SSAORenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SSAORenderingPipelinePropertyGridComponent extends React.Component<ISSAORenderingPipelinePropertyGridComponentProps> {
- constructor(props: ISSAORenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/ssao2RenderingPipelinePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { SSAO2RenderingPipeline } from 'babylonjs/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISSAO2RenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: SSAO2RenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SSAO2RenderingPipelinePropertyGridComponent extends React.Component<ISSAO2RenderingPipelinePropertyGridComponentProps> {
- constructor(props: ISSAO2RenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/skeletonPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { Skeleton } from 'babylonjs/Bones/skeleton';
- interface ISkeletonPropertyGridComponentProps {
- globalState: GlobalState;
- skeleton: Skeleton;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SkeletonPropertyGridComponent extends React.Component<ISkeletonPropertyGridComponentProps> {
- private _skeletonViewersEnabled;
- private _skeletonViewerDisplayOptions;
- private _skeletonViewers;
- constructor(props: ISkeletonPropertyGridComponentProps);
- switchSkeletonViewers(): void;
- checkSkeletonViewerState(props: ISkeletonPropertyGridComponentProps): void;
- changeDisplayMode(): void;
- changeDisplayOptions(option: string, value: number): void;
- shouldComponentUpdate(nextProps: ISkeletonPropertyGridComponentProps): boolean;
- onOverrideMeshLink(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/bonePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { Bone } from 'babylonjs/Bones/bone';
- interface IBonePropertyGridComponentProps {
- globalState: GlobalState;
- bone: Bone;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class BonePropertyGridComponent extends React.Component<IBonePropertyGridComponentProps> {
- constructor(props: IBonePropertyGridComponentProps);
- onTransformNodeLink(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/directionalLightPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { DirectionalLight } from "babylonjs/Lights/directionalLight";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IDirectionalLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: DirectionalLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class DirectionalLightPropertyGridComponent extends React.Component<IDirectionalLightPropertyGridComponentProps> {
- constructor(props: IDirectionalLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/spotLightPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { SpotLight } from "babylonjs/Lights/spotLight";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISpotLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: SpotLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SpotLightPropertyGridComponent extends React.Component<ISpotLightPropertyGridComponentProps> {
- constructor(props: ISpotLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/lensRenderingPipelinePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { LensRenderingPipeline } from "babylonjs/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ILenstRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: LensRenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class LensRenderingPipelinePropertyGridComponent extends React.Component<ILenstRenderingPipelinePropertyGridComponentProps> {
- constructor(props: ILenstRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/vector4LineComponent" {
- import * as React from "react";
- import { Vector4 } from "babylonjs/Maths/math.vector";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- interface IVector4LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- step?: number;
- onChange?: (newvalue: Vector4) => void;
- useEuler?: boolean;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
- isExpanded: boolean;
- value: Vector4;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: IVector4LineComponentProps);
- getCurrentValue(): any;
- shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
- isExpanded: boolean;
- value: Vector4;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: Vector4): void;
- updateVector4(): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- updateStateZ(value: number): void;
- updateStateW(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/color4LineComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { Color4 } from "babylonjs/Maths/math.color";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- export interface IColor4LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- onChange?: () => void;
- isLinear?: boolean;
- }
- export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
- isExpanded: boolean;
- color: Color4;
- }> {
- private _localChange;
- constructor(props: IColor4LineComponentProps);
- shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
- color: Color4;
- }): boolean;
- setPropertyValue(newColor: Color4): void;
- onChange(newValue: string): void;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: Color4): void;
- updateStateR(value: number): void;
- updateStateG(value: number): void;
- updateStateB(value: number): void;
- updateStateA(value: number): void;
- copyToClipboard(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/gradientStepComponent" {
- import * as React from 'react';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { GradientBlockColorStep } from 'babylonjs/Materials/Node/Blocks/gradientBlock';
- interface IGradientStepComponentProps {
- globalState: GlobalState;
- step: GradientBlockColorStep;
- lineIndex: number;
- onDelete: () => void;
- onUpdateStep: () => void;
- onCheckForReOrder: () => void;
- onCopy?: () => void;
- }
- export class GradientStepComponent extends React.Component<IGradientStepComponentProps, {
- gradient: number;
- }> {
- constructor(props: IGradientStepComponentProps);
- updateColor(color: string): void;
- updateStep(gradient: number): void;
- onPointerUp(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyComponentProps" {
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { NodeMaterialBlock } from 'babylonjs/Materials/Node/nodeMaterialBlock';
- export interface IPropertyComponentProps {
- globalState: GlobalState;
- block: NodeMaterialBlock;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/gradientNodePropertyComponent" {
- import * as React from "react";
- import { GradientBlockColorStep } from 'babylonjs/Materials/Node/Blocks/gradientBlock';
- import { IPropertyComponentProps } from "babylonjs-inspector/components/actionTabs/tabs/propertyComponentProps";
- export class GradientPropertyTabComponent extends React.Component<IPropertyComponentProps> {
- private _gradientBlock;
- constructor(props: IPropertyComponentProps);
- forceRebuild(): void;
- deleteStep(step: GradientBlockColorStep): void;
- copyStep(step: GradientBlockColorStep): void;
- addNewStep(): void;
- checkForReOrder(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/nodeMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { NodeMaterial } from "babylonjs/Materials/Node/nodeMaterial";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { InputBlock } from 'babylonjs/Materials/Node/Blocks/Input/inputBlock';
- interface INodeMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: NodeMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class NodeMaterialPropertyGridComponent extends React.Component<INodeMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: INodeMaterialPropertyGridComponentProps);
- edit(): void;
- renderTextures(): JSX.Element | null;
- renderInputBlock(block: InputBlock): JSX.Element | null;
- renderInputValues(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/multiMaterialPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { Material } from 'babylonjs/Materials/material';
- import { MultiMaterial } from 'babylonjs/Materials/multiMaterial';
- interface IMultiMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: MultiMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class MultiMaterialPropertyGridComponent extends React.Component<IMultiMaterialPropertyGridComponentProps> {
- constructor(props: IMultiMaterialPropertyGridComponentProps);
- onMaterialLink(mat: Material): void;
- renderChildMaterial(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/boxEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { BoxParticleEmitter } from 'babylonjs/Particles/EmitterTypes/boxParticleEmitter';
- interface IBoxEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BoxParticleEmitter;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class BoxEmitterGridComponent extends React.Component<IBoxEmitterGridComponentProps> {
- constructor(props: IBoxEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/coneEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { ConeParticleEmitter } from 'babylonjs/Particles/EmitterTypes/coneParticleEmitter';
- interface IConeEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: ConeParticleEmitter;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ConeEmitterGridComponent extends React.Component<IConeEmitterGridComponentProps> {
- constructor(props: IConeEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/cylinderEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { CylinderParticleEmitter } from 'babylonjs/Particles/EmitterTypes/cylinderParticleEmitter';
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- interface ICylinderEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: CylinderParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class CylinderEmitterGridComponent extends React.Component<ICylinderEmitterGridComponentProps> {
- constructor(props: ICylinderEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/hemisphericEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { HemisphericParticleEmitter } from 'babylonjs/Particles/EmitterTypes/hemisphericParticleEmitter';
- interface IHemisphericEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: HemisphericParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class HemisphericEmitterGridComponent extends React.Component<IHemisphericEmitterGridComponentProps> {
- constructor(props: IHemisphericEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/pointEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { PointParticleEmitter } from 'babylonjs/Particles/EmitterTypes/pointParticleEmitter';
- interface IPointEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: PointParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class PointEmitterGridComponent extends React.Component<IPointEmitterGridComponentProps> {
- constructor(props: IPointEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/sphereEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { SphereParticleEmitter } from 'babylonjs/Particles/EmitterTypes/sphereParticleEmitter';
- interface ISphereEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: SphereParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SphereEmitterGridComponent extends React.Component<ISphereEmitterGridComponentProps> {
- constructor(props: ISphereEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/meshPickerComponent" {
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { Observable } from 'babylonjs/Misc/observable';
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { Scene } from 'babylonjs/scene';
- interface IMeshPickerComponentProps {
- globalState: GlobalState;
- target: any;
- property: string;
- scene: Scene;
- label: string;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class MeshPickerComponent extends React.Component<IMeshPickerComponentProps> {
- constructor(props: IMeshPickerComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/meshEmitterGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { MeshParticleEmitter } from 'babylonjs/Particles/EmitterTypes/meshParticleEmitter';
- import { Scene } from 'babylonjs/scene';
- interface IMeshEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: MeshParticleEmitter;
- scene: Scene;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class MeshEmitterGridComponent extends React.Component<IMeshEmitterGridComponentProps> {
- constructor(props: IMeshEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/factorGradientStepGridComponent" {
- import * as React from 'react';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { FactorGradient } from 'babylonjs/Misc/gradients';
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
- interface IFactorGradientStepGridComponent {
- globalState: GlobalState;
- gradient: FactorGradient;
- lockObject: LockObject;
- lineIndex: number;
- onDelete: () => void;
- onUpdateGradient: () => void;
- onCheckForReOrder: () => void;
- host: IParticleSystem;
- codeRecorderPropertyName: string;
- }
- export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
- gradient: number;
- factor1: string;
- factor2?: string;
- }> {
- constructor(props: IFactorGradientStepGridComponent);
- shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
- gradient: number;
- factor1: string;
- factor2?: string;
- }): boolean;
- updateFactor1(valueString: string): void;
- updateFactor2(valueString: string): void;
- updateGradient(gradient: number): void;
- onPointerUp(): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/colorGradientStepGridComponent" {
- import * as React from 'react';
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { ColorGradient, Color3Gradient } from 'babylonjs/Misc/gradients';
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
- interface IColorGradientStepGridComponent {
- globalState: GlobalState;
- gradient: ColorGradient | Color3Gradient;
- lockObject: LockObject;
- lineIndex: number;
- isColor3: boolean;
- onDelete: () => void;
- onUpdateGradient: () => void;
- onCheckForReOrder: () => void;
- host: IParticleSystem;
- codeRecorderPropertyName: string;
- }
- export class ColorGradientStepGridComponent extends React.Component<IColorGradientStepGridComponent, {
- gradient: number;
- }> {
- constructor(props: IColorGradientStepGridComponent);
- updateColor1(color: string): void;
- updateColor2(color: string): void;
- updateGradient(gradient: number): void;
- onPointerUp(): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/linkButtonComponent" {
- import * as React from "react";
- interface ILinkButtonComponentProps {
- label: string;
- buttonLabel: string;
- url?: string;
- onClick: () => void;
- onIconClick?: () => void;
- }
- export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
- constructor(props: ILinkButtonComponentProps);
- onLink(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/valueGradientGridComponent" {
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { IValueGradient } from 'babylonjs/Misc/gradients';
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { Nullable } from 'babylonjs/types';
- import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
- export enum GradientGridMode {
- Factor = 0,
- Color3 = 1,
- Color4 = 2
- }
- interface IValueGradientGridComponent {
- globalState: GlobalState;
- label: string;
- gradients: Nullable<Array<IValueGradient>>;
- lockObject: LockObject;
- docLink?: string;
- mode: GradientGridMode;
- host: IParticleSystem;
- codeRecorderPropertyName: string;
- onCreateRequired: () => void;
- }
- export class ValueGradientGridComponent extends React.Component<IValueGradientGridComponent> {
- constructor(props: IValueGradientGridComponent);
- deleteStep(step: IValueGradient): void;
- addNewStep(): void;
- checkForReOrder(): void;
- updateAndSync(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/particleSystemPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
- interface IParticleSystemPropertyGridComponentProps {
- globalState: GlobalState;
- system: IParticleSystem;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class ParticleSystemPropertyGridComponent extends React.Component<IParticleSystemPropertyGridComponentProps> {
- private _snippetUrl;
- constructor(props: IParticleSystemPropertyGridComponentProps);
- renderEmitter(): JSX.Element | null;
- raiseOnPropertyChanged(property: string, newValue: any, previousValue: any): void;
- renderControls(): JSX.Element;
- saveToFile(): void;
- loadFromFile(file: File): void;
- loadFromSnippet(): void;
- saveToSnippet(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/sprites/spriteManagerPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { SpriteManager } from 'babylonjs/Sprites/spriteManager';
- interface ISpriteManagerPropertyGridComponentProps {
- globalState: GlobalState;
- spriteManager: SpriteManager;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class SpriteManagerPropertyGridComponent extends React.Component<ISpriteManagerPropertyGridComponentProps> {
- private _snippetUrl;
- constructor(props: ISpriteManagerPropertyGridComponentProps);
- addNewSprite(): void;
- disposeManager(): void;
- saveToFile(): void;
- loadFromFile(file: File): void;
- loadFromSnippet(): void;
- saveToSnippet(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/sprites/spritePropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { Sprite } from 'babylonjs/Sprites/sprite';
- interface ISpritePropertyGridComponentProps {
- globalState: GlobalState;
- sprite: Sprite;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- onSelectionChangedObservable?: Observable<any>;
- }
- export class SpritePropertyGridComponent extends React.Component<ISpritePropertyGridComponentProps> {
- private canvasRef;
- private imageData;
- private cachedCellIndex;
- constructor(props: ISpritePropertyGridComponentProps);
- onManagerLink(): void;
- switchPlayStopState(): void;
- disposeSprite(): void;
- componentDidMount(): void;
- componentDidUpdate(): void;
- shouldComponentUpdate(nextProps: ISpritePropertyGridComponentProps): boolean;
- updatePreview(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/targetedAnimationPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ITargetedAnimationGridComponentProps {
- globalState: GlobalState;
- targetedAnimation: TargetedAnimation;
- scene: Scene;
- lockObject: LockObject;
- onSelectionChangedObservable?: Observable<any>;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class TargetedAnimationGridComponent extends React.Component<ITargetedAnimationGridComponentProps> {
- private _isCurveEditorOpen;
- private _animationGroup;
- constructor(props: ITargetedAnimationGridComponentProps);
- onOpenAnimationCurveEditor: () => void;
- onCloseAnimationCurveEditor: (window: Window | null) => void;
- playOrPause: () => void;
- deleteAnimation: () => void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/followCameraPropertyGridComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { FollowCamera } from 'babylonjs/Cameras/followCamera';
- interface IFollowCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: FollowCamera;
- lockObject: LockObject;
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
- }
- export class FollowCameraPropertyGridComponent extends React.Component<IFollowCameraPropertyGridComponentProps> {
- constructor(props: IFollowCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGridTabComponent" {
- import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
- export class PropertyGridTabComponent extends PaneComponent {
- private _timerIntervalId;
- private _lockObject;
- constructor(props: IPaneComponentProps);
- timerRefresh(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/headerComponent" {
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- export interface IHeaderComponentProps {
- title: string;
- handleBack?: boolean;
- noExpand?: boolean;
- noClose?: boolean;
- noCommands?: boolean;
- onPopup: () => void;
- onClose: () => void;
- onSelectionChangedObservable?: Observable<any>;
- }
- export class HeaderComponent extends React.Component<IHeaderComponentProps, {
- isBackVisible: boolean;
- }> {
- private _backStack;
- private _onSelectionChangeObserver;
- constructor(props: IHeaderComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- goBack(): void;
- renderLogo(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/messageLineComponent" {
- import * as React from "react";
- interface IMessageLineComponentProps {
- text: string;
- color?: string;
- }
- export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
- constructor(props: IMessageLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/tools/gltfComponent" {
- import * as React from "react";
- import { Scene } from "babylonjs/scene";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IGLTFComponentProps {
- scene: Scene;
- globalState: GlobalState;
- }
- export class GLTFComponent extends React.Component<IGLTFComponentProps> {
- private _onValidationResultsUpdatedObserver;
- openValidationDetails(): void;
- prepareText(singularForm: string, count: number): string;
- componentDidMount(): void;
- componentWillUnmount(): void;
- renderValidation(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/lines/fileMultipleButtonLineComponent" {
- import * as React from "react";
- interface IFileMultipleButtonLineComponentProps {
- label: string;
- onClick: (event: any) => void;
- accept: string;
- }
- export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
- private static _IDGenerator;
- private _id;
- private uploadInputRef;
- constructor(props: IFileMultipleButtonLineComponentProps);
- onChange(evt: any): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/toolsTabComponent" {
- import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
- import { Node } from "babylonjs/node";
- export class ToolsTabComponent extends PaneComponent {
- private _videoRecorder;
- private _screenShotSize;
- private _gifOptions;
- private _useWidthHeight;
- private _isExporting;
- private _gifWorkerBlob;
- private _gifRecorder;
- private _previousRenderingScale;
- private _crunchingGIF;
- constructor(props: IPaneComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- captureScreenshot(): void;
- captureRender(): void;
- recordVideo(): void;
- recordGIFInternal(): void;
- recordGIF(): void;
- importAnimations(event: any): void;
- shouldExport(node: Node): boolean;
- exportGLTF(): void;
- exportBabylon(): void;
- createEnvTexture(): void;
- exportReplay(): void;
- startRecording(): void;
- applyDelta(file: File): void;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/settingsTabComponent" {
- import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
- export class SettingsTabComponent extends PaneComponent {
- constructor(props: IPaneComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/actionTabsComponent" {
- import * as React from "react";
- import { Scene } from "babylonjs/scene";
- import { DebugLayerTab } from "babylonjs/Debug/debugLayer";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IActionTabsComponentProps {
- scene?: Scene;
- noCommands?: boolean;
- noHeader?: boolean;
- noExpand?: boolean;
- noClose?: boolean;
- popupMode?: boolean;
- onPopup?: () => void;
- onClose?: () => void;
- globalState?: GlobalState;
- initialTab?: DebugLayerTab;
- }
- export class ActionTabsComponent extends React.Component<IActionTabsComponentProps, {
- selectedEntity: any;
- selectedIndex: number;
- }> {
- private _onSelectionChangeObserver;
- private _onTabChangedObserver;
- private _once;
- constructor(props: IActionTabsComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- changeSelectedTab(index: number): void;
- renderContent(): JSX.Element | null;
- onClose(): void;
- onPopup(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/treeItemLabelComponent" {
- import * as React from "react";
- interface ITreeItemLabelComponentProps {
- label: string;
- onClick?: () => void;
- color: string;
- }
- export class TreeItemLabelComponent extends React.Component<ITreeItemLabelComponentProps> {
- constructor(props: ITreeItemLabelComponentProps);
- onClick(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/extensionsComponent" {
- import * as React from "react";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- interface IExtensionsComponentProps {
- target: any;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- }
- export class ExtensionsComponent extends React.Component<IExtensionsComponentProps, {
- popupVisible: boolean;
- }> {
- private _popup;
- private extensionRef;
- constructor(props: IExtensionsComponentProps);
- showPopup(): void;
- componentDidMount(): void;
- componentDidUpdate(): void;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/meshTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface IMeshTreeItemComponentProps {
- mesh: AbstractMesh;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- globalState: GlobalState;
- }
- export class MeshTreeItemComponent extends React.Component<IMeshTreeItemComponentProps, {
- isBoundingBoxEnabled: boolean;
- isVisible: boolean;
- }> {
- constructor(props: IMeshTreeItemComponentProps);
- showBoundingBox(): void;
- switchVisibility(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/cameraTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Camera } from "babylonjs/Cameras/camera";
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ICameraTreeItemComponentProps {
- camera: Camera;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- globalState: GlobalState;
- }
- export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
- isActive: boolean;
- isGizmoEnabled: boolean;
- }> {
- private _onBeforeRenderObserver;
- constructor(props: ICameraTreeItemComponentProps);
- setActive(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- toggleGizmo(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/lightTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Light } from "babylonjs/Lights/light";
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ILightTreeItemComponentProps {
- light: Light;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- globalState: GlobalState;
- }
- export class LightTreeItemComponent extends React.Component<ILightTreeItemComponentProps, {
- isEnabled: boolean;
- isGizmoEnabled: boolean;
- }> {
- constructor(props: ILightTreeItemComponentProps);
- switchIsEnabled(): void;
- toggleGizmo(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/materialTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Material } from "babylonjs/Materials/material";
- import * as React from 'react';
- import { NodeMaterial } from 'babylonjs/Materials/Node/nodeMaterial';
- interface IMaterialTreeItemComponentProps {
- material: Material | NodeMaterial;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class MaterialTreeItemComponent extends React.Component<IMaterialTreeItemComponentProps> {
- constructor(props: IMaterialTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/textureTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Texture } from "babylonjs/Materials/Textures/texture";
- import * as React from 'react';
- interface ITextureTreeItemComponentProps {
- texture: Texture;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class TextureTreeItemComponent extends React.Component<ITextureTreeItemComponentProps> {
- constructor(props: ITextureTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/transformNodeTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { TransformNode } from "babylonjs/Meshes/transformNode";
- import * as React from "react";
- interface ITransformNodeItemComponentProps {
- transformNode: TransformNode;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class TransformNodeItemComponent extends React.Component<ITransformNodeItemComponentProps> {
- constructor(props: ITransformNodeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/gui/controlTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Control } from "babylonjs-gui/2D/controls/control";
- import * as React from 'react';
- interface IControlTreeItemComponentProps {
- control: Control;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class ControlTreeItemComponent extends React.Component<IControlTreeItemComponentProps, {
- isActive: boolean;
- isVisible: boolean;
- }> {
- constructor(props: IControlTreeItemComponentProps);
- highlight(): void;
- switchVisibility(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/gui/advancedDynamicTextureTreeItemComponent" {
- import { Observable } from "babylonjs/Misc/observable";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { AdvancedDynamicTexture } from 'babylonjs-gui/2D/advancedDynamicTexture';
- import * as React from 'react';
- interface IAdvancedDynamicTextureTreeItemComponentProps {
- texture: AdvancedDynamicTexture;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onSelectionChangedObservable?: Observable<any>;
- onClick: () => void;
- }
- export class AdvancedDynamicTextureTreeItemComponent extends React.Component<IAdvancedDynamicTextureTreeItemComponentProps, {
- isInPickingMode: boolean;
- }> {
- private _onControlPickedObserver;
- constructor(props: IAdvancedDynamicTextureTreeItemComponentProps);
- componentWillUnmount(): void;
- onPickingMode(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/animationGroupTreeItemComponent" {
- import { AnimationGroup } from "babylonjs/Animations/animationGroup";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from "react";
- interface IAnimationGroupItemComponentProps {
- animationGroup: AnimationGroup;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class AnimationGroupItemComponent extends React.Component<IAnimationGroupItemComponentProps> {
- constructor(props: IAnimationGroupItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/postProcessTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { PostProcess } from 'babylonjs/PostProcesses/postProcess';
- import * as React from 'react';
- interface IPostProcessItemComponentProps {
- postProcess: PostProcess;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class PostProcessItemComponent extends React.Component<IPostProcessItemComponentProps> {
- constructor(props: IPostProcessItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/renderingPipelineTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { PostProcessRenderPipeline } from 'babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline';
- import * as React from 'react';
- interface IRenderPipelineItemComponenttProps {
- renderPipeline: PostProcessRenderPipeline;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class RenderingPipelineItemComponent extends React.Component<IRenderPipelineItemComponenttProps> {
- constructor(props: IRenderPipelineItemComponenttProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/skeletonTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from "react";
- import { Skeleton } from 'babylonjs/Bones/skeleton';
- interface ISkeletonTreeItemComponentProps {
- skeleton: Skeleton;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class SkeletonTreeItemComponent extends React.Component<ISkeletonTreeItemComponentProps> {
- constructor(props: ISkeletonTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/boneTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from "react";
- import { Bone } from 'babylonjs/Bones/bone';
- interface IBoneTreeItemComponenttProps {
- bone: Bone;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class BoneTreeItemComponent extends React.Component<IBoneTreeItemComponenttProps> {
- constructor(props: IBoneTreeItemComponenttProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/particleSystemTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from 'react';
- import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
- interface IParticleSystemTreeItemComponentProps {
- system: IParticleSystem;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class ParticleSystemTreeItemComponent extends React.Component<IParticleSystemTreeItemComponentProps> {
- constructor(props: IParticleSystemTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/spriteManagerTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from 'react';
- import { SpriteManager } from 'babylonjs/Sprites/spriteManager';
- interface ISpriteManagerTreeItemComponentProps {
- spriteManager: SpriteManager;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class SpriteManagerTreeItemComponent extends React.Component<ISpriteManagerTreeItemComponentProps> {
- constructor(props: ISpriteManagerTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/spriteTreeItemComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from 'react';
- import { Sprite } from 'babylonjs/Sprites/sprite';
- interface ISpriteTreeItemComponentProps {
- sprite: Sprite;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class SpriteTreeItemComponent extends React.Component<ISpriteTreeItemComponentProps> {
- constructor(props: ISpriteTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/targetedAnimationTreeItemComponent" {
- import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from "react";
- interface ITargetedAnimationItemComponentProps {
- targetedAnimation: TargetedAnimation;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class TargetedAnimationItemComponent extends React.Component<ITargetedAnimationItemComponentProps> {
- constructor(props: ITargetedAnimationItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/treeItemSpecializedComponent" {
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ITreeItemSpecializedComponentProps {
- label: string;
- entity?: any;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- globalState: GlobalState;
- onClick?: () => void;
- }
- export class TreeItemSpecializedComponent extends React.Component<ITreeItemSpecializedComponentProps> {
- constructor(props: ITreeItemSpecializedComponentProps);
- onClick(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/tools" {
- export class Tools {
- static LookForItem(item: any, selectedEntity: any): boolean;
- private static _RecursiveRemoveHiddenMeshesAndHoistChildren;
- static SortAndFilter(parent: any, items: any[]): any[];
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/treeItemSelectableComponent" {
- import { Nullable } from "babylonjs/types";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- export interface ITreeItemSelectableComponentProps {
- entity: any;
- selectedEntity?: any;
- mustExpand?: boolean;
- offset: number;
- globalState: GlobalState;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- filter: Nullable<string>;
- }
- export class TreeItemSelectableComponent extends React.Component<ITreeItemSelectableComponentProps, {
- isExpanded: boolean;
- isSelected: boolean;
- }> {
- private _wasSelected;
- constructor(props: ITreeItemSelectableComponentProps);
- switchExpandedState(): void;
- shouldComponentUpdate(nextProps: ITreeItemSelectableComponentProps, nextState: {
- isExpanded: boolean;
- isSelected: boolean;
- }): boolean;
- scrollIntoView(): void;
- componentDidMount(): void;
- componentDidUpdate(): void;
- onSelect(): void;
- renderChildren(): JSX.Element[] | null;
- render(): JSX.Element | null;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/treeItemComponent" {
- import * as React from "react";
- import { Nullable } from "babylonjs/types";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- export interface ITreeItemComponentProps {
- items?: Nullable<any[]>;
- label: string;
- offset: number;
- filter: Nullable<string>;
- forceSubitems?: boolean;
- globalState: GlobalState;
- entity?: any;
- selectedEntity: any;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- contextMenuItems?: {
- label: string;
- action: () => void;
- }[];
- }
- export class TreeItemComponent extends React.Component<ITreeItemComponentProps, {
- isExpanded: boolean;
- mustExpand: boolean;
- }> {
- static _ContextMenuUniqueIdGenerator: number;
- constructor(props: ITreeItemComponentProps);
- switchExpandedState(): void;
- shouldComponentUpdate(nextProps: ITreeItemComponentProps, nextState: {
- isExpanded: boolean;
- }): boolean;
- expandAll(expand: boolean): void;
- renderContextMenu(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/entities/sceneTreeItemComponent" {
- import { Observable } from "babylonjs/Misc/observable";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Scene } from "babylonjs/scene";
- import * as React from "react";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISceneTreeItemComponentProps {
- scene: Scene;
- onRefresh: () => void;
- selectedEntity?: any;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- onSelectionChangedObservable?: Observable<any>;
- globalState: GlobalState;
- }
- export class SceneTreeItemComponent extends React.Component<ISceneTreeItemComponentProps, {
- isSelected: boolean;
- isInPickingMode: boolean;
- gizmoMode: number;
- }> {
- private _gizmoLayerOnPointerObserver;
- private _onPointerObserver;
- private _onSelectionChangeObserver;
- private _selectedEntity;
- private _posDragEnd;
- private _scaleDragEnd;
- private _rotateDragEnd;
- constructor(props: ISceneTreeItemComponentProps);
- shouldComponentUpdate(nextProps: ISceneTreeItemComponentProps, nextState: {
- isSelected: boolean;
- isInPickingMode: boolean;
- }): boolean;
- componentDidMount(): void;
- componentWillUnmount(): void;
- onSelect(): void;
- onPickingMode(): void;
- setGizmoMode(mode: number): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/sceneExplorer/sceneExplorerComponent" {
- import * as React from "react";
- import { Nullable } from "babylonjs/types";
- import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
- import { Scene } from "babylonjs/scene";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- interface ISceneExplorerFilterComponentProps {
- onFilter: (filter: string) => void;
- }
- export class SceneExplorerFilterComponent extends React.Component<ISceneExplorerFilterComponentProps> {
- constructor(props: ISceneExplorerFilterComponentProps);
- render(): JSX.Element;
- }
- interface ISceneExplorerComponentProps {
- scene: Scene;
- noCommands?: boolean;
- noHeader?: boolean;
- noExpand?: boolean;
- noClose?: boolean;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- globalState: GlobalState;
- popupMode?: boolean;
- onPopup?: () => void;
- onClose?: () => void;
- }
- export class SceneExplorerComponent extends React.Component<ISceneExplorerComponentProps, {
- filter: Nullable<string>;
- selectedEntity: any;
- scene: Scene;
- }> {
- private _onSelectionChangeObserver;
- private _onSelectionRenamedObserver;
- private _onNewSceneAddedObserver;
- private _onNewSceneObserver;
- private sceneExplorerRef;
- private _once;
- private _hooked;
- private sceneMutationFunc;
- constructor(props: ISceneExplorerComponentProps);
- processMutation(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- filterContent(filter: string): void;
- findSiblings(parent: any, items: any[], target: any, goNext: boolean, data: {
- previousOne?: any;
- found?: boolean;
- }): boolean;
- processKeys(keyEvent: React.KeyboardEvent<HTMLDivElement>): void;
- renderContent(): JSX.Element | null;
- onClose(): void;
- onPopup(): void;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/embedHost/embedHostComponent" {
- import * as React from "react";
- import { Scene } from "babylonjs/scene";
- import { GlobalState } from "babylonjs-inspector/components/globalState";
- import { IExplorerExtensibilityGroup, DebugLayerTab } from 'babylonjs/Debug/debugLayer';
- interface IEmbedHostComponentProps {
- scene: Scene;
- globalState: GlobalState;
- popupMode: boolean;
- noClose?: boolean;
- noExpand?: boolean;
- onClose: () => void;
- onPopup: () => void;
- extensibilityGroups?: IExplorerExtensibilityGroup[];
- initialTab?: DebugLayerTab;
- }
- export class EmbedHostComponent extends React.Component<IEmbedHostComponentProps> {
- private _once;
- private splitRef;
- private topPartRef;
- private bottomPartRef;
- constructor(props: IEmbedHostComponentProps);
- componentDidMount(): void;
- renderContent(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/inspector" {
- import { IInspectorOptions } from "babylonjs/Debug/debugLayer";
- import { Observable } from "babylonjs/Misc/observable";
- import { Scene } from "babylonjs/scene";
- import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
- export class Inspector {
- private static _SceneExplorerHost;
- private static _ActionTabsHost;
- private static _EmbedHost;
- private static _NewCanvasContainer;
- private static _SceneExplorerWindow;
- private static _ActionTabsWindow;
- private static _EmbedHostWindow;
- private static _Scene;
- private static _OpenedPane;
- private static _OnBeforeRenderObserver;
- static OnSelectionChangeObservable: Observable<any>;
- static OnPropertyChangedObservable: Observable<PropertyChangedEvent>;
- private static _GlobalState;
- static MarkLineContainerTitleForHighlighting(title: string): void;
- static MarkMultipleLineContainerTitlesForHighlighting(titles: string[]): void;
- private static _CopyStyles;
- private static _CreateSceneExplorer;
- private static _CreateActionTabs;
- private static _CreateEmbedHost;
- static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number, lateBinding?: boolean): HTMLDivElement | null;
- static get IsVisible(): boolean;
- static EarlyAttachToLoader(): void;
- static Show(scene: Scene, userOptions: Partial<IInspectorOptions>): void;
- static _SetNewScene(scene: Scene): void;
- static _CreateCanvasContainer(parentControl: HTMLElement): void;
- private static _DestroyCanvasContainer;
- private static _Cleanup;
- private static _RemoveElementFromDOM;
- static Hide(): void;
- }
- }
- declare module "babylonjs-inspector/index" {
- export * from "babylonjs-inspector/inspector";
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/playhead" {
- import * as React from 'react';
- interface IPlayheadProps {
- frame: number;
- offset: number;
- onCurrentFrameChange: (frame: number) => void;
- }
- /**
- * Renders the Playhead
- */
- export class Playhead extends React.Component<IPlayheadProps> {
- private _direction;
- private _active;
- constructor(props: IPlayheadProps);
- dragStart(e: React.TouchEvent<HTMLDivElement>): void;
- dragStart(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
- drag(e: React.TouchEvent<HTMLDivElement>): void;
- drag(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
- dragEnd(e: React.TouchEvent<HTMLDivElement>): void;
- dragEnd(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
- calculateMove(): string;
- render(): JSX.Element;
- }
- }
- declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/contrast" {
- import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
- export const Contrast: IToolData;
- }
- declare module "babylonjs-inspector/legacy/legacy" {
- export * from "babylonjs-inspector/index";
- }
- declare module "babylonjs-inspector" {
- export * from "babylonjs-inspector/legacy/legacy";
- }
- /// <reference types="react" />
- declare module INSPECTOR {
- export class PropertyChangedEvent {
- object: any;
- property: string;
- value: any;
- initialValue: any;
- allowNullValue?: boolean;
- }
- }
- declare module INSPECTOR {
- export class ReplayRecorder {
- private _sceneRecorder;
- private _isRecording;
- get isRecording(): boolean;
- cancel(): void;
- trackScene(scene: BABYLON.Scene): void;
- applyDelta(json: any, scene: BABYLON.Scene): void;
- export(): void;
- }
- }
- declare module INSPECTOR {
- export class GlobalState {
- onSelectionChangedObservable: BABYLON.Observable<any>;
- onPropertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>;
- onInspectorClosedObservable: BABYLON.Observable<BABYLON.Scene>;
- onTabChangedObservable: BABYLON.Observable<number>;
- onSelectionRenamedObservable: BABYLON.Observable<void>;
- onPluginActivatedObserver: BABYLON.Nullable<BABYLON.Observer<BABYLON.ISceneLoaderPlugin | BABYLON.ISceneLoaderPluginAsync>>;
- onNewSceneObservable: BABYLON.Observable<BABYLON.Scene>;
- sceneImportDefaults: {
- [key: string]: any;
- };
- validationResults: BABYLON.Nullable<BABYLON.GLTF2.IGLTFValidationResults>;
- onValidationResultsUpdatedObservable: BABYLON.Observable<BABYLON.Nullable<BABYLON.GLTF2.IGLTFValidationResults>>;
- onExtensionLoadedObservable: BABYLON.Observable<import("babylonjs-loaders/glTF/index").IGLTFLoaderExtension>;
- glTFLoaderExtensionDefaults: {
- [name: string]: {
- [key: string]: any;
- };
- };
- glTFLoaderDefaults: {
- [key: string]: any;
- };
- glTFLoaderExtensions: {
- [key: string]: import("babylonjs-loaders/glTF/index").IGLTFLoaderExtension;
- };
- blockMutationUpdates: boolean;
- selectedLineContainerTitles: Array<string>;
- selectedLineContainerTitlesNoFocus: Array<string>;
- recorder: ReplayRecorder;
- private _onlyUseEulers;
- get onlyUseEulers(): boolean;
- set onlyUseEulers(value: boolean);
- private _ignoreBackfacesForPicking;
- get ignoreBackfacesForPicking(): boolean;
- set ignoreBackfacesForPicking(value: boolean);
- init(propertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>): void;
- prepareGLTFPlugin(loader: import("babylonjs-loaders/glTF/index").GLTFFileLoader): void;
- lightGizmos: Array<BABYLON.LightGizmo>;
- enableLightGizmo(light: BABYLON.Light, enable?: boolean): void;
- cameraGizmos: Array<BABYLON.CameraGizmo>;
- enableCameraGizmo(camera: BABYLON.Camera, enable?: boolean): void;
- }
- }
- declare module INSPECTOR {
- export interface IPaneComponentProps {
- title: string;
- scene: BABYLON.Scene;
- selectedEntity?: any;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- globalState: GlobalState;
- }
- export class PaneComponent extends React.Component<IPaneComponentProps, {
- tag: any;
- }> {
- constructor(props: IPaneComponentProps);
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- interface ITabsComponentProps {
- children: any[];
- selectedIndex: number;
- onSelectedIndexChange: (value: number) => void;
- }
- export class TabsComponent extends React.Component<ITabsComponentProps> {
- constructor(props: ITabsComponentProps);
- onSelect(index: number): void;
- renderLabel(child: PaneComponent, index: number): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITextLineComponentProps {
- label?: string;
- value?: string;
- color?: string;
- underline?: boolean;
- onLink?: () => void;
- url?: string;
- ignoreValue?: boolean;
- additionalClass?: string;
- }
- export class TextLineComponent extends React.Component<ITextLineComponentProps> {
- constructor(props: ITextLineComponentProps);
- onLink(): void;
- renderContent(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ILineContainerComponentProps {
- globalState?: GlobalState;
- title: string;
- children: any[] | any;
- closed?: boolean;
- }
- export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
- isExpanded: boolean;
- isHighlighted: boolean;
- }> {
- constructor(props: ILineContainerComponentProps);
- switchExpandedState(): void;
- componentDidMount(): void;
- renderHeader(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IValueLineComponentProps {
- label: string;
- value: number;
- color?: string;
- fractionDigits?: number;
- units?: string;
- }
- export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
- constructor(props: IValueLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IBooleanLineComponentProps {
- label: string;
- value: boolean;
- }
- export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
- constructor(props: IBooleanLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export class StatisticsTabComponent extends PaneComponent {
- private _sceneInstrumentation;
- private _engineInstrumentation;
- private _timerIntervalId;
- constructor(props: IPaneComponentProps);
- componentWillUnmount(): void;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- export interface ICheckBoxLineComponentProps {
- label: string;
- target?: any;
- propertyName?: string;
- isSelected?: () => boolean;
- onSelect?: (value: boolean) => void;
- onValueChanged?: () => void;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
- isSelected: boolean;
- }> {
- private static _UniqueIdSeed;
- private _uniqueId;
- private _localChange;
- constructor(props: ICheckBoxLineComponentProps);
- shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
- isSelected: boolean;
- }): boolean;
- onChange(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IRenderGridPropertyGridComponentProps {
- globalState: GlobalState;
- scene: BABYLON.Scene;
- }
- export class RenderGridPropertyGridComponent extends React.Component<IRenderGridPropertyGridComponentProps, {
- isEnabled: boolean;
- }> {
- private _gridMesh;
- constructor(props: IRenderGridPropertyGridComponentProps);
- componentDidMount(): void;
- addOrRemoveGrid(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export class DebugTabComponent extends PaneComponent {
- private _physicsViewersEnabled;
- constructor(props: IPaneComponentProps);
- switchPhysicsViewers(): void;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- interface ISliderLineComponentProps {
- label: string;
- target?: any;
- propertyName?: string;
- minimum: number;
- maximum: number;
- step: number;
- directValue?: number;
- useEuler?: boolean;
- onChange?: (value: number) => void;
- onInput?: (value: number) => void;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- decimalCount?: number;
- }
- export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
- value: number;
- }> {
- private _localChange;
- constructor(props: ISliderLineComponentProps);
- shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
- value: number;
- }): boolean;
- onChange(newValueString: any): void;
- onInput(newValueString: any): void;
- prepareDataToRead(value: number): number;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export const Null_Value: number;
- class ListLineOption {
- label: string;
- value: number;
- }
- interface IOptionsLineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- options: ListLineOption[];
- noDirectUpdate?: boolean;
- onSelect?: (value: number) => void;
- extractValue?: () => number;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- allowNullValue?: boolean;
- }
- export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
- value: number;
- }> {
- private _localChange;
- private remapValueIn;
- private remapValueOut;
- constructor(props: IOptionsLineComponentProps);
- shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
- value: number;
- }): boolean;
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
- updateValue(valueString: string): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- /**
- * Class used to provide lock mechanism
- */
- export class LockObject {
- /**
- * Gets or set if the lock is engaged
- */
- lock: boolean;
- }
- }
- declare module INSPECTOR {
- interface INumericInputComponentProps {
- label: string;
- value: number;
- step?: number;
- onChange: (value: number) => void;
- precision?: number;
- }
- export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
- value: string;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: INumericInputComponentProps);
- shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
- value: string;
- }): boolean;
- updateValue(evt: any): void;
- onBlur(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IColorPickerComponentProps {
- value: BABYLON.Color4 | BABYLON.Color3;
- onColorChanged: (newOne: string) => void;
- disableAlpha?: boolean;
- }
- interface IColorPickerComponentState {
- pickerEnabled: boolean;
- color: {
- r: number;
- g: number;
- b: number;
- a?: number;
- };
- hex: string;
- }
- export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
- private _floatRef;
- private _floatHostRef;
- constructor(props: IColorPickerComponentProps);
- syncPositions(): void;
- shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
- componentDidUpdate(): void;
- componentDidMount(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IColor3LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- isLinear?: boolean;
- }
- export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
- isExpanded: boolean;
- color: BABYLON.Color3;
- }> {
- private _localChange;
- constructor(props: IColor3LineComponentProps);
- shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
- color: BABYLON.Color3;
- }): boolean;
- setPropertyValue(newColor: BABYLON.Color3): void;
- onChange(newValue: string): void;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: BABYLON.Color3): void;
- updateStateR(value: number): void;
- updateStateG(value: number): void;
- updateStateB(value: number): void;
- copyToClipboard(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IVector3LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- step?: number;
- onChange?: (newvalue: BABYLON.Vector3) => void;
- useEuler?: boolean;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- noSlider?: boolean;
- }
- export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
- isExpanded: boolean;
- value: BABYLON.Vector3;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: IVector3LineComponentProps);
- getCurrentValue(): any;
- shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
- isExpanded: boolean;
- value: BABYLON.Vector3;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: BABYLON.Vector3): void;
- updateVector3(): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- updateStateZ(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IQuaternionLineComponentProps {
- label: string;
- target: any;
- useEuler?: boolean;
- propertyName: string;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class QuaternionLineComponent extends React.Component<IQuaternionLineComponentProps, {
- isExpanded: boolean;
- value: BABYLON.Quaternion;
- eulerValue: BABYLON.Vector3;
- }> {
- private _localChange;
- constructor(props: IQuaternionLineComponentProps);
- shouldComponentUpdate(nextProps: IQuaternionLineComponentProps, nextState: {
- isExpanded: boolean;
- value: BABYLON.Quaternion;
- eulerValue: BABYLON.Vector3;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(currentValue: BABYLON.Quaternion, previousValue: BABYLON.Quaternion): void;
- updateQuaternion(): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- updateStateZ(value: number): void;
- updateStateW(value: number): void;
- updateQuaternionFromEuler(): void;
- updateStateEulerX(value: number): void;
- updateStateEulerY(value: number): void;
- updateStateEulerZ(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITextInputLineComponentProps {
- label: string;
- lockObject: LockObject;
- target?: any;
- propertyName?: string;
- value?: string;
- onChange?: (value: string) => void;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
- value: string;
- }> {
- private _localChange;
- constructor(props: ITextInputLineComponentProps);
- componentWillUnmount(): void;
- shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
- value: string;
- }): boolean;
- raiseOnPropertyChanged(newValue: string, previousValue: string): void;
- updateValue(value: string): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICustomPropertyGridComponentProps {
- globalState: GlobalState;
- target: any;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CustomPropertyGridComponent extends React.Component<ICustomPropertyGridComponentProps, {
- mode: number;
- }> {
- constructor(props: ICustomPropertyGridComponentProps);
- renderInspectable(inspectable: BABYLON.IInspectable): JSX.Element | null;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- export interface IButtonLineComponentProps {
- label: string;
- onClick: () => void;
- }
- export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
- constructor(props: IButtonLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFloatLineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- lockObject?: LockObject;
- onChange?: (newValue: number) => void;
- isInteger?: boolean;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- additionalClass?: string;
- step?: string;
- digits?: number;
- useEuler?: boolean;
- min?: number;
- max?: number;
- }
- export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
- value: string;
- }> {
- private _localChange;
- private _store;
- constructor(props: IFloatLineComponentProps);
- componentWillUnmount(): void;
- shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
- value: string;
- }): boolean;
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
- updateValue(valueString: string): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAnchorSvgPointProps {
- control: BABYLON.Vector2;
- anchor: BABYLON.Vector2;
- active: boolean;
- type: string;
- index: string;
- selected: boolean;
- selectControlPoint: (id: string) => void;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- }
- /**
- * Renders the control point to a keyframe.
- */
- export class AnchorSvgPoint extends React.Component<IAnchorSvgPointProps, {
- visiblePoint: BABYLON.Vector2;
- }> {
- constructor(props: IAnchorSvgPointProps);
- componentDidUpdate(prevProps: IAnchorSvgPointProps, prevState: any): void;
- select: () => void;
- setVisiblePoint(): BABYLON.Vector2;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IKeyframeSvgPoint {
- keyframePoint: BABYLON.Vector2;
- rightControlPoint: BABYLON.Vector2 | null;
- leftControlPoint: BABYLON.Vector2 | null;
- id: string;
- selected: boolean;
- isLeftActive: boolean;
- isRightActive: boolean;
- curveId?: ICurveMetaData;
- }
- export interface ICurveMetaData {
- id: number;
- animationName: string;
- property: string;
- }
- interface IKeyframeSvgPointProps {
- keyframePoint: BABYLON.Vector2;
- leftControlPoint: BABYLON.Vector2 | null;
- rightControlPoint: BABYLON.Vector2 | null;
- id: string;
- selected: boolean;
- selectKeyframe: (id: string, multiselect: boolean) => void;
- selectedControlPoint: (type: string, id: string) => void;
- isLeftActive: boolean;
- isRightActive: boolean;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- }
- /**
- * Renders the Keyframe as an SVG Element for the Canvas component.
- * Holds the two control points to generate the proper curve.
- */
- export class KeyframeSvgPoint extends React.Component<IKeyframeSvgPointProps> {
- constructor(props: IKeyframeSvgPointProps);
- select: (e: React.MouseEvent<SVGImageElement>) => void;
- selectedControlPointId: (type: string) => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISvgDraggableAreaProps {
- keyframeSvgPoints: IKeyframeSvgPoint[];
- updatePosition: (updatedKeyframe: IKeyframeSvgPoint, id: string) => void;
- scale: number;
- viewBoxScale: number;
- deselectKeyframes: () => void;
- removeSelectedKeyframes: (points: IKeyframeSvgPoint[]) => void;
- panningY: (panningY: number) => void;
- panningX: (panningX: number) => void;
- setCurrentFrame: (direction: number) => void;
- positionCanvas?: BABYLON.Vector2;
- repositionCanvas?: boolean;
- canvasPositionEnded: () => void;
- resetActionableKeyframe: () => void;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- framesResized: number;
- }
- /**
- * The SvgDraggableArea is a wrapper for SVG Canvas the interaction
- *
- * Here we control the drag and key behavior for the SVG components.
- */
- export class SvgDraggableArea extends React.Component<ISvgDraggableAreaProps, {
- panX: number;
- panY: number;
- }> {
- private _active;
- private _isCurrentPointControl;
- private _currentPointId;
- private _draggableArea;
- private _panStart;
- private _panStop;
- private _playheadDrag;
- private _playheadSelected;
- private _movedX;
- private _movedY;
- private _isControlKeyPress;
- readonly _dragBuffer: number;
- readonly _draggingMultiplier: number;
- constructor(props: ISvgDraggableAreaProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: ISvgDraggableAreaProps): void;
- dragStart: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- drag: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- dragEnd: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- getMousePosition: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => BABYLON.Vector2 | undefined;
- /**
- * Handles the canvas panning direction and sets the X and Y values to move the
- * SVG canvas
- */
- panDirection(): void;
- keyDown(e: KeyboardEvent): void;
- keyUp(e: KeyboardEvent): void;
- focus: (e: React.MouseEvent<SVGSVGElement>) => void;
- isNotControlPointActive(): boolean;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IIconButtonLineComponentProps {
- icon: string;
- onClick: () => void;
- tooltip: string;
- active?: boolean;
- }
- export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
- constructor(props: IIconButtonLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IControlsProps {
- keyframes: BABYLON.IAnimationKey[] | null;
- selected: BABYLON.IAnimationKey | null;
- currentFrame: number;
- onCurrentFrameChange: (frame: number) => void;
- repositionCanvas: (keyframe: BABYLON.IAnimationKey) => void;
- playPause: (direction: number) => void;
- isPlaying: boolean;
- scrollable: React.RefObject<HTMLDivElement>;
- }
- /**
- * The playback controls for the animation editor
- */
- export class Controls extends React.Component<IControlsProps, {
- selected: BABYLON.IAnimationKey;
- playingType: string;
- }> {
- readonly _sizeOfKeyframe: number;
- constructor(props: IControlsProps);
- playBackwards: () => void;
- play: () => void;
- pause: () => void;
- moveToAnimationStart: () => void;
- moveToAnimationEnd: () => void;
- nextKeyframe: () => void;
- previousKeyframe: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITimelineProps {
- keyframes: BABYLON.IAnimationKey[] | null;
- selected: BABYLON.IAnimationKey | null;
- currentFrame: number;
- onCurrentFrameChange: (frame: number) => void;
- onAnimationLimitChange: (limit: number) => void;
- dragKeyframe: (frame: number, index: number) => void;
- playPause: (direction: number) => void;
- isPlaying: boolean;
- animationLimit: number;
- fps: number;
- repositionCanvas: (keyframe: BABYLON.IAnimationKey) => void;
- resizeWindowProportion: number;
- }
- /**
- * The Timeline for the curve editor
- *
- * Has a scrollbar that can be resized and move to left and right.
- * The timeline does not affect the Canvas but only the frame container.
- */
- export class Timeline extends React.Component<ITimelineProps, {
- selected: BABYLON.IAnimationKey;
- activeKeyframe: number | null;
- start: number;
- end: number;
- scrollWidth: number | undefined;
- selectionLength: number[];
- limitValue: number;
- }> {
- private _scrollable;
- private _scrollbarHandle;
- private _scrollContainer;
- private _inputAnimationLimit;
- private _direction;
- private _scrolling;
- private _shiftX;
- private _active;
- readonly _marginScrollbar: number;
- constructor(props: ITimelineProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: ITimelineProps): void;
- componentWillUnmount(): void;
- isEnterKeyUp(event: KeyboardEvent): void;
- onInputBlur(event: React.FocusEvent<HTMLInputElement>): void;
- setControlState(): void;
- /**
- * @param {number} start Frame from which the scrollbar should begin.
- * @param {number} end Last frame for the timeline.
- */
- calculateScrollWidth(start: number, end: number): number | undefined;
- playBackwards(event: React.MouseEvent<HTMLDivElement>): void;
- play(event: React.MouseEvent<HTMLDivElement>): void;
- pause(event: React.MouseEvent<HTMLDivElement>): void;
- setCurrentFrame: (event: React.MouseEvent<HTMLDivElement>) => void;
- /**
- * Handles the change of number of frames available in the timeline.
- */
- handleLimitChange(event: React.ChangeEvent<HTMLInputElement>): void;
- dragStart: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- drag: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- /**
- * Check if the frame is being used as a Keyframe by the animation
- */
- isFrameBeingUsed(frame: number, direction: number): number | false;
- dragEnd: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
- scrollDragStart: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
- scrollDrag: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
- scrollDragEnd: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
- /**
- * Sets the start, end and selection length of the scrollbar. This will control the width and
- * height of the scrollbar as well as the number of frames available
- * @param {number} pageX Controls the X axis of the scrollbar movement.
- */
- moveScrollbar(pageX: number): void;
- /**
- * Controls the resizing of the scrollbar from the right handle
- */
- resizeScrollbarRight(clientX: number): void;
- /**
- * Controls the resizing of the scrollbar from the left handle
- */
- resizeScrollbarLeft(clientX: number): void;
- /**
- * Returns array with the expected length between two numbers
- */
- range(start: number, end: number): number[];
- getKeyframe(frame: number): false | BABYLON.IAnimationKey | undefined;
- getCurrentFrame(frame: number): boolean;
- dragDomFalse: () => boolean;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPlayheadProps {
- message: string;
- open: boolean;
- close: () => void;
- }
- /**
- * Renders the notification for the user
- */
- export class Notification extends React.Component<IPlayheadProps> {
- constructor(props: IPlayheadProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IGraphActionsBarProps {
- addKeyframe: () => void;
- removeKeyframe: () => void;
- frameSelectedKeyframes: () => void;
- handleValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- handleFrameChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- flatTangent: () => void;
- brokeTangents: () => void;
- setLerpToActiveControlPoint: () => void;
- brokenMode: boolean;
- lerpMode: boolean;
- actionableKeyframe: IActionableKeyFrame;
- title: string;
- enabled: boolean;
- setKeyframeValue: (actionableKeyframe: IActionableKeyFrame) => void;
- frameRange: {
- min: number | undefined;
- max: number | undefined;
- };
- }
- /**
- * Has the buttons and actions for the Canvas Graph.
- * Handles input change and actions (flat, broken mode, set linear control points)
- */
- export class GraphActionsBar extends React.Component<IGraphActionsBarProps, {
- frame: string;
- value: string;
- min: number | undefined;
- max: number | undefined;
- }> {
- private _frameInput;
- private _valueInput;
- constructor(props: IGraphActionsBarProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: IGraphActionsBarProps, prevState: any): void;
- selectedKeyframeChanged(keyframe: IActionableKeyFrame): {
- frame: string;
- value: string;
- };
- componentWillUnmount(): void;
- isEnterKeyUp(event: KeyboardEvent): void;
- onBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
- getFrame(): string | number;
- getValue(): string | number;
- handleValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- handleFrameChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAddAnimationProps {
- isOpen: boolean;
- close: () => void;
- entity: BABYLON.IAnimatable;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- setNotificationMessage: (message: string) => void;
- finishedUpdate: () => void;
- addedNewAnimation: (animation: BABYLON.Animation) => void;
- fps: number;
- selectedToUpdate?: BABYLON.Animation | undefined;
- }
- /**
- * Controls the creation of a new animation
- */
- export class AddAnimation extends React.Component<IAddAnimationProps, {
- animationName: string;
- animationTargetProperty: string;
- animationType: number;
- loopMode: number;
- animationTargetPath: string;
- isUpdating: boolean;
- }> {
- constructor(props: IAddAnimationProps);
- setInitialState(editingAnimation?: BABYLON.Animation): {
- animationName: string;
- animationTargetPath: string;
- animationType: number;
- loopMode: number;
- animationTargetProperty: string;
- isUpdating: boolean;
- };
- componentDidUpdate(prevProps: IAddAnimationProps, prevState: any): void;
- updateAnimation: () => void;
- getTypeAsString(type: number): "Float" | "Quaternion" | "Vector3" | "Vector2" | "Size" | "Color3" | "Color4";
- addAnimation: () => void;
- raiseOnPropertyChanged(newValue: BABYLON.Animation[], previousValue: BABYLON.Animation[]): void;
- raiseOnPropertyUpdated(newValue: string | number | undefined, previousValue: string | number, property: string): void;
- handlePathChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- handleNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- handleTypeChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
- handlePropertyChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- handleLoopModeChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAnimationListTreeProps {
- isTargetedAnimation: boolean;
- entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
- selected: BABYLON.Animation | null;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- selectAnimation: (selected: BABYLON.Animation, coordinate?: SelectedCoordinate) => void;
- empty: () => void;
- editAnimation: (selected: BABYLON.Animation) => void;
- deselectAnimation: () => void;
- }
- interface Item {
- index: number;
- name: string;
- property: string;
- selected: boolean;
- open: boolean;
- }
- export enum SelectedCoordinate {
- x = 0,
- y = 1,
- z = 2,
- w = 3,
- r = 0,
- g = 1,
- b = 2,
- a = 3,
- width = 0,
- height = 1
- }
- interface ItemCoordinate {
- id: string;
- color: string;
- coordinate: SelectedCoordinate;
- }
- /**
- * Renders a list of current animations.
- */
- export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
- selectedCoordinate: SelectedCoordinate;
- selectedAnimation: number;
- animationList: Item[] | null;
- animations: BABYLON.Nullable<BABYLON.Animation[]> | BABYLON.Animation;
- }> {
- constructor(props: IAnimationListTreeProps);
- componentDidUpdate(prevProps: IAnimationListTreeProps): void;
- deleteAnimation: () => void;
- raiseOnPropertyChanged(newValue: BABYLON.Animation[], previousValue: BABYLON.Animation[]): void;
- generateList(): Item[] | null;
- toggleProperty(index: number): void;
- setSelectedCoordinate(animation: BABYLON.Animation, coordinate: SelectedCoordinate, index: number): void;
- coordinateItem(i: number, animation: BABYLON.Animation, coordinate: string, color: string, selectedCoordinate: SelectedCoordinate): JSX.Element;
- typeAnimationItem(animation: BABYLON.Animation, i: number, childrenElements: ItemCoordinate[]): JSX.Element;
- setListItem(animation: BABYLON.Animation, i: number): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFileButtonLineComponentProps {
- label: string;
- onClick: (file: File) => void;
- accept: string;
- }
- export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
- private static _IDGenerator;
- private _id;
- private uploadInputRef;
- constructor(props: IFileButtonLineComponentProps);
- onChange(evt: any): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ILoadSnippetProps {
- animations: BABYLON.Animation[];
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- lockObject: LockObject;
- globalState: GlobalState;
- snippetServer: string;
- setSnippetId: (id: string) => void;
- entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
- setNotificationMessage: (message: string) => void;
- animationsLoaded: (numberOfAnimations: number) => void;
- }
- /**
- * Loads animation locally or from the Babylon.js Snippet Server
- */
- export class LoadSnippet extends React.Component<ILoadSnippetProps, {
- snippetId: string;
- }> {
- private _serverAddress;
- constructor(props: ILoadSnippetProps);
- change: (value: string) => void;
- loadFromFile: (file: File) => void;
- loadFromSnippet: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISaveSnippetProps {
- animations: BABYLON.Nullable<BABYLON.Animation[]>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- lockObject: LockObject;
- globalState: GlobalState;
- snippetServer: string;
- snippetId: string;
- }
- export interface Snippet {
- url: string;
- id: string;
- }
- interface SelectedAnimation {
- id: string;
- name: string;
- index: number;
- selected: boolean;
- }
- /**
- * Saves the animation snippet to the Babylon.js site or downloads the animation file locally
- */
- export class SaveSnippet extends React.Component<ISaveSnippetProps, {
- selectedAnimations: SelectedAnimation[];
- }> {
- constructor(props: ISaveSnippetProps);
- handleCheckboxChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
- stringifySelectedAnimations(): string;
- saveToFile: () => void;
- saveToSnippet: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IEditorControlsProps {
- isTargetedAnimation: boolean;
- entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
- selected: BABYLON.Animation | null;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- setNotificationMessage: (message: string) => void;
- selectAnimation: (selected: BABYLON.Animation, axis?: SelectedCoordinate) => void;
- setFps: (fps: number) => void;
- setIsLooping: () => void;
- globalState: GlobalState;
- snippetServer: string;
- deselectAnimation: () => void;
- fps: number;
- }
- /**
- * Renders the Curve Editor controls to create, save, remove, load and edit animations
- */
- export class EditorControls extends React.Component<IEditorControlsProps, {
- isAnimationTabOpen: boolean;
- isEditTabOpen: boolean;
- isLoadTabOpen: boolean;
- isSaveTabOpen: boolean;
- isLoopActive: boolean;
- animationsCount: number;
- framesPerSecond: number;
- snippetId: string;
- selected: BABYLON.Animation | undefined;
- }> {
- constructor(props: IEditorControlsProps);
- componentDidUpdate(prevProps: IEditorControlsProps): void;
- onAnimationAdded: (animation: BABYLON.Animation) => void;
- finishedUpdate: () => void;
- recountAnimations(): number;
- changeLoopBehavior: () => void;
- handleFirstTab: () => void;
- handleSecondTab: () => void;
- handleThirdTab: () => void;
- handleFourthTab: () => void;
- handleTabs(tab: number): void;
- handleChangeFps: (fps: number) => void;
- /**
- * Cleans the list when has been emptied
- */
- onEmptiedList: () => void;
- /**
- * When animations have been reloaded update tabs
- */
- animationsLoaded: (numberOfAnimations: number) => void;
- editAnimation: (selected: BABYLON.Animation) => void;
- setSnippetId: (id: string) => void;
- /**
- * Marks animation tab closed and hides the tab
- */
- onCloseAddAnimation: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISwitchButtonProps {
- current: CurveScale;
- action?: (event: CurveScale) => void;
- }
- /**
- * Displays the current scale
- */
- export class ScaleLabel extends React.Component<ISwitchButtonProps, {
- current: CurveScale;
- }> {
- constructor(props: ISwitchButtonProps);
- renderLabel(scale: CurveScale): "" | "DEG" | "FLT" | "INT" | "RAD";
- onClickHandle: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAnimationCurveEditorComponentProps {
- playOrPause?: () => void;
- scene: BABYLON.Scene;
- entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
- lockObject: LockObject;
- globalState: GlobalState;
- }
- interface ICanvasAxis {
- value: number;
- label: number;
- }
- export enum CurveScale {
- float = 0,
- radians = 1,
- degrees = 2,
- integers = 3,
- default = 4
- }
- export interface IActionableKeyFrame {
- frame?: number | string;
- value?: any;
- }
- interface ICurveData {
- pathData: string;
- pathLength: number;
- domCurve: React.RefObject<SVGPathElement>;
- color: string;
- id: string;
- }
- /**
- * BABYLON.Animation curve Editor Component
- */
- export class AnimationCurveEditorComponent extends React.Component<IAnimationCurveEditorComponentProps, {
- isOpen: boolean;
- selected: BABYLON.Animation | null;
- svgKeyframes: IKeyframeSvgPoint[] | undefined;
- currentFrame: number;
- currentValue: number;
- frameAxisLength: ICanvasAxis[];
- valueAxisLength: ICanvasAxis[];
- isFlatTangentMode: boolean;
- isTangentMode: boolean;
- isBrokenMode: boolean;
- lerpMode: boolean;
- scale: number;
- playheadOffset: number;
- notification: string;
- currentPoint: SVGPoint | undefined;
- playheadPos: number;
- isPlaying: boolean;
- selectedPathData: ICurveData[] | undefined;
- selectedCoordinate: number;
- animationLimit: number;
- fps: number;
- isLooping: boolean;
- panningY: number;
- panningX: number;
- repositionCanvas: boolean;
- actionableKeyframe: IActionableKeyFrame;
- valueScaleType: CurveScale;
- valueScale: number;
- canvasLength: number;
- lastKeyframeCreated: BABYLON.Nullable<string>;
- canvasWidthScale: number;
- valuesPositionResize: number;
- framesInCanvasView: {
- from: number;
- to: number;
- };
- maxFrame: number | undefined;
- minFrame: number | undefined;
- framesResized: number;
- }> {
- readonly _entityName: string;
- private _snippetUrl;
- private _heightScale;
- private _scaleFactor;
- private _currentScale;
- private _pixelFrameUnit;
- private _svgKeyframes;
- private _isPlaying;
- private _graphCanvas;
- private _editor;
- private _editorWindow;
- private _resizeId;
- private _svgCanvas;
- private _isTargetedAnimation;
- private _resizedTimeline;
- private _onBeforeRenderObserver;
- private _mainAnimatable;
- constructor(props: IAnimationCurveEditorComponentProps);
- componentDidMount(): void;
- componentDidUpdate(prevProps: IAnimationCurveEditorComponentProps, prevState: any): void;
- componentWillUnmount(): void;
- onCurrentFrameChangeChangeScene(value: number): void;
- /**
- * Notifications
- * To add notification we set the state and clear to make the notification bar hide.
- */
- clearNotification: () => void;
- /**
- * Zoom and Scroll
- * This section handles zoom and scroll
- * of the graph area.
- */
- zoom: (e: React.WheelEvent<HTMLDivElement>) => void;
- /**
- * Returns Array with labels and values for Frame axis in Canvas
- */
- setFrameAxis(currentLength: number): {
- value: number;
- label: number;
- }[];
- /**
- * Returns Array with labels, lines and values for Value axis in Canvas
- */
- setValueLines(): {
- value: number;
- label: string;
- }[];
- /**
- * Creates a string id from animation name and the keyframe index
- */
- encodeCurveId(animationName: string, keyframeIndex: number): string;
- /**
- * Returns the animation keyframe index and the animation selected coordinate (x, y, z)
- */
- decodeCurveId(id: string): {
- order: number;
- coordinate: number;
- };
- /**
- * Returns the value from a keyframe
- */
- getKeyframeValueFromAnimation(id: string): {
- frame: number;
- value: number;
- } | undefined;
- /**
- * Keyframe Manipulation
- * This section handles events from SvgDraggableArea.
- */
- selectKeyframe: (id: string, multiselect: boolean) => void;
- /**
- * Determine if two control points are collinear (flat tangent)
- */
- hasCollinearPoints: (kf: IKeyframeSvgPoint | undefined) => boolean;
- /**
- * Returns the previous and next keyframe from a selected frame.
- */
- getPreviousAndNextKeyframe: (frame: number) => {
- prev: number | undefined;
- next: number | undefined;
- };
- /**
- * Selects a keyframe in animation based on its Id
- */
- selectKeyframeFromId: (id: string, actionableKeyframe: IActionableKeyFrame) => void;
- /**
- * Resets the current selected keyframe as an updatable pairs by Graph BABYLON.GUI.Control Bar
- */
- resetActionableKeyframe: () => void;
- /**
- * Sets the selected control point.
- */
- selectedControlPoint: (type: string, id: string) => void;
- /**
- * Sets the selected control point.
- */
- deselectKeyframes: () => void;
- /**
- * Update the BABYLON.Animation Key values based on its type
- */
- updateValuePerCoordinate(dataType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion, newValue: number, coordinate?: number): number | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size;
- /**
- * BABYLON.Animation should always have a keyframe at Frame Zero
- */
- forceFrameZeroToExist(keys: BABYLON.IAnimationKey[]): void;
- /**
- * Renders SVG points with dragging of the curve
- */
- renderPoints: (updatedSvgKeyFrame: IKeyframeSvgPoint, id: string) => void;
- /**
- * Updates the left control point on render points
- */
- updateLeftControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: BABYLON.IAnimationKey, dataType: number, coordinate: number): void;
- /**
- * Updates the right control point on render points
- */
- updateRightControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: BABYLON.IAnimationKey, dataType: number, coordinate: number): void;
- /**
- * Get the current BABYLON.GUI.Control Point weight (how far the X value is multiplied)
- */
- getControlPointWeight(updatedSvgKeyFrame: IKeyframeSvgPoint): number;
- /**
- * Handles a Frame selection change
- */
- handleFrameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- /**
- * Handles how a value change on a selected frame
- */
- handleValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
- /**
- * Set the Keyframe from input control in Graph BABYLON.GUI.Control Bar
- */
- setKeyframeValueFromInput: (actionableKeyframe: IActionableKeyFrame) => void;
- /**
- * Sets the SVG Keyframe value
- */
- setKeyframeValue: () => void;
- /**
- * Set the flat tangent to the current selected control points.
- */
- setFlatTangent: () => void;
- /**
- * Sets Broken mode of lines
- */
- setBrokenMode: () => void;
- /**
- * Sets a control point to be a linear interpolation with its Keyframe
- */
- setLerpToActiveControlPoint: () => void;
- /**
- * Adds a new keyframe to the curve on canvas click
- */
- addKeyframeClick: () => void;
- /**
- * Remove keyframe on click
- */
- removeKeyframeClick: () => void;
- /**
- * Remove the selected keyframes
- */
- removeKeyframes: (points: IKeyframeSvgPoint[]) => void;
- /**
- * Adds a keyframe
- */
- addKeyFrame(event: React.MouseEvent<SVGSVGElement>): void;
- /**
- * Curve Rendering Functions
- * This section handles how to render curves.
- */
- setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
- flatTangents(keyframes: BABYLON.IAnimationKey[], dataType: number): BABYLON.IAnimationKey[];
- /**
- * Return a Keyframe zero value depending on Type
- */
- returnZero(dataType: number): 0 | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size;
- /**
- * Return the keyframe value as an array depending on type
- */
- getValueAsArray(valueType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion): number[];
- /**
- * Sets the keyframe value as an array depending on type
- */
- setValueAsType(valueType: number, arrayValue: number[]): number | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size;
- /**
- * Returns the SVG Path Data to render the curve
- */
- getPathData(animation: BABYLON.Animation | null): ICurveData[] | undefined;
- getAnimationData(animation: BABYLON.Animation): {
- loopMode: number | undefined;
- name: string;
- blendingSpeed: number;
- targetPropertyPath: string[];
- targetProperty: string;
- framesPerSecond: number;
- highestFrame: number;
- usesTangents: boolean;
- easingType: string | undefined;
- easingMode: number | undefined;
- valueType: number;
- };
- calculateLinearTangents(keyframes: BABYLON.IAnimationKey[]): BABYLON.IAnimationKey[];
- /**
- * Calculates the proper linear tangents if there is no tangents defined
- */
- curvePathWithoutTangents(keyframes: BABYLON.IAnimationKey[], data: string, middle: number, type: number, coordinate: number, animationName: string): string;
- /**
- * Calculates the curve data and control points for animation
- */
- curvePathWithTangents(keyframes: BABYLON.IAnimationKey[], data: string, middle: number, type: number, coordinate: number, animationName: string): string;
- /**
- * Calculates a curve path from predefined easing function
- */
- curvePath(keyframes: BABYLON.IAnimationKey[], data: string, middle: number, easingFunction: BABYLON.EasingFunction): string;
- /**
- * Sets the proper SVG Keyframe points
- */
- setKeyframePoint(controlPoints: BABYLON.Vector2[], index: number, keyframesCount: number): void;
- interpolateControlPoints(p0: BABYLON.Vector2, p1: BABYLON.Vector2, u: number, p2: BABYLON.Vector2, v: number, p3: BABYLON.Vector2): BABYLON.Vector2[] | undefined;
- deselectAnimation: () => void;
- /**
- * Remove all curves from canvas
- */
- cleanCanvas: () => void;
- /**
- * Selects the animation and renders the curve
- */
- selectAnimation: (animation: BABYLON.Animation, coordinate?: SelectedCoordinate | undefined) => void;
- /**
- * Set the state for the last selected keyframe
- */
- postSelectionEvents: () => void;
- /**
- * Set main animatable to play or pause the animation
- */
- setMainAnimatable(): void;
- isAnimationPlaying(): boolean;
- stopAnimation(): void;
- setIsLooping: () => void;
- setFramesPerSecond: (fps: number) => void;
- /**
- * Check if the animation has easing predefined
- */
- analyzeAnimationForLerp(animation: BABYLON.Animation | null): boolean;
- /**
- * Timeline
- * This section controls the timeline.
- */
- changeCurrentFrame: (frame: number) => void;
- /**
- * Calculate the value of the selected frame in curve
- */
- calculateCurrentPointInCurve: (frame: number) => number | undefined;
- /**
- * Center the position the canvas depending on Keyframe value and frame
- */
- setCanvasPosition: (keyframe: BABYLON.IAnimationKey) => void;
- setCurrentFrame: (frame: number) => void;
- /**
- * Change the timeline animation frame limit
- */
- changeAnimationLimit: (limit: number) => void;
- /**
- * Update the frame in the selected Keyframe
- */
- updateFrameInKeyFrame: (frame: number, index: number) => void;
- playPause: (direction: number) => void;
- /**
- * Set the frame to selected position on canvas
- */
- moveFrameTo(e: React.MouseEvent<SVGRectElement, MouseEvent>): void;
- registerObs(): void;
- isCurrentFrame(frame: number): boolean;
- setPanningY: (panningY: number) => void;
- setPanningX: (panningX: number) => void;
- canvasPositionEnded: () => void;
- setNotificationMessage: (message: string) => void;
- frameSelectedKeyframes: () => void;
- /**
- * Handle the frames quantity and scale on Window resize width
- */
- onWindowResizeWidth: () => void;
- onWindowEndResize: (framesResized: number) => void;
- onTimelineResize: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPopupComponentProps {
- id: string;
- title: string;
- size: {
- width: number;
- height: number;
- };
- onOpen: (window: Window) => void;
- onClose: (window: Window) => void;
- }
- export class PopupComponent extends React.Component<IPopupComponentProps, {
- isComponentMounted: boolean;
- blockedByBrowser: boolean;
- }> {
- private _container;
- private _window;
- private _curveEditorHost;
- constructor(props: IPopupComponentProps);
- componentDidMount(): void;
- openPopup(): void;
- componentWillUnmount(): void;
- getWindow(): Window | null;
- render(): React.ReactPortal | null;
- }
- }
- declare module INSPECTOR {
- interface IAnimationGridComponentProps {
- globalState: GlobalState;
- animatable: BABYLON.IAnimatable;
- scene: BABYLON.Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class AnimationGridComponent extends React.Component<IAnimationGridComponentProps, {
- currentFrame: number;
- }> {
- private _animations;
- private _ranges;
- private _mainAnimatable;
- private _onBeforeRenderObserver;
- private _isPlaying;
- private timelineRef;
- private _isCurveEditorOpen;
- private _animationControl;
- constructor(props: IAnimationGridComponentProps);
- playOrPause(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- onCurrentFrameChange(value: number): void;
- onChangeFromOrTo(): void;
- onOpenAnimationCurveEditor(): void;
- onCloseAnimationCurveEditor(window: Window | null): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.Material;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonMaterialPropertyGridComponent extends React.Component<ICommonMaterialPropertyGridComponentProps> {
- constructor(props: ICommonMaterialPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.Material;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class MaterialPropertyGridComponent extends React.Component<IMaterialPropertyGridComponentProps> {
- constructor(props: IMaterialPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface ITextureLinkLineComponentProps {
- label: string;
- texture: BABYLON.Nullable<BABYLON.BaseTexture>;
- material?: BABYLON.Material;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onDebugSelectionChangeObservable?: BABYLON.Observable<TextureLinkLineComponent>;
- propertyName?: string;
- onTextureCreated?: (texture: BABYLON.BaseTexture) => void;
- customDebugAction?: (state: boolean) => void;
- onTextureRemoved?: () => void;
- }
- export class TextureLinkLineComponent extends React.Component<ITextureLinkLineComponentProps, {
- isDebugSelected: boolean;
- }> {
- private _onDebugSelectionChangeObserver;
- constructor(props: ITextureLinkLineComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- debugTexture(): void;
- onLink(): void;
- updateTexture(file: File): void;
- removeTexture(): void;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- interface IStandardMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.StandardMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class StandardMaterialPropertyGridComponent extends React.Component<IStandardMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IStandardMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- /** @hidden */
- export var lodPixelShader: {
- name: string;
- shader: string;
- };
- }
- declare module INSPECTOR {
- /** @hidden */
- export var lodCubePixelShader: {
- name: string;
- shader: string;
- };
- }
- declare module INSPECTOR {
- export interface TextureChannelsToDisplay {
- R: boolean;
- G: boolean;
- B: boolean;
- A: boolean;
- }
- export class TextureHelper {
- private static _ProcessAsync;
- static GetTextureDataAsync(texture: BABYLON.BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise<Uint8Array>;
- }
- }
- declare module INSPECTOR {
- interface ITextureLineComponentProps {
- texture: BABYLON.BaseTexture;
- width: number;
- height: number;
- globalState?: GlobalState;
- hideChannelSelect?: boolean;
- }
- export class TextureLineComponent extends React.Component<ITextureLineComponentProps, {
- channels: TextureChannelsToDisplay;
- face: number;
- }> {
- private canvasRef;
- private static TextureChannelStates;
- constructor(props: ITextureLineComponentProps);
- shouldComponentUpdate(nextProps: ITextureLineComponentProps, nextState: {
- channels: TextureChannelsToDisplay;
- face: number;
- }): boolean;
- componentDidMount(): void;
- componentDidUpdate(): void;
- updatePreview(): Promise<void>;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface ITool extends IToolData {
- instance: IToolType;
- }
- interface IToolBarProps {
- tools: ITool[];
- addTool(url: string): void;
- changeTool(toolIndex: number): void;
- activeToolIndex: number;
- metadata: IMetadata;
- setMetadata(data: any): void;
- pickerOpen: boolean;
- setPickerOpen(open: boolean): void;
- pickerRef: React.RefObject<HTMLDivElement>;
- hasAlpha: boolean;
- }
- interface IToolBarState {
- toolURL: string;
- addOpen: boolean;
- }
- export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
- constructor(props: IToolBarProps);
- computeRGBAColor(): string;
- shouldComponentUpdate(nextProps: IToolBarProps): boolean;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IChannel {
- visible: boolean;
- editable: boolean;
- name: string;
- id: 'R' | 'G' | 'B' | 'A';
- icon: any;
- }
- interface IChannelsBarProps {
- channels: IChannel[];
- setChannels(channelState: IChannel[]): void;
- }
- export class ChannelsBar extends React.PureComponent<IChannelsBarProps> {
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export const canvasShader: {
- path: {
- vertexSource: string;
- fragmentSource: string;
- };
- options: {
- attributes: string[];
- uniforms: string[];
- };
- };
- }
- declare module INSPECTOR {
- export interface IPixelData {
- x?: number;
- y?: number;
- r?: number;
- g?: number;
- b?: number;
- a?: number;
- }
- export class TextureCanvasManager {
- private _engine;
- private _scene;
- private _camera;
- private _cameraPos;
- private _scale;
- private _isPanning;
- private _mouseX;
- private _mouseY;
- private _UICanvas;
- private _size;
- /** The canvas we paint onto using the canvas API */
- private _2DCanvas;
- /** The canvas we apply post processes to */
- private _3DCanvas;
- /** The canvas which handles channel filtering */
- private _channelsTexture;
- private _3DEngine;
- private _3DPlane;
- private _3DCanvasTexture;
- private _3DScene;
- private _channels;
- private _face;
- private _mipLevel;
- /** The texture from the original engine that we invoked the editor on */
- private _originalTexture;
- /** This is a hidden texture which is only responsible for holding the actual texture memory in the original engine */
- private _target;
- /** The internal texture representation of the original texture */
- private _originalInternalTexture;
- /** Keeps track of whether we have modified the texture */
- private _didEdit;
- private _plane;
- private _planeMaterial;
- /** Tracks which keys are currently pressed */
- private _keyMap;
- private readonly ZOOM_MOUSE_SPEED;
- private readonly ZOOM_KEYBOARD_SPEED;
- private readonly ZOOM_IN_KEY;
- private readonly ZOOM_OUT_KEY;
- private readonly PAN_SPEED;
- private readonly PAN_MOUSE_BUTTON;
- private readonly MIN_SCALE;
- private readonly GRID_SCALE;
- private readonly MAX_SCALE;
- private readonly SELECT_ALL_KEY;
- private readonly SAVE_KEY;
- private readonly RESET_KEY;
- private readonly DESELECT_KEY;
- /** The number of milliseconds between texture updates */
- private readonly PUSH_FREQUENCY;
- private _tool;
- private _setPixelData;
- private _setMipLevel;
- private _window;
- private _metadata;
- private _editing3D;
- private _onUpdate;
- private _setMetadata;
- private _imageData;
- private _canPush;
- private _shouldPush;
- private _paintCanvas;
- constructor(texture: BABYLON.BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void, metadata: IMetadata, onUpdate: () => void, setMetadata: (metadata: any) => void, setMipLevel: (level: number) => void);
- updateTexture(): Promise<void>;
- private pushTexture;
- startPainting(): Promise<CanvasRenderingContext2D>;
- updatePainting(): void;
- stopPainting(): void;
- private updateDisplay;
- set channels(channels: IChannel[]);
- paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
- grabOriginalTexture(): Promise<Uint8Array>;
- getMouseCoordinates(pointerInfo: BABYLON.PointerInfo): BABYLON.Vector2;
- get scene(): BABYLON.Scene;
- get canvas2D(): HTMLCanvasElement;
- get size(): BABYLON.ISize;
- set tool(tool: BABYLON.Nullable<ITool>);
- get tool(): BABYLON.Nullable<ITool>;
- set face(face: number);
- set mipLevel(mipLevel: number);
- /** Returns the 3D scene used for postprocesses */
- get scene3D(): BABYLON.Scene;
- set metadata(metadata: IMetadata);
- private makePlane;
- reset(): void;
- resize(newSize: BABYLON.ISize): Promise<void>;
- setSize(size: BABYLON.ISize): void;
- upload(file: File): void;
- saveTexture(): void;
- dispose(): void;
- }
- }
- declare module INSPECTOR {
- interface IPropertiesBarProps {
- texture: BABYLON.BaseTexture;
- size: BABYLON.ISize;
- saveTexture(): void;
- pixelData: IPixelData;
- face: number;
- setFace(face: number): void;
- resetTexture(): void;
- resizeTexture(width: number, height: number): void;
- uploadTexture(file: File): void;
- mipLevel: number;
- setMipLevel: (mipLevel: number) => void;
- }
- interface IPropertiesBarState {
- width: number;
- height: number;
- }
- export class PropertiesBar extends React.PureComponent<IPropertiesBarProps, IPropertiesBarState> {
- private _resetButton;
- private _uploadButton;
- private _saveButton;
- private _babylonLogo;
- private _resizeButton;
- private _mipUp;
- private _mipDown;
- private _faces;
- constructor(props: IPropertiesBarProps);
- private pixelData;
- private getNewDimension;
- componentWillUpdate(nextProps: IPropertiesBarProps): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IBottomBarProps {
- texture: BABYLON.BaseTexture;
- mipLevel: number;
- }
- export class BottomBar extends React.PureComponent<IBottomBarProps> {
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITextureCanvasComponentProps {
- canvasUI: React.RefObject<HTMLCanvasElement>;
- canvas2D: React.RefObject<HTMLCanvasElement>;
- canvas3D: React.RefObject<HTMLCanvasElement>;
- texture: BABYLON.BaseTexture;
- }
- export class TextureCanvasComponent extends React.Component<ITextureCanvasComponentProps> {
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export const Paintbrush: IToolData;
- }
- declare module INSPECTOR {
- export const Eyedropper: IToolData;
- }
- declare module INSPECTOR {
- export const Floodfill: IToolData;
- }
- declare module INSPECTOR {
- export const RectangleSelect: IToolData;
- }
- declare module INSPECTOR {
- const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
- export default _default;
- }
- declare module INSPECTOR {
- interface IToolSettingsProps {
- tool: ITool | undefined;
- }
- export class ToolSettings extends React.Component<IToolSettingsProps> {
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITextureEditorComponentProps {
- texture: BABYLON.BaseTexture;
- url: string;
- window: React.RefObject<PopupComponent>;
- onUpdate: () => void;
- }
- interface ITextureEditorComponentState {
- tools: ITool[];
- activeToolIndex: number;
- metadata: IMetadata;
- channels: IChannel[];
- pixelData: IPixelData;
- face: number;
- mipLevel: number;
- pickerOpen: boolean;
- }
- export interface IToolParameters {
- /** The visible scene in the editor. Useful for adding pointer and keyboard events. */
- scene: BABYLON.Scene;
- /** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
- canvas2D: HTMLCanvasElement;
- /** The 3D scene which tools can add post processes to. */
- scene3D: BABYLON.Scene;
- /** The size of the texture. */
- size: BABYLON.ISize;
- /** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
- updateTexture: () => void;
- /** The metadata object which is shared between all tools. Feel free to store any information here. Do not set this directly: instead call setMetadata. */
- metadata: IMetadata;
- /** Call this when you want to mutate the metadata. */
- setMetadata: (data: any) => void;
- /** Returns the texture coordinates under the cursor */
- getMouseCoordinates: (pointerInfo: BABYLON.PointerInfo) => BABYLON.Vector2;
- /** Provides access to the BABYLON namespace */
- BABYLON: any;
- /** Provides a canvas that you can use the canvas API to paint on. */
- startPainting: () => Promise<CanvasRenderingContext2D>;
- /** After you have painted on your canvas, call this method to push the updates back to the texture. */
- updatePainting: () => void;
- /** Call this when you are finished painting. */
- stopPainting: () => void;
- }
- export interface IToolGUIProps {
- instance: IToolType;
- }
- /** An interface representing the definition of a tool */
- export interface IToolData {
- /** Name to display on the toolbar */
- name: string;
- /** A class definition for the tool including setup and cleanup methods */
- type: IToolConstructable;
- /** An SVG icon encoded in Base64 */
- icon: string;
- /** Whether the tool uses postprocesses */
- is3D?: boolean;
- cursor?: string;
- settingsComponent?: React.ComponentType<IToolGUIProps>;
- }
- export interface IToolType {
- /** Called when the tool is selected. */
- setup: () => void;
- /** Called when the tool is deselected. */
- cleanup: () => void;
- /** Optional. Called when the user resets the texture or uploads a new texture. Tools may want to reset their state when this happens. */
- onReset?: () => void;
- }
- /** For constructable types, TS requires that you define a seperate interface which constructs your actual interface */
- interface IToolConstructable {
- new (getParameters: () => IToolParameters): IToolType;
- }
- export interface IMetadata {
- color: string;
- alpha: number;
- select: {
- x1: number;
- y1: number;
- x2: number;
- y2: number;
- };
- [key: string]: any;
- }
- global {
- var _TOOL_DATA_: IToolData;
- }
- export class TextureEditorComponent extends React.Component<ITextureEditorComponentProps, ITextureEditorComponentState> {
- private _textureCanvasManager;
- private _UICanvas;
- private _2DCanvas;
- private _3DCanvas;
- private _pickerRef;
- private _timer;
- private static PREVIEW_UPDATE_DELAY_MS;
- constructor(props: ITextureEditorComponentProps);
- componentDidMount(): void;
- componentDidUpdate(): void;
- componentWillUnmount(): void;
- textureDidUpdate(): void;
- loadToolFromURL(url: string): void;
- addTools(tools: IToolData[]): void;
- getToolParameters(): IToolParameters;
- changeTool(index: number): void;
- setMetadata(newMetadata: any): void;
- setPickerOpen(open: boolean): void;
- onPointerDown(evt: React.PointerEvent): void;
- saveTexture(): void;
- resetTexture(): void;
- resizeTexture(width: number, height: number): void;
- uploadTexture(file: File): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITexturePropertyGridComponentProps {
- texture: BABYLON.BaseTexture;
- lockObject: LockObject;
- globalState: GlobalState;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- interface ITexturePropertyGridComponentState {
- isTextureEditorOpen: boolean;
- textureEditing: BABYLON.Nullable<BABYLON.BaseTexture>;
- }
- export class TexturePropertyGridComponent extends React.Component<ITexturePropertyGridComponentProps, ITexturePropertyGridComponentState> {
- private _adtInstrumentation;
- private popoutWindowRef;
- private textureLineRef;
- private _textureInspectorSize;
- constructor(props: ITexturePropertyGridComponentProps);
- componentWillUnmount(): void;
- updateTexture(file: File): void;
- openTextureEditor(): void;
- onOpenTextureEditor(window: Window): void;
- onCloseTextureEditor(callback?: {
- (): void;
- }): void;
- forceRefresh(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IVector2LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- step?: number;
- onChange?: (newvalue: BABYLON.Vector2) => void;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
- isExpanded: boolean;
- value: BABYLON.Vector2;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: IVector2LineComponentProps);
- shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
- isExpanded: boolean;
- value: BABYLON.Vector2;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: BABYLON.Vector2): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPBRMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.PBRMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class PBRMaterialPropertyGridComponent extends React.Component<IPBRMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IPBRMaterialPropertyGridComponentProps);
- switchAmbientMode(state: boolean): void;
- switchMetallicMode(state: boolean): void;
- switchRoughnessMode(state: boolean): void;
- renderTextures(onDebugSelectionChangeObservable: BABYLON.Observable<TextureLinkLineComponent>): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IRadioButtonLineComponentProps {
- onSelectionChangedObservable: BABYLON.Observable<RadioButtonLineComponent>;
- label: string;
- isSelected: () => boolean;
- onSelect: () => void;
- }
- export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
- isSelected: boolean;
- }> {
- private _onSelectionChangedObserver;
- constructor(props: IRadioButtonLineComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- onChange(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFogPropertyGridComponentProps {
- globalState: GlobalState;
- scene: BABYLON.Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class FogPropertyGridComponent extends React.Component<IFogPropertyGridComponentProps, {
- mode: number;
- }> {
- constructor(props: IFogPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IScenePropertyGridComponentProps {
- globalState: GlobalState;
- scene: BABYLON.Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- }
- export class ScenePropertyGridComponent extends React.Component<IScenePropertyGridComponentProps> {
- private _storedEnvironmentTexture;
- private _renderingModeGroupObservable;
- constructor(props: IScenePropertyGridComponentProps);
- setRenderingModes(point: boolean, wireframe: boolean): void;
- switchIBL(): void;
- updateEnvironmentTexture(file: File): void;
- updateGravity(newValue: BABYLON.Vector3): void;
- updateTimeStep(newValue: number): void;
- normalizeScene(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: BABYLON.Light;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonLightPropertyGridComponent extends React.Component<ICommonLightPropertyGridComponentProps> {
- constructor(props: ICommonLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IHemisphericLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: BABYLON.HemisphericLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class HemisphericLightPropertyGridComponent extends React.Component<IHemisphericLightPropertyGridComponentProps> {
- constructor(props: IHemisphericLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonShadowLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: BABYLON.IShadowLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonShadowLightPropertyGridComponent extends React.Component<ICommonShadowLightPropertyGridComponentProps> {
- private _internals;
- constructor(props: ICommonShadowLightPropertyGridComponentProps);
- createShadowGenerator(): void;
- disposeShadowGenerator(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPointLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: BABYLON.PointLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class PointLightPropertyGridComponent extends React.Component<IPointLightPropertyGridComponentProps> {
- constructor(props: IPointLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IHexLineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- lockObject?: LockObject;
- onChange?: (newValue: number) => void;
- isInteger?: boolean;
- replaySourceReplacement?: string;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- additionalClass?: string;
- step?: string;
- digits?: number;
- useEuler?: boolean;
- min?: number;
- }
- export class HexLineComponent extends React.Component<IHexLineComponentProps, {
- value: string;
- }> {
- private _localChange;
- private _store;
- private _propertyChange;
- constructor(props: IHexLineComponentProps);
- componentWillUnmount(): void;
- shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
- value: string;
- }): boolean;
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
- convertToHexString(valueString: string): string;
- updateValue(valueString: string, raisePropertyChanged: boolean): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: BABYLON.Camera;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonCameraPropertyGridComponent extends React.Component<ICommonCameraPropertyGridComponentProps, {
- mode: number;
- }> {
- constructor(props: ICommonCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFreeCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: BABYLON.FreeCamera;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class FreeCameraPropertyGridComponent extends React.Component<IFreeCameraPropertyGridComponentProps> {
- constructor(props: IFreeCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IArcRotateCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: BABYLON.ArcRotateCamera;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ArcRotateCameraPropertyGridComponent extends React.Component<IArcRotateCameraPropertyGridComponentProps> {
- constructor(props: IArcRotateCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IIndentedTextLineComponentProps {
- value?: string;
- color?: string;
- underline?: boolean;
- onLink?: () => void;
- url?: string;
- additionalClass?: string;
- }
- export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
- constructor(props: IIndentedTextLineComponentProps);
- onLink(): void;
- renderContent(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonPropertyGridComponentProps {
- globalState: GlobalState;
- host: {
- metadata: any;
- };
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonPropertyGridComponent extends React.Component<ICommonPropertyGridComponentProps> {
- constructor(props: ICommonPropertyGridComponentProps);
- renderLevel(jsonObject: any): JSX.Element[];
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- interface IVariantsPropertyGridComponentProps {
- globalState: GlobalState;
- host: any;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class VariantsPropertyGridComponent extends React.Component<IVariantsPropertyGridComponentProps> {
- constructor(props: IVariantsPropertyGridComponentProps);
- private _getVariantsExtension;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- interface IMeshPropertyGridComponentProps {
- globalState: GlobalState;
- mesh: BABYLON.Mesh;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class MeshPropertyGridComponent extends React.Component<IMeshPropertyGridComponentProps, {
- displayNormals: boolean;
- displayVertexColors: boolean;
- displayBoneWeights: boolean;
- displayBoneIndex: number;
- displaySkeletonMap: boolean;
- }> {
- constructor(props: IMeshPropertyGridComponentProps);
- renderWireframeOver(): void;
- renderNormalVectors(): void;
- displayNormals(): void;
- displayVertexColors(): void;
- displayBoneWeights(): void;
- displaySkeletonMap(): void;
- onBoneDisplayIndexChange(value: number): void;
- onMaterialLink(): void;
- onSourceMeshLink(): void;
- onSkeletonLink(): void;
- convertPhysicsTypeToString(): string;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITransformNodePropertyGridComponentProps {
- globalState: GlobalState;
- transformNode: BABYLON.TransformNode;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class TransformNodePropertyGridComponent extends React.Component<ITransformNodePropertyGridComponentProps> {
- constructor(props: ITransformNodePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IBackgroundMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.BackgroundMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class BackgroundMaterialPropertyGridComponent extends React.Component<IBackgroundMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IBackgroundMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonControlPropertyGridComponentProps {
- globalState: GlobalState;
- control: BABYLON.GUI.Control;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
- constructor(props: ICommonControlPropertyGridComponentProps);
- renderGridInformation(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IControlPropertyGridComponentProps {
- globalState: GlobalState;
- control: BABYLON.GUI.Control;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
- constructor(props: IControlPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITextBlockPropertyGridComponentProps {
- globalState: GlobalState;
- textBlock: BABYLON.GUI.TextBlock;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
- constructor(props: ITextBlockPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IInputTextPropertyGridComponentProps {
- globalState: GlobalState;
- inputText: BABYLON.GUI.InputText;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
- constructor(props: IInputTextPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IColorPickerPropertyGridComponentProps {
- globalState: GlobalState;
- colorPicker: BABYLON.GUI.ColorPicker;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
- constructor(props: IColorPickerPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAnimationGroupGridComponentProps {
- globalState: GlobalState;
- animationGroup: BABYLON.AnimationGroup;
- scene: BABYLON.Scene;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class AnimationGroupGridComponent extends React.Component<IAnimationGroupGridComponentProps, {
- playButtonText: string;
- currentFrame: number;
- }> {
- private _onAnimationGroupPlayObserver;
- private _onAnimationGroupPauseObserver;
- private _onBeforeRenderObserver;
- private timelineRef;
- constructor(props: IAnimationGroupGridComponentProps);
- disconnect(animationGroup: BABYLON.AnimationGroup): void;
- connect(animationGroup: BABYLON.AnimationGroup): void;
- updateCurrentFrame(animationGroup: BABYLON.AnimationGroup): void;
- shouldComponentUpdate(nextProps: IAnimationGroupGridComponentProps): boolean;
- componentWillUnmount(): void;
- playOrPause(): void;
- onCurrentFrameChange(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IImagePropertyGridComponentProps {
- globalState: GlobalState;
- image: BABYLON.GUI.Image;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
- constructor(props: IImagePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISliderPropertyGridComponentProps {
- globalState: GlobalState;
- slider: BABYLON.GUI.Slider;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
- constructor(props: ISliderPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IImageBasedSliderPropertyGridComponentProps {
- globalState: GlobalState;
- imageBasedSlider: BABYLON.GUI.ImageBasedSlider;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
- constructor(props: IImageBasedSliderPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IRectanglePropertyGridComponentProps {
- globalState: GlobalState;
- rectangle: BABYLON.GUI.Rectangle;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
- constructor(props: IRectanglePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IEllipsePropertyGridComponentProps {
- globalState: GlobalState;
- ellipse: BABYLON.GUI.Ellipse;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
- constructor(props: IEllipsePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICheckboxPropertyGridComponentProps {
- globalState: GlobalState;
- checkbox: BABYLON.GUI.Checkbox;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
- constructor(props: ICheckboxPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IRadioButtonPropertyGridComponentProps {
- globalState: GlobalState;
- radioButton: BABYLON.GUI.RadioButton;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
- constructor(props: IRadioButtonPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ILinePropertyGridComponentProps {
- globalState: GlobalState;
- line: BABYLON.GUI.Line;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
- constructor(props: ILinePropertyGridComponentProps);
- onDashChange(value: string): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IScrollViewerPropertyGridComponentProps {
- globalState: GlobalState;
- scrollViewer: BABYLON.GUI.ScrollViewer;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
- constructor(props: IScrollViewerPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IGridPropertyGridComponentProps {
- globalState: GlobalState;
- grid: BABYLON.GUI.Grid;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
- constructor(props: IGridPropertyGridComponentProps);
- renderRows(): JSX.Element[];
- renderColumns(): JSX.Element[];
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPBRMetallicRoughnessMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.PBRMetallicRoughnessMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class PBRMetallicRoughnessMaterialPropertyGridComponent extends React.Component<IPBRMetallicRoughnessMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IPBRMetallicRoughnessMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPBRSpecularGlossinessMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.PBRSpecularGlossinessMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class PBRSpecularGlossinessMaterialPropertyGridComponent extends React.Component<IPBRSpecularGlossinessMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: IPBRSpecularGlossinessMaterialPropertyGridComponentProps);
- renderTextures(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IStackPanelPropertyGridComponentProps {
- globalState: GlobalState;
- stackPanel: BABYLON.GUI.StackPanel;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
- constructor(props: IStackPanelPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonPostProcessPropertyGridComponentProps {
- globalState: GlobalState;
- postProcess: BABYLON.PostProcess;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonPostProcessPropertyGridComponent extends React.Component<ICommonPostProcessPropertyGridComponentProps> {
- constructor(props: ICommonPostProcessPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPostProcessPropertyGridComponentProps {
- globalState: GlobalState;
- postProcess: BABYLON.PostProcess;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class PostProcessPropertyGridComponent extends React.Component<IPostProcessPropertyGridComponentProps> {
- constructor(props: IPostProcessPropertyGridComponentProps);
- edit(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICommonRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: BABYLON.PostProcessRenderPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CommonRenderingPipelinePropertyGridComponent extends React.Component<ICommonRenderingPipelinePropertyGridComponentProps> {
- constructor(props: ICommonRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: BABYLON.PostProcessRenderPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class RenderingPipelinePropertyGridComponent extends React.Component<IRenderingPipelinePropertyGridComponentProps> {
- constructor(props: IRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IDefaultRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: BABYLON.DefaultRenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class DefaultRenderingPipelinePropertyGridComponent extends React.Component<IDefaultRenderingPipelinePropertyGridComponentProps> {
- constructor(props: IDefaultRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISSAORenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: BABYLON.SSAORenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SSAORenderingPipelinePropertyGridComponent extends React.Component<ISSAORenderingPipelinePropertyGridComponentProps> {
- constructor(props: ISSAORenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISSAO2RenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: BABYLON.SSAO2RenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SSAO2RenderingPipelinePropertyGridComponent extends React.Component<ISSAO2RenderingPipelinePropertyGridComponentProps> {
- constructor(props: ISSAO2RenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISkeletonPropertyGridComponentProps {
- globalState: GlobalState;
- skeleton: BABYLON.Skeleton;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SkeletonPropertyGridComponent extends React.Component<ISkeletonPropertyGridComponentProps> {
- private _skeletonViewersEnabled;
- private _skeletonViewerDisplayOptions;
- private _skeletonViewers;
- constructor(props: ISkeletonPropertyGridComponentProps);
- switchSkeletonViewers(): void;
- checkSkeletonViewerState(props: ISkeletonPropertyGridComponentProps): void;
- changeDisplayMode(): void;
- changeDisplayOptions(option: string, value: number): void;
- shouldComponentUpdate(nextProps: ISkeletonPropertyGridComponentProps): boolean;
- onOverrideMeshLink(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IBonePropertyGridComponentProps {
- globalState: GlobalState;
- bone: BABYLON.Bone;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class BonePropertyGridComponent extends React.Component<IBonePropertyGridComponentProps> {
- constructor(props: IBonePropertyGridComponentProps);
- onTransformNodeLink(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IDirectionalLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: BABYLON.DirectionalLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class DirectionalLightPropertyGridComponent extends React.Component<IDirectionalLightPropertyGridComponentProps> {
- constructor(props: IDirectionalLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISpotLightPropertyGridComponentProps {
- globalState: GlobalState;
- light: BABYLON.SpotLight;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SpotLightPropertyGridComponent extends React.Component<ISpotLightPropertyGridComponentProps> {
- constructor(props: ISpotLightPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ILenstRenderingPipelinePropertyGridComponentProps {
- globalState: GlobalState;
- renderPipeline: BABYLON.LensRenderingPipeline;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class LensRenderingPipelinePropertyGridComponent extends React.Component<ILenstRenderingPipelinePropertyGridComponentProps> {
- constructor(props: ILenstRenderingPipelinePropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IVector4LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- step?: number;
- onChange?: (newvalue: BABYLON.Vector4) => void;
- useEuler?: boolean;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
- isExpanded: boolean;
- value: BABYLON.Vector4;
- }> {
- static defaultProps: {
- step: number;
- };
- private _localChange;
- constructor(props: IVector4LineComponentProps);
- getCurrentValue(): any;
- shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
- isExpanded: boolean;
- value: BABYLON.Vector4;
- }): boolean;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: BABYLON.Vector4): void;
- updateVector4(): void;
- updateStateX(value: number): void;
- updateStateY(value: number): void;
- updateStateZ(value: number): void;
- updateStateW(value: number): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IColor4LineComponentProps {
- label: string;
- target: any;
- propertyName: string;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- onChange?: () => void;
- isLinear?: boolean;
- }
- export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
- isExpanded: boolean;
- color: BABYLON.Color4;
- }> {
- private _localChange;
- constructor(props: IColor4LineComponentProps);
- shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
- color: BABYLON.Color4;
- }): boolean;
- setPropertyValue(newColor: BABYLON.Color4): void;
- onChange(newValue: string): void;
- switchExpandState(): void;
- raiseOnPropertyChanged(previousValue: BABYLON.Color4): void;
- updateStateR(value: number): void;
- updateStateG(value: number): void;
- updateStateB(value: number): void;
- updateStateA(value: number): void;
- copyToClipboard(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IGradientStepComponentProps {
- globalState: GlobalState;
- step: BABYLON.GradientBlockColorStep;
- lineIndex: number;
- onDelete: () => void;
- onUpdateStep: () => void;
- onCheckForReOrder: () => void;
- onCopy?: () => void;
- }
- export class GradientStepComponent extends React.Component<IGradientStepComponentProps, {
- gradient: number;
- }> {
- constructor(props: IGradientStepComponentProps);
- updateColor(color: string): void;
- updateStep(gradient: number): void;
- onPointerUp(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export interface IPropertyComponentProps {
- globalState: GlobalState;
- block: BABYLON.NodeMaterialBlock;
- }
- }
- declare module INSPECTOR {
- export class GradientPropertyTabComponent extends React.Component<IPropertyComponentProps> {
- private _gradientBlock;
- constructor(props: IPropertyComponentProps);
- forceRebuild(): void;
- deleteStep(step: BABYLON.GradientBlockColorStep): void;
- copyStep(step: BABYLON.GradientBlockColorStep): void;
- addNewStep(): void;
- checkForReOrder(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface INodeMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.NodeMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class NodeMaterialPropertyGridComponent extends React.Component<INodeMaterialPropertyGridComponentProps> {
- private _onDebugSelectionChangeObservable;
- constructor(props: INodeMaterialPropertyGridComponentProps);
- edit(): void;
- renderTextures(): JSX.Element | null;
- renderInputBlock(block: BABYLON.InputBlock): JSX.Element | null;
- renderInputValues(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IMultiMaterialPropertyGridComponentProps {
- globalState: GlobalState;
- material: BABYLON.MultiMaterial;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class MultiMaterialPropertyGridComponent extends React.Component<IMultiMaterialPropertyGridComponentProps> {
- constructor(props: IMultiMaterialPropertyGridComponentProps);
- onMaterialLink(mat: BABYLON.Material): void;
- renderChildMaterial(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IBoxEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.BoxParticleEmitter;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class BoxEmitterGridComponent extends React.Component<IBoxEmitterGridComponentProps> {
- constructor(props: IBoxEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IConeEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.ConeParticleEmitter;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ConeEmitterGridComponent extends React.Component<IConeEmitterGridComponentProps> {
- constructor(props: IConeEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICylinderEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.CylinderParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class CylinderEmitterGridComponent extends React.Component<ICylinderEmitterGridComponentProps> {
- constructor(props: ICylinderEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IHemisphericEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.HemisphericParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class HemisphericEmitterGridComponent extends React.Component<IHemisphericEmitterGridComponentProps> {
- constructor(props: IHemisphericEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPointEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.PointParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class PointEmitterGridComponent extends React.Component<IPointEmitterGridComponentProps> {
- constructor(props: IPointEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISphereEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.SphereParticleEmitter;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SphereEmitterGridComponent extends React.Component<ISphereEmitterGridComponentProps> {
- constructor(props: ISphereEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IMeshPickerComponentProps {
- globalState: GlobalState;
- target: any;
- property: string;
- scene: BABYLON.Scene;
- label: string;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class MeshPickerComponent extends React.Component<IMeshPickerComponentProps> {
- constructor(props: IMeshPickerComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IMeshEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: BABYLON.MeshParticleEmitter;
- scene: BABYLON.Scene;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class MeshEmitterGridComponent extends React.Component<IMeshEmitterGridComponentProps> {
- constructor(props: IMeshEmitterGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFactorGradientStepGridComponent {
- globalState: GlobalState;
- gradient: BABYLON.FactorGradient;
- lockObject: LockObject;
- lineIndex: number;
- onDelete: () => void;
- onUpdateGradient: () => void;
- onCheckForReOrder: () => void;
- host: BABYLON.IParticleSystem;
- codeRecorderPropertyName: string;
- }
- export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
- gradient: number;
- factor1: string;
- factor2?: string;
- }> {
- constructor(props: IFactorGradientStepGridComponent);
- shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
- gradient: number;
- factor1: string;
- factor2?: string;
- }): boolean;
- updateFactor1(valueString: string): void;
- updateFactor2(valueString: string): void;
- updateGradient(gradient: number): void;
- onPointerUp(): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IColorGradientStepGridComponent {
- globalState: GlobalState;
- gradient: BABYLON.ColorGradient | BABYLON.Color3Gradient;
- lockObject: LockObject;
- lineIndex: number;
- isColor3: boolean;
- onDelete: () => void;
- onUpdateGradient: () => void;
- onCheckForReOrder: () => void;
- host: BABYLON.IParticleSystem;
- codeRecorderPropertyName: string;
- }
- export class ColorGradientStepGridComponent extends React.Component<IColorGradientStepGridComponent, {
- gradient: number;
- }> {
- constructor(props: IColorGradientStepGridComponent);
- updateColor1(color: string): void;
- updateColor2(color: string): void;
- updateGradient(gradient: number): void;
- onPointerUp(): void;
- lock(): void;
- unlock(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ILinkButtonComponentProps {
- label: string;
- buttonLabel: string;
- url?: string;
- onClick: () => void;
- onIconClick?: () => void;
- }
- export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
- constructor(props: ILinkButtonComponentProps);
- onLink(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export enum GradientGridMode {
- Factor = 0,
- BABYLON.Color3 = 1,
- BABYLON.Color4 = 2
- }
- interface IValueGradientGridComponent {
- globalState: GlobalState;
- label: string;
- gradients: BABYLON.Nullable<Array<BABYLON.IValueGradient>>;
- lockObject: LockObject;
- docLink?: string;
- mode: GradientGridMode;
- host: BABYLON.IParticleSystem;
- codeRecorderPropertyName: string;
- onCreateRequired: () => void;
- }
- export class ValueGradientGridComponent extends React.Component<IValueGradientGridComponent> {
- constructor(props: IValueGradientGridComponent);
- deleteStep(step: BABYLON.IValueGradient): void;
- addNewStep(): void;
- checkForReOrder(): void;
- updateAndSync(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IParticleSystemPropertyGridComponentProps {
- globalState: GlobalState;
- system: BABYLON.IParticleSystem;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class ParticleSystemPropertyGridComponent extends React.Component<IParticleSystemPropertyGridComponentProps> {
- private _snippetUrl;
- constructor(props: IParticleSystemPropertyGridComponentProps);
- renderEmitter(): JSX.Element | null;
- raiseOnPropertyChanged(property: string, newValue: any, previousValue: any): void;
- renderControls(): JSX.Element;
- saveToFile(): void;
- loadFromFile(file: File): void;
- loadFromSnippet(): void;
- saveToSnippet(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISpriteManagerPropertyGridComponentProps {
- globalState: GlobalState;
- spriteManager: BABYLON.SpriteManager;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class SpriteManagerPropertyGridComponent extends React.Component<ISpriteManagerPropertyGridComponentProps> {
- private _snippetUrl;
- constructor(props: ISpriteManagerPropertyGridComponentProps);
- addNewSprite(): void;
- disposeManager(): void;
- saveToFile(): void;
- loadFromFile(file: File): void;
- loadFromSnippet(): void;
- saveToSnippet(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISpritePropertyGridComponentProps {
- globalState: GlobalState;
- sprite: BABYLON.Sprite;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- }
- export class SpritePropertyGridComponent extends React.Component<ISpritePropertyGridComponentProps> {
- private canvasRef;
- private imageData;
- private cachedCellIndex;
- constructor(props: ISpritePropertyGridComponentProps);
- onManagerLink(): void;
- switchPlayStopState(): void;
- disposeSprite(): void;
- componentDidMount(): void;
- componentDidUpdate(): void;
- shouldComponentUpdate(nextProps: ISpritePropertyGridComponentProps): boolean;
- updatePreview(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITargetedAnimationGridComponentProps {
- globalState: GlobalState;
- targetedAnimation: BABYLON.TargetedAnimation;
- scene: BABYLON.Scene;
- lockObject: LockObject;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class TargetedAnimationGridComponent extends React.Component<ITargetedAnimationGridComponentProps> {
- private _isCurveEditorOpen;
- private _animationGroup;
- constructor(props: ITargetedAnimationGridComponentProps);
- onOpenAnimationCurveEditor: () => void;
- onCloseAnimationCurveEditor: (window: Window | null) => void;
- playOrPause: () => void;
- deleteAnimation: () => void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFollowCameraPropertyGridComponentProps {
- globalState: GlobalState;
- camera: BABYLON.FollowCamera;
- lockObject: LockObject;
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
- }
- export class FollowCameraPropertyGridComponent extends React.Component<IFollowCameraPropertyGridComponentProps> {
- constructor(props: IFollowCameraPropertyGridComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export class PropertyGridTabComponent extends PaneComponent {
- private _timerIntervalId;
- private _lockObject;
- constructor(props: IPaneComponentProps);
- timerRefresh(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- export interface IHeaderComponentProps {
- title: string;
- handleBack?: boolean;
- noExpand?: boolean;
- noClose?: boolean;
- noCommands?: boolean;
- onPopup: () => void;
- onClose: () => void;
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- }
- export class HeaderComponent extends React.Component<IHeaderComponentProps, {
- isBackVisible: boolean;
- }> {
- private _backStack;
- private _onSelectionChangeObserver;
- constructor(props: IHeaderComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- goBack(): void;
- renderLogo(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IMessageLineComponentProps {
- text: string;
- color?: string;
- }
- export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
- constructor(props: IMessageLineComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IGLTFComponentProps {
- scene: BABYLON.Scene;
- globalState: GlobalState;
- }
- export class GLTFComponent extends React.Component<IGLTFComponentProps> {
- private _onValidationResultsUpdatedObserver;
- openValidationDetails(): void;
- prepareText(singularForm: string, count: number): string;
- componentDidMount(): void;
- componentWillUnmount(): void;
- renderValidation(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IFileMultipleButtonLineComponentProps {
- label: string;
- onClick: (event: any) => void;
- accept: string;
- }
- export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
- private static _IDGenerator;
- private _id;
- private uploadInputRef;
- constructor(props: IFileMultipleButtonLineComponentProps);
- onChange(evt: any): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export class ToolsTabComponent extends PaneComponent {
- private _videoRecorder;
- private _screenShotSize;
- private _gifOptions;
- private _useWidthHeight;
- private _isExporting;
- private _gifWorkerBlob;
- private _gifRecorder;
- private _previousRenderingScale;
- private _crunchingGIF;
- constructor(props: IPaneComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- captureScreenshot(): void;
- captureRender(): void;
- recordVideo(): void;
- recordGIFInternal(): void;
- recordGIF(): void;
- importAnimations(event: any): void;
- shouldExport(node: BABYLON.Node): boolean;
- exportGLTF(): void;
- exportBabylon(): void;
- createEnvTexture(): void;
- exportReplay(): void;
- startRecording(): void;
- applyDelta(file: File): void;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- export class SettingsTabComponent extends PaneComponent {
- constructor(props: IPaneComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IActionTabsComponentProps {
- scene?: BABYLON.Scene;
- noCommands?: boolean;
- noHeader?: boolean;
- noExpand?: boolean;
- noClose?: boolean;
- popupMode?: boolean;
- onPopup?: () => void;
- onClose?: () => void;
- globalState?: GlobalState;
- initialTab?: BABYLON.DebugLayerTab;
- }
- export class ActionTabsComponent extends React.Component<IActionTabsComponentProps, {
- selectedEntity: any;
- selectedIndex: number;
- }> {
- private _onSelectionChangeObserver;
- private _onTabChangedObserver;
- private _once;
- constructor(props: IActionTabsComponentProps);
- componentDidMount(): void;
- componentWillUnmount(): void;
- changeSelectedTab(index: number): void;
- renderContent(): JSX.Element | null;
- onClose(): void;
- onPopup(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITreeItemLabelComponentProps {
- label: string;
- onClick?: () => void;
- color: string;
- }
- export class TreeItemLabelComponent extends React.Component<ITreeItemLabelComponentProps> {
- constructor(props: ITreeItemLabelComponentProps);
- onClick(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IExtensionsComponentProps {
- target: any;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- }
- export class ExtensionsComponent extends React.Component<IExtensionsComponentProps, {
- popupVisible: boolean;
- }> {
- private _popup;
- private extensionRef;
- constructor(props: IExtensionsComponentProps);
- showPopup(): void;
- componentDidMount(): void;
- componentDidUpdate(): void;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- interface IMeshTreeItemComponentProps {
- mesh: BABYLON.AbstractMesh;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- globalState: GlobalState;
- }
- export class MeshTreeItemComponent extends React.Component<IMeshTreeItemComponentProps, {
- isBoundingBoxEnabled: boolean;
- isVisible: boolean;
- }> {
- constructor(props: IMeshTreeItemComponentProps);
- showBoundingBox(): void;
- switchVisibility(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ICameraTreeItemComponentProps {
- camera: BABYLON.Camera;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- globalState: GlobalState;
- }
- export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
- isActive: boolean;
- isGizmoEnabled: boolean;
- }> {
- private _onBeforeRenderObserver;
- constructor(props: ICameraTreeItemComponentProps);
- setActive(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- toggleGizmo(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ILightTreeItemComponentProps {
- light: BABYLON.Light;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- globalState: GlobalState;
- }
- export class LightTreeItemComponent extends React.Component<ILightTreeItemComponentProps, {
- isEnabled: boolean;
- isGizmoEnabled: boolean;
- }> {
- constructor(props: ILightTreeItemComponentProps);
- switchIsEnabled(): void;
- toggleGizmo(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IMaterialTreeItemComponentProps {
- material: BABYLON.Material | BABYLON.NodeMaterial;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class MaterialTreeItemComponent extends React.Component<IMaterialTreeItemComponentProps> {
- constructor(props: IMaterialTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITextureTreeItemComponentProps {
- texture: BABYLON.Texture;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class TextureTreeItemComponent extends React.Component<ITextureTreeItemComponentProps> {
- constructor(props: ITextureTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITransformNodeItemComponentProps {
- transformNode: BABYLON.TransformNode;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class TransformNodeItemComponent extends React.Component<ITransformNodeItemComponentProps> {
- constructor(props: ITransformNodeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IControlTreeItemComponentProps {
- control: BABYLON.GUI.Control;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class ControlTreeItemComponent extends React.Component<IControlTreeItemComponentProps, {
- isActive: boolean;
- isVisible: boolean;
- }> {
- constructor(props: IControlTreeItemComponentProps);
- highlight(): void;
- switchVisibility(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAdvancedDynamicTextureTreeItemComponentProps {
- texture: BABYLON.GUI.AdvancedDynamicTexture;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- onClick: () => void;
- }
- export class AdvancedDynamicTextureTreeItemComponent extends React.Component<IAdvancedDynamicTextureTreeItemComponentProps, {
- isInPickingMode: boolean;
- }> {
- private _onControlPickedObserver;
- constructor(props: IAdvancedDynamicTextureTreeItemComponentProps);
- componentWillUnmount(): void;
- onPickingMode(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IAnimationGroupItemComponentProps {
- animationGroup: BABYLON.AnimationGroup;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class AnimationGroupItemComponent extends React.Component<IAnimationGroupItemComponentProps> {
- constructor(props: IAnimationGroupItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IPostProcessItemComponentProps {
- postProcess: BABYLON.PostProcess;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class PostProcessItemComponent extends React.Component<IPostProcessItemComponentProps> {
- constructor(props: IPostProcessItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IRenderPipelineItemComponenttProps {
- renderPipeline: BABYLON.PostProcessRenderPipeline;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class RenderingPipelineItemComponent extends React.Component<IRenderPipelineItemComponenttProps> {
- constructor(props: IRenderPipelineItemComponenttProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISkeletonTreeItemComponentProps {
- skeleton: BABYLON.Skeleton;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class SkeletonTreeItemComponent extends React.Component<ISkeletonTreeItemComponentProps> {
- constructor(props: ISkeletonTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IBoneTreeItemComponenttProps {
- bone: BABYLON.Bone;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class BoneTreeItemComponent extends React.Component<IBoneTreeItemComponenttProps> {
- constructor(props: IBoneTreeItemComponenttProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IParticleSystemTreeItemComponentProps {
- system: BABYLON.IParticleSystem;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class ParticleSystemTreeItemComponent extends React.Component<IParticleSystemTreeItemComponentProps> {
- constructor(props: IParticleSystemTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISpriteManagerTreeItemComponentProps {
- spriteManager: BABYLON.SpriteManager;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class SpriteManagerTreeItemComponent extends React.Component<ISpriteManagerTreeItemComponentProps> {
- constructor(props: ISpriteManagerTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISpriteTreeItemComponentProps {
- sprite: BABYLON.Sprite;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class SpriteTreeItemComponent extends React.Component<ISpriteTreeItemComponentProps> {
- constructor(props: ISpriteTreeItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITargetedAnimationItemComponentProps {
- targetedAnimation: BABYLON.TargetedAnimation;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onClick: () => void;
- }
- export class TargetedAnimationItemComponent extends React.Component<ITargetedAnimationItemComponentProps> {
- constructor(props: ITargetedAnimationItemComponentProps);
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ITreeItemSpecializedComponentProps {
- label: string;
- entity?: any;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- globalState: GlobalState;
- onClick?: () => void;
- }
- export class TreeItemSpecializedComponent extends React.Component<ITreeItemSpecializedComponentProps> {
- constructor(props: ITreeItemSpecializedComponentProps);
- onClick(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export class Tools {
- static LookForItem(item: any, selectedEntity: any): boolean;
- private static _RecursiveRemoveHiddenMeshesAndHoistChildren;
- static SortAndFilter(parent: any, items: any[]): any[];
- }
- }
- declare module INSPECTOR {
- export interface ITreeItemSelectableComponentProps {
- entity: any;
- selectedEntity?: any;
- mustExpand?: boolean;
- offset: number;
- globalState: GlobalState;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- filter: BABYLON.Nullable<string>;
- }
- export class TreeItemSelectableComponent extends React.Component<ITreeItemSelectableComponentProps, {
- isExpanded: boolean;
- isSelected: boolean;
- }> {
- private _wasSelected;
- constructor(props: ITreeItemSelectableComponentProps);
- switchExpandedState(): void;
- shouldComponentUpdate(nextProps: ITreeItemSelectableComponentProps, nextState: {
- isExpanded: boolean;
- isSelected: boolean;
- }): boolean;
- scrollIntoView(): void;
- componentDidMount(): void;
- componentDidUpdate(): void;
- onSelect(): void;
- renderChildren(): JSX.Element[] | null;
- render(): JSX.Element | null;
- }
- }
- declare module INSPECTOR {
- export interface ITreeItemComponentProps {
- items?: BABYLON.Nullable<any[]>;
- label: string;
- offset: number;
- filter: BABYLON.Nullable<string>;
- forceSubitems?: boolean;
- globalState: GlobalState;
- entity?: any;
- selectedEntity: any;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- contextMenuItems?: {
- label: string;
- action: () => void;
- }[];
- }
- export class TreeItemComponent extends React.Component<ITreeItemComponentProps, {
- isExpanded: boolean;
- mustExpand: boolean;
- }> {
- static _ContextMenuUniqueIdGenerator: number;
- constructor(props: ITreeItemComponentProps);
- switchExpandedState(): void;
- shouldComponentUpdate(nextProps: ITreeItemComponentProps, nextState: {
- isExpanded: boolean;
- }): boolean;
- expandAll(expand: boolean): void;
- renderContextMenu(): JSX.Element | null;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISceneTreeItemComponentProps {
- scene: BABYLON.Scene;
- onRefresh: () => void;
- selectedEntity?: any;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- onSelectionChangedObservable?: BABYLON.Observable<any>;
- globalState: GlobalState;
- }
- export class SceneTreeItemComponent extends React.Component<ISceneTreeItemComponentProps, {
- isSelected: boolean;
- isInPickingMode: boolean;
- gizmoMode: number;
- }> {
- private _gizmoLayerOnPointerObserver;
- private _onPointerObserver;
- private _onSelectionChangeObserver;
- private _selectedEntity;
- private _posDragEnd;
- private _scaleDragEnd;
- private _rotateDragEnd;
- constructor(props: ISceneTreeItemComponentProps);
- shouldComponentUpdate(nextProps: ISceneTreeItemComponentProps, nextState: {
- isSelected: boolean;
- isInPickingMode: boolean;
- }): boolean;
- componentDidMount(): void;
- componentWillUnmount(): void;
- onSelect(): void;
- onPickingMode(): void;
- setGizmoMode(mode: number): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface ISceneExplorerFilterComponentProps {
- onFilter: (filter: string) => void;
- }
- export class SceneExplorerFilterComponent extends React.Component<ISceneExplorerFilterComponentProps> {
- constructor(props: ISceneExplorerFilterComponentProps);
- render(): JSX.Element;
- }
- interface ISceneExplorerComponentProps {
- scene: BABYLON.Scene;
- noCommands?: boolean;
- noHeader?: boolean;
- noExpand?: boolean;
- noClose?: boolean;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- globalState: GlobalState;
- popupMode?: boolean;
- onPopup?: () => void;
- onClose?: () => void;
- }
- export class SceneExplorerComponent extends React.Component<ISceneExplorerComponentProps, {
- filter: BABYLON.Nullable<string>;
- selectedEntity: any;
- scene: BABYLON.Scene;
- }> {
- private _onSelectionChangeObserver;
- private _onSelectionRenamedObserver;
- private _onNewSceneAddedObserver;
- private _onNewSceneObserver;
- private sceneExplorerRef;
- private _once;
- private _hooked;
- private sceneMutationFunc;
- constructor(props: ISceneExplorerComponentProps);
- processMutation(): void;
- componentDidMount(): void;
- componentWillUnmount(): void;
- filterContent(filter: string): void;
- findSiblings(parent: any, items: any[], target: any, goNext: boolean, data: {
- previousOne?: any;
- found?: boolean;
- }): boolean;
- processKeys(keyEvent: React.KeyboardEvent<HTMLDivElement>): void;
- renderContent(): JSX.Element | null;
- onClose(): void;
- onPopup(): void;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- interface IEmbedHostComponentProps {
- scene: BABYLON.Scene;
- globalState: GlobalState;
- popupMode: boolean;
- noClose?: boolean;
- noExpand?: boolean;
- onClose: () => void;
- onPopup: () => void;
- extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
- initialTab?: BABYLON.DebugLayerTab;
- }
- export class EmbedHostComponent extends React.Component<IEmbedHostComponentProps> {
- private _once;
- private splitRef;
- private topPartRef;
- private bottomPartRef;
- constructor(props: IEmbedHostComponentProps);
- componentDidMount(): void;
- renderContent(): JSX.Element;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export class Inspector {
- private static _SceneExplorerHost;
- private static _ActionTabsHost;
- private static _EmbedHost;
- private static _NewCanvasContainer;
- private static _SceneExplorerWindow;
- private static _ActionTabsWindow;
- private static _EmbedHostWindow;
- private static _Scene;
- private static _OpenedPane;
- private static _OnBeforeRenderObserver;
- static OnSelectionChangeObservable: BABYLON.Observable<any>;
- static OnPropertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>;
- private static _GlobalState;
- static MarkLineContainerTitleForHighlighting(title: string): void;
- static MarkMultipleLineContainerTitlesForHighlighting(titles: string[]): void;
- private static _CopyStyles;
- private static _CreateSceneExplorer;
- private static _CreateActionTabs;
- private static _CreateEmbedHost;
- static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number, lateBinding?: boolean): HTMLDivElement | null;
- static get IsVisible(): boolean;
- static EarlyAttachToLoader(): void;
- static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;
- static _SetNewScene(scene: BABYLON.Scene): void;
- static _CreateCanvasContainer(parentControl: HTMLElement): void;
- private static _DestroyCanvasContainer;
- private static _Cleanup;
- private static _RemoveElementFromDOM;
- static Hide(): void;
- }
- }
- declare module INSPECTOR {
- interface IPlayheadProps {
- frame: number;
- offset: number;
- onCurrentFrameChange: (frame: number) => void;
- }
- /**
- * Renders the Playhead
- */
- export class Playhead extends React.Component<IPlayheadProps> {
- private _direction;
- private _active;
- constructor(props: IPlayheadProps);
- dragStart(e: React.TouchEvent<HTMLDivElement>): void;
- dragStart(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
- drag(e: React.TouchEvent<HTMLDivElement>): void;
- drag(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
- dragEnd(e: React.TouchEvent<HTMLDivElement>): void;
- dragEnd(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
- calculateMove(): string;
- render(): JSX.Element;
- }
- }
- declare module INSPECTOR {
- export const Contrast: IToolData;
- }
|