web-ifc-api-browser.js 1.9 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987529885298952990529915299252993529945299552996529975299852999530005300153002530035300453005530065300753008530095301053011530125301353014530155301653017530185301953020530215302253023530245302553026530275302853029530305303153032530335303453035530365303753038530395304053041530425304353044530455304653047530485304953050530515305253053530545305553056530575305853059530605306153062530635306453065530665306753068530695307053071530725307353074530755307653077530785307953080530815308253083530845308553086530875308853089530905309153092530935309453095530965309753098530995310053101531025310353104531055310653107531085310953110531115311253113531145311553116531175311853119531205312153122531235312453125531265312753128531295313053131531325313353134531355313653137531385313953140531415314253143531445314553146531475314853149531505315153152531535315453155531565315753158531595316053161531625316353164531655316653167531685316953170531715317253173531745317553176531775317853179531805318153182531835318453185531865318753188531895319053191531925319353194531955319653197531985319953200532015320253203532045320553206532075320853209532105321153212532135321453215532165321753218532195322053221532225322353224532255322653227532285322953230532315323253233532345323553236532375323853239532405324153242532435324453245532465324753248532495325053251532525325353254532555325653257532585325953260532615326253263532645326553266532675326853269532705327153272532735327453275532765327753278532795328053281532825328353284532855328653287532885328953290532915329253293532945329553296532975329853299533005330153302533035330453305533065330753308533095331053311533125331353314533155331653317533185331953320533215332253323533245332553326533275332853329533305333153332533335333453335533365333753338533395334053341533425334353344533455334653347533485334953350533515335253353533545335553356533575335853359533605336153362533635336453365533665336753368533695337053371533725337353374533755337653377533785337953380533815338253383533845338553386533875338853389533905339153392533935339453395533965339753398533995340053401534025340353404534055340653407534085340953410534115341253413534145341553416534175341853419534205342153422534235342453425534265342753428534295343053431534325343353434534355343653437534385343953440534415344253443534445344553446534475344853449534505345153452534535345453455534565345753458534595346053461534625346353464534655346653467534685346953470534715347253473534745347553476534775347853479534805348153482534835348453485534865348753488534895349053491534925349353494534955349653497534985349953500535015350253503535045350553506535075350853509535105351153512535135351453515535165351753518535195352053521535225352353524535255352653527535285352953530535315353253533535345353553536535375353853539535405354153542535435354453545535465354753548535495355053551535525355353554535555355653557535585355953560535615356253563535645356553566535675356853569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359253593535945359553596535975359853599536005360153602536035360453605536065360753608536095361053611536125361353614536155361653617536185361953620536215362253623536245362553626536275362853629536305363153632536335363453635536365363753638536395364053641536425364353644536455364653647536485364953650536515365253653536545365553656536575365853659536605366153662536635366453665536665366753668536695367053671536725367353674536755367653677536785367953680536815368253683536845368553686536875368853689536905369153692536935369453695536965369753698536995370053701537025370353704537055370653707537085370953710537115371253713537145371553716537175371853719537205372153722537235372453725537265372753728537295373053731537325373353734537355373653737537385373953740537415374253743537445374553746537475374853749537505375153752537535375453755537565375753758537595376053761537625376353764537655376653767537685376953770537715377253773537745377553776537775377853779537805378153782537835378453785537865378753788537895379053791537925379353794537955379653797537985379953800538015380253803538045380553806538075380853809538105381153812538135381453815538165381753818538195382053821538225382353824538255382653827538285382953830538315383253833538345383553836538375383853839538405384153842538435384453845538465384753848538495385053851538525385353854538555385653857538585385953860538615386253863538645386553866538675386853869538705387153872538735387453875538765387753878538795388053881538825388353884538855388653887538885388953890538915389253893538945389553896538975389853899539005390153902539035390453905539065390753908539095391053911539125391353914539155391653917539185391953920539215392253923539245392553926539275392853929539305393153932539335393453935539365393753938539395394053941539425394353944539455394653947539485394953950539515395253953539545395553956539575395853959539605396153962539635396453965539665396753968539695397053971539725397353974539755397653977539785397953980539815398253983539845398553986539875398853989539905399153992539935399453995539965399753998539995400054001540025400354004540055400654007540085400954010540115401254013540145401554016540175401854019540205402154022540235402454025540265402754028540295403054031540325403354034540355403654037540385403954040540415404254043540445404554046540475404854049540505405154052540535405454055540565405754058540595406054061540625406354064540655406654067540685406954070540715407254073540745407554076540775407854079540805408154082
  1. var WebIFC = (() => {
  2. var __defProp = Object.defineProperty;
  3. var __getOwnPropSymbols = Object.getOwnPropertySymbols;
  4. var __hasOwnProp = Object.prototype.hasOwnProperty;
  5. var __propIsEnum = Object.prototype.propertyIsEnumerable;
  6. var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
  7. var __spreadValues = (a, b) => {
  8. for (var prop in b || (b = {}))
  9. if (__hasOwnProp.call(b, prop))
  10. __defNormalProp(a, prop, b[prop]);
  11. if (__getOwnPropSymbols)
  12. for (var prop of __getOwnPropSymbols(b)) {
  13. if (__propIsEnum.call(b, prop))
  14. __defNormalProp(a, prop, b[prop]);
  15. }
  16. return a;
  17. };
  18. var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
  19. var __require = (x) => {
  20. if (typeof require !== "undefined")
  21. return require(x);
  22. throw new Error('Dynamic require of "' + x + '" is not supported');
  23. };
  24. var __commonJS = (cb, mod) => function __require2() {
  25. return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  26. };
  27. var __export = (target, all) => {
  28. __markAsModule(target);
  29. for (var name2 in all)
  30. __defProp(target, name2, { get: all[name2], enumerable: true });
  31. };
  32. var __async = (__this, __arguments, generator) => {
  33. return new Promise((resolve, reject) => {
  34. var fulfilled = (value) => {
  35. try {
  36. step(generator.next(value));
  37. } catch (e) {
  38. reject(e);
  39. }
  40. };
  41. var rejected = (value) => {
  42. try {
  43. step(generator.throw(value));
  44. } catch (e) {
  45. reject(e);
  46. }
  47. };
  48. var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
  49. step((generator = generator.apply(__this, __arguments)).next());
  50. });
  51. };
  52. // (disabled):crypto
  53. var require_crypto = __commonJS({
  54. "(disabled):crypto"() {
  55. }
  56. });
  57. // dist/web-ifc-mt.js
  58. var require_web_ifc_mt = __commonJS({
  59. "dist/web-ifc-mt.js"(exports, module) {
  60. var WebIFCWasm2 = function() {
  61. var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
  62. if (typeof __filename !== "undefined")
  63. _scriptDir = _scriptDir || __filename;
  64. return function(WebIFCWasm3) {
  65. WebIFCWasm3 = WebIFCWasm3 || {};
  66. function GROWABLE_HEAP_I8() {
  67. if (wasmMemory.buffer != buffer) {
  68. updateGlobalBufferAndViews(wasmMemory.buffer);
  69. }
  70. return HEAP8;
  71. }
  72. function GROWABLE_HEAP_U8() {
  73. if (wasmMemory.buffer != buffer) {
  74. updateGlobalBufferAndViews(wasmMemory.buffer);
  75. }
  76. return HEAPU8;
  77. }
  78. function GROWABLE_HEAP_I16() {
  79. if (wasmMemory.buffer != buffer) {
  80. updateGlobalBufferAndViews(wasmMemory.buffer);
  81. }
  82. return HEAP16;
  83. }
  84. function GROWABLE_HEAP_U16() {
  85. if (wasmMemory.buffer != buffer) {
  86. updateGlobalBufferAndViews(wasmMemory.buffer);
  87. }
  88. return HEAPU16;
  89. }
  90. function GROWABLE_HEAP_I32() {
  91. if (wasmMemory.buffer != buffer) {
  92. updateGlobalBufferAndViews(wasmMemory.buffer);
  93. }
  94. return HEAP32;
  95. }
  96. function GROWABLE_HEAP_U32() {
  97. if (wasmMemory.buffer != buffer) {
  98. updateGlobalBufferAndViews(wasmMemory.buffer);
  99. }
  100. return HEAPU32;
  101. }
  102. function GROWABLE_HEAP_F32() {
  103. if (wasmMemory.buffer != buffer) {
  104. updateGlobalBufferAndViews(wasmMemory.buffer);
  105. }
  106. return HEAPF32;
  107. }
  108. function GROWABLE_HEAP_F64() {
  109. if (wasmMemory.buffer != buffer) {
  110. updateGlobalBufferAndViews(wasmMemory.buffer);
  111. }
  112. return HEAPF64;
  113. }
  114. var Module = typeof WebIFCWasm3 !== "undefined" ? WebIFCWasm3 : {};
  115. var readyPromiseResolve, readyPromiseReject;
  116. Module["ready"] = new Promise(function(resolve, reject) {
  117. readyPromiseResolve = resolve;
  118. readyPromiseReject = reject;
  119. });
  120. var moduleOverrides = {};
  121. var key;
  122. for (key in Module) {
  123. if (Module.hasOwnProperty(key)) {
  124. moduleOverrides[key] = Module[key];
  125. }
  126. }
  127. var arguments_ = [];
  128. var thisProgram = "./this.program";
  129. var quit_ = function(status, toThrow) {
  130. throw toThrow;
  131. };
  132. var ENVIRONMENT_IS_WEB = false;
  133. var ENVIRONMENT_IS_WORKER = false;
  134. var ENVIRONMENT_IS_NODE = false;
  135. var ENVIRONMENT_IS_SHELL = false;
  136. ENVIRONMENT_IS_WEB = typeof window === "object";
  137. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  138. ENVIRONMENT_IS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string";
  139. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  140. var ENVIRONMENT_IS_PTHREAD = Module["ENVIRONMENT_IS_PTHREAD"] || false;
  141. if (ENVIRONMENT_IS_PTHREAD) {
  142. buffer = Module["buffer"];
  143. }
  144. var scriptDirectory = "";
  145. function locateFile(path) {
  146. if (Module["locateFile"]) {
  147. return Module["locateFile"](path, scriptDirectory);
  148. }
  149. return scriptDirectory + path;
  150. }
  151. var read_, readAsync, readBinary, setWindowTitle;
  152. var nodeFS;
  153. var nodePath;
  154. if (ENVIRONMENT_IS_NODE) {
  155. if (ENVIRONMENT_IS_WORKER) {
  156. scriptDirectory = __require("path").dirname(scriptDirectory) + "/";
  157. } else {
  158. scriptDirectory = __dirname + "/";
  159. }
  160. read_ = function shell_read(filename, binary) {
  161. if (!nodeFS)
  162. nodeFS = __require("fs");
  163. if (!nodePath)
  164. nodePath = __require("path");
  165. filename = nodePath["normalize"](filename);
  166. return nodeFS["readFileSync"](filename, binary ? null : "utf8");
  167. };
  168. readBinary = function readBinary2(filename) {
  169. var ret = read_(filename, true);
  170. if (!ret.buffer) {
  171. ret = new Uint8Array(ret);
  172. }
  173. assert(ret.buffer);
  174. return ret;
  175. };
  176. if (process["argv"].length > 1) {
  177. thisProgram = process["argv"][1].replace(/\\/g, "/");
  178. }
  179. arguments_ = process["argv"].slice(2);
  180. process["on"]("uncaughtException", function(ex) {
  181. if (!(ex instanceof ExitStatus)) {
  182. throw ex;
  183. }
  184. });
  185. process["on"]("unhandledRejection", abort);
  186. quit_ = function(status) {
  187. process["exit"](status);
  188. };
  189. Module["inspect"] = function() {
  190. return "[Emscripten Module object]";
  191. };
  192. var nodeWorkerThreads;
  193. try {
  194. nodeWorkerThreads = __require("worker_threads");
  195. } catch (e) {
  196. console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?');
  197. throw e;
  198. }
  199. global.Worker = nodeWorkerThreads.Worker;
  200. } else if (ENVIRONMENT_IS_SHELL) {
  201. if (typeof read != "undefined") {
  202. read_ = function shell_read(f) {
  203. return read(f);
  204. };
  205. }
  206. readBinary = function readBinary2(f) {
  207. var data;
  208. if (typeof readbuffer === "function") {
  209. return new Uint8Array(readbuffer(f));
  210. }
  211. data = read(f, "binary");
  212. assert(typeof data === "object");
  213. return data;
  214. };
  215. if (typeof scriptArgs != "undefined") {
  216. arguments_ = scriptArgs;
  217. } else if (typeof arguments != "undefined") {
  218. arguments_ = arguments;
  219. }
  220. if (typeof quit === "function") {
  221. quit_ = function(status) {
  222. quit(status);
  223. };
  224. }
  225. if (typeof print !== "undefined") {
  226. if (typeof console === "undefined")
  227. console = {};
  228. console.log = print;
  229. console.warn = console.error = typeof printErr !== "undefined" ? printErr : print;
  230. }
  231. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  232. if (ENVIRONMENT_IS_WORKER) {
  233. scriptDirectory = self.location.href;
  234. } else if (typeof document !== "undefined" && document.currentScript) {
  235. scriptDirectory = document.currentScript.src;
  236. }
  237. if (_scriptDir) {
  238. scriptDirectory = _scriptDir;
  239. }
  240. if (scriptDirectory.indexOf("blob:") !== 0) {
  241. scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
  242. } else {
  243. scriptDirectory = "";
  244. }
  245. if (ENVIRONMENT_IS_NODE) {
  246. read_ = function shell_read(filename, binary) {
  247. if (!nodeFS)
  248. nodeFS = __require("fs");
  249. if (!nodePath)
  250. nodePath = __require("path");
  251. filename = nodePath["normalize"](filename);
  252. return nodeFS["readFileSync"](filename, binary ? null : "utf8");
  253. };
  254. readBinary = function readBinary2(filename) {
  255. var ret = read_(filename, true);
  256. if (!ret.buffer) {
  257. ret = new Uint8Array(ret);
  258. }
  259. assert(ret.buffer);
  260. return ret;
  261. };
  262. } else {
  263. read_ = function shell_read(url) {
  264. var xhr = new XMLHttpRequest();
  265. xhr.open("GET", url, false);
  266. xhr.send(null);
  267. return xhr.responseText;
  268. };
  269. if (ENVIRONMENT_IS_WORKER) {
  270. readBinary = function readBinary2(url) {
  271. var xhr = new XMLHttpRequest();
  272. xhr.open("GET", url, false);
  273. xhr.responseType = "arraybuffer";
  274. xhr.send(null);
  275. return new Uint8Array(xhr.response);
  276. };
  277. }
  278. readAsync = function readAsync2(url, onload, onerror) {
  279. var xhr = new XMLHttpRequest();
  280. xhr.open("GET", url, true);
  281. xhr.responseType = "arraybuffer";
  282. xhr.onload = function xhr_onload() {
  283. if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
  284. onload(xhr.response);
  285. return;
  286. }
  287. onerror();
  288. };
  289. xhr.onerror = onerror;
  290. xhr.send(null);
  291. };
  292. }
  293. setWindowTitle = function(title) {
  294. document.title = title;
  295. };
  296. } else {
  297. }
  298. if (ENVIRONMENT_IS_NODE) {
  299. if (typeof performance === "undefined") {
  300. global.performance = __require("perf_hooks").performance;
  301. }
  302. }
  303. var out = Module["print"] || console.log.bind(console);
  304. var err = Module["printErr"] || console.warn.bind(console);
  305. for (key in moduleOverrides) {
  306. if (moduleOverrides.hasOwnProperty(key)) {
  307. Module[key] = moduleOverrides[key];
  308. }
  309. }
  310. moduleOverrides = null;
  311. if (Module["arguments"])
  312. arguments_ = Module["arguments"];
  313. if (Module["thisProgram"])
  314. thisProgram = Module["thisProgram"];
  315. if (Module["quit"])
  316. quit_ = Module["quit"];
  317. var STACK_ALIGN = 16;
  318. function alignMemory(size, factor) {
  319. if (!factor)
  320. factor = STACK_ALIGN;
  321. return Math.ceil(size / factor) * factor;
  322. }
  323. function warnOnce(text) {
  324. if (!warnOnce.shown)
  325. warnOnce.shown = {};
  326. if (!warnOnce.shown[text]) {
  327. warnOnce.shown[text] = 1;
  328. err(text);
  329. }
  330. }
  331. var tempRet0 = 0;
  332. var setTempRet0 = function(value) {
  333. tempRet0 = value;
  334. };
  335. var Atomics_load = Atomics.load;
  336. var Atomics_store = Atomics.store;
  337. var Atomics_compareExchange = Atomics.compareExchange;
  338. var wasmBinary;
  339. if (Module["wasmBinary"])
  340. wasmBinary = Module["wasmBinary"];
  341. var noExitRuntime;
  342. if (Module["noExitRuntime"])
  343. noExitRuntime = Module["noExitRuntime"];
  344. if (typeof WebAssembly !== "object") {
  345. abort("no native wasm support detected");
  346. }
  347. var wasmMemory;
  348. var wasmModule;
  349. var threadInfoStruct = 0;
  350. var selfThreadId = 0;
  351. var ABORT = false;
  352. var EXITSTATUS = 0;
  353. function assert(condition, text) {
  354. if (!condition) {
  355. abort("Assertion failed: " + text);
  356. }
  357. }
  358. function UTF8ArrayToString(heap, idx, maxBytesToRead) {
  359. idx >>>= 0;
  360. var endIdx = idx + maxBytesToRead;
  361. var str = "";
  362. while (!(idx >= endIdx)) {
  363. var u0 = heap[idx++ >>> 0];
  364. if (!u0)
  365. return str;
  366. if (!(u0 & 128)) {
  367. str += String.fromCharCode(u0);
  368. continue;
  369. }
  370. var u1 = heap[idx++ >>> 0] & 63;
  371. if ((u0 & 224) == 192) {
  372. str += String.fromCharCode((u0 & 31) << 6 | u1);
  373. continue;
  374. }
  375. var u2 = heap[idx++ >>> 0] & 63;
  376. if ((u0 & 240) == 224) {
  377. u0 = (u0 & 15) << 12 | u1 << 6 | u2;
  378. } else {
  379. u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++ >>> 0] & 63;
  380. }
  381. if (u0 < 65536) {
  382. str += String.fromCharCode(u0);
  383. } else {
  384. var ch = u0 - 65536;
  385. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  386. }
  387. }
  388. return str;
  389. }
  390. function UTF8ToString(ptr, maxBytesToRead) {
  391. ptr >>>= 0;
  392. return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : "";
  393. }
  394. function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
  395. outIdx >>>= 0;
  396. if (!(maxBytesToWrite > 0))
  397. return 0;
  398. var startIdx = outIdx;
  399. var endIdx = outIdx + maxBytesToWrite - 1;
  400. for (var i = 0; i < str.length; ++i) {
  401. var u = str.charCodeAt(i);
  402. if (u >= 55296 && u <= 57343) {
  403. var u1 = str.charCodeAt(++i);
  404. u = 65536 + ((u & 1023) << 10) | u1 & 1023;
  405. }
  406. if (u <= 127) {
  407. if (outIdx >= endIdx)
  408. break;
  409. heap[outIdx++ >>> 0] = u;
  410. } else if (u <= 2047) {
  411. if (outIdx + 1 >= endIdx)
  412. break;
  413. heap[outIdx++ >>> 0] = 192 | u >> 6;
  414. heap[outIdx++ >>> 0] = 128 | u & 63;
  415. } else if (u <= 65535) {
  416. if (outIdx + 2 >= endIdx)
  417. break;
  418. heap[outIdx++ >>> 0] = 224 | u >> 12;
  419. heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
  420. heap[outIdx++ >>> 0] = 128 | u & 63;
  421. } else {
  422. if (outIdx + 3 >= endIdx)
  423. break;
  424. heap[outIdx++ >>> 0] = 240 | u >> 18;
  425. heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;
  426. heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
  427. heap[outIdx++ >>> 0] = 128 | u & 63;
  428. }
  429. }
  430. heap[outIdx >>> 0] = 0;
  431. return outIdx - startIdx;
  432. }
  433. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  434. return stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite);
  435. }
  436. function lengthBytesUTF8(str) {
  437. var len = 0;
  438. for (var i = 0; i < str.length; ++i) {
  439. var u = str.charCodeAt(i);
  440. if (u >= 55296 && u <= 57343)
  441. u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
  442. if (u <= 127)
  443. ++len;
  444. else if (u <= 2047)
  445. len += 2;
  446. else if (u <= 65535)
  447. len += 3;
  448. else
  449. len += 4;
  450. }
  451. return len;
  452. }
  453. function UTF16ToString(ptr, maxBytesToRead) {
  454. var str = "";
  455. for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
  456. var codeUnit = GROWABLE_HEAP_I16()[ptr + i * 2 >> 1];
  457. if (codeUnit == 0)
  458. break;
  459. str += String.fromCharCode(codeUnit);
  460. }
  461. return str;
  462. }
  463. function stringToUTF16(str, outPtr, maxBytesToWrite) {
  464. if (maxBytesToWrite === void 0) {
  465. maxBytesToWrite = 2147483647;
  466. }
  467. if (maxBytesToWrite < 2)
  468. return 0;
  469. maxBytesToWrite -= 2;
  470. var startPtr = outPtr;
  471. var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
  472. for (var i = 0; i < numCharsToWrite; ++i) {
  473. var codeUnit = str.charCodeAt(i);
  474. GROWABLE_HEAP_I16()[outPtr >> 1] = codeUnit;
  475. outPtr += 2;
  476. }
  477. GROWABLE_HEAP_I16()[outPtr >> 1] = 0;
  478. return outPtr - startPtr;
  479. }
  480. function lengthBytesUTF16(str) {
  481. return str.length * 2;
  482. }
  483. function UTF32ToString(ptr, maxBytesToRead) {
  484. var i = 0;
  485. var str = "";
  486. while (!(i >= maxBytesToRead / 4)) {
  487. var utf32 = GROWABLE_HEAP_I32()[ptr + i * 4 >> 2];
  488. if (utf32 == 0)
  489. break;
  490. ++i;
  491. if (utf32 >= 65536) {
  492. var ch = utf32 - 65536;
  493. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  494. } else {
  495. str += String.fromCharCode(utf32);
  496. }
  497. }
  498. return str;
  499. }
  500. function stringToUTF32(str, outPtr, maxBytesToWrite) {
  501. outPtr >>>= 0;
  502. if (maxBytesToWrite === void 0) {
  503. maxBytesToWrite = 2147483647;
  504. }
  505. if (maxBytesToWrite < 4)
  506. return 0;
  507. var startPtr = outPtr;
  508. var endPtr = startPtr + maxBytesToWrite - 4;
  509. for (var i = 0; i < str.length; ++i) {
  510. var codeUnit = str.charCodeAt(i);
  511. if (codeUnit >= 55296 && codeUnit <= 57343) {
  512. var trailSurrogate = str.charCodeAt(++i);
  513. codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023;
  514. }
  515. GROWABLE_HEAP_I32()[outPtr >> 2] = codeUnit;
  516. outPtr += 4;
  517. if (outPtr + 4 > endPtr)
  518. break;
  519. }
  520. GROWABLE_HEAP_I32()[outPtr >> 2] = 0;
  521. return outPtr - startPtr;
  522. }
  523. function lengthBytesUTF32(str) {
  524. var len = 0;
  525. for (var i = 0; i < str.length; ++i) {
  526. var codeUnit = str.charCodeAt(i);
  527. if (codeUnit >= 55296 && codeUnit <= 57343)
  528. ++i;
  529. len += 4;
  530. }
  531. return len;
  532. }
  533. function writeArrayToMemory(array, buffer2) {
  534. GROWABLE_HEAP_I8().set(array, buffer2);
  535. }
  536. function writeAsciiToMemory(str, buffer2, dontAddNull) {
  537. for (var i = 0; i < str.length; ++i) {
  538. GROWABLE_HEAP_I8()[buffer2++ >> 0] = str.charCodeAt(i);
  539. }
  540. if (!dontAddNull)
  541. GROWABLE_HEAP_I8()[buffer2 >> 0] = 0;
  542. }
  543. function alignUp(x, multiple) {
  544. if (x % multiple > 0) {
  545. x += multiple - x % multiple;
  546. }
  547. return x;
  548. }
  549. var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
  550. function updateGlobalBufferAndViews(buf) {
  551. buffer = buf;
  552. Module["HEAP8"] = HEAP8 = new Int8Array(buf);
  553. Module["HEAP16"] = HEAP16 = new Int16Array(buf);
  554. Module["HEAP32"] = HEAP32 = new Int32Array(buf);
  555. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
  556. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
  557. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
  558. Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
  559. Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
  560. }
  561. var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
  562. if (ENVIRONMENT_IS_PTHREAD) {
  563. wasmMemory = Module["wasmMemory"];
  564. buffer = Module["buffer"];
  565. } else {
  566. if (Module["wasmMemory"]) {
  567. wasmMemory = Module["wasmMemory"];
  568. } else {
  569. wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_MEMORY / 65536, "maximum": 4294967296 / 65536, "shared": true });
  570. if (!(wasmMemory.buffer instanceof SharedArrayBuffer)) {
  571. err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");
  572. if (ENVIRONMENT_IS_NODE) {
  573. console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)");
  574. }
  575. throw Error("bad memory");
  576. }
  577. }
  578. }
  579. if (wasmMemory) {
  580. buffer = wasmMemory.buffer;
  581. }
  582. INITIAL_MEMORY = buffer.byteLength;
  583. updateGlobalBufferAndViews(buffer);
  584. var wasmTable;
  585. var __ATPRERUN__ = [];
  586. var __ATINIT__ = [];
  587. var __ATMAIN__ = [];
  588. var __ATEXIT__ = [];
  589. var __ATPOSTRUN__ = [];
  590. var runtimeInitialized = false;
  591. var runtimeExited = false;
  592. if (ENVIRONMENT_IS_PTHREAD)
  593. runtimeInitialized = true;
  594. function preRun() {
  595. if (ENVIRONMENT_IS_PTHREAD)
  596. return;
  597. if (Module["preRun"]) {
  598. if (typeof Module["preRun"] == "function")
  599. Module["preRun"] = [Module["preRun"]];
  600. while (Module["preRun"].length) {
  601. addOnPreRun(Module["preRun"].shift());
  602. }
  603. }
  604. callRuntimeCallbacks(__ATPRERUN__);
  605. }
  606. function initRuntime() {
  607. runtimeInitialized = true;
  608. if (!Module["noFSInit"] && !FS.init.initialized)
  609. FS.init();
  610. TTY.init();
  611. callRuntimeCallbacks(__ATINIT__);
  612. }
  613. function preMain() {
  614. if (ENVIRONMENT_IS_PTHREAD)
  615. return;
  616. FS.ignorePermissions = false;
  617. callRuntimeCallbacks(__ATMAIN__);
  618. }
  619. function exitRuntime() {
  620. if (ENVIRONMENT_IS_PTHREAD)
  621. return;
  622. runtimeExited = true;
  623. }
  624. function postRun() {
  625. if (ENVIRONMENT_IS_PTHREAD)
  626. return;
  627. if (Module["postRun"]) {
  628. if (typeof Module["postRun"] == "function")
  629. Module["postRun"] = [Module["postRun"]];
  630. while (Module["postRun"].length) {
  631. addOnPostRun(Module["postRun"].shift());
  632. }
  633. }
  634. callRuntimeCallbacks(__ATPOSTRUN__);
  635. }
  636. function addOnPreRun(cb) {
  637. __ATPRERUN__.unshift(cb);
  638. }
  639. function addOnPostRun(cb) {
  640. __ATPOSTRUN__.unshift(cb);
  641. }
  642. var runDependencies = 0;
  643. var runDependencyWatcher = null;
  644. var dependenciesFulfilled = null;
  645. function getUniqueRunDependency(id) {
  646. return id;
  647. }
  648. function addRunDependency(id) {
  649. assert(!ENVIRONMENT_IS_PTHREAD, "addRunDependency cannot be used in a pthread worker");
  650. runDependencies++;
  651. if (Module["monitorRunDependencies"]) {
  652. Module["monitorRunDependencies"](runDependencies);
  653. }
  654. }
  655. function removeRunDependency(id) {
  656. runDependencies--;
  657. if (Module["monitorRunDependencies"]) {
  658. Module["monitorRunDependencies"](runDependencies);
  659. }
  660. if (runDependencies == 0) {
  661. if (runDependencyWatcher !== null) {
  662. clearInterval(runDependencyWatcher);
  663. runDependencyWatcher = null;
  664. }
  665. if (dependenciesFulfilled) {
  666. var callback = dependenciesFulfilled;
  667. dependenciesFulfilled = null;
  668. callback();
  669. }
  670. }
  671. }
  672. Module["preloadedImages"] = {};
  673. Module["preloadedAudios"] = {};
  674. function abort(what) {
  675. if (Module["onAbort"]) {
  676. Module["onAbort"](what);
  677. }
  678. if (ENVIRONMENT_IS_PTHREAD)
  679. console.error("Pthread aborting at " + new Error().stack);
  680. what += "";
  681. err(what);
  682. ABORT = true;
  683. EXITSTATUS = 1;
  684. what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
  685. var e = new WebAssembly.RuntimeError(what);
  686. readyPromiseReject(e);
  687. throw e;
  688. }
  689. function hasPrefix(str, prefix) {
  690. return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0;
  691. }
  692. var dataURIPrefix = "data:application/octet-stream;base64,";
  693. function isDataURI(filename) {
  694. return hasPrefix(filename, dataURIPrefix);
  695. }
  696. var fileURIPrefix = "file://";
  697. function isFileURI(filename) {
  698. return hasPrefix(filename, fileURIPrefix);
  699. }
  700. var wasmBinaryFile = "web-ifc-mt.wasm";
  701. if (!isDataURI(wasmBinaryFile)) {
  702. wasmBinaryFile = locateFile(wasmBinaryFile);
  703. }
  704. function getBinary() {
  705. try {
  706. if (wasmBinary) {
  707. return new Uint8Array(wasmBinary);
  708. }
  709. if (readBinary) {
  710. return readBinary(wasmBinaryFile);
  711. } else {
  712. throw "both async and sync fetching of the wasm failed";
  713. }
  714. } catch (err2) {
  715. abort(err2);
  716. }
  717. }
  718. function getBinaryPromise() {
  719. if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function" && !isFileURI(wasmBinaryFile)) {
  720. return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) {
  721. if (!response["ok"]) {
  722. throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
  723. }
  724. return response["arrayBuffer"]();
  725. }).catch(function() {
  726. return getBinary();
  727. });
  728. }
  729. return Promise.resolve().then(getBinary);
  730. }
  731. function createWasm() {
  732. var info = { "a": asmLibraryArg };
  733. function receiveInstance(instance, module2) {
  734. var exports3 = instance.exports;
  735. Module["asm"] = exports3;
  736. wasmTable = Module["asm"]["pa"];
  737. wasmModule = module2;
  738. if (!ENVIRONMENT_IS_PTHREAD) {
  739. var numWorkersToLoad = PThread.unusedWorkers.length;
  740. PThread.unusedWorkers.forEach(function(w) {
  741. PThread.loadWasmModuleToWorker(w, function() {
  742. if (!--numWorkersToLoad)
  743. removeRunDependency("wasm-instantiate");
  744. });
  745. });
  746. }
  747. }
  748. if (!ENVIRONMENT_IS_PTHREAD) {
  749. addRunDependency("wasm-instantiate");
  750. }
  751. function receiveInstantiatedSource(output) {
  752. receiveInstance(output["instance"], output["module"]);
  753. }
  754. function instantiateArrayBuffer(receiver) {
  755. return getBinaryPromise().then(function(binary) {
  756. return WebAssembly.instantiate(binary, info);
  757. }).then(receiver, function(reason) {
  758. err("failed to asynchronously prepare wasm: " + reason);
  759. abort(reason);
  760. });
  761. }
  762. function instantiateAsync() {
  763. if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") {
  764. return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) {
  765. var result = WebAssembly.instantiateStreaming(response, info);
  766. return result.then(receiveInstantiatedSource, function(reason) {
  767. err("wasm streaming compile failed: " + reason);
  768. err("falling back to ArrayBuffer instantiation");
  769. return instantiateArrayBuffer(receiveInstantiatedSource);
  770. });
  771. });
  772. } else {
  773. return instantiateArrayBuffer(receiveInstantiatedSource);
  774. }
  775. }
  776. if (Module["instantiateWasm"]) {
  777. try {
  778. var exports2 = Module["instantiateWasm"](info, receiveInstance);
  779. return exports2;
  780. } catch (e) {
  781. err("Module.instantiateWasm callback failed with error: " + e);
  782. return false;
  783. }
  784. }
  785. instantiateAsync().catch(readyPromiseReject);
  786. return {};
  787. }
  788. var tempDouble;
  789. var tempI64;
  790. var ASM_CONSTS = { 41793: function($0, $1) {
  791. setTimeout(function() {
  792. _do_emscripten_dispatch_to_thread($0, $1);
  793. }, 0);
  794. }, 41871: function() {
  795. throw "Canceled!";
  796. } };
  797. function initPthreadsJS() {
  798. PThread.initRuntime();
  799. }
  800. function callRuntimeCallbacks(callbacks) {
  801. while (callbacks.length > 0) {
  802. var callback = callbacks.shift();
  803. if (typeof callback == "function") {
  804. callback(Module);
  805. continue;
  806. }
  807. var func = callback.func;
  808. if (typeof func === "number") {
  809. if (callback.arg === void 0) {
  810. wasmTable.get(func)();
  811. } else {
  812. wasmTable.get(func)(callback.arg);
  813. }
  814. } else {
  815. func(callback.arg === void 0 ? null : callback.arg);
  816. }
  817. }
  818. }
  819. function dynCallLegacy(sig, ptr, args) {
  820. if (args && args.length) {
  821. return Module["dynCall_" + sig].apply(null, [ptr].concat(args));
  822. }
  823. return Module["dynCall_" + sig].call(null, ptr);
  824. }
  825. function dynCall(sig, ptr, args) {
  826. if (sig.indexOf("j") != -1) {
  827. return dynCallLegacy(sig, ptr, args);
  828. }
  829. return wasmTable.get(ptr).apply(null, args);
  830. }
  831. Module["dynCall"] = dynCall;
  832. var __pthread_ptr = 0;
  833. var __pthread_is_main_runtime_thread = 0;
  834. var __pthread_is_main_browser_thread = 0;
  835. function registerPthreadPtr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) {
  836. pthreadPtr = pthreadPtr | 0;
  837. isMainBrowserThread = isMainBrowserThread | 0;
  838. isMainRuntimeThread = isMainRuntimeThread | 0;
  839. __pthread_ptr = pthreadPtr;
  840. __pthread_is_main_browser_thread = isMainBrowserThread;
  841. __pthread_is_main_runtime_thread = isMainRuntimeThread;
  842. }
  843. Module["registerPthreadPtr"] = registerPthreadPtr;
  844. var ERRNO_CODES = { EPERM: 63, ENOENT: 44, ESRCH: 71, EINTR: 27, EIO: 29, ENXIO: 60, E2BIG: 1, ENOEXEC: 45, EBADF: 8, ECHILD: 12, EAGAIN: 6, EWOULDBLOCK: 6, ENOMEM: 48, EACCES: 2, EFAULT: 21, ENOTBLK: 105, EBUSY: 10, EEXIST: 20, EXDEV: 75, ENODEV: 43, ENOTDIR: 54, EISDIR: 31, EINVAL: 28, ENFILE: 41, EMFILE: 33, ENOTTY: 59, ETXTBSY: 74, EFBIG: 22, ENOSPC: 51, ESPIPE: 70, EROFS: 69, EMLINK: 34, EPIPE: 64, EDOM: 18, ERANGE: 68, ENOMSG: 49, EIDRM: 24, ECHRNG: 106, EL2NSYNC: 156, EL3HLT: 107, EL3RST: 108, ELNRNG: 109, EUNATCH: 110, ENOCSI: 111, EL2HLT: 112, EDEADLK: 16, ENOLCK: 46, EBADE: 113, EBADR: 114, EXFULL: 115, ENOANO: 104, EBADRQC: 103, EBADSLT: 102, EDEADLOCK: 16, EBFONT: 101, ENOSTR: 100, ENODATA: 116, ETIME: 117, ENOSR: 118, ENONET: 119, ENOPKG: 120, EREMOTE: 121, ENOLINK: 47, EADV: 122, ESRMNT: 123, ECOMM: 124, EPROTO: 65, EMULTIHOP: 36, EDOTDOT: 125, EBADMSG: 9, ENOTUNIQ: 126, EBADFD: 127, EREMCHG: 128, ELIBACC: 129, ELIBBAD: 130, ELIBSCN: 131, ELIBMAX: 132, ELIBEXEC: 133, ENOSYS: 52, ENOTEMPTY: 55, ENAMETOOLONG: 37, ELOOP: 32, EOPNOTSUPP: 138, EPFNOSUPPORT: 139, ECONNRESET: 15, ENOBUFS: 42, EAFNOSUPPORT: 5, EPROTOTYPE: 67, ENOTSOCK: 57, ENOPROTOOPT: 50, ESHUTDOWN: 140, ECONNREFUSED: 14, EADDRINUSE: 3, ECONNABORTED: 13, ENETUNREACH: 40, ENETDOWN: 38, ETIMEDOUT: 73, EHOSTDOWN: 142, EHOSTUNREACH: 23, EINPROGRESS: 26, EALREADY: 7, EDESTADDRREQ: 17, EMSGSIZE: 35, EPROTONOSUPPORT: 66, ESOCKTNOSUPPORT: 137, EADDRNOTAVAIL: 4, ENETRESET: 39, EISCONN: 30, ENOTCONN: 53, ETOOMANYREFS: 141, EUSERS: 136, EDQUOT: 19, ESTALE: 72, ENOTSUP: 138, ENOMEDIUM: 148, EILSEQ: 25, EOVERFLOW: 61, ECANCELED: 11, ENOTRECOVERABLE: 56, EOWNERDEAD: 62, ESTRPIPE: 135 };
  845. function _emscripten_futex_wake(addr, count) {
  846. if (addr <= 0 || addr > GROWABLE_HEAP_I8().length || addr & true || count < 0)
  847. return -28;
  848. if (count == 0)
  849. return 0;
  850. if (count >= 2147483647)
  851. count = Infinity;
  852. var mainThreadWaitAddress = Atomics.load(GROWABLE_HEAP_I32(), PThread.mainThreadFutex >> 2);
  853. var mainThreadWoken = 0;
  854. if (mainThreadWaitAddress == addr) {
  855. var loadedAddr = Atomics.compareExchange(GROWABLE_HEAP_I32(), PThread.mainThreadFutex >> 2, mainThreadWaitAddress, 0);
  856. if (loadedAddr == mainThreadWaitAddress) {
  857. --count;
  858. mainThreadWoken = 1;
  859. if (count <= 0)
  860. return 1;
  861. }
  862. }
  863. var ret = Atomics.notify(GROWABLE_HEAP_I32(), addr >> 2, count);
  864. if (ret >= 0)
  865. return ret + mainThreadWoken;
  866. throw "Atomics.notify returned an unexpected value " + ret;
  867. }
  868. Module["_emscripten_futex_wake"] = _emscripten_futex_wake;
  869. function killThread(pthread_ptr) {
  870. if (ENVIRONMENT_IS_PTHREAD)
  871. throw "Internal Error! killThread() can only ever be called from main application thread!";
  872. if (!pthread_ptr)
  873. throw "Internal Error! Null pthread_ptr in killThread!";
  874. GROWABLE_HEAP_I32()[pthread_ptr + 12 >> 2] = 0;
  875. var pthread = PThread.pthreads[pthread_ptr];
  876. pthread.worker.terminate();
  877. PThread.freeThreadData(pthread);
  878. PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker), 1);
  879. pthread.worker.pthread = void 0;
  880. }
  881. function cancelThread(pthread_ptr) {
  882. if (ENVIRONMENT_IS_PTHREAD)
  883. throw "Internal Error! cancelThread() can only ever be called from main application thread!";
  884. if (!pthread_ptr)
  885. throw "Internal Error! Null pthread_ptr in cancelThread!";
  886. var pthread = PThread.pthreads[pthread_ptr];
  887. pthread.worker.postMessage({ "cmd": "cancel" });
  888. }
  889. function cleanupThread(pthread_ptr) {
  890. if (ENVIRONMENT_IS_PTHREAD)
  891. throw "Internal Error! cleanupThread() can only ever be called from main application thread!";
  892. if (!pthread_ptr)
  893. throw "Internal Error! Null pthread_ptr in cleanupThread!";
  894. GROWABLE_HEAP_I32()[pthread_ptr + 12 >> 2] = 0;
  895. var pthread = PThread.pthreads[pthread_ptr];
  896. if (pthread) {
  897. var worker = pthread.worker;
  898. PThread.returnWorkerToPool(worker);
  899. }
  900. }
  901. var PThread = { MAIN_THREAD_ID: 1, mainThreadInfo: { schedPolicy: 0, schedPrio: 0 }, unusedWorkers: [], runningWorkers: [], initMainThreadBlock: function() {
  902. var pthreadPoolSize = navigator.hardwareConcurrency;
  903. for (var i = 0; i < pthreadPoolSize; ++i) {
  904. PThread.allocateUnusedWorker();
  905. }
  906. }, initRuntime: function() {
  907. PThread.mainThreadBlock = _malloc(232);
  908. for (var i = 0; i < 232 / 4; ++i)
  909. GROWABLE_HEAP_U32()[PThread.mainThreadBlock / 4 + i] = 0;
  910. GROWABLE_HEAP_I32()[PThread.mainThreadBlock + 12 >> 2] = PThread.mainThreadBlock;
  911. var headPtr = PThread.mainThreadBlock + 156;
  912. GROWABLE_HEAP_I32()[headPtr >> 2] = headPtr;
  913. var tlsMemory = _malloc(512);
  914. for (var i = 0; i < 128; ++i)
  915. GROWABLE_HEAP_U32()[tlsMemory / 4 + i] = 0;
  916. Atomics.store(GROWABLE_HEAP_U32(), PThread.mainThreadBlock + 104 >> 2, tlsMemory);
  917. Atomics.store(GROWABLE_HEAP_U32(), PThread.mainThreadBlock + 40 >> 2, PThread.mainThreadBlock);
  918. Atomics.store(GROWABLE_HEAP_U32(), PThread.mainThreadBlock + 44 >> 2, 42);
  919. PThread.initShared();
  920. registerPthreadPtr(PThread.mainThreadBlock, !ENVIRONMENT_IS_WORKER, 1);
  921. _emscripten_register_main_browser_thread_id(PThread.mainThreadBlock);
  922. }, initWorker: function() {
  923. PThread.initShared();
  924. readyPromiseResolve(Module);
  925. }, initShared: function() {
  926. PThread.mainThreadFutex = _main_thread_futex;
  927. }, pthreads: {}, threadExitHandlers: [], setThreadStatus: function() {
  928. }, runExitHandlers: function() {
  929. while (PThread.threadExitHandlers.length > 0) {
  930. PThread.threadExitHandlers.pop()();
  931. }
  932. if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct)
  933. ___pthread_tsd_run_dtors();
  934. }, threadExit: function(exitCode) {
  935. var tb = _pthread_self();
  936. if (tb) {
  937. Atomics.store(GROWABLE_HEAP_U32(), tb + 4 >> 2, exitCode);
  938. Atomics.store(GROWABLE_HEAP_U32(), tb + 0 >> 2, 1);
  939. Atomics.store(GROWABLE_HEAP_U32(), tb + 60 >> 2, 1);
  940. Atomics.store(GROWABLE_HEAP_U32(), tb + 64 >> 2, 0);
  941. PThread.runExitHandlers();
  942. _emscripten_futex_wake(tb + 0, 2147483647);
  943. registerPthreadPtr(0, 0, 0);
  944. threadInfoStruct = 0;
  945. if (ENVIRONMENT_IS_PTHREAD) {
  946. postMessage({ "cmd": "exit" });
  947. }
  948. }
  949. }, threadCancel: function() {
  950. PThread.runExitHandlers();
  951. Atomics.store(GROWABLE_HEAP_U32(), threadInfoStruct + 4 >> 2, -1);
  952. Atomics.store(GROWABLE_HEAP_U32(), threadInfoStruct + 0 >> 2, 1);
  953. _emscripten_futex_wake(threadInfoStruct + 0, 2147483647);
  954. threadInfoStruct = selfThreadId = 0;
  955. registerPthreadPtr(0, 0, 0);
  956. postMessage({ "cmd": "cancelDone" });
  957. }, terminateAllThreads: function() {
  958. for (var t in PThread.pthreads) {
  959. var pthread = PThread.pthreads[t];
  960. if (pthread && pthread.worker) {
  961. PThread.returnWorkerToPool(pthread.worker);
  962. }
  963. }
  964. PThread.pthreads = {};
  965. for (var i = 0; i < PThread.unusedWorkers.length; ++i) {
  966. var worker = PThread.unusedWorkers[i];
  967. worker.terminate();
  968. }
  969. PThread.unusedWorkers = [];
  970. for (var i = 0; i < PThread.runningWorkers.length; ++i) {
  971. var worker = PThread.runningWorkers[i];
  972. var pthread = worker.pthread;
  973. PThread.freeThreadData(pthread);
  974. worker.terminate();
  975. }
  976. PThread.runningWorkers = [];
  977. }, freeThreadData: function(pthread) {
  978. if (!pthread)
  979. return;
  980. if (pthread.threadInfoStruct) {
  981. var tlsMemory = GROWABLE_HEAP_I32()[pthread.threadInfoStruct + 104 >> 2];
  982. GROWABLE_HEAP_I32()[pthread.threadInfoStruct + 104 >> 2] = 0;
  983. _free(tlsMemory);
  984. _free(pthread.threadInfoStruct);
  985. }
  986. pthread.threadInfoStruct = 0;
  987. if (pthread.allocatedOwnStack && pthread.stackBase)
  988. _free(pthread.stackBase);
  989. pthread.stackBase = 0;
  990. if (pthread.worker)
  991. pthread.worker.pthread = null;
  992. }, returnWorkerToPool: function(worker) {
  993. delete PThread.pthreads[worker.pthread.thread];
  994. PThread.unusedWorkers.push(worker);
  995. PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1);
  996. PThread.freeThreadData(worker.pthread);
  997. worker.pthread = void 0;
  998. }, receiveObjectTransfer: function(data) {
  999. }, loadWasmModuleToWorker: function(worker, onFinishedLoading) {
  1000. worker.onmessage = function(e) {
  1001. var d = e["data"];
  1002. var cmd = d["cmd"];
  1003. if (worker.pthread)
  1004. PThread.currentProxiedOperationCallerThread = worker.pthread.threadInfoStruct;
  1005. if (d["targetThread"] && d["targetThread"] != _pthread_self()) {
  1006. var thread = PThread.pthreads[d.targetThread];
  1007. if (thread) {
  1008. thread.worker.postMessage(e.data, d["transferList"]);
  1009. } else {
  1010. console.error('Internal error! Worker sent a message "' + cmd + '" to target pthread ' + d["targetThread"] + ", but that thread no longer exists!");
  1011. }
  1012. PThread.currentProxiedOperationCallerThread = void 0;
  1013. return;
  1014. }
  1015. if (cmd === "processQueuedMainThreadWork") {
  1016. _emscripten_main_thread_process_queued_calls();
  1017. } else if (cmd === "spawnThread") {
  1018. spawnThread(e.data);
  1019. } else if (cmd === "cleanupThread") {
  1020. cleanupThread(d["thread"]);
  1021. } else if (cmd === "killThread") {
  1022. killThread(d["thread"]);
  1023. } else if (cmd === "cancelThread") {
  1024. cancelThread(d["thread"]);
  1025. } else if (cmd === "loaded") {
  1026. worker.loaded = true;
  1027. if (onFinishedLoading)
  1028. onFinishedLoading(worker);
  1029. if (worker.runPthread) {
  1030. worker.runPthread();
  1031. delete worker.runPthread;
  1032. }
  1033. } else if (cmd === "print") {
  1034. out("Thread " + d["threadId"] + ": " + d["text"]);
  1035. } else if (cmd === "printErr") {
  1036. err("Thread " + d["threadId"] + ": " + d["text"]);
  1037. } else if (cmd === "alert") {
  1038. alert("Thread " + d["threadId"] + ": " + d["text"]);
  1039. } else if (cmd === "exit") {
  1040. var detached = worker.pthread && Atomics.load(GROWABLE_HEAP_U32(), worker.pthread.thread + 68 >> 2);
  1041. if (detached) {
  1042. PThread.returnWorkerToPool(worker);
  1043. }
  1044. } else if (cmd === "cancelDone") {
  1045. PThread.returnWorkerToPool(worker);
  1046. } else if (cmd === "objectTransfer") {
  1047. PThread.receiveObjectTransfer(e.data);
  1048. } else if (e.data.target === "setimmediate") {
  1049. worker.postMessage(e.data);
  1050. } else {
  1051. err("worker sent an unknown command " + cmd);
  1052. }
  1053. PThread.currentProxiedOperationCallerThread = void 0;
  1054. };
  1055. worker.onerror = function(e) {
  1056. err("pthread sent an error! " + e.filename + ":" + e.lineno + ": " + e.message);
  1057. };
  1058. if (ENVIRONMENT_IS_NODE) {
  1059. worker.on("message", function(data) {
  1060. worker.onmessage({ data });
  1061. });
  1062. worker.on("error", function(data) {
  1063. worker.onerror(data);
  1064. });
  1065. worker.on("exit", function(data) {
  1066. });
  1067. }
  1068. worker.postMessage({ "cmd": "load", "urlOrBlob": Module["mainScriptUrlOrBlob"] || _scriptDir, "wasmMemory": wasmMemory, "wasmModule": wasmModule });
  1069. }, allocateUnusedWorker: function() {
  1070. var pthreadMainJs = locateFile("web-ifc-mt.worker.js");
  1071. PThread.unusedWorkers.push(new Worker(pthreadMainJs));
  1072. }, getNewWorker: function() {
  1073. if (PThread.unusedWorkers.length == 0) {
  1074. PThread.allocateUnusedWorker();
  1075. PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]);
  1076. }
  1077. if (PThread.unusedWorkers.length > 0)
  1078. return PThread.unusedWorkers.pop();
  1079. else
  1080. return null;
  1081. }, busySpinWait: function(msecs) {
  1082. var t = performance.now() + msecs;
  1083. while (performance.now() < t) {
  1084. }
  1085. } };
  1086. function establishStackSpace(stackTop, stackMax) {
  1087. _emscripten_stack_set_limits(stackTop, stackMax);
  1088. stackRestore(stackTop);
  1089. }
  1090. Module["establishStackSpace"] = establishStackSpace;
  1091. function getNoExitRuntime() {
  1092. return noExitRuntime;
  1093. }
  1094. Module["getNoExitRuntime"] = getNoExitRuntime;
  1095. function ___assert_fail(condition, filename, line, func) {
  1096. abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
  1097. }
  1098. var _emscripten_get_now;
  1099. if (ENVIRONMENT_IS_NODE) {
  1100. _emscripten_get_now = function() {
  1101. var t = process["hrtime"]();
  1102. return t[0] * 1e3 + t[1] / 1e6;
  1103. };
  1104. } else if (ENVIRONMENT_IS_PTHREAD) {
  1105. _emscripten_get_now = function() {
  1106. return performance.now() - Module["__performance_now_clock_drift"];
  1107. };
  1108. } else if (typeof dateNow !== "undefined") {
  1109. _emscripten_get_now = dateNow;
  1110. } else
  1111. _emscripten_get_now = function() {
  1112. return performance.now();
  1113. };
  1114. var _emscripten_get_now_is_monotonic = true;
  1115. function setErrNo(value) {
  1116. GROWABLE_HEAP_I32()[___errno_location() >> 2] = value;
  1117. return value;
  1118. }
  1119. function _clock_gettime(clk_id, tp) {
  1120. var now;
  1121. if (clk_id === 0) {
  1122. now = Date.now();
  1123. } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) {
  1124. now = _emscripten_get_now();
  1125. } else {
  1126. setErrNo(28);
  1127. return -1;
  1128. }
  1129. GROWABLE_HEAP_I32()[tp >> 2] = now / 1e3 | 0;
  1130. GROWABLE_HEAP_I32()[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0;
  1131. return 0;
  1132. }
  1133. var ExceptionInfoAttrs = { DESTRUCTOR_OFFSET: 0, REFCOUNT_OFFSET: 4, TYPE_OFFSET: 8, CAUGHT_OFFSET: 12, RETHROWN_OFFSET: 13, SIZE: 16 };
  1134. function ___cxa_allocate_exception(size) {
  1135. return _malloc(size + ExceptionInfoAttrs.SIZE) + ExceptionInfoAttrs.SIZE;
  1136. }
  1137. function _atexit(func, arg) {
  1138. if (ENVIRONMENT_IS_PTHREAD)
  1139. return _emscripten_proxy_to_main_thread_js(1, 1, func, arg);
  1140. }
  1141. function ExceptionInfo(excPtr) {
  1142. this.excPtr = excPtr;
  1143. this.ptr = excPtr - ExceptionInfoAttrs.SIZE;
  1144. this.set_type = function(type) {
  1145. GROWABLE_HEAP_I32()[this.ptr + ExceptionInfoAttrs.TYPE_OFFSET >> 2] = type;
  1146. };
  1147. this.get_type = function() {
  1148. return GROWABLE_HEAP_I32()[this.ptr + ExceptionInfoAttrs.TYPE_OFFSET >> 2];
  1149. };
  1150. this.set_destructor = function(destructor) {
  1151. GROWABLE_HEAP_I32()[this.ptr + ExceptionInfoAttrs.DESTRUCTOR_OFFSET >> 2] = destructor;
  1152. };
  1153. this.get_destructor = function() {
  1154. return GROWABLE_HEAP_I32()[this.ptr + ExceptionInfoAttrs.DESTRUCTOR_OFFSET >> 2];
  1155. };
  1156. this.set_refcount = function(refcount) {
  1157. GROWABLE_HEAP_I32()[this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >> 2] = refcount;
  1158. };
  1159. this.set_caught = function(caught) {
  1160. caught = caught ? 1 : 0;
  1161. GROWABLE_HEAP_I8()[this.ptr + ExceptionInfoAttrs.CAUGHT_OFFSET >> 0] = caught;
  1162. };
  1163. this.get_caught = function() {
  1164. return GROWABLE_HEAP_I8()[this.ptr + ExceptionInfoAttrs.CAUGHT_OFFSET >> 0] != 0;
  1165. };
  1166. this.set_rethrown = function(rethrown) {
  1167. rethrown = rethrown ? 1 : 0;
  1168. GROWABLE_HEAP_I8()[this.ptr + ExceptionInfoAttrs.RETHROWN_OFFSET >> 0] = rethrown;
  1169. };
  1170. this.get_rethrown = function() {
  1171. return GROWABLE_HEAP_I8()[this.ptr + ExceptionInfoAttrs.RETHROWN_OFFSET >> 0] != 0;
  1172. };
  1173. this.init = function(type, destructor) {
  1174. this.set_type(type);
  1175. this.set_destructor(destructor);
  1176. this.set_refcount(0);
  1177. this.set_caught(false);
  1178. this.set_rethrown(false);
  1179. };
  1180. this.add_ref = function() {
  1181. Atomics.add(GROWABLE_HEAP_I32(), this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >> 2, 1);
  1182. };
  1183. this.release_ref = function() {
  1184. var prev = Atomics.sub(GROWABLE_HEAP_I32(), this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >> 2, 1);
  1185. return prev === 1;
  1186. };
  1187. }
  1188. var exceptionLast = 0;
  1189. var uncaughtExceptionCount = 0;
  1190. function ___cxa_throw(ptr, type, destructor) {
  1191. var info = new ExceptionInfo(ptr);
  1192. info.init(type, destructor);
  1193. exceptionLast = ptr;
  1194. uncaughtExceptionCount++;
  1195. throw ptr;
  1196. }
  1197. var PATH = { splitPath: function(filename) {
  1198. var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  1199. return splitPathRe.exec(filename).slice(1);
  1200. }, normalizeArray: function(parts, allowAboveRoot) {
  1201. var up = 0;
  1202. for (var i = parts.length - 1; i >= 0; i--) {
  1203. var last = parts[i];
  1204. if (last === ".") {
  1205. parts.splice(i, 1);
  1206. } else if (last === "..") {
  1207. parts.splice(i, 1);
  1208. up++;
  1209. } else if (up) {
  1210. parts.splice(i, 1);
  1211. up--;
  1212. }
  1213. }
  1214. if (allowAboveRoot) {
  1215. for (; up; up--) {
  1216. parts.unshift("..");
  1217. }
  1218. }
  1219. return parts;
  1220. }, normalize: function(path) {
  1221. var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
  1222. path = PATH.normalizeArray(path.split("/").filter(function(p) {
  1223. return !!p;
  1224. }), !isAbsolute).join("/");
  1225. if (!path && !isAbsolute) {
  1226. path = ".";
  1227. }
  1228. if (path && trailingSlash) {
  1229. path += "/";
  1230. }
  1231. return (isAbsolute ? "/" : "") + path;
  1232. }, dirname: function(path) {
  1233. var result = PATH.splitPath(path), root = result[0], dir = result[1];
  1234. if (!root && !dir) {
  1235. return ".";
  1236. }
  1237. if (dir) {
  1238. dir = dir.substr(0, dir.length - 1);
  1239. }
  1240. return root + dir;
  1241. }, basename: function(path) {
  1242. if (path === "/")
  1243. return "/";
  1244. path = PATH.normalize(path);
  1245. path = path.replace(/\/$/, "");
  1246. var lastSlash = path.lastIndexOf("/");
  1247. if (lastSlash === -1)
  1248. return path;
  1249. return path.substr(lastSlash + 1);
  1250. }, extname: function(path) {
  1251. return PATH.splitPath(path)[3];
  1252. }, join: function() {
  1253. var paths = Array.prototype.slice.call(arguments, 0);
  1254. return PATH.normalize(paths.join("/"));
  1255. }, join2: function(l, r) {
  1256. return PATH.normalize(l + "/" + r);
  1257. } };
  1258. function getRandomDevice() {
  1259. if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
  1260. var randomBuffer = new Uint8Array(1);
  1261. return function() {
  1262. crypto.getRandomValues(randomBuffer);
  1263. return randomBuffer[0];
  1264. };
  1265. } else if (ENVIRONMENT_IS_NODE) {
  1266. try {
  1267. var crypto_module = require_crypto();
  1268. return function() {
  1269. return crypto_module["randomBytes"](1)[0];
  1270. };
  1271. } catch (e) {
  1272. }
  1273. }
  1274. return function() {
  1275. abort("randomDevice");
  1276. };
  1277. }
  1278. var PATH_FS = { resolve: function() {
  1279. var resolvedPath = "", resolvedAbsolute = false;
  1280. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  1281. var path = i >= 0 ? arguments[i] : FS.cwd();
  1282. if (typeof path !== "string") {
  1283. throw new TypeError("Arguments to path.resolve must be strings");
  1284. } else if (!path) {
  1285. return "";
  1286. }
  1287. resolvedPath = path + "/" + resolvedPath;
  1288. resolvedAbsolute = path.charAt(0) === "/";
  1289. }
  1290. resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
  1291. return !!p;
  1292. }), !resolvedAbsolute).join("/");
  1293. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  1294. }, relative: function(from, to) {
  1295. from = PATH_FS.resolve(from).substr(1);
  1296. to = PATH_FS.resolve(to).substr(1);
  1297. function trim(arr) {
  1298. var start = 0;
  1299. for (; start < arr.length; start++) {
  1300. if (arr[start] !== "")
  1301. break;
  1302. }
  1303. var end = arr.length - 1;
  1304. for (; end >= 0; end--) {
  1305. if (arr[end] !== "")
  1306. break;
  1307. }
  1308. if (start > end)
  1309. return [];
  1310. return arr.slice(start, end - start + 1);
  1311. }
  1312. var fromParts = trim(from.split("/"));
  1313. var toParts = trim(to.split("/"));
  1314. var length = Math.min(fromParts.length, toParts.length);
  1315. var samePartsLength = length;
  1316. for (var i = 0; i < length; i++) {
  1317. if (fromParts[i] !== toParts[i]) {
  1318. samePartsLength = i;
  1319. break;
  1320. }
  1321. }
  1322. var outputParts = [];
  1323. for (var i = samePartsLength; i < fromParts.length; i++) {
  1324. outputParts.push("..");
  1325. }
  1326. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  1327. return outputParts.join("/");
  1328. } };
  1329. var TTY = { ttys: [], init: function() {
  1330. }, shutdown: function() {
  1331. }, register: function(dev, ops) {
  1332. TTY.ttys[dev] = { input: [], output: [], ops };
  1333. FS.registerDevice(dev, TTY.stream_ops);
  1334. }, stream_ops: { open: function(stream) {
  1335. var tty = TTY.ttys[stream.node.rdev];
  1336. if (!tty) {
  1337. throw new FS.ErrnoError(43);
  1338. }
  1339. stream.tty = tty;
  1340. stream.seekable = false;
  1341. }, close: function(stream) {
  1342. stream.tty.ops.flush(stream.tty);
  1343. }, flush: function(stream) {
  1344. stream.tty.ops.flush(stream.tty);
  1345. }, read: function(stream, buffer2, offset, length, pos) {
  1346. if (!stream.tty || !stream.tty.ops.get_char) {
  1347. throw new FS.ErrnoError(60);
  1348. }
  1349. var bytesRead = 0;
  1350. for (var i = 0; i < length; i++) {
  1351. var result;
  1352. try {
  1353. result = stream.tty.ops.get_char(stream.tty);
  1354. } catch (e) {
  1355. throw new FS.ErrnoError(29);
  1356. }
  1357. if (result === void 0 && bytesRead === 0) {
  1358. throw new FS.ErrnoError(6);
  1359. }
  1360. if (result === null || result === void 0)
  1361. break;
  1362. bytesRead++;
  1363. buffer2[offset + i] = result;
  1364. }
  1365. if (bytesRead) {
  1366. stream.node.timestamp = Date.now();
  1367. }
  1368. return bytesRead;
  1369. }, write: function(stream, buffer2, offset, length, pos) {
  1370. if (!stream.tty || !stream.tty.ops.put_char) {
  1371. throw new FS.ErrnoError(60);
  1372. }
  1373. try {
  1374. for (var i = 0; i < length; i++) {
  1375. stream.tty.ops.put_char(stream.tty, buffer2[offset + i]);
  1376. }
  1377. } catch (e) {
  1378. throw new FS.ErrnoError(29);
  1379. }
  1380. if (length) {
  1381. stream.node.timestamp = Date.now();
  1382. }
  1383. return i;
  1384. } }, default_tty_ops: { get_char: function(tty) {
  1385. if (!tty.input.length) {
  1386. var result = null;
  1387. if (ENVIRONMENT_IS_NODE) {
  1388. var BUFSIZE = 256;
  1389. var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
  1390. var bytesRead = 0;
  1391. try {
  1392. bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
  1393. } catch (e) {
  1394. if (e.toString().indexOf("EOF") != -1)
  1395. bytesRead = 0;
  1396. else
  1397. throw e;
  1398. }
  1399. if (bytesRead > 0) {
  1400. result = buf.slice(0, bytesRead).toString("utf-8");
  1401. } else {
  1402. result = null;
  1403. }
  1404. } else if (typeof window != "undefined" && typeof window.prompt == "function") {
  1405. result = window.prompt("Input: ");
  1406. if (result !== null) {
  1407. result += "\n";
  1408. }
  1409. } else if (typeof readline == "function") {
  1410. result = readline();
  1411. if (result !== null) {
  1412. result += "\n";
  1413. }
  1414. }
  1415. if (!result) {
  1416. return null;
  1417. }
  1418. tty.input = intArrayFromString(result, true);
  1419. }
  1420. return tty.input.shift();
  1421. }, put_char: function(tty, val) {
  1422. if (val === null || val === 10) {
  1423. out(UTF8ArrayToString(tty.output, 0));
  1424. tty.output = [];
  1425. } else {
  1426. if (val != 0)
  1427. tty.output.push(val);
  1428. }
  1429. }, flush: function(tty) {
  1430. if (tty.output && tty.output.length > 0) {
  1431. out(UTF8ArrayToString(tty.output, 0));
  1432. tty.output = [];
  1433. }
  1434. } }, default_tty1_ops: { put_char: function(tty, val) {
  1435. if (val === null || val === 10) {
  1436. err(UTF8ArrayToString(tty.output, 0));
  1437. tty.output = [];
  1438. } else {
  1439. if (val != 0)
  1440. tty.output.push(val);
  1441. }
  1442. }, flush: function(tty) {
  1443. if (tty.output && tty.output.length > 0) {
  1444. err(UTF8ArrayToString(tty.output, 0));
  1445. tty.output = [];
  1446. }
  1447. } } };
  1448. function mmapAlloc(size) {
  1449. var alignedSize = alignMemory(size, 16384);
  1450. var ptr = _malloc(alignedSize);
  1451. while (size < alignedSize)
  1452. GROWABLE_HEAP_I8()[ptr + size++] = 0;
  1453. return ptr;
  1454. }
  1455. var MEMFS = { ops_table: null, mount: function(mount) {
  1456. return MEMFS.createNode(null, "/", 16384 | 511, 0);
  1457. }, createNode: function(parent, name2, mode, dev) {
  1458. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  1459. throw new FS.ErrnoError(63);
  1460. }
  1461. if (!MEMFS.ops_table) {
  1462. MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } };
  1463. }
  1464. var node = FS.createNode(parent, name2, mode, dev);
  1465. if (FS.isDir(node.mode)) {
  1466. node.node_ops = MEMFS.ops_table.dir.node;
  1467. node.stream_ops = MEMFS.ops_table.dir.stream;
  1468. node.contents = {};
  1469. } else if (FS.isFile(node.mode)) {
  1470. node.node_ops = MEMFS.ops_table.file.node;
  1471. node.stream_ops = MEMFS.ops_table.file.stream;
  1472. node.usedBytes = 0;
  1473. node.contents = null;
  1474. } else if (FS.isLink(node.mode)) {
  1475. node.node_ops = MEMFS.ops_table.link.node;
  1476. node.stream_ops = MEMFS.ops_table.link.stream;
  1477. } else if (FS.isChrdev(node.mode)) {
  1478. node.node_ops = MEMFS.ops_table.chrdev.node;
  1479. node.stream_ops = MEMFS.ops_table.chrdev.stream;
  1480. }
  1481. node.timestamp = Date.now();
  1482. if (parent) {
  1483. parent.contents[name2] = node;
  1484. }
  1485. return node;
  1486. }, getFileDataAsRegularArray: function(node) {
  1487. if (node.contents && node.contents.subarray) {
  1488. var arr = [];
  1489. for (var i = 0; i < node.usedBytes; ++i)
  1490. arr.push(node.contents[i]);
  1491. return arr;
  1492. }
  1493. return node.contents;
  1494. }, getFileDataAsTypedArray: function(node) {
  1495. if (!node.contents)
  1496. return new Uint8Array(0);
  1497. if (node.contents.subarray)
  1498. return node.contents.subarray(0, node.usedBytes);
  1499. return new Uint8Array(node.contents);
  1500. }, expandFileStorage: function(node, newCapacity) {
  1501. newCapacity >>>= 0;
  1502. var prevCapacity = node.contents ? node.contents.length : 0;
  1503. if (prevCapacity >= newCapacity)
  1504. return;
  1505. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  1506. newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);
  1507. if (prevCapacity != 0)
  1508. newCapacity = Math.max(newCapacity, 256);
  1509. var oldContents = node.contents;
  1510. node.contents = new Uint8Array(newCapacity);
  1511. if (node.usedBytes > 0)
  1512. node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
  1513. return;
  1514. }, resizeFileStorage: function(node, newSize) {
  1515. newSize >>>= 0;
  1516. if (node.usedBytes == newSize)
  1517. return;
  1518. if (newSize == 0) {
  1519. node.contents = null;
  1520. node.usedBytes = 0;
  1521. return;
  1522. }
  1523. if (!node.contents || node.contents.subarray) {
  1524. var oldContents = node.contents;
  1525. node.contents = new Uint8Array(newSize);
  1526. if (oldContents) {
  1527. node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
  1528. }
  1529. node.usedBytes = newSize;
  1530. return;
  1531. }
  1532. if (!node.contents)
  1533. node.contents = [];
  1534. if (node.contents.length > newSize)
  1535. node.contents.length = newSize;
  1536. else
  1537. while (node.contents.length < newSize)
  1538. node.contents.push(0);
  1539. node.usedBytes = newSize;
  1540. }, node_ops: { getattr: function(node) {
  1541. var attr = {};
  1542. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  1543. attr.ino = node.id;
  1544. attr.mode = node.mode;
  1545. attr.nlink = 1;
  1546. attr.uid = 0;
  1547. attr.gid = 0;
  1548. attr.rdev = node.rdev;
  1549. if (FS.isDir(node.mode)) {
  1550. attr.size = 4096;
  1551. } else if (FS.isFile(node.mode)) {
  1552. attr.size = node.usedBytes;
  1553. } else if (FS.isLink(node.mode)) {
  1554. attr.size = node.link.length;
  1555. } else {
  1556. attr.size = 0;
  1557. }
  1558. attr.atime = new Date(node.timestamp);
  1559. attr.mtime = new Date(node.timestamp);
  1560. attr.ctime = new Date(node.timestamp);
  1561. attr.blksize = 4096;
  1562. attr.blocks = Math.ceil(attr.size / attr.blksize);
  1563. return attr;
  1564. }, setattr: function(node, attr) {
  1565. if (attr.mode !== void 0) {
  1566. node.mode = attr.mode;
  1567. }
  1568. if (attr.timestamp !== void 0) {
  1569. node.timestamp = attr.timestamp;
  1570. }
  1571. if (attr.size !== void 0) {
  1572. MEMFS.resizeFileStorage(node, attr.size);
  1573. }
  1574. }, lookup: function(parent, name2) {
  1575. throw FS.genericErrors[44];
  1576. }, mknod: function(parent, name2, mode, dev) {
  1577. return MEMFS.createNode(parent, name2, mode, dev);
  1578. }, rename: function(old_node, new_dir, new_name) {
  1579. if (FS.isDir(old_node.mode)) {
  1580. var new_node;
  1581. try {
  1582. new_node = FS.lookupNode(new_dir, new_name);
  1583. } catch (e) {
  1584. }
  1585. if (new_node) {
  1586. for (var i in new_node.contents) {
  1587. throw new FS.ErrnoError(55);
  1588. }
  1589. }
  1590. }
  1591. delete old_node.parent.contents[old_node.name];
  1592. old_node.name = new_name;
  1593. new_dir.contents[new_name] = old_node;
  1594. old_node.parent = new_dir;
  1595. }, unlink: function(parent, name2) {
  1596. delete parent.contents[name2];
  1597. }, rmdir: function(parent, name2) {
  1598. var node = FS.lookupNode(parent, name2);
  1599. for (var i in node.contents) {
  1600. throw new FS.ErrnoError(55);
  1601. }
  1602. delete parent.contents[name2];
  1603. }, readdir: function(node) {
  1604. var entries = [".", ".."];
  1605. for (var key2 in node.contents) {
  1606. if (!node.contents.hasOwnProperty(key2)) {
  1607. continue;
  1608. }
  1609. entries.push(key2);
  1610. }
  1611. return entries;
  1612. }, symlink: function(parent, newname, oldpath) {
  1613. var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
  1614. node.link = oldpath;
  1615. return node;
  1616. }, readlink: function(node) {
  1617. if (!FS.isLink(node.mode)) {
  1618. throw new FS.ErrnoError(28);
  1619. }
  1620. return node.link;
  1621. } }, stream_ops: { read: function(stream, buffer2, offset, length, position) {
  1622. var contents = stream.node.contents;
  1623. if (position >= stream.node.usedBytes)
  1624. return 0;
  1625. var size = Math.min(stream.node.usedBytes - position, length);
  1626. if (size > 8 && contents.subarray) {
  1627. buffer2.set(contents.subarray(position, position + size), offset);
  1628. } else {
  1629. for (var i = 0; i < size; i++)
  1630. buffer2[offset + i] = contents[position + i];
  1631. }
  1632. return size;
  1633. }, write: function(stream, buffer2, offset, length, position, canOwn) {
  1634. if (buffer2.buffer === GROWABLE_HEAP_I8().buffer) {
  1635. canOwn = false;
  1636. }
  1637. if (!length)
  1638. return 0;
  1639. var node = stream.node;
  1640. node.timestamp = Date.now();
  1641. if (buffer2.subarray && (!node.contents || node.contents.subarray)) {
  1642. if (canOwn) {
  1643. node.contents = buffer2.subarray(offset, offset + length);
  1644. node.usedBytes = length;
  1645. return length;
  1646. } else if (node.usedBytes === 0 && position === 0) {
  1647. node.contents = buffer2.slice(offset, offset + length);
  1648. node.usedBytes = length;
  1649. return length;
  1650. } else if (position + length <= node.usedBytes) {
  1651. node.contents.set(buffer2.subarray(offset, offset + length), position);
  1652. return length;
  1653. }
  1654. }
  1655. MEMFS.expandFileStorage(node, position + length);
  1656. if (node.contents.subarray && buffer2.subarray) {
  1657. node.contents.set(buffer2.subarray(offset, offset + length), position);
  1658. } else {
  1659. for (var i = 0; i < length; i++) {
  1660. node.contents[position + i] = buffer2[offset + i];
  1661. }
  1662. }
  1663. node.usedBytes = Math.max(node.usedBytes, position + length);
  1664. return length;
  1665. }, llseek: function(stream, offset, whence) {
  1666. var position = offset;
  1667. if (whence === 1) {
  1668. position += stream.position;
  1669. } else if (whence === 2) {
  1670. if (FS.isFile(stream.node.mode)) {
  1671. position += stream.node.usedBytes;
  1672. }
  1673. }
  1674. if (position < 0) {
  1675. throw new FS.ErrnoError(28);
  1676. }
  1677. return position;
  1678. }, allocate: function(stream, offset, length) {
  1679. MEMFS.expandFileStorage(stream.node, offset + length);
  1680. stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
  1681. }, mmap: function(stream, address, length, position, prot, flags) {
  1682. assert(address === 0);
  1683. if (!FS.isFile(stream.node.mode)) {
  1684. throw new FS.ErrnoError(43);
  1685. }
  1686. var ptr;
  1687. var allocated;
  1688. var contents = stream.node.contents;
  1689. if (!(flags & 2) && contents.buffer === buffer) {
  1690. allocated = false;
  1691. ptr = contents.byteOffset;
  1692. } else {
  1693. if (position > 0 || position + length < contents.length) {
  1694. if (contents.subarray) {
  1695. contents = contents.subarray(position, position + length);
  1696. } else {
  1697. contents = Array.prototype.slice.call(contents, position, position + length);
  1698. }
  1699. }
  1700. allocated = true;
  1701. ptr = mmapAlloc(length);
  1702. if (!ptr) {
  1703. throw new FS.ErrnoError(48);
  1704. }
  1705. ptr >>>= 0;
  1706. GROWABLE_HEAP_I8().set(contents, ptr);
  1707. }
  1708. return { ptr, allocated };
  1709. }, msync: function(stream, buffer2, offset, length, mmapFlags) {
  1710. if (!FS.isFile(stream.node.mode)) {
  1711. throw new FS.ErrnoError(43);
  1712. }
  1713. if (mmapFlags & 2) {
  1714. return 0;
  1715. }
  1716. var bytesWritten = MEMFS.stream_ops.write(stream, buffer2, 0, length, offset, false);
  1717. return 0;
  1718. } } };
  1719. var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, trackingDelegate: {}, tracking: { openFlags: { READ: 1, WRITE: 2 } }, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath: function(path, opts) {
  1720. path = PATH_FS.resolve(FS.cwd(), path);
  1721. opts = opts || {};
  1722. if (!path)
  1723. return { path: "", node: null };
  1724. var defaults = { follow_mount: true, recurse_count: 0 };
  1725. for (var key2 in defaults) {
  1726. if (opts[key2] === void 0) {
  1727. opts[key2] = defaults[key2];
  1728. }
  1729. }
  1730. if (opts.recurse_count > 8) {
  1731. throw new FS.ErrnoError(32);
  1732. }
  1733. var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
  1734. return !!p;
  1735. }), false);
  1736. var current = FS.root;
  1737. var current_path = "/";
  1738. for (var i = 0; i < parts.length; i++) {
  1739. var islast = i === parts.length - 1;
  1740. if (islast && opts.parent) {
  1741. break;
  1742. }
  1743. current = FS.lookupNode(current, parts[i]);
  1744. current_path = PATH.join2(current_path, parts[i]);
  1745. if (FS.isMountpoint(current)) {
  1746. if (!islast || islast && opts.follow_mount) {
  1747. current = current.mounted.root;
  1748. }
  1749. }
  1750. if (!islast || opts.follow) {
  1751. var count = 0;
  1752. while (FS.isLink(current.mode)) {
  1753. var link = FS.readlink(current_path);
  1754. current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
  1755. var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
  1756. current = lookup.node;
  1757. if (count++ > 40) {
  1758. throw new FS.ErrnoError(32);
  1759. }
  1760. }
  1761. }
  1762. }
  1763. return { path: current_path, node: current };
  1764. }, getPath: function(node) {
  1765. var path;
  1766. while (true) {
  1767. if (FS.isRoot(node)) {
  1768. var mount = node.mount.mountpoint;
  1769. if (!path)
  1770. return mount;
  1771. return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
  1772. }
  1773. path = path ? node.name + "/" + path : node.name;
  1774. node = node.parent;
  1775. }
  1776. }, hashName: function(parentid, name2) {
  1777. var hash = 0;
  1778. for (var i = 0; i < name2.length; i++) {
  1779. hash = (hash << 5) - hash + name2.charCodeAt(i) | 0;
  1780. }
  1781. return (parentid + hash >>> 0) % FS.nameTable.length;
  1782. }, hashAddNode: function(node) {
  1783. var hash = FS.hashName(node.parent.id, node.name);
  1784. node.name_next = FS.nameTable[hash];
  1785. FS.nameTable[hash] = node;
  1786. }, hashRemoveNode: function(node) {
  1787. var hash = FS.hashName(node.parent.id, node.name);
  1788. if (FS.nameTable[hash] === node) {
  1789. FS.nameTable[hash] = node.name_next;
  1790. } else {
  1791. var current = FS.nameTable[hash];
  1792. while (current) {
  1793. if (current.name_next === node) {
  1794. current.name_next = node.name_next;
  1795. break;
  1796. }
  1797. current = current.name_next;
  1798. }
  1799. }
  1800. }, lookupNode: function(parent, name2) {
  1801. var errCode = FS.mayLookup(parent);
  1802. if (errCode) {
  1803. throw new FS.ErrnoError(errCode, parent);
  1804. }
  1805. var hash = FS.hashName(parent.id, name2);
  1806. for (var node = FS.nameTable[hash]; node; node = node.name_next) {
  1807. var nodeName = node.name;
  1808. if (node.parent.id === parent.id && nodeName === name2) {
  1809. return node;
  1810. }
  1811. }
  1812. return FS.lookup(parent, name2);
  1813. }, createNode: function(parent, name2, mode, rdev) {
  1814. var node = new FS.FSNode(parent, name2, mode, rdev);
  1815. FS.hashAddNode(node);
  1816. return node;
  1817. }, destroyNode: function(node) {
  1818. FS.hashRemoveNode(node);
  1819. }, isRoot: function(node) {
  1820. return node === node.parent;
  1821. }, isMountpoint: function(node) {
  1822. return !!node.mounted;
  1823. }, isFile: function(mode) {
  1824. return (mode & 61440) === 32768;
  1825. }, isDir: function(mode) {
  1826. return (mode & 61440) === 16384;
  1827. }, isLink: function(mode) {
  1828. return (mode & 61440) === 40960;
  1829. }, isChrdev: function(mode) {
  1830. return (mode & 61440) === 8192;
  1831. }, isBlkdev: function(mode) {
  1832. return (mode & 61440) === 24576;
  1833. }, isFIFO: function(mode) {
  1834. return (mode & 61440) === 4096;
  1835. }, isSocket: function(mode) {
  1836. return (mode & 49152) === 49152;
  1837. }, flagModes: { "r": 0, "r+": 2, "w": 577, "w+": 578, "a": 1089, "a+": 1090 }, modeStringToFlags: function(str) {
  1838. var flags = FS.flagModes[str];
  1839. if (typeof flags === "undefined") {
  1840. throw new Error("Unknown file open mode: " + str);
  1841. }
  1842. return flags;
  1843. }, flagsToPermissionString: function(flag) {
  1844. var perms = ["r", "w", "rw"][flag & 3];
  1845. if (flag & 512) {
  1846. perms += "w";
  1847. }
  1848. return perms;
  1849. }, nodePermissions: function(node, perms) {
  1850. if (FS.ignorePermissions) {
  1851. return 0;
  1852. }
  1853. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  1854. return 2;
  1855. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  1856. return 2;
  1857. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  1858. return 2;
  1859. }
  1860. return 0;
  1861. }, mayLookup: function(dir) {
  1862. var errCode = FS.nodePermissions(dir, "x");
  1863. if (errCode)
  1864. return errCode;
  1865. if (!dir.node_ops.lookup)
  1866. return 2;
  1867. return 0;
  1868. }, mayCreate: function(dir, name2) {
  1869. try {
  1870. var node = FS.lookupNode(dir, name2);
  1871. return 20;
  1872. } catch (e) {
  1873. }
  1874. return FS.nodePermissions(dir, "wx");
  1875. }, mayDelete: function(dir, name2, isdir) {
  1876. var node;
  1877. try {
  1878. node = FS.lookupNode(dir, name2);
  1879. } catch (e) {
  1880. return e.errno;
  1881. }
  1882. var errCode = FS.nodePermissions(dir, "wx");
  1883. if (errCode) {
  1884. return errCode;
  1885. }
  1886. if (isdir) {
  1887. if (!FS.isDir(node.mode)) {
  1888. return 54;
  1889. }
  1890. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  1891. return 10;
  1892. }
  1893. } else {
  1894. if (FS.isDir(node.mode)) {
  1895. return 31;
  1896. }
  1897. }
  1898. return 0;
  1899. }, mayOpen: function(node, flags) {
  1900. if (!node) {
  1901. return 44;
  1902. }
  1903. if (FS.isLink(node.mode)) {
  1904. return 32;
  1905. } else if (FS.isDir(node.mode)) {
  1906. if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
  1907. return 31;
  1908. }
  1909. }
  1910. return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
  1911. }, MAX_OPEN_FDS: 4096, nextfd: function(fd_start, fd_end) {
  1912. fd_start = fd_start || 0;
  1913. fd_end = fd_end || FS.MAX_OPEN_FDS;
  1914. for (var fd = fd_start; fd <= fd_end; fd++) {
  1915. if (!FS.streams[fd]) {
  1916. return fd;
  1917. }
  1918. }
  1919. throw new FS.ErrnoError(33);
  1920. }, getStream: function(fd) {
  1921. return FS.streams[fd];
  1922. }, createStream: function(stream, fd_start, fd_end) {
  1923. if (!FS.FSStream) {
  1924. FS.FSStream = function() {
  1925. };
  1926. FS.FSStream.prototype = { object: { get: function() {
  1927. return this.node;
  1928. }, set: function(val) {
  1929. this.node = val;
  1930. } }, isRead: { get: function() {
  1931. return (this.flags & 2097155) !== 1;
  1932. } }, isWrite: { get: function() {
  1933. return (this.flags & 2097155) !== 0;
  1934. } }, isAppend: { get: function() {
  1935. return this.flags & 1024;
  1936. } } };
  1937. }
  1938. var newStream = new FS.FSStream();
  1939. for (var p in stream) {
  1940. newStream[p] = stream[p];
  1941. }
  1942. stream = newStream;
  1943. var fd = FS.nextfd(fd_start, fd_end);
  1944. stream.fd = fd;
  1945. FS.streams[fd] = stream;
  1946. return stream;
  1947. }, closeStream: function(fd) {
  1948. FS.streams[fd] = null;
  1949. }, chrdev_stream_ops: { open: function(stream) {
  1950. var device = FS.getDevice(stream.node.rdev);
  1951. stream.stream_ops = device.stream_ops;
  1952. if (stream.stream_ops.open) {
  1953. stream.stream_ops.open(stream);
  1954. }
  1955. }, llseek: function() {
  1956. throw new FS.ErrnoError(70);
  1957. } }, major: function(dev) {
  1958. return dev >> 8;
  1959. }, minor: function(dev) {
  1960. return dev & 255;
  1961. }, makedev: function(ma, mi) {
  1962. return ma << 8 | mi;
  1963. }, registerDevice: function(dev, ops) {
  1964. FS.devices[dev] = { stream_ops: ops };
  1965. }, getDevice: function(dev) {
  1966. return FS.devices[dev];
  1967. }, getMounts: function(mount) {
  1968. var mounts = [];
  1969. var check = [mount];
  1970. while (check.length) {
  1971. var m = check.pop();
  1972. mounts.push(m);
  1973. check.push.apply(check, m.mounts);
  1974. }
  1975. return mounts;
  1976. }, syncfs: function(populate, callback) {
  1977. if (typeof populate === "function") {
  1978. callback = populate;
  1979. populate = false;
  1980. }
  1981. FS.syncFSRequests++;
  1982. if (FS.syncFSRequests > 1) {
  1983. err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
  1984. }
  1985. var mounts = FS.getMounts(FS.root.mount);
  1986. var completed = 0;
  1987. function doCallback(errCode) {
  1988. FS.syncFSRequests--;
  1989. return callback(errCode);
  1990. }
  1991. function done(errCode) {
  1992. if (errCode) {
  1993. if (!done.errored) {
  1994. done.errored = true;
  1995. return doCallback(errCode);
  1996. }
  1997. return;
  1998. }
  1999. if (++completed >= mounts.length) {
  2000. doCallback(null);
  2001. }
  2002. }
  2003. mounts.forEach(function(mount) {
  2004. if (!mount.type.syncfs) {
  2005. return done(null);
  2006. }
  2007. mount.type.syncfs(mount, populate, done);
  2008. });
  2009. }, mount: function(type, opts, mountpoint) {
  2010. var root = mountpoint === "/";
  2011. var pseudo = !mountpoint;
  2012. var node;
  2013. if (root && FS.root) {
  2014. throw new FS.ErrnoError(10);
  2015. } else if (!root && !pseudo) {
  2016. var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
  2017. mountpoint = lookup.path;
  2018. node = lookup.node;
  2019. if (FS.isMountpoint(node)) {
  2020. throw new FS.ErrnoError(10);
  2021. }
  2022. if (!FS.isDir(node.mode)) {
  2023. throw new FS.ErrnoError(54);
  2024. }
  2025. }
  2026. var mount = { type, opts, mountpoint, mounts: [] };
  2027. var mountRoot = type.mount(mount);
  2028. mountRoot.mount = mount;
  2029. mount.root = mountRoot;
  2030. if (root) {
  2031. FS.root = mountRoot;
  2032. } else if (node) {
  2033. node.mounted = mount;
  2034. if (node.mount) {
  2035. node.mount.mounts.push(mount);
  2036. }
  2037. }
  2038. return mountRoot;
  2039. }, unmount: function(mountpoint) {
  2040. var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
  2041. if (!FS.isMountpoint(lookup.node)) {
  2042. throw new FS.ErrnoError(28);
  2043. }
  2044. var node = lookup.node;
  2045. var mount = node.mounted;
  2046. var mounts = FS.getMounts(mount);
  2047. Object.keys(FS.nameTable).forEach(function(hash) {
  2048. var current = FS.nameTable[hash];
  2049. while (current) {
  2050. var next = current.name_next;
  2051. if (mounts.indexOf(current.mount) !== -1) {
  2052. FS.destroyNode(current);
  2053. }
  2054. current = next;
  2055. }
  2056. });
  2057. node.mounted = null;
  2058. var idx = node.mount.mounts.indexOf(mount);
  2059. node.mount.mounts.splice(idx, 1);
  2060. }, lookup: function(parent, name2) {
  2061. return parent.node_ops.lookup(parent, name2);
  2062. }, mknod: function(path, mode, dev) {
  2063. var lookup = FS.lookupPath(path, { parent: true });
  2064. var parent = lookup.node;
  2065. var name2 = PATH.basename(path);
  2066. if (!name2 || name2 === "." || name2 === "..") {
  2067. throw new FS.ErrnoError(28);
  2068. }
  2069. var errCode = FS.mayCreate(parent, name2);
  2070. if (errCode) {
  2071. throw new FS.ErrnoError(errCode);
  2072. }
  2073. if (!parent.node_ops.mknod) {
  2074. throw new FS.ErrnoError(63);
  2075. }
  2076. return parent.node_ops.mknod(parent, name2, mode, dev);
  2077. }, create: function(path, mode) {
  2078. mode = mode !== void 0 ? mode : 438;
  2079. mode &= 4095;
  2080. mode |= 32768;
  2081. return FS.mknod(path, mode, 0);
  2082. }, mkdir: function(path, mode) {
  2083. mode = mode !== void 0 ? mode : 511;
  2084. mode &= 511 | 512;
  2085. mode |= 16384;
  2086. return FS.mknod(path, mode, 0);
  2087. }, mkdirTree: function(path, mode) {
  2088. var dirs = path.split("/");
  2089. var d = "";
  2090. for (var i = 0; i < dirs.length; ++i) {
  2091. if (!dirs[i])
  2092. continue;
  2093. d += "/" + dirs[i];
  2094. try {
  2095. FS.mkdir(d, mode);
  2096. } catch (e) {
  2097. if (e.errno != 20)
  2098. throw e;
  2099. }
  2100. }
  2101. }, mkdev: function(path, mode, dev) {
  2102. if (typeof dev === "undefined") {
  2103. dev = mode;
  2104. mode = 438;
  2105. }
  2106. mode |= 8192;
  2107. return FS.mknod(path, mode, dev);
  2108. }, symlink: function(oldpath, newpath) {
  2109. if (!PATH_FS.resolve(oldpath)) {
  2110. throw new FS.ErrnoError(44);
  2111. }
  2112. var lookup = FS.lookupPath(newpath, { parent: true });
  2113. var parent = lookup.node;
  2114. if (!parent) {
  2115. throw new FS.ErrnoError(44);
  2116. }
  2117. var newname = PATH.basename(newpath);
  2118. var errCode = FS.mayCreate(parent, newname);
  2119. if (errCode) {
  2120. throw new FS.ErrnoError(errCode);
  2121. }
  2122. if (!parent.node_ops.symlink) {
  2123. throw new FS.ErrnoError(63);
  2124. }
  2125. return parent.node_ops.symlink(parent, newname, oldpath);
  2126. }, rename: function(old_path, new_path) {
  2127. var old_dirname = PATH.dirname(old_path);
  2128. var new_dirname = PATH.dirname(new_path);
  2129. var old_name = PATH.basename(old_path);
  2130. var new_name = PATH.basename(new_path);
  2131. var lookup, old_dir, new_dir;
  2132. lookup = FS.lookupPath(old_path, { parent: true });
  2133. old_dir = lookup.node;
  2134. lookup = FS.lookupPath(new_path, { parent: true });
  2135. new_dir = lookup.node;
  2136. if (!old_dir || !new_dir)
  2137. throw new FS.ErrnoError(44);
  2138. if (old_dir.mount !== new_dir.mount) {
  2139. throw new FS.ErrnoError(75);
  2140. }
  2141. var old_node = FS.lookupNode(old_dir, old_name);
  2142. var relative = PATH_FS.relative(old_path, new_dirname);
  2143. if (relative.charAt(0) !== ".") {
  2144. throw new FS.ErrnoError(28);
  2145. }
  2146. relative = PATH_FS.relative(new_path, old_dirname);
  2147. if (relative.charAt(0) !== ".") {
  2148. throw new FS.ErrnoError(55);
  2149. }
  2150. var new_node;
  2151. try {
  2152. new_node = FS.lookupNode(new_dir, new_name);
  2153. } catch (e) {
  2154. }
  2155. if (old_node === new_node) {
  2156. return;
  2157. }
  2158. var isdir = FS.isDir(old_node.mode);
  2159. var errCode = FS.mayDelete(old_dir, old_name, isdir);
  2160. if (errCode) {
  2161. throw new FS.ErrnoError(errCode);
  2162. }
  2163. errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
  2164. if (errCode) {
  2165. throw new FS.ErrnoError(errCode);
  2166. }
  2167. if (!old_dir.node_ops.rename) {
  2168. throw new FS.ErrnoError(63);
  2169. }
  2170. if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
  2171. throw new FS.ErrnoError(10);
  2172. }
  2173. if (new_dir !== old_dir) {
  2174. errCode = FS.nodePermissions(old_dir, "w");
  2175. if (errCode) {
  2176. throw new FS.ErrnoError(errCode);
  2177. }
  2178. }
  2179. try {
  2180. if (FS.trackingDelegate["willMovePath"]) {
  2181. FS.trackingDelegate["willMovePath"](old_path, new_path);
  2182. }
  2183. } catch (e) {
  2184. err("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  2185. }
  2186. FS.hashRemoveNode(old_node);
  2187. try {
  2188. old_dir.node_ops.rename(old_node, new_dir, new_name);
  2189. } catch (e) {
  2190. throw e;
  2191. } finally {
  2192. FS.hashAddNode(old_node);
  2193. }
  2194. try {
  2195. if (FS.trackingDelegate["onMovePath"])
  2196. FS.trackingDelegate["onMovePath"](old_path, new_path);
  2197. } catch (e) {
  2198. err("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  2199. }
  2200. }, rmdir: function(path) {
  2201. var lookup = FS.lookupPath(path, { parent: true });
  2202. var parent = lookup.node;
  2203. var name2 = PATH.basename(path);
  2204. var node = FS.lookupNode(parent, name2);
  2205. var errCode = FS.mayDelete(parent, name2, true);
  2206. if (errCode) {
  2207. throw new FS.ErrnoError(errCode);
  2208. }
  2209. if (!parent.node_ops.rmdir) {
  2210. throw new FS.ErrnoError(63);
  2211. }
  2212. if (FS.isMountpoint(node)) {
  2213. throw new FS.ErrnoError(10);
  2214. }
  2215. try {
  2216. if (FS.trackingDelegate["willDeletePath"]) {
  2217. FS.trackingDelegate["willDeletePath"](path);
  2218. }
  2219. } catch (e) {
  2220. err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  2221. }
  2222. parent.node_ops.rmdir(parent, name2);
  2223. FS.destroyNode(node);
  2224. try {
  2225. if (FS.trackingDelegate["onDeletePath"])
  2226. FS.trackingDelegate["onDeletePath"](path);
  2227. } catch (e) {
  2228. err("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  2229. }
  2230. }, readdir: function(path) {
  2231. var lookup = FS.lookupPath(path, { follow: true });
  2232. var node = lookup.node;
  2233. if (!node.node_ops.readdir) {
  2234. throw new FS.ErrnoError(54);
  2235. }
  2236. return node.node_ops.readdir(node);
  2237. }, unlink: function(path) {
  2238. var lookup = FS.lookupPath(path, { parent: true });
  2239. var parent = lookup.node;
  2240. var name2 = PATH.basename(path);
  2241. var node = FS.lookupNode(parent, name2);
  2242. var errCode = FS.mayDelete(parent, name2, false);
  2243. if (errCode) {
  2244. throw new FS.ErrnoError(errCode);
  2245. }
  2246. if (!parent.node_ops.unlink) {
  2247. throw new FS.ErrnoError(63);
  2248. }
  2249. if (FS.isMountpoint(node)) {
  2250. throw new FS.ErrnoError(10);
  2251. }
  2252. try {
  2253. if (FS.trackingDelegate["willDeletePath"]) {
  2254. FS.trackingDelegate["willDeletePath"](path);
  2255. }
  2256. } catch (e) {
  2257. err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  2258. }
  2259. parent.node_ops.unlink(parent, name2);
  2260. FS.destroyNode(node);
  2261. try {
  2262. if (FS.trackingDelegate["onDeletePath"])
  2263. FS.trackingDelegate["onDeletePath"](path);
  2264. } catch (e) {
  2265. err("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  2266. }
  2267. }, readlink: function(path) {
  2268. var lookup = FS.lookupPath(path);
  2269. var link = lookup.node;
  2270. if (!link) {
  2271. throw new FS.ErrnoError(44);
  2272. }
  2273. if (!link.node_ops.readlink) {
  2274. throw new FS.ErrnoError(28);
  2275. }
  2276. return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
  2277. }, stat: function(path, dontFollow) {
  2278. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  2279. var node = lookup.node;
  2280. if (!node) {
  2281. throw new FS.ErrnoError(44);
  2282. }
  2283. if (!node.node_ops.getattr) {
  2284. throw new FS.ErrnoError(63);
  2285. }
  2286. return node.node_ops.getattr(node);
  2287. }, lstat: function(path) {
  2288. return FS.stat(path, true);
  2289. }, chmod: function(path, mode, dontFollow) {
  2290. var node;
  2291. if (typeof path === "string") {
  2292. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  2293. node = lookup.node;
  2294. } else {
  2295. node = path;
  2296. }
  2297. if (!node.node_ops.setattr) {
  2298. throw new FS.ErrnoError(63);
  2299. }
  2300. node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() });
  2301. }, lchmod: function(path, mode) {
  2302. FS.chmod(path, mode, true);
  2303. }, fchmod: function(fd, mode) {
  2304. var stream = FS.getStream(fd);
  2305. if (!stream) {
  2306. throw new FS.ErrnoError(8);
  2307. }
  2308. FS.chmod(stream.node, mode);
  2309. }, chown: function(path, uid, gid, dontFollow) {
  2310. var node;
  2311. if (typeof path === "string") {
  2312. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  2313. node = lookup.node;
  2314. } else {
  2315. node = path;
  2316. }
  2317. if (!node.node_ops.setattr) {
  2318. throw new FS.ErrnoError(63);
  2319. }
  2320. node.node_ops.setattr(node, { timestamp: Date.now() });
  2321. }, lchown: function(path, uid, gid) {
  2322. FS.chown(path, uid, gid, true);
  2323. }, fchown: function(fd, uid, gid) {
  2324. var stream = FS.getStream(fd);
  2325. if (!stream) {
  2326. throw new FS.ErrnoError(8);
  2327. }
  2328. FS.chown(stream.node, uid, gid);
  2329. }, truncate: function(path, len) {
  2330. if (len < 0) {
  2331. throw new FS.ErrnoError(28);
  2332. }
  2333. var node;
  2334. if (typeof path === "string") {
  2335. var lookup = FS.lookupPath(path, { follow: true });
  2336. node = lookup.node;
  2337. } else {
  2338. node = path;
  2339. }
  2340. if (!node.node_ops.setattr) {
  2341. throw new FS.ErrnoError(63);
  2342. }
  2343. if (FS.isDir(node.mode)) {
  2344. throw new FS.ErrnoError(31);
  2345. }
  2346. if (!FS.isFile(node.mode)) {
  2347. throw new FS.ErrnoError(28);
  2348. }
  2349. var errCode = FS.nodePermissions(node, "w");
  2350. if (errCode) {
  2351. throw new FS.ErrnoError(errCode);
  2352. }
  2353. node.node_ops.setattr(node, { size: len, timestamp: Date.now() });
  2354. }, ftruncate: function(fd, len) {
  2355. var stream = FS.getStream(fd);
  2356. if (!stream) {
  2357. throw new FS.ErrnoError(8);
  2358. }
  2359. if ((stream.flags & 2097155) === 0) {
  2360. throw new FS.ErrnoError(28);
  2361. }
  2362. FS.truncate(stream.node, len);
  2363. }, utime: function(path, atime, mtime) {
  2364. var lookup = FS.lookupPath(path, { follow: true });
  2365. var node = lookup.node;
  2366. node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) });
  2367. }, open: function(path, flags, mode, fd_start, fd_end) {
  2368. if (path === "") {
  2369. throw new FS.ErrnoError(44);
  2370. }
  2371. flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
  2372. mode = typeof mode === "undefined" ? 438 : mode;
  2373. if (flags & 64) {
  2374. mode = mode & 4095 | 32768;
  2375. } else {
  2376. mode = 0;
  2377. }
  2378. var node;
  2379. if (typeof path === "object") {
  2380. node = path;
  2381. } else {
  2382. path = PATH.normalize(path);
  2383. try {
  2384. var lookup = FS.lookupPath(path, { follow: !(flags & 131072) });
  2385. node = lookup.node;
  2386. } catch (e) {
  2387. }
  2388. }
  2389. var created = false;
  2390. if (flags & 64) {
  2391. if (node) {
  2392. if (flags & 128) {
  2393. throw new FS.ErrnoError(20);
  2394. }
  2395. } else {
  2396. node = FS.mknod(path, mode, 0);
  2397. created = true;
  2398. }
  2399. }
  2400. if (!node) {
  2401. throw new FS.ErrnoError(44);
  2402. }
  2403. if (FS.isChrdev(node.mode)) {
  2404. flags &= ~512;
  2405. }
  2406. if (flags & 65536 && !FS.isDir(node.mode)) {
  2407. throw new FS.ErrnoError(54);
  2408. }
  2409. if (!created) {
  2410. var errCode = FS.mayOpen(node, flags);
  2411. if (errCode) {
  2412. throw new FS.ErrnoError(errCode);
  2413. }
  2414. }
  2415. if (flags & 512) {
  2416. FS.truncate(node, 0);
  2417. }
  2418. flags &= ~(128 | 512 | 131072);
  2419. var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }, fd_start, fd_end);
  2420. if (stream.stream_ops.open) {
  2421. stream.stream_ops.open(stream);
  2422. }
  2423. if (Module["logReadFiles"] && !(flags & 1)) {
  2424. if (!FS.readFiles)
  2425. FS.readFiles = {};
  2426. if (!(path in FS.readFiles)) {
  2427. FS.readFiles[path] = 1;
  2428. err("FS.trackingDelegate error on read file: " + path);
  2429. }
  2430. }
  2431. try {
  2432. if (FS.trackingDelegate["onOpenFile"]) {
  2433. var trackingFlags = 0;
  2434. if ((flags & 2097155) !== 1) {
  2435. trackingFlags |= FS.tracking.openFlags.READ;
  2436. }
  2437. if ((flags & 2097155) !== 0) {
  2438. trackingFlags |= FS.tracking.openFlags.WRITE;
  2439. }
  2440. FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  2441. }
  2442. } catch (e) {
  2443. err("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
  2444. }
  2445. return stream;
  2446. }, close: function(stream) {
  2447. if (FS.isClosed(stream)) {
  2448. throw new FS.ErrnoError(8);
  2449. }
  2450. if (stream.getdents)
  2451. stream.getdents = null;
  2452. try {
  2453. if (stream.stream_ops.close) {
  2454. stream.stream_ops.close(stream);
  2455. }
  2456. } catch (e) {
  2457. throw e;
  2458. } finally {
  2459. FS.closeStream(stream.fd);
  2460. }
  2461. stream.fd = null;
  2462. }, isClosed: function(stream) {
  2463. return stream.fd === null;
  2464. }, llseek: function(stream, offset, whence) {
  2465. if (FS.isClosed(stream)) {
  2466. throw new FS.ErrnoError(8);
  2467. }
  2468. if (!stream.seekable || !stream.stream_ops.llseek) {
  2469. throw new FS.ErrnoError(70);
  2470. }
  2471. if (whence != 0 && whence != 1 && whence != 2) {
  2472. throw new FS.ErrnoError(28);
  2473. }
  2474. stream.position = stream.stream_ops.llseek(stream, offset, whence);
  2475. stream.ungotten = [];
  2476. return stream.position;
  2477. }, read: function(stream, buffer2, offset, length, position) {
  2478. offset >>>= 0;
  2479. if (length < 0 || position < 0) {
  2480. throw new FS.ErrnoError(28);
  2481. }
  2482. if (FS.isClosed(stream)) {
  2483. throw new FS.ErrnoError(8);
  2484. }
  2485. if ((stream.flags & 2097155) === 1) {
  2486. throw new FS.ErrnoError(8);
  2487. }
  2488. if (FS.isDir(stream.node.mode)) {
  2489. throw new FS.ErrnoError(31);
  2490. }
  2491. if (!stream.stream_ops.read) {
  2492. throw new FS.ErrnoError(28);
  2493. }
  2494. var seeking = typeof position !== "undefined";
  2495. if (!seeking) {
  2496. position = stream.position;
  2497. } else if (!stream.seekable) {
  2498. throw new FS.ErrnoError(70);
  2499. }
  2500. var bytesRead = stream.stream_ops.read(stream, buffer2, offset, length, position);
  2501. if (!seeking)
  2502. stream.position += bytesRead;
  2503. return bytesRead;
  2504. }, write: function(stream, buffer2, offset, length, position, canOwn) {
  2505. offset >>>= 0;
  2506. if (length < 0 || position < 0) {
  2507. throw new FS.ErrnoError(28);
  2508. }
  2509. if (FS.isClosed(stream)) {
  2510. throw new FS.ErrnoError(8);
  2511. }
  2512. if ((stream.flags & 2097155) === 0) {
  2513. throw new FS.ErrnoError(8);
  2514. }
  2515. if (FS.isDir(stream.node.mode)) {
  2516. throw new FS.ErrnoError(31);
  2517. }
  2518. if (!stream.stream_ops.write) {
  2519. throw new FS.ErrnoError(28);
  2520. }
  2521. if (stream.seekable && stream.flags & 1024) {
  2522. FS.llseek(stream, 0, 2);
  2523. }
  2524. var seeking = typeof position !== "undefined";
  2525. if (!seeking) {
  2526. position = stream.position;
  2527. } else if (!stream.seekable) {
  2528. throw new FS.ErrnoError(70);
  2529. }
  2530. var bytesWritten = stream.stream_ops.write(stream, buffer2, offset, length, position, canOwn);
  2531. if (!seeking)
  2532. stream.position += bytesWritten;
  2533. try {
  2534. if (stream.path && FS.trackingDelegate["onWriteToFile"])
  2535. FS.trackingDelegate["onWriteToFile"](stream.path);
  2536. } catch (e) {
  2537. err("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
  2538. }
  2539. return bytesWritten;
  2540. }, allocate: function(stream, offset, length) {
  2541. if (FS.isClosed(stream)) {
  2542. throw new FS.ErrnoError(8);
  2543. }
  2544. if (offset < 0 || length <= 0) {
  2545. throw new FS.ErrnoError(28);
  2546. }
  2547. if ((stream.flags & 2097155) === 0) {
  2548. throw new FS.ErrnoError(8);
  2549. }
  2550. if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
  2551. throw new FS.ErrnoError(43);
  2552. }
  2553. if (!stream.stream_ops.allocate) {
  2554. throw new FS.ErrnoError(138);
  2555. }
  2556. stream.stream_ops.allocate(stream, offset, length);
  2557. }, mmap: function(stream, address, length, position, prot, flags) {
  2558. address >>>= 0;
  2559. if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
  2560. throw new FS.ErrnoError(2);
  2561. }
  2562. if ((stream.flags & 2097155) === 1) {
  2563. throw new FS.ErrnoError(2);
  2564. }
  2565. if (!stream.stream_ops.mmap) {
  2566. throw new FS.ErrnoError(43);
  2567. }
  2568. return stream.stream_ops.mmap(stream, address, length, position, prot, flags);
  2569. }, msync: function(stream, buffer2, offset, length, mmapFlags) {
  2570. offset >>>= 0;
  2571. if (!stream || !stream.stream_ops.msync) {
  2572. return 0;
  2573. }
  2574. return stream.stream_ops.msync(stream, buffer2, offset, length, mmapFlags);
  2575. }, munmap: function(stream) {
  2576. return 0;
  2577. }, ioctl: function(stream, cmd, arg) {
  2578. if (!stream.stream_ops.ioctl) {
  2579. throw new FS.ErrnoError(59);
  2580. }
  2581. return stream.stream_ops.ioctl(stream, cmd, arg);
  2582. }, readFile: function(path, opts) {
  2583. opts = opts || {};
  2584. opts.flags = opts.flags || 0;
  2585. opts.encoding = opts.encoding || "binary";
  2586. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  2587. throw new Error('Invalid encoding type "' + opts.encoding + '"');
  2588. }
  2589. var ret;
  2590. var stream = FS.open(path, opts.flags);
  2591. var stat = FS.stat(path);
  2592. var length = stat.size;
  2593. var buf = new Uint8Array(length);
  2594. FS.read(stream, buf, 0, length, 0);
  2595. if (opts.encoding === "utf8") {
  2596. ret = UTF8ArrayToString(buf, 0);
  2597. } else if (opts.encoding === "binary") {
  2598. ret = buf;
  2599. }
  2600. FS.close(stream);
  2601. return ret;
  2602. }, writeFile: function(path, data, opts) {
  2603. opts = opts || {};
  2604. opts.flags = opts.flags || 577;
  2605. var stream = FS.open(path, opts.flags, opts.mode);
  2606. if (typeof data === "string") {
  2607. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  2608. var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
  2609. FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn);
  2610. } else if (ArrayBuffer.isView(data)) {
  2611. FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn);
  2612. } else {
  2613. throw new Error("Unsupported data type");
  2614. }
  2615. FS.close(stream);
  2616. }, cwd: function() {
  2617. return FS.currentPath;
  2618. }, chdir: function(path) {
  2619. var lookup = FS.lookupPath(path, { follow: true });
  2620. if (lookup.node === null) {
  2621. throw new FS.ErrnoError(44);
  2622. }
  2623. if (!FS.isDir(lookup.node.mode)) {
  2624. throw new FS.ErrnoError(54);
  2625. }
  2626. var errCode = FS.nodePermissions(lookup.node, "x");
  2627. if (errCode) {
  2628. throw new FS.ErrnoError(errCode);
  2629. }
  2630. FS.currentPath = lookup.path;
  2631. }, createDefaultDirectories: function() {
  2632. FS.mkdir("/tmp");
  2633. FS.mkdir("/home");
  2634. FS.mkdir("/home/web_user");
  2635. }, createDefaultDevices: function() {
  2636. FS.mkdir("/dev");
  2637. FS.registerDevice(FS.makedev(1, 3), { read: function() {
  2638. return 0;
  2639. }, write: function(stream, buffer2, offset, length, pos) {
  2640. return length;
  2641. } });
  2642. FS.mkdev("/dev/null", FS.makedev(1, 3));
  2643. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  2644. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  2645. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  2646. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  2647. var random_device = getRandomDevice();
  2648. FS.createDevice("/dev", "random", random_device);
  2649. FS.createDevice("/dev", "urandom", random_device);
  2650. FS.mkdir("/dev/shm");
  2651. FS.mkdir("/dev/shm/tmp");
  2652. }, createSpecialDirectories: function() {
  2653. FS.mkdir("/proc");
  2654. FS.mkdir("/proc/self");
  2655. FS.mkdir("/proc/self/fd");
  2656. FS.mount({ mount: function() {
  2657. var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
  2658. node.node_ops = { lookup: function(parent, name2) {
  2659. var fd = +name2;
  2660. var stream = FS.getStream(fd);
  2661. if (!stream)
  2662. throw new FS.ErrnoError(8);
  2663. var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: function() {
  2664. return stream.path;
  2665. } } };
  2666. ret.parent = ret;
  2667. return ret;
  2668. } };
  2669. return node;
  2670. } }, {}, "/proc/self/fd");
  2671. }, createStandardStreams: function() {
  2672. if (Module["stdin"]) {
  2673. FS.createDevice("/dev", "stdin", Module["stdin"]);
  2674. } else {
  2675. FS.symlink("/dev/tty", "/dev/stdin");
  2676. }
  2677. if (Module["stdout"]) {
  2678. FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  2679. } else {
  2680. FS.symlink("/dev/tty", "/dev/stdout");
  2681. }
  2682. if (Module["stderr"]) {
  2683. FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  2684. } else {
  2685. FS.symlink("/dev/tty1", "/dev/stderr");
  2686. }
  2687. var stdin = FS.open("/dev/stdin", 0);
  2688. var stdout = FS.open("/dev/stdout", 1);
  2689. var stderr = FS.open("/dev/stderr", 1);
  2690. }, ensureErrnoError: function() {
  2691. if (FS.ErrnoError)
  2692. return;
  2693. FS.ErrnoError = function ErrnoError(errno, node) {
  2694. this.node = node;
  2695. this.setErrno = function(errno2) {
  2696. this.errno = errno2;
  2697. };
  2698. this.setErrno(errno);
  2699. this.message = "FS error";
  2700. };
  2701. FS.ErrnoError.prototype = new Error();
  2702. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  2703. [44].forEach(function(code) {
  2704. FS.genericErrors[code] = new FS.ErrnoError(code);
  2705. FS.genericErrors[code].stack = "<generic error, no stack>";
  2706. });
  2707. }, staticInit: function() {
  2708. FS.ensureErrnoError();
  2709. FS.nameTable = new Array(4096);
  2710. FS.mount(MEMFS, {}, "/");
  2711. FS.createDefaultDirectories();
  2712. FS.createDefaultDevices();
  2713. FS.createSpecialDirectories();
  2714. FS.filesystems = { "MEMFS": MEMFS };
  2715. }, init: function(input, output, error) {
  2716. FS.init.initialized = true;
  2717. FS.ensureErrnoError();
  2718. Module["stdin"] = input || Module["stdin"];
  2719. Module["stdout"] = output || Module["stdout"];
  2720. Module["stderr"] = error || Module["stderr"];
  2721. FS.createStandardStreams();
  2722. }, quit: function() {
  2723. FS.init.initialized = false;
  2724. var fflush = Module["_fflush"];
  2725. if (fflush)
  2726. fflush(0);
  2727. for (var i = 0; i < FS.streams.length; i++) {
  2728. var stream = FS.streams[i];
  2729. if (!stream) {
  2730. continue;
  2731. }
  2732. FS.close(stream);
  2733. }
  2734. }, getMode: function(canRead, canWrite) {
  2735. var mode = 0;
  2736. if (canRead)
  2737. mode |= 292 | 73;
  2738. if (canWrite)
  2739. mode |= 146;
  2740. return mode;
  2741. }, findObject: function(path, dontResolveLastLink) {
  2742. var ret = FS.analyzePath(path, dontResolveLastLink);
  2743. if (ret.exists) {
  2744. return ret.object;
  2745. } else {
  2746. return null;
  2747. }
  2748. }, analyzePath: function(path, dontResolveLastLink) {
  2749. try {
  2750. var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
  2751. path = lookup.path;
  2752. } catch (e) {
  2753. }
  2754. var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null };
  2755. try {
  2756. var lookup = FS.lookupPath(path, { parent: true });
  2757. ret.parentExists = true;
  2758. ret.parentPath = lookup.path;
  2759. ret.parentObject = lookup.node;
  2760. ret.name = PATH.basename(path);
  2761. lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
  2762. ret.exists = true;
  2763. ret.path = lookup.path;
  2764. ret.object = lookup.node;
  2765. ret.name = lookup.node.name;
  2766. ret.isRoot = lookup.path === "/";
  2767. } catch (e) {
  2768. ret.error = e.errno;
  2769. }
  2770. return ret;
  2771. }, createPath: function(parent, path, canRead, canWrite) {
  2772. parent = typeof parent === "string" ? parent : FS.getPath(parent);
  2773. var parts = path.split("/").reverse();
  2774. while (parts.length) {
  2775. var part = parts.pop();
  2776. if (!part)
  2777. continue;
  2778. var current = PATH.join2(parent, part);
  2779. try {
  2780. FS.mkdir(current);
  2781. } catch (e) {
  2782. }
  2783. parent = current;
  2784. }
  2785. return current;
  2786. }, createFile: function(parent, name2, properties, canRead, canWrite) {
  2787. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name2);
  2788. var mode = FS.getMode(canRead, canWrite);
  2789. return FS.create(path, mode);
  2790. }, createDataFile: function(parent, name2, data, canRead, canWrite, canOwn) {
  2791. var path = name2 ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name2) : parent;
  2792. var mode = FS.getMode(canRead, canWrite);
  2793. var node = FS.create(path, mode);
  2794. if (data) {
  2795. if (typeof data === "string") {
  2796. var arr = new Array(data.length);
  2797. for (var i = 0, len = data.length; i < len; ++i)
  2798. arr[i] = data.charCodeAt(i);
  2799. data = arr;
  2800. }
  2801. FS.chmod(node, mode | 146);
  2802. var stream = FS.open(node, 577);
  2803. FS.write(stream, data, 0, data.length, 0, canOwn);
  2804. FS.close(stream);
  2805. FS.chmod(node, mode);
  2806. }
  2807. return node;
  2808. }, createDevice: function(parent, name2, input, output) {
  2809. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name2);
  2810. var mode = FS.getMode(!!input, !!output);
  2811. if (!FS.createDevice.major)
  2812. FS.createDevice.major = 64;
  2813. var dev = FS.makedev(FS.createDevice.major++, 0);
  2814. FS.registerDevice(dev, { open: function(stream) {
  2815. stream.seekable = false;
  2816. }, close: function(stream) {
  2817. if (output && output.buffer && output.buffer.length) {
  2818. output(10);
  2819. }
  2820. }, read: function(stream, buffer2, offset, length, pos) {
  2821. var bytesRead = 0;
  2822. for (var i = 0; i < length; i++) {
  2823. var result;
  2824. try {
  2825. result = input();
  2826. } catch (e) {
  2827. throw new FS.ErrnoError(29);
  2828. }
  2829. if (result === void 0 && bytesRead === 0) {
  2830. throw new FS.ErrnoError(6);
  2831. }
  2832. if (result === null || result === void 0)
  2833. break;
  2834. bytesRead++;
  2835. buffer2[offset + i] = result;
  2836. }
  2837. if (bytesRead) {
  2838. stream.node.timestamp = Date.now();
  2839. }
  2840. return bytesRead;
  2841. }, write: function(stream, buffer2, offset, length, pos) {
  2842. for (var i = 0; i < length; i++) {
  2843. try {
  2844. output(buffer2[offset + i]);
  2845. } catch (e) {
  2846. throw new FS.ErrnoError(29);
  2847. }
  2848. }
  2849. if (length) {
  2850. stream.node.timestamp = Date.now();
  2851. }
  2852. return i;
  2853. } });
  2854. return FS.mkdev(path, mode, dev);
  2855. }, forceLoadFile: function(obj) {
  2856. if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
  2857. return true;
  2858. if (typeof XMLHttpRequest !== "undefined") {
  2859. throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
  2860. } else if (read_) {
  2861. try {
  2862. obj.contents = intArrayFromString(read_(obj.url), true);
  2863. obj.usedBytes = obj.contents.length;
  2864. } catch (e) {
  2865. throw new FS.ErrnoError(29);
  2866. }
  2867. } else {
  2868. throw new Error("Cannot load without read() or XMLHttpRequest.");
  2869. }
  2870. }, createLazyFile: function(parent, name2, url, canRead, canWrite) {
  2871. function LazyUint8Array() {
  2872. this.lengthKnown = false;
  2873. this.chunks = [];
  2874. }
  2875. LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
  2876. if (idx > this.length - 1 || idx < 0) {
  2877. return void 0;
  2878. }
  2879. var chunkOffset = idx % this.chunkSize;
  2880. var chunkNum = idx / this.chunkSize | 0;
  2881. return this.getter(chunkNum)[chunkOffset];
  2882. };
  2883. LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
  2884. this.getter = getter;
  2885. };
  2886. LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
  2887. var xhr = new XMLHttpRequest();
  2888. xhr.open("HEAD", url, false);
  2889. xhr.send(null);
  2890. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304))
  2891. throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  2892. var datalength = Number(xhr.getResponseHeader("Content-length"));
  2893. var header;
  2894. var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
  2895. var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
  2896. var chunkSize = 1024 * 1024;
  2897. if (!hasByteServing)
  2898. chunkSize = datalength;
  2899. var doXHR = function(from, to) {
  2900. if (from > to)
  2901. throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
  2902. if (to > datalength - 1)
  2903. throw new Error("only " + datalength + " bytes available! programmer error!");
  2904. var xhr2 = new XMLHttpRequest();
  2905. xhr2.open("GET", url, false);
  2906. if (datalength !== chunkSize)
  2907. xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to);
  2908. if (typeof Uint8Array != "undefined")
  2909. xhr2.responseType = "arraybuffer";
  2910. if (xhr2.overrideMimeType) {
  2911. xhr2.overrideMimeType("text/plain; charset=x-user-defined");
  2912. }
  2913. xhr2.send(null);
  2914. if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304))
  2915. throw new Error("Couldn't load " + url + ". Status: " + xhr2.status);
  2916. if (xhr2.response !== void 0) {
  2917. return new Uint8Array(xhr2.response || []);
  2918. } else {
  2919. return intArrayFromString(xhr2.responseText || "", true);
  2920. }
  2921. };
  2922. var lazyArray2 = this;
  2923. lazyArray2.setDataGetter(function(chunkNum) {
  2924. var start = chunkNum * chunkSize;
  2925. var end = (chunkNum + 1) * chunkSize - 1;
  2926. end = Math.min(end, datalength - 1);
  2927. if (typeof lazyArray2.chunks[chunkNum] === "undefined") {
  2928. lazyArray2.chunks[chunkNum] = doXHR(start, end);
  2929. }
  2930. if (typeof lazyArray2.chunks[chunkNum] === "undefined")
  2931. throw new Error("doXHR failed!");
  2932. return lazyArray2.chunks[chunkNum];
  2933. });
  2934. if (usesGzip || !datalength) {
  2935. chunkSize = datalength = 1;
  2936. datalength = this.getter(0).length;
  2937. chunkSize = datalength;
  2938. out("LazyFiles on gzip forces download of the whole file when length is accessed");
  2939. }
  2940. this._length = datalength;
  2941. this._chunkSize = chunkSize;
  2942. this.lengthKnown = true;
  2943. };
  2944. if (typeof XMLHttpRequest !== "undefined") {
  2945. if (!ENVIRONMENT_IS_WORKER)
  2946. throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  2947. var lazyArray = new LazyUint8Array();
  2948. Object.defineProperties(lazyArray, { length: { get: function() {
  2949. if (!this.lengthKnown) {
  2950. this.cacheLength();
  2951. }
  2952. return this._length;
  2953. } }, chunkSize: { get: function() {
  2954. if (!this.lengthKnown) {
  2955. this.cacheLength();
  2956. }
  2957. return this._chunkSize;
  2958. } } });
  2959. var properties = { isDevice: false, contents: lazyArray };
  2960. } else {
  2961. var properties = { isDevice: false, url };
  2962. }
  2963. var node = FS.createFile(parent, name2, properties, canRead, canWrite);
  2964. if (properties.contents) {
  2965. node.contents = properties.contents;
  2966. } else if (properties.url) {
  2967. node.contents = null;
  2968. node.url = properties.url;
  2969. }
  2970. Object.defineProperties(node, { usedBytes: { get: function() {
  2971. return this.contents.length;
  2972. } } });
  2973. var stream_ops = {};
  2974. var keys = Object.keys(node.stream_ops);
  2975. keys.forEach(function(key2) {
  2976. var fn = node.stream_ops[key2];
  2977. stream_ops[key2] = function forceLoadLazyFile() {
  2978. FS.forceLoadFile(node);
  2979. return fn.apply(null, arguments);
  2980. };
  2981. });
  2982. stream_ops.read = function stream_ops_read(stream, buffer2, offset, length, position) {
  2983. FS.forceLoadFile(node);
  2984. var contents = stream.node.contents;
  2985. if (position >= contents.length)
  2986. return 0;
  2987. var size = Math.min(contents.length - position, length);
  2988. if (contents.slice) {
  2989. for (var i = 0; i < size; i++) {
  2990. buffer2[offset + i] = contents[position + i];
  2991. }
  2992. } else {
  2993. for (var i = 0; i < size; i++) {
  2994. buffer2[offset + i] = contents.get(position + i);
  2995. }
  2996. }
  2997. return size;
  2998. };
  2999. node.stream_ops = stream_ops;
  3000. return node;
  3001. }, createPreloadedFile: function(parent, name2, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
  3002. Browser.init();
  3003. var fullname = name2 ? PATH_FS.resolve(PATH.join2(parent, name2)) : parent;
  3004. var dep = getUniqueRunDependency("cp " + fullname);
  3005. function processData(byteArray) {
  3006. function finish(byteArray2) {
  3007. if (preFinish)
  3008. preFinish();
  3009. if (!dontCreateFile) {
  3010. FS.createDataFile(parent, name2, byteArray2, canRead, canWrite, canOwn);
  3011. }
  3012. if (onload)
  3013. onload();
  3014. removeRunDependency(dep);
  3015. }
  3016. var handled = false;
  3017. Module["preloadPlugins"].forEach(function(plugin) {
  3018. if (handled)
  3019. return;
  3020. if (plugin["canHandle"](fullname)) {
  3021. plugin["handle"](byteArray, fullname, finish, function() {
  3022. if (onerror)
  3023. onerror();
  3024. removeRunDependency(dep);
  3025. });
  3026. handled = true;
  3027. }
  3028. });
  3029. if (!handled)
  3030. finish(byteArray);
  3031. }
  3032. addRunDependency(dep);
  3033. if (typeof url == "string") {
  3034. Browser.asyncLoad(url, function(byteArray) {
  3035. processData(byteArray);
  3036. }, onerror);
  3037. } else {
  3038. processData(url);
  3039. }
  3040. }, indexedDB: function() {
  3041. return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  3042. }, DB_NAME: function() {
  3043. return "EM_FS_" + window.location.pathname;
  3044. }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: function(paths, onload, onerror) {
  3045. onload = onload || function() {
  3046. };
  3047. onerror = onerror || function() {
  3048. };
  3049. var indexedDB = FS.indexedDB();
  3050. try {
  3051. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  3052. } catch (e) {
  3053. return onerror(e);
  3054. }
  3055. openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
  3056. out("creating db");
  3057. var db = openRequest.result;
  3058. db.createObjectStore(FS.DB_STORE_NAME);
  3059. };
  3060. openRequest.onsuccess = function openRequest_onsuccess() {
  3061. var db = openRequest.result;
  3062. var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");
  3063. var files = transaction.objectStore(FS.DB_STORE_NAME);
  3064. var ok = 0, fail = 0, total = paths.length;
  3065. function finish() {
  3066. if (fail == 0)
  3067. onload();
  3068. else
  3069. onerror();
  3070. }
  3071. paths.forEach(function(path) {
  3072. var putRequest = files.put(FS.analyzePath(path).object.contents, path);
  3073. putRequest.onsuccess = function putRequest_onsuccess() {
  3074. ok++;
  3075. if (ok + fail == total)
  3076. finish();
  3077. };
  3078. putRequest.onerror = function putRequest_onerror() {
  3079. fail++;
  3080. if (ok + fail == total)
  3081. finish();
  3082. };
  3083. });
  3084. transaction.onerror = onerror;
  3085. };
  3086. openRequest.onerror = onerror;
  3087. }, loadFilesFromDB: function(paths, onload, onerror) {
  3088. onload = onload || function() {
  3089. };
  3090. onerror = onerror || function() {
  3091. };
  3092. var indexedDB = FS.indexedDB();
  3093. try {
  3094. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  3095. } catch (e) {
  3096. return onerror(e);
  3097. }
  3098. openRequest.onupgradeneeded = onerror;
  3099. openRequest.onsuccess = function openRequest_onsuccess() {
  3100. var db = openRequest.result;
  3101. try {
  3102. var transaction = db.transaction([FS.DB_STORE_NAME], "readonly");
  3103. } catch (e) {
  3104. onerror(e);
  3105. return;
  3106. }
  3107. var files = transaction.objectStore(FS.DB_STORE_NAME);
  3108. var ok = 0, fail = 0, total = paths.length;
  3109. function finish() {
  3110. if (fail == 0)
  3111. onload();
  3112. else
  3113. onerror();
  3114. }
  3115. paths.forEach(function(path) {
  3116. var getRequest = files.get(path);
  3117. getRequest.onsuccess = function getRequest_onsuccess() {
  3118. if (FS.analyzePath(path).exists) {
  3119. FS.unlink(path);
  3120. }
  3121. FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
  3122. ok++;
  3123. if (ok + fail == total)
  3124. finish();
  3125. };
  3126. getRequest.onerror = function getRequest_onerror() {
  3127. fail++;
  3128. if (ok + fail == total)
  3129. finish();
  3130. };
  3131. });
  3132. transaction.onerror = onerror;
  3133. };
  3134. openRequest.onerror = onerror;
  3135. } };
  3136. var SYSCALLS = { mappings: {}, DEFAULT_POLLMASK: 5, umask: 511, calculateAt: function(dirfd, path) {
  3137. if (path[0] !== "/") {
  3138. var dir;
  3139. if (dirfd === -100) {
  3140. dir = FS.cwd();
  3141. } else {
  3142. var dirstream = FS.getStream(dirfd);
  3143. if (!dirstream)
  3144. throw new FS.ErrnoError(8);
  3145. dir = dirstream.path;
  3146. }
  3147. path = PATH.join2(dir, path);
  3148. }
  3149. return path;
  3150. }, doStat: function(func, path, buf) {
  3151. try {
  3152. var stat = func(path);
  3153. } catch (e) {
  3154. if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
  3155. return -54;
  3156. }
  3157. throw e;
  3158. }
  3159. GROWABLE_HEAP_I32()[buf >> 2] = stat.dev;
  3160. GROWABLE_HEAP_I32()[buf + 4 >> 2] = 0;
  3161. GROWABLE_HEAP_I32()[buf + 8 >> 2] = stat.ino;
  3162. GROWABLE_HEAP_I32()[buf + 12 >> 2] = stat.mode;
  3163. GROWABLE_HEAP_I32()[buf + 16 >> 2] = stat.nlink;
  3164. GROWABLE_HEAP_I32()[buf + 20 >> 2] = stat.uid;
  3165. GROWABLE_HEAP_I32()[buf + 24 >> 2] = stat.gid;
  3166. GROWABLE_HEAP_I32()[buf + 28 >> 2] = stat.rdev;
  3167. GROWABLE_HEAP_I32()[buf + 32 >> 2] = 0;
  3168. tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 40 >> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 44 >> 2] = tempI64[1];
  3169. GROWABLE_HEAP_I32()[buf + 48 >> 2] = 4096;
  3170. GROWABLE_HEAP_I32()[buf + 52 >> 2] = stat.blocks;
  3171. GROWABLE_HEAP_I32()[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0;
  3172. GROWABLE_HEAP_I32()[buf + 60 >> 2] = 0;
  3173. GROWABLE_HEAP_I32()[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0;
  3174. GROWABLE_HEAP_I32()[buf + 68 >> 2] = 0;
  3175. GROWABLE_HEAP_I32()[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0;
  3176. GROWABLE_HEAP_I32()[buf + 76 >> 2] = 0;
  3177. tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 80 >> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 84 >> 2] = tempI64[1];
  3178. return 0;
  3179. }, doMsync: function(addr, stream, len, flags, offset) {
  3180. var buffer2 = GROWABLE_HEAP_U8().slice(addr, addr + len);
  3181. FS.msync(stream, buffer2, offset, len, flags);
  3182. }, doMkdir: function(path, mode) {
  3183. path = PATH.normalize(path);
  3184. if (path[path.length - 1] === "/")
  3185. path = path.substr(0, path.length - 1);
  3186. FS.mkdir(path, mode, 0);
  3187. return 0;
  3188. }, doMknod: function(path, mode, dev) {
  3189. switch (mode & 61440) {
  3190. case 32768:
  3191. case 8192:
  3192. case 24576:
  3193. case 4096:
  3194. case 49152:
  3195. break;
  3196. default:
  3197. return -28;
  3198. }
  3199. FS.mknod(path, mode, dev);
  3200. return 0;
  3201. }, doReadlink: function(path, buf, bufsize) {
  3202. if (bufsize <= 0)
  3203. return -28;
  3204. var ret = FS.readlink(path);
  3205. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  3206. var endChar = GROWABLE_HEAP_I8()[buf + len];
  3207. stringToUTF8(ret, buf, bufsize + 1);
  3208. GROWABLE_HEAP_I8()[buf + len] = endChar;
  3209. return len;
  3210. }, doAccess: function(path, amode) {
  3211. if (amode & ~7) {
  3212. return -28;
  3213. }
  3214. var node;
  3215. var lookup = FS.lookupPath(path, { follow: true });
  3216. node = lookup.node;
  3217. if (!node) {
  3218. return -44;
  3219. }
  3220. var perms = "";
  3221. if (amode & 4)
  3222. perms += "r";
  3223. if (amode & 2)
  3224. perms += "w";
  3225. if (amode & 1)
  3226. perms += "x";
  3227. if (perms && FS.nodePermissions(node, perms)) {
  3228. return -2;
  3229. }
  3230. return 0;
  3231. }, doDup: function(path, flags, suggestFD) {
  3232. var suggest = FS.getStream(suggestFD);
  3233. if (suggest)
  3234. FS.close(suggest);
  3235. return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  3236. }, doReadv: function(stream, iov, iovcnt, offset) {
  3237. var ret = 0;
  3238. for (var i = 0; i < iovcnt; i++) {
  3239. var ptr = GROWABLE_HEAP_I32()[iov + i * 8 >> 2];
  3240. var len = GROWABLE_HEAP_I32()[iov + (i * 8 + 4) >> 2];
  3241. var curr = FS.read(stream, GROWABLE_HEAP_I8(), ptr, len, offset);
  3242. if (curr < 0)
  3243. return -1;
  3244. ret += curr;
  3245. if (curr < len)
  3246. break;
  3247. }
  3248. return ret;
  3249. }, doWritev: function(stream, iov, iovcnt, offset) {
  3250. var ret = 0;
  3251. for (var i = 0; i < iovcnt; i++) {
  3252. var ptr = GROWABLE_HEAP_I32()[iov + i * 8 >> 2];
  3253. var len = GROWABLE_HEAP_I32()[iov + (i * 8 + 4) >> 2];
  3254. var curr = FS.write(stream, GROWABLE_HEAP_I8(), ptr, len, offset);
  3255. if (curr < 0)
  3256. return -1;
  3257. ret += curr;
  3258. }
  3259. return ret;
  3260. }, varargs: void 0, get: function() {
  3261. SYSCALLS.varargs += 4;
  3262. var ret = GROWABLE_HEAP_I32()[SYSCALLS.varargs - 4 >> 2];
  3263. return ret;
  3264. }, getStr: function(ptr) {
  3265. var ret = UTF8ToString(ptr);
  3266. return ret;
  3267. }, getStreamFromFD: function(fd) {
  3268. var stream = FS.getStream(fd);
  3269. if (!stream)
  3270. throw new FS.ErrnoError(8);
  3271. return stream;
  3272. }, get64: function(low, high) {
  3273. return low;
  3274. } };
  3275. function ___sys_ioctl(fd, op, varargs) {
  3276. if (ENVIRONMENT_IS_PTHREAD)
  3277. return _emscripten_proxy_to_main_thread_js(2, 1, fd, op, varargs);
  3278. SYSCALLS.varargs = varargs;
  3279. try {
  3280. var stream = SYSCALLS.getStreamFromFD(fd);
  3281. switch (op) {
  3282. case 21509:
  3283. case 21505: {
  3284. if (!stream.tty)
  3285. return -59;
  3286. return 0;
  3287. }
  3288. case 21510:
  3289. case 21511:
  3290. case 21512:
  3291. case 21506:
  3292. case 21507:
  3293. case 21508: {
  3294. if (!stream.tty)
  3295. return -59;
  3296. return 0;
  3297. }
  3298. case 21519: {
  3299. if (!stream.tty)
  3300. return -59;
  3301. var argp = SYSCALLS.get();
  3302. GROWABLE_HEAP_I32()[argp >> 2] = 0;
  3303. return 0;
  3304. }
  3305. case 21520: {
  3306. if (!stream.tty)
  3307. return -59;
  3308. return -28;
  3309. }
  3310. case 21531: {
  3311. var argp = SYSCALLS.get();
  3312. return FS.ioctl(stream, op, argp);
  3313. }
  3314. case 21523: {
  3315. if (!stream.tty)
  3316. return -59;
  3317. return 0;
  3318. }
  3319. case 21524: {
  3320. if (!stream.tty)
  3321. return -59;
  3322. return 0;
  3323. }
  3324. default:
  3325. abort("bad ioctl syscall " + op);
  3326. }
  3327. } catch (e) {
  3328. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  3329. abort(e);
  3330. return -e.errno;
  3331. }
  3332. }
  3333. function ___sys_open(path, flags, varargs) {
  3334. if (ENVIRONMENT_IS_PTHREAD)
  3335. return _emscripten_proxy_to_main_thread_js(3, 1, path, flags, varargs);
  3336. SYSCALLS.varargs = varargs;
  3337. try {
  3338. var pathname = SYSCALLS.getStr(path);
  3339. var mode = SYSCALLS.get();
  3340. var stream = FS.open(pathname, flags, mode);
  3341. return stream.fd;
  3342. } catch (e) {
  3343. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  3344. abort(e);
  3345. return -e.errno;
  3346. }
  3347. }
  3348. var tupleRegistrations = {};
  3349. function runDestructors(destructors) {
  3350. while (destructors.length) {
  3351. var ptr = destructors.pop();
  3352. var del = destructors.pop();
  3353. del(ptr);
  3354. }
  3355. }
  3356. function simpleReadValueFromPointer(pointer) {
  3357. return this["fromWireType"](GROWABLE_HEAP_U32()[pointer >> 2]);
  3358. }
  3359. var awaitingDependencies = {};
  3360. var registeredTypes = {};
  3361. var typeDependencies = {};
  3362. var char_0 = 48;
  3363. var char_9 = 57;
  3364. function makeLegalFunctionName(name2) {
  3365. if (name2 === void 0) {
  3366. return "_unknown";
  3367. }
  3368. name2 = name2.replace(/[^a-zA-Z0-9_]/g, "$");
  3369. var f = name2.charCodeAt(0);
  3370. if (f >= char_0 && f <= char_9) {
  3371. return "_" + name2;
  3372. } else {
  3373. return name2;
  3374. }
  3375. }
  3376. function createNamedFunction(name2, body) {
  3377. name2 = makeLegalFunctionName(name2);
  3378. return new Function("body", "return function " + name2 + '() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body);
  3379. }
  3380. function extendError(baseErrorType, errorName) {
  3381. var errorClass = createNamedFunction(errorName, function(message) {
  3382. this.name = errorName;
  3383. this.message = message;
  3384. var stack = new Error(message).stack;
  3385. if (stack !== void 0) {
  3386. this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, "");
  3387. }
  3388. });
  3389. errorClass.prototype = Object.create(baseErrorType.prototype);
  3390. errorClass.prototype.constructor = errorClass;
  3391. errorClass.prototype.toString = function() {
  3392. if (this.message === void 0) {
  3393. return this.name;
  3394. } else {
  3395. return this.name + ": " + this.message;
  3396. }
  3397. };
  3398. return errorClass;
  3399. }
  3400. var InternalError = void 0;
  3401. function throwInternalError(message) {
  3402. throw new InternalError(message);
  3403. }
  3404. function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
  3405. myTypes.forEach(function(type) {
  3406. typeDependencies[type] = dependentTypes;
  3407. });
  3408. function onComplete(typeConverters2) {
  3409. var myTypeConverters = getTypeConverters(typeConverters2);
  3410. if (myTypeConverters.length !== myTypes.length) {
  3411. throwInternalError("Mismatched type converter count");
  3412. }
  3413. for (var i = 0; i < myTypes.length; ++i) {
  3414. registerType(myTypes[i], myTypeConverters[i]);
  3415. }
  3416. }
  3417. var typeConverters = new Array(dependentTypes.length);
  3418. var unregisteredTypes = [];
  3419. var registered = 0;
  3420. dependentTypes.forEach(function(dt, i) {
  3421. if (registeredTypes.hasOwnProperty(dt)) {
  3422. typeConverters[i] = registeredTypes[dt];
  3423. } else {
  3424. unregisteredTypes.push(dt);
  3425. if (!awaitingDependencies.hasOwnProperty(dt)) {
  3426. awaitingDependencies[dt] = [];
  3427. }
  3428. awaitingDependencies[dt].push(function() {
  3429. typeConverters[i] = registeredTypes[dt];
  3430. ++registered;
  3431. if (registered === unregisteredTypes.length) {
  3432. onComplete(typeConverters);
  3433. }
  3434. });
  3435. }
  3436. });
  3437. if (unregisteredTypes.length === 0) {
  3438. onComplete(typeConverters);
  3439. }
  3440. }
  3441. function __embind_finalize_value_array(rawTupleType) {
  3442. var reg = tupleRegistrations[rawTupleType];
  3443. delete tupleRegistrations[rawTupleType];
  3444. var elements = reg.elements;
  3445. var elementsLength = elements.length;
  3446. var elementTypes = elements.map(function(elt) {
  3447. return elt.getterReturnType;
  3448. }).concat(elements.map(function(elt) {
  3449. return elt.setterArgumentType;
  3450. }));
  3451. var rawConstructor = reg.rawConstructor;
  3452. var rawDestructor = reg.rawDestructor;
  3453. whenDependentTypesAreResolved([rawTupleType], elementTypes, function(elementTypes2) {
  3454. elements.forEach(function(elt, i) {
  3455. var getterReturnType = elementTypes2[i];
  3456. var getter = elt.getter;
  3457. var getterContext = elt.getterContext;
  3458. var setterArgumentType = elementTypes2[i + elementsLength];
  3459. var setter = elt.setter;
  3460. var setterContext = elt.setterContext;
  3461. elt.read = function(ptr) {
  3462. return getterReturnType["fromWireType"](getter(getterContext, ptr));
  3463. };
  3464. elt.write = function(ptr, o) {
  3465. var destructors = [];
  3466. setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o));
  3467. runDestructors(destructors);
  3468. };
  3469. });
  3470. return [{ name: reg.name, "fromWireType": function(ptr) {
  3471. var rv = new Array(elementsLength);
  3472. for (var i = 0; i < elementsLength; ++i) {
  3473. rv[i] = elements[i].read(ptr);
  3474. }
  3475. rawDestructor(ptr);
  3476. return rv;
  3477. }, "toWireType": function(destructors, o) {
  3478. if (elementsLength !== o.length) {
  3479. throw new TypeError("Incorrect number of tuple elements for " + reg.name + ": expected=" + elementsLength + ", actual=" + o.length);
  3480. }
  3481. var ptr = rawConstructor();
  3482. for (var i = 0; i < elementsLength; ++i) {
  3483. elements[i].write(ptr, o[i]);
  3484. }
  3485. if (destructors !== null) {
  3486. destructors.push(rawDestructor, ptr);
  3487. }
  3488. return ptr;
  3489. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }];
  3490. });
  3491. }
  3492. var structRegistrations = {};
  3493. function __embind_finalize_value_object(structType) {
  3494. var reg = structRegistrations[structType];
  3495. delete structRegistrations[structType];
  3496. var rawConstructor = reg.rawConstructor;
  3497. var rawDestructor = reg.rawDestructor;
  3498. var fieldRecords = reg.fields;
  3499. var fieldTypes = fieldRecords.map(function(field) {
  3500. return field.getterReturnType;
  3501. }).concat(fieldRecords.map(function(field) {
  3502. return field.setterArgumentType;
  3503. }));
  3504. whenDependentTypesAreResolved([structType], fieldTypes, function(fieldTypes2) {
  3505. var fields = {};
  3506. fieldRecords.forEach(function(field, i) {
  3507. var fieldName = field.fieldName;
  3508. var getterReturnType = fieldTypes2[i];
  3509. var getter = field.getter;
  3510. var getterContext = field.getterContext;
  3511. var setterArgumentType = fieldTypes2[i + fieldRecords.length];
  3512. var setter = field.setter;
  3513. var setterContext = field.setterContext;
  3514. fields[fieldName] = { read: function(ptr) {
  3515. return getterReturnType["fromWireType"](getter(getterContext, ptr));
  3516. }, write: function(ptr, o) {
  3517. var destructors = [];
  3518. setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o));
  3519. runDestructors(destructors);
  3520. } };
  3521. });
  3522. return [{ name: reg.name, "fromWireType": function(ptr) {
  3523. var rv = {};
  3524. for (var i in fields) {
  3525. rv[i] = fields[i].read(ptr);
  3526. }
  3527. rawDestructor(ptr);
  3528. return rv;
  3529. }, "toWireType": function(destructors, o) {
  3530. for (var fieldName in fields) {
  3531. if (!(fieldName in o)) {
  3532. throw new TypeError('Missing field: "' + fieldName + '"');
  3533. }
  3534. }
  3535. var ptr = rawConstructor();
  3536. for (fieldName in fields) {
  3537. fields[fieldName].write(ptr, o[fieldName]);
  3538. }
  3539. if (destructors !== null) {
  3540. destructors.push(rawDestructor, ptr);
  3541. }
  3542. return ptr;
  3543. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }];
  3544. });
  3545. }
  3546. function getShiftFromSize(size) {
  3547. switch (size) {
  3548. case 1:
  3549. return 0;
  3550. case 2:
  3551. return 1;
  3552. case 4:
  3553. return 2;
  3554. case 8:
  3555. return 3;
  3556. default:
  3557. throw new TypeError("Unknown type size: " + size);
  3558. }
  3559. }
  3560. function embind_init_charCodes() {
  3561. var codes = new Array(256);
  3562. for (var i = 0; i < 256; ++i) {
  3563. codes[i] = String.fromCharCode(i);
  3564. }
  3565. embind_charCodes = codes;
  3566. }
  3567. var embind_charCodes = void 0;
  3568. function readLatin1String(ptr) {
  3569. var ret = "";
  3570. var c = ptr;
  3571. while (GROWABLE_HEAP_U8()[c]) {
  3572. ret += embind_charCodes[GROWABLE_HEAP_U8()[c++]];
  3573. }
  3574. return ret;
  3575. }
  3576. var BindingError = void 0;
  3577. function throwBindingError(message) {
  3578. throw new BindingError(message);
  3579. }
  3580. function registerType(rawType, registeredInstance, options) {
  3581. options = options || {};
  3582. if (!("argPackAdvance" in registeredInstance)) {
  3583. throw new TypeError("registerType registeredInstance requires argPackAdvance");
  3584. }
  3585. var name2 = registeredInstance.name;
  3586. if (!rawType) {
  3587. throwBindingError('type "' + name2 + '" must have a positive integer typeid pointer');
  3588. }
  3589. if (registeredTypes.hasOwnProperty(rawType)) {
  3590. if (options.ignoreDuplicateRegistrations) {
  3591. return;
  3592. } else {
  3593. throwBindingError("Cannot register type '" + name2 + "' twice");
  3594. }
  3595. }
  3596. registeredTypes[rawType] = registeredInstance;
  3597. delete typeDependencies[rawType];
  3598. if (awaitingDependencies.hasOwnProperty(rawType)) {
  3599. var callbacks = awaitingDependencies[rawType];
  3600. delete awaitingDependencies[rawType];
  3601. callbacks.forEach(function(cb) {
  3602. cb();
  3603. });
  3604. }
  3605. }
  3606. function __embind_register_bool(rawType, name2, size, trueValue, falseValue) {
  3607. var shift = getShiftFromSize(size);
  3608. name2 = readLatin1String(name2);
  3609. registerType(rawType, { name: name2, "fromWireType": function(wt) {
  3610. return !!wt;
  3611. }, "toWireType": function(destructors, o) {
  3612. return o ? trueValue : falseValue;
  3613. }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) {
  3614. var heap;
  3615. if (size === 1) {
  3616. heap = GROWABLE_HEAP_I8();
  3617. } else if (size === 2) {
  3618. heap = GROWABLE_HEAP_I16();
  3619. } else if (size === 4) {
  3620. heap = GROWABLE_HEAP_I32();
  3621. } else {
  3622. throw new TypeError("Unknown boolean type size: " + name2);
  3623. }
  3624. return this["fromWireType"](heap[pointer >>> shift]);
  3625. }, destructorFunction: null });
  3626. }
  3627. function ClassHandle_isAliasOf(other) {
  3628. if (!(this instanceof ClassHandle)) {
  3629. return false;
  3630. }
  3631. if (!(other instanceof ClassHandle)) {
  3632. return false;
  3633. }
  3634. var leftClass = this.$$.ptrType.registeredClass;
  3635. var left = this.$$.ptr;
  3636. var rightClass = other.$$.ptrType.registeredClass;
  3637. var right = other.$$.ptr;
  3638. while (leftClass.baseClass) {
  3639. left = leftClass.upcast(left);
  3640. leftClass = leftClass.baseClass;
  3641. }
  3642. while (rightClass.baseClass) {
  3643. right = rightClass.upcast(right);
  3644. rightClass = rightClass.baseClass;
  3645. }
  3646. return leftClass === rightClass && left === right;
  3647. }
  3648. function shallowCopyInternalPointer(o) {
  3649. return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType };
  3650. }
  3651. function throwInstanceAlreadyDeleted(obj) {
  3652. function getInstanceTypeName(handle) {
  3653. return handle.$$.ptrType.registeredClass.name;
  3654. }
  3655. throwBindingError(getInstanceTypeName(obj) + " instance already deleted");
  3656. }
  3657. var finalizationGroup = false;
  3658. function detachFinalizer(handle) {
  3659. }
  3660. function runDestructor($$) {
  3661. if ($$.smartPtr) {
  3662. $$.smartPtrType.rawDestructor($$.smartPtr);
  3663. } else {
  3664. $$.ptrType.registeredClass.rawDestructor($$.ptr);
  3665. }
  3666. }
  3667. function releaseClassHandle($$) {
  3668. $$.count.value -= 1;
  3669. var toDelete = $$.count.value === 0;
  3670. if (toDelete) {
  3671. runDestructor($$);
  3672. }
  3673. }
  3674. function attachFinalizer(handle) {
  3675. if (typeof FinalizationGroup === "undefined") {
  3676. attachFinalizer = function(handle2) {
  3677. return handle2;
  3678. };
  3679. return handle;
  3680. }
  3681. finalizationGroup = new FinalizationGroup(function(iter) {
  3682. for (var result = iter.next(); !result.done; result = iter.next()) {
  3683. var $$ = result.value;
  3684. if (!$$.ptr) {
  3685. console.warn("object already deleted: " + $$.ptr);
  3686. } else {
  3687. releaseClassHandle($$);
  3688. }
  3689. }
  3690. });
  3691. attachFinalizer = function(handle2) {
  3692. finalizationGroup.register(handle2, handle2.$$, handle2.$$);
  3693. return handle2;
  3694. };
  3695. detachFinalizer = function(handle2) {
  3696. finalizationGroup.unregister(handle2.$$);
  3697. };
  3698. return attachFinalizer(handle);
  3699. }
  3700. function ClassHandle_clone() {
  3701. if (!this.$$.ptr) {
  3702. throwInstanceAlreadyDeleted(this);
  3703. }
  3704. if (this.$$.preservePointerOnDelete) {
  3705. this.$$.count.value += 1;
  3706. return this;
  3707. } else {
  3708. var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
  3709. clone.$$.count.value += 1;
  3710. clone.$$.deleteScheduled = false;
  3711. return clone;
  3712. }
  3713. }
  3714. function ClassHandle_delete() {
  3715. if (!this.$$.ptr) {
  3716. throwInstanceAlreadyDeleted(this);
  3717. }
  3718. if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
  3719. throwBindingError("Object already scheduled for deletion");
  3720. }
  3721. detachFinalizer(this);
  3722. releaseClassHandle(this.$$);
  3723. if (!this.$$.preservePointerOnDelete) {
  3724. this.$$.smartPtr = void 0;
  3725. this.$$.ptr = void 0;
  3726. }
  3727. }
  3728. function ClassHandle_isDeleted() {
  3729. return !this.$$.ptr;
  3730. }
  3731. var delayFunction = void 0;
  3732. var deletionQueue = [];
  3733. function flushPendingDeletes() {
  3734. while (deletionQueue.length) {
  3735. var obj = deletionQueue.pop();
  3736. obj.$$.deleteScheduled = false;
  3737. obj["delete"]();
  3738. }
  3739. }
  3740. function ClassHandle_deleteLater() {
  3741. if (!this.$$.ptr) {
  3742. throwInstanceAlreadyDeleted(this);
  3743. }
  3744. if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
  3745. throwBindingError("Object already scheduled for deletion");
  3746. }
  3747. deletionQueue.push(this);
  3748. if (deletionQueue.length === 1 && delayFunction) {
  3749. delayFunction(flushPendingDeletes);
  3750. }
  3751. this.$$.deleteScheduled = true;
  3752. return this;
  3753. }
  3754. function init_ClassHandle() {
  3755. ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
  3756. ClassHandle.prototype["clone"] = ClassHandle_clone;
  3757. ClassHandle.prototype["delete"] = ClassHandle_delete;
  3758. ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
  3759. ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
  3760. }
  3761. function ClassHandle() {
  3762. }
  3763. var registeredPointers = {};
  3764. function ensureOverloadTable(proto, methodName, humanName) {
  3765. if (proto[methodName].overloadTable === void 0) {
  3766. var prevFunc = proto[methodName];
  3767. proto[methodName] = function() {
  3768. if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
  3769. throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!");
  3770. }
  3771. return proto[methodName].overloadTable[arguments.length].apply(this, arguments);
  3772. };
  3773. proto[methodName].overloadTable = [];
  3774. proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
  3775. }
  3776. }
  3777. function exposePublicSymbol(name2, value, numArguments) {
  3778. if (Module.hasOwnProperty(name2)) {
  3779. if (numArguments === void 0 || Module[name2].overloadTable !== void 0 && Module[name2].overloadTable[numArguments] !== void 0) {
  3780. throwBindingError("Cannot register public name '" + name2 + "' twice");
  3781. }
  3782. ensureOverloadTable(Module, name2, name2);
  3783. if (Module.hasOwnProperty(numArguments)) {
  3784. throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!");
  3785. }
  3786. Module[name2].overloadTable[numArguments] = value;
  3787. } else {
  3788. Module[name2] = value;
  3789. if (numArguments !== void 0) {
  3790. Module[name2].numArguments = numArguments;
  3791. }
  3792. }
  3793. }
  3794. function RegisteredClass(name2, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) {
  3795. this.name = name2;
  3796. this.constructor = constructor;
  3797. this.instancePrototype = instancePrototype;
  3798. this.rawDestructor = rawDestructor;
  3799. this.baseClass = baseClass;
  3800. this.getActualType = getActualType;
  3801. this.upcast = upcast;
  3802. this.downcast = downcast;
  3803. this.pureVirtualFunctions = [];
  3804. }
  3805. function upcastPointer(ptr, ptrClass, desiredClass) {
  3806. while (ptrClass !== desiredClass) {
  3807. if (!ptrClass.upcast) {
  3808. throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name);
  3809. }
  3810. ptr = ptrClass.upcast(ptr);
  3811. ptrClass = ptrClass.baseClass;
  3812. }
  3813. return ptr;
  3814. }
  3815. function constNoSmartPtrRawPointerToWireType(destructors, handle) {
  3816. if (handle === null) {
  3817. if (this.isReference) {
  3818. throwBindingError("null is not a valid " + this.name);
  3819. }
  3820. return 0;
  3821. }
  3822. if (!handle.$$) {
  3823. throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
  3824. }
  3825. if (!handle.$$.ptr) {
  3826. throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
  3827. }
  3828. var handleClass = handle.$$.ptrType.registeredClass;
  3829. var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
  3830. return ptr;
  3831. }
  3832. function genericPointerToWireType(destructors, handle) {
  3833. var ptr;
  3834. if (handle === null) {
  3835. if (this.isReference) {
  3836. throwBindingError("null is not a valid " + this.name);
  3837. }
  3838. if (this.isSmartPointer) {
  3839. ptr = this.rawConstructor();
  3840. if (destructors !== null) {
  3841. destructors.push(this.rawDestructor, ptr);
  3842. }
  3843. return ptr;
  3844. } else {
  3845. return 0;
  3846. }
  3847. }
  3848. if (!handle.$$) {
  3849. throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
  3850. }
  3851. if (!handle.$$.ptr) {
  3852. throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
  3853. }
  3854. if (!this.isConst && handle.$$.ptrType.isConst) {
  3855. throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
  3856. }
  3857. var handleClass = handle.$$.ptrType.registeredClass;
  3858. ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
  3859. if (this.isSmartPointer) {
  3860. if (handle.$$.smartPtr === void 0) {
  3861. throwBindingError("Passing raw pointer to smart pointer is illegal");
  3862. }
  3863. switch (this.sharingPolicy) {
  3864. case 0:
  3865. if (handle.$$.smartPtrType === this) {
  3866. ptr = handle.$$.smartPtr;
  3867. } else {
  3868. throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
  3869. }
  3870. break;
  3871. case 1:
  3872. ptr = handle.$$.smartPtr;
  3873. break;
  3874. case 2:
  3875. if (handle.$$.smartPtrType === this) {
  3876. ptr = handle.$$.smartPtr;
  3877. } else {
  3878. var clonedHandle = handle["clone"]();
  3879. ptr = this.rawShare(ptr, __emval_register(function() {
  3880. clonedHandle["delete"]();
  3881. }));
  3882. if (destructors !== null) {
  3883. destructors.push(this.rawDestructor, ptr);
  3884. }
  3885. }
  3886. break;
  3887. default:
  3888. throwBindingError("Unsupporting sharing policy");
  3889. }
  3890. }
  3891. return ptr;
  3892. }
  3893. function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
  3894. if (handle === null) {
  3895. if (this.isReference) {
  3896. throwBindingError("null is not a valid " + this.name);
  3897. }
  3898. return 0;
  3899. }
  3900. if (!handle.$$) {
  3901. throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
  3902. }
  3903. if (!handle.$$.ptr) {
  3904. throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
  3905. }
  3906. if (handle.$$.ptrType.isConst) {
  3907. throwBindingError("Cannot convert argument of type " + handle.$$.ptrType.name + " to parameter type " + this.name);
  3908. }
  3909. var handleClass = handle.$$.ptrType.registeredClass;
  3910. var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
  3911. return ptr;
  3912. }
  3913. function RegisteredPointer_getPointee(ptr) {
  3914. if (this.rawGetPointee) {
  3915. ptr = this.rawGetPointee(ptr);
  3916. }
  3917. return ptr;
  3918. }
  3919. function RegisteredPointer_destructor(ptr) {
  3920. if (this.rawDestructor) {
  3921. this.rawDestructor(ptr);
  3922. }
  3923. }
  3924. function RegisteredPointer_deleteObject(handle) {
  3925. if (handle !== null) {
  3926. handle["delete"]();
  3927. }
  3928. }
  3929. function downcastPointer(ptr, ptrClass, desiredClass) {
  3930. if (ptrClass === desiredClass) {
  3931. return ptr;
  3932. }
  3933. if (desiredClass.baseClass === void 0) {
  3934. return null;
  3935. }
  3936. var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
  3937. if (rv === null) {
  3938. return null;
  3939. }
  3940. return desiredClass.downcast(rv);
  3941. }
  3942. function getInheritedInstanceCount() {
  3943. return Object.keys(registeredInstances).length;
  3944. }
  3945. function getLiveInheritedInstances() {
  3946. var rv = [];
  3947. for (var k in registeredInstances) {
  3948. if (registeredInstances.hasOwnProperty(k)) {
  3949. rv.push(registeredInstances[k]);
  3950. }
  3951. }
  3952. return rv;
  3953. }
  3954. function setDelayFunction(fn) {
  3955. delayFunction = fn;
  3956. if (deletionQueue.length && delayFunction) {
  3957. delayFunction(flushPendingDeletes);
  3958. }
  3959. }
  3960. function init_embind() {
  3961. Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
  3962. Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
  3963. Module["flushPendingDeletes"] = flushPendingDeletes;
  3964. Module["setDelayFunction"] = setDelayFunction;
  3965. }
  3966. var registeredInstances = {};
  3967. function getBasestPointer(class_, ptr) {
  3968. if (ptr === void 0) {
  3969. throwBindingError("ptr should not be undefined");
  3970. }
  3971. while (class_.baseClass) {
  3972. ptr = class_.upcast(ptr);
  3973. class_ = class_.baseClass;
  3974. }
  3975. return ptr;
  3976. }
  3977. function getInheritedInstance(class_, ptr) {
  3978. ptr = getBasestPointer(class_, ptr);
  3979. return registeredInstances[ptr];
  3980. }
  3981. function makeClassHandle(prototype, record) {
  3982. if (!record.ptrType || !record.ptr) {
  3983. throwInternalError("makeClassHandle requires ptr and ptrType");
  3984. }
  3985. var hasSmartPtrType = !!record.smartPtrType;
  3986. var hasSmartPtr = !!record.smartPtr;
  3987. if (hasSmartPtrType !== hasSmartPtr) {
  3988. throwInternalError("Both smartPtrType and smartPtr must be specified");
  3989. }
  3990. record.count = { value: 1 };
  3991. return attachFinalizer(Object.create(prototype, { $$: { value: record } }));
  3992. }
  3993. function RegisteredPointer_fromWireType(ptr) {
  3994. var rawPointer = this.getPointee(ptr);
  3995. if (!rawPointer) {
  3996. this.destructor(ptr);
  3997. return null;
  3998. }
  3999. var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
  4000. if (registeredInstance !== void 0) {
  4001. if (registeredInstance.$$.count.value === 0) {
  4002. registeredInstance.$$.ptr = rawPointer;
  4003. registeredInstance.$$.smartPtr = ptr;
  4004. return registeredInstance["clone"]();
  4005. } else {
  4006. var rv = registeredInstance["clone"]();
  4007. this.destructor(ptr);
  4008. return rv;
  4009. }
  4010. }
  4011. function makeDefaultHandle() {
  4012. if (this.isSmartPointer) {
  4013. return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
  4014. } else {
  4015. return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
  4016. }
  4017. }
  4018. var actualType = this.registeredClass.getActualType(rawPointer);
  4019. var registeredPointerRecord = registeredPointers[actualType];
  4020. if (!registeredPointerRecord) {
  4021. return makeDefaultHandle.call(this);
  4022. }
  4023. var toType;
  4024. if (this.isConst) {
  4025. toType = registeredPointerRecord.constPointerType;
  4026. } else {
  4027. toType = registeredPointerRecord.pointerType;
  4028. }
  4029. var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
  4030. if (dp === null) {
  4031. return makeDefaultHandle.call(this);
  4032. }
  4033. if (this.isSmartPointer) {
  4034. return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
  4035. } else {
  4036. return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
  4037. }
  4038. }
  4039. function init_RegisteredPointer() {
  4040. RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee;
  4041. RegisteredPointer.prototype.destructor = RegisteredPointer_destructor;
  4042. RegisteredPointer.prototype["argPackAdvance"] = 8;
  4043. RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer;
  4044. RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject;
  4045. RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType;
  4046. }
  4047. function RegisteredPointer(name2, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) {
  4048. this.name = name2;
  4049. this.registeredClass = registeredClass;
  4050. this.isReference = isReference;
  4051. this.isConst = isConst;
  4052. this.isSmartPointer = isSmartPointer;
  4053. this.pointeeType = pointeeType;
  4054. this.sharingPolicy = sharingPolicy;
  4055. this.rawGetPointee = rawGetPointee;
  4056. this.rawConstructor = rawConstructor;
  4057. this.rawShare = rawShare;
  4058. this.rawDestructor = rawDestructor;
  4059. if (!isSmartPointer && registeredClass.baseClass === void 0) {
  4060. if (isConst) {
  4061. this["toWireType"] = constNoSmartPtrRawPointerToWireType;
  4062. this.destructorFunction = null;
  4063. } else {
  4064. this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
  4065. this.destructorFunction = null;
  4066. }
  4067. } else {
  4068. this["toWireType"] = genericPointerToWireType;
  4069. }
  4070. }
  4071. function replacePublicSymbol(name2, value, numArguments) {
  4072. if (!Module.hasOwnProperty(name2)) {
  4073. throwInternalError("Replacing nonexistant public symbol");
  4074. }
  4075. if (Module[name2].overloadTable !== void 0 && numArguments !== void 0) {
  4076. Module[name2].overloadTable[numArguments] = value;
  4077. } else {
  4078. Module[name2] = value;
  4079. Module[name2].argCount = numArguments;
  4080. }
  4081. }
  4082. function getDynCaller(sig, ptr) {
  4083. assert(sig.indexOf("j") >= 0, "getDynCaller should only be called with i64 sigs");
  4084. var argCache = [];
  4085. return function() {
  4086. argCache.length = arguments.length;
  4087. for (var i = 0; i < arguments.length; i++) {
  4088. argCache[i] = arguments[i];
  4089. }
  4090. return dynCall(sig, ptr, argCache);
  4091. };
  4092. }
  4093. function embind__requireFunction(signature, rawFunction) {
  4094. signature = readLatin1String(signature);
  4095. function makeDynCaller() {
  4096. if (signature.indexOf("j") != -1) {
  4097. return getDynCaller(signature, rawFunction);
  4098. }
  4099. return wasmTable.get(rawFunction);
  4100. }
  4101. var fp = makeDynCaller();
  4102. if (typeof fp !== "function") {
  4103. throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction);
  4104. }
  4105. return fp;
  4106. }
  4107. var UnboundTypeError = void 0;
  4108. function getTypeName(type) {
  4109. var ptr = ___getTypeName(type);
  4110. var rv = readLatin1String(ptr);
  4111. _free(ptr);
  4112. return rv;
  4113. }
  4114. function throwUnboundTypeError(message, types) {
  4115. var unboundTypes = [];
  4116. var seen = {};
  4117. function visit(type) {
  4118. if (seen[type]) {
  4119. return;
  4120. }
  4121. if (registeredTypes[type]) {
  4122. return;
  4123. }
  4124. if (typeDependencies[type]) {
  4125. typeDependencies[type].forEach(visit);
  4126. return;
  4127. }
  4128. unboundTypes.push(type);
  4129. seen[type] = true;
  4130. }
  4131. types.forEach(visit);
  4132. throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "]));
  4133. }
  4134. function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name2, destructorSignature, rawDestructor) {
  4135. name2 = readLatin1String(name2);
  4136. getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
  4137. if (upcast) {
  4138. upcast = embind__requireFunction(upcastSignature, upcast);
  4139. }
  4140. if (downcast) {
  4141. downcast = embind__requireFunction(downcastSignature, downcast);
  4142. }
  4143. rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
  4144. var legalFunctionName = makeLegalFunctionName(name2);
  4145. exposePublicSymbol(legalFunctionName, function() {
  4146. throwUnboundTypeError("Cannot construct " + name2 + " due to unbound types", [baseClassRawType]);
  4147. });
  4148. whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) {
  4149. base = base[0];
  4150. var baseClass;
  4151. var basePrototype;
  4152. if (baseClassRawType) {
  4153. baseClass = base.registeredClass;
  4154. basePrototype = baseClass.instancePrototype;
  4155. } else {
  4156. basePrototype = ClassHandle.prototype;
  4157. }
  4158. var constructor = createNamedFunction(legalFunctionName, function() {
  4159. if (Object.getPrototypeOf(this) !== instancePrototype) {
  4160. throw new BindingError("Use 'new' to construct " + name2);
  4161. }
  4162. if (registeredClass.constructor_body === void 0) {
  4163. throw new BindingError(name2 + " has no accessible constructor");
  4164. }
  4165. var body = registeredClass.constructor_body[arguments.length];
  4166. if (body === void 0) {
  4167. throw new BindingError("Tried to invoke ctor of " + name2 + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!");
  4168. }
  4169. return body.apply(this, arguments);
  4170. });
  4171. var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
  4172. constructor.prototype = instancePrototype;
  4173. var registeredClass = new RegisteredClass(name2, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
  4174. var referenceConverter = new RegisteredPointer(name2, registeredClass, true, false, false);
  4175. var pointerConverter = new RegisteredPointer(name2 + "*", registeredClass, false, false, false);
  4176. var constPointerConverter = new RegisteredPointer(name2 + " const*", registeredClass, false, true, false);
  4177. registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
  4178. replacePublicSymbol(legalFunctionName, constructor);
  4179. return [referenceConverter, pointerConverter, constPointerConverter];
  4180. });
  4181. }
  4182. function heap32VectorToArray(count, firstElement) {
  4183. var array = [];
  4184. for (var i = 0; i < count; i++) {
  4185. array.push(GROWABLE_HEAP_I32()[(firstElement >> 2) + i]);
  4186. }
  4187. return array;
  4188. }
  4189. function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) {
  4190. assert(argCount > 0);
  4191. var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  4192. invoker = embind__requireFunction(invokerSignature, invoker);
  4193. var args = [rawConstructor];
  4194. var destructors = [];
  4195. whenDependentTypesAreResolved([], [rawClassType], function(classType) {
  4196. classType = classType[0];
  4197. var humanName = "constructor " + classType.name;
  4198. if (classType.registeredClass.constructor_body === void 0) {
  4199. classType.registeredClass.constructor_body = [];
  4200. }
  4201. if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) {
  4202. throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
  4203. }
  4204. classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() {
  4205. throwUnboundTypeError("Cannot construct " + classType.name + " due to unbound types", rawArgTypes);
  4206. };
  4207. whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
  4208. classType.registeredClass.constructor_body[argCount - 1] = function constructor_body() {
  4209. if (arguments.length !== argCount - 1) {
  4210. throwBindingError(humanName + " called with " + arguments.length + " arguments, expected " + (argCount - 1));
  4211. }
  4212. destructors.length = 0;
  4213. args.length = argCount;
  4214. for (var i = 1; i < argCount; ++i) {
  4215. args[i] = argTypes[i]["toWireType"](destructors, arguments[i - 1]);
  4216. }
  4217. var ptr = invoker.apply(null, args);
  4218. runDestructors(destructors);
  4219. return argTypes[0]["fromWireType"](ptr);
  4220. };
  4221. return [];
  4222. });
  4223. return [];
  4224. });
  4225. }
  4226. function new_(constructor, argumentList) {
  4227. if (!(constructor instanceof Function)) {
  4228. throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function");
  4229. }
  4230. var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() {
  4231. });
  4232. dummy.prototype = constructor.prototype;
  4233. var obj = new dummy();
  4234. var r = constructor.apply(obj, argumentList);
  4235. return r instanceof Object ? r : obj;
  4236. }
  4237. function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) {
  4238. var argCount = argTypes.length;
  4239. if (argCount < 2) {
  4240. throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
  4241. }
  4242. var isClassMethodFunc = argTypes[1] !== null && classType !== null;
  4243. var needsDestructorStack = false;
  4244. for (var i = 1; i < argTypes.length; ++i) {
  4245. if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) {
  4246. needsDestructorStack = true;
  4247. break;
  4248. }
  4249. }
  4250. var returns = argTypes[0].name !== "void";
  4251. var argsList = "";
  4252. var argsListWired = "";
  4253. for (var i = 0; i < argCount - 2; ++i) {
  4254. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  4255. argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
  4256. }
  4257. var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\nif (arguments.length !== " + (argCount - 2) + ") {\nthrowBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n}\n";
  4258. if (needsDestructorStack) {
  4259. invokerFnBody += "var destructors = [];\n";
  4260. }
  4261. var dtorStack = needsDestructorStack ? "destructors" : "null";
  4262. var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
  4263. var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
  4264. if (isClassMethodFunc) {
  4265. invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n";
  4266. }
  4267. for (var i = 0; i < argCount - 2; ++i) {
  4268. invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n";
  4269. args1.push("argType" + i);
  4270. args2.push(argTypes[i + 2]);
  4271. }
  4272. if (isClassMethodFunc) {
  4273. argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
  4274. }
  4275. invokerFnBody += (returns ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n";
  4276. if (needsDestructorStack) {
  4277. invokerFnBody += "runDestructors(destructors);\n";
  4278. } else {
  4279. for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {
  4280. var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
  4281. if (argTypes[i].destructorFunction !== null) {
  4282. invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n";
  4283. args1.push(paramName + "_dtor");
  4284. args2.push(argTypes[i].destructorFunction);
  4285. }
  4286. }
  4287. }
  4288. if (returns) {
  4289. invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n";
  4290. } else {
  4291. }
  4292. invokerFnBody += "}\n";
  4293. args1.push(invokerFnBody);
  4294. var invokerFunction = new_(Function, args1).apply(null, args2);
  4295. return invokerFunction;
  4296. }
  4297. function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) {
  4298. var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  4299. methodName = readLatin1String(methodName);
  4300. rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
  4301. whenDependentTypesAreResolved([], [rawClassType], function(classType) {
  4302. classType = classType[0];
  4303. var humanName = classType.name + "." + methodName;
  4304. if (isPureVirtual) {
  4305. classType.registeredClass.pureVirtualFunctions.push(methodName);
  4306. }
  4307. function unboundTypesHandler() {
  4308. throwUnboundTypeError("Cannot call " + humanName + " due to unbound types", rawArgTypes);
  4309. }
  4310. var proto = classType.registeredClass.instancePrototype;
  4311. var method = proto[methodName];
  4312. if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) {
  4313. unboundTypesHandler.argCount = argCount - 2;
  4314. unboundTypesHandler.className = classType.name;
  4315. proto[methodName] = unboundTypesHandler;
  4316. } else {
  4317. ensureOverloadTable(proto, methodName, humanName);
  4318. proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
  4319. }
  4320. whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
  4321. var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context);
  4322. if (proto[methodName].overloadTable === void 0) {
  4323. memberFunction.argCount = argCount - 2;
  4324. proto[methodName] = memberFunction;
  4325. } else {
  4326. proto[methodName].overloadTable[argCount - 2] = memberFunction;
  4327. }
  4328. return [];
  4329. });
  4330. return [];
  4331. });
  4332. }
  4333. var emval_free_list = [];
  4334. var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }];
  4335. function __emval_decref(handle) {
  4336. if (handle > 4 && --emval_handle_array[handle].refcount === 0) {
  4337. emval_handle_array[handle] = void 0;
  4338. emval_free_list.push(handle);
  4339. }
  4340. }
  4341. function count_emval_handles() {
  4342. var count = 0;
  4343. for (var i = 5; i < emval_handle_array.length; ++i) {
  4344. if (emval_handle_array[i] !== void 0) {
  4345. ++count;
  4346. }
  4347. }
  4348. return count;
  4349. }
  4350. function get_first_emval() {
  4351. for (var i = 5; i < emval_handle_array.length; ++i) {
  4352. if (emval_handle_array[i] !== void 0) {
  4353. return emval_handle_array[i];
  4354. }
  4355. }
  4356. return null;
  4357. }
  4358. function init_emval() {
  4359. Module["count_emval_handles"] = count_emval_handles;
  4360. Module["get_first_emval"] = get_first_emval;
  4361. }
  4362. function __emval_register(value) {
  4363. switch (value) {
  4364. case void 0: {
  4365. return 1;
  4366. }
  4367. case null: {
  4368. return 2;
  4369. }
  4370. case true: {
  4371. return 3;
  4372. }
  4373. case false: {
  4374. return 4;
  4375. }
  4376. default: {
  4377. var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
  4378. emval_handle_array[handle] = { refcount: 1, value };
  4379. return handle;
  4380. }
  4381. }
  4382. }
  4383. function __embind_register_emval(rawType, name2) {
  4384. name2 = readLatin1String(name2);
  4385. registerType(rawType, { name: name2, "fromWireType": function(handle) {
  4386. var rv = emval_handle_array[handle].value;
  4387. __emval_decref(handle);
  4388. return rv;
  4389. }, "toWireType": function(destructors, value) {
  4390. return __emval_register(value);
  4391. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null });
  4392. }
  4393. function enumReadValueFromPointer(name2, shift, signed) {
  4394. switch (shift) {
  4395. case 0:
  4396. return function(pointer) {
  4397. var heap = signed ? GROWABLE_HEAP_I8() : GROWABLE_HEAP_U8();
  4398. return this["fromWireType"](heap[pointer >>> 0]);
  4399. };
  4400. case 1:
  4401. return function(pointer) {
  4402. var heap = signed ? GROWABLE_HEAP_I16() : GROWABLE_HEAP_U16();
  4403. return this["fromWireType"](heap[pointer >>> 1]);
  4404. };
  4405. case 2:
  4406. return function(pointer) {
  4407. var heap = signed ? GROWABLE_HEAP_I32() : GROWABLE_HEAP_U32();
  4408. return this["fromWireType"](heap[pointer >>> 2]);
  4409. };
  4410. default:
  4411. throw new TypeError("Unknown integer type: " + name2);
  4412. }
  4413. }
  4414. function __embind_register_enum(rawType, name2, size, isSigned) {
  4415. var shift = getShiftFromSize(size);
  4416. name2 = readLatin1String(name2);
  4417. function ctor() {
  4418. }
  4419. ctor.values = {};
  4420. registerType(rawType, { name: name2, constructor: ctor, "fromWireType": function(c) {
  4421. return this.constructor.values[c];
  4422. }, "toWireType": function(destructors, c) {
  4423. return c.value;
  4424. }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name2, shift, isSigned), destructorFunction: null });
  4425. exposePublicSymbol(name2, ctor);
  4426. }
  4427. function requireRegisteredType(rawType, humanName) {
  4428. var impl = registeredTypes[rawType];
  4429. if (impl === void 0) {
  4430. throwBindingError(humanName + " has unknown type " + getTypeName(rawType));
  4431. }
  4432. return impl;
  4433. }
  4434. function __embind_register_enum_value(rawEnumType, name2, enumValue) {
  4435. var enumType = requireRegisteredType(rawEnumType, "enum");
  4436. name2 = readLatin1String(name2);
  4437. var Enum = enumType.constructor;
  4438. var Value2 = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(enumType.name + "_" + name2, function() {
  4439. }) } });
  4440. Enum.values[enumValue] = Value2;
  4441. Enum[name2] = Value2;
  4442. }
  4443. function _embind_repr(v) {
  4444. if (v === null) {
  4445. return "null";
  4446. }
  4447. var t = typeof v;
  4448. if (t === "object" || t === "array" || t === "function") {
  4449. return v.toString();
  4450. } else {
  4451. return "" + v;
  4452. }
  4453. }
  4454. function floatReadValueFromPointer(name2, shift) {
  4455. switch (shift) {
  4456. case 2:
  4457. return function(pointer) {
  4458. return this["fromWireType"](GROWABLE_HEAP_F32()[pointer >> 2]);
  4459. };
  4460. case 3:
  4461. return function(pointer) {
  4462. return this["fromWireType"](GROWABLE_HEAP_F64()[pointer >> 3]);
  4463. };
  4464. default:
  4465. throw new TypeError("Unknown float type: " + name2);
  4466. }
  4467. }
  4468. function __embind_register_float(rawType, name2, size) {
  4469. var shift = getShiftFromSize(size);
  4470. name2 = readLatin1String(name2);
  4471. registerType(rawType, { name: name2, "fromWireType": function(value) {
  4472. return value;
  4473. }, "toWireType": function(destructors, value) {
  4474. if (typeof value !== "number" && typeof value !== "boolean") {
  4475. throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
  4476. }
  4477. return value;
  4478. }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name2, shift), destructorFunction: null });
  4479. }
  4480. function __embind_register_function(name2, argCount, rawArgTypesAddr, signature, rawInvoker, fn) {
  4481. var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  4482. name2 = readLatin1String(name2);
  4483. rawInvoker = embind__requireFunction(signature, rawInvoker);
  4484. exposePublicSymbol(name2, function() {
  4485. throwUnboundTypeError("Cannot call " + name2 + " due to unbound types", argTypes);
  4486. }, argCount - 1);
  4487. whenDependentTypesAreResolved([], argTypes, function(argTypes2) {
  4488. var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1));
  4489. replacePublicSymbol(name2, craftInvokerFunction(name2, invokerArgsArray, null, rawInvoker, fn), argCount - 1);
  4490. return [];
  4491. });
  4492. }
  4493. function integerReadValueFromPointer(name2, shift, signed) {
  4494. switch (shift) {
  4495. case 0:
  4496. return signed ? function readS8FromPointer(pointer) {
  4497. return GROWABLE_HEAP_I8()[pointer];
  4498. } : function readU8FromPointer(pointer) {
  4499. return GROWABLE_HEAP_U8()[pointer];
  4500. };
  4501. case 1:
  4502. return signed ? function readS16FromPointer(pointer) {
  4503. return GROWABLE_HEAP_I16()[pointer >> 1];
  4504. } : function readU16FromPointer(pointer) {
  4505. return GROWABLE_HEAP_U16()[pointer >> 1];
  4506. };
  4507. case 2:
  4508. return signed ? function readS32FromPointer(pointer) {
  4509. return GROWABLE_HEAP_I32()[pointer >> 2];
  4510. } : function readU32FromPointer(pointer) {
  4511. return GROWABLE_HEAP_U32()[pointer >> 2];
  4512. };
  4513. default:
  4514. throw new TypeError("Unknown integer type: " + name2);
  4515. }
  4516. }
  4517. function __embind_register_integer(primitiveType, name2, size, minRange, maxRange) {
  4518. name2 = readLatin1String(name2);
  4519. if (maxRange === -1) {
  4520. maxRange = 4294967295;
  4521. }
  4522. var shift = getShiftFromSize(size);
  4523. var fromWireType = function(value) {
  4524. return value;
  4525. };
  4526. if (minRange === 0) {
  4527. var bitshift = 32 - 8 * size;
  4528. fromWireType = function(value) {
  4529. return value << bitshift >>> bitshift;
  4530. };
  4531. }
  4532. var isUnsignedType = name2.indexOf("unsigned") != -1;
  4533. registerType(primitiveType, { name: name2, "fromWireType": fromWireType, "toWireType": function(destructors, value) {
  4534. if (typeof value !== "number" && typeof value !== "boolean") {
  4535. throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
  4536. }
  4537. if (value < minRange || value > maxRange) {
  4538. throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name2 + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
  4539. }
  4540. return isUnsignedType ? value >>> 0 : value | 0;
  4541. }, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name2, shift, minRange !== 0), destructorFunction: null });
  4542. }
  4543. function __embind_register_memory_view(rawType, dataTypeIndex, name2) {
  4544. var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array];
  4545. var TA = typeMapping[dataTypeIndex];
  4546. function decodeMemoryView(handle) {
  4547. handle = handle >> 2;
  4548. var heap = GROWABLE_HEAP_U32();
  4549. var size = heap[handle >>> 0];
  4550. var data = heap[handle + 1 >>> 0];
  4551. return new TA(buffer, data, size);
  4552. }
  4553. name2 = readLatin1String(name2);
  4554. registerType(rawType, { name: name2, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true });
  4555. }
  4556. function __embind_register_std_string(rawType, name2) {
  4557. name2 = readLatin1String(name2);
  4558. var stdStringIsUTF8 = name2 === "std::string";
  4559. registerType(rawType, { name: name2, "fromWireType": function(value) {
  4560. var length = GROWABLE_HEAP_U32()[value >> 2];
  4561. var str;
  4562. if (stdStringIsUTF8) {
  4563. var decodeStartPtr = value + 4;
  4564. for (var i = 0; i <= length; ++i) {
  4565. var currentBytePtr = value + 4 + i;
  4566. if (i == length || GROWABLE_HEAP_U8()[currentBytePtr] == 0) {
  4567. var maxRead = currentBytePtr - decodeStartPtr;
  4568. var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
  4569. if (str === void 0) {
  4570. str = stringSegment;
  4571. } else {
  4572. str += String.fromCharCode(0);
  4573. str += stringSegment;
  4574. }
  4575. decodeStartPtr = currentBytePtr + 1;
  4576. }
  4577. }
  4578. } else {
  4579. var a = new Array(length);
  4580. for (var i = 0; i < length; ++i) {
  4581. a[i] = String.fromCharCode(GROWABLE_HEAP_U8()[value + 4 + i]);
  4582. }
  4583. str = a.join("");
  4584. }
  4585. _free(value);
  4586. return str;
  4587. }, "toWireType": function(destructors, value) {
  4588. if (value instanceof ArrayBuffer) {
  4589. value = new Uint8Array(value);
  4590. }
  4591. var getLength;
  4592. var valueIsOfTypeString = typeof value === "string";
  4593. if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
  4594. throwBindingError("Cannot pass non-string to std::string");
  4595. }
  4596. if (stdStringIsUTF8 && valueIsOfTypeString) {
  4597. getLength = function() {
  4598. return lengthBytesUTF8(value);
  4599. };
  4600. } else {
  4601. getLength = function() {
  4602. return value.length;
  4603. };
  4604. }
  4605. var length = getLength();
  4606. var ptr = _malloc(4 + length + 1);
  4607. ptr >>>= 0;
  4608. GROWABLE_HEAP_U32()[ptr >> 2] = length;
  4609. if (stdStringIsUTF8 && valueIsOfTypeString) {
  4610. stringToUTF8(value, ptr + 4, length + 1);
  4611. } else {
  4612. if (valueIsOfTypeString) {
  4613. for (var i = 0; i < length; ++i) {
  4614. var charCode = value.charCodeAt(i);
  4615. if (charCode > 255) {
  4616. _free(ptr);
  4617. throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
  4618. }
  4619. GROWABLE_HEAP_U8()[ptr + 4 + i] = charCode;
  4620. }
  4621. } else {
  4622. for (var i = 0; i < length; ++i) {
  4623. GROWABLE_HEAP_U8()[ptr + 4 + i] = value[i];
  4624. }
  4625. }
  4626. }
  4627. if (destructors !== null) {
  4628. destructors.push(_free, ptr);
  4629. }
  4630. return ptr;
  4631. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) {
  4632. _free(ptr);
  4633. } });
  4634. }
  4635. function __embind_register_std_wstring(rawType, charSize, name2) {
  4636. name2 = readLatin1String(name2);
  4637. var decodeString, encodeString, getHeap, lengthBytesUTF, shift;
  4638. if (charSize === 2) {
  4639. decodeString = UTF16ToString;
  4640. encodeString = stringToUTF16;
  4641. lengthBytesUTF = lengthBytesUTF16;
  4642. getHeap = function() {
  4643. return GROWABLE_HEAP_U16();
  4644. };
  4645. shift = 1;
  4646. } else if (charSize === 4) {
  4647. decodeString = UTF32ToString;
  4648. encodeString = stringToUTF32;
  4649. lengthBytesUTF = lengthBytesUTF32;
  4650. getHeap = function() {
  4651. return GROWABLE_HEAP_U32();
  4652. };
  4653. shift = 2;
  4654. }
  4655. registerType(rawType, { name: name2, "fromWireType": function(value) {
  4656. var length = GROWABLE_HEAP_U32()[value >> 2];
  4657. var HEAP = getHeap();
  4658. var str;
  4659. var decodeStartPtr = value + 4;
  4660. for (var i = 0; i <= length; ++i) {
  4661. var currentBytePtr = value + 4 + i * charSize;
  4662. if (i == length || HEAP[currentBytePtr >>> shift] == 0) {
  4663. var maxReadBytes = currentBytePtr - decodeStartPtr;
  4664. var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
  4665. if (str === void 0) {
  4666. str = stringSegment;
  4667. } else {
  4668. str += String.fromCharCode(0);
  4669. str += stringSegment;
  4670. }
  4671. decodeStartPtr = currentBytePtr + charSize;
  4672. }
  4673. }
  4674. _free(value);
  4675. return str;
  4676. }, "toWireType": function(destructors, value) {
  4677. if (!(typeof value === "string")) {
  4678. throwBindingError("Cannot pass non-string to C++ string type " + name2);
  4679. }
  4680. var length = lengthBytesUTF(value);
  4681. var ptr = _malloc(4 + length + charSize);
  4682. ptr >>>= 0;
  4683. GROWABLE_HEAP_U32()[ptr >> 2] = length >> shift;
  4684. encodeString(value, ptr + 4, length + charSize);
  4685. if (destructors !== null) {
  4686. destructors.push(_free, ptr);
  4687. }
  4688. return ptr;
  4689. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) {
  4690. _free(ptr);
  4691. } });
  4692. }
  4693. function __embind_register_value_array(rawType, name2, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
  4694. tupleRegistrations[rawType] = { name: readLatin1String(name2), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] };
  4695. }
  4696. function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
  4697. tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
  4698. }
  4699. function __embind_register_value_object(rawType, name2, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
  4700. structRegistrations[rawType] = { name: readLatin1String(name2), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
  4701. }
  4702. function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
  4703. structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
  4704. }
  4705. function __embind_register_void(rawType, name2) {
  4706. name2 = readLatin1String(name2);
  4707. registerType(rawType, { isVoid: true, name: name2, "argPackAdvance": 0, "fromWireType": function() {
  4708. return void 0;
  4709. }, "toWireType": function(destructors, o) {
  4710. return void 0;
  4711. } });
  4712. }
  4713. function __emscripten_notify_thread_queue(targetThreadId, mainThreadId) {
  4714. if (targetThreadId == mainThreadId) {
  4715. postMessage({ "cmd": "processQueuedMainThreadWork" });
  4716. } else if (ENVIRONMENT_IS_PTHREAD) {
  4717. postMessage({ "targetThread": targetThreadId, "cmd": "processThreadQueue" });
  4718. } else {
  4719. var pthread = PThread.pthreads[targetThreadId];
  4720. var worker = pthread && pthread.worker;
  4721. if (!worker) {
  4722. return;
  4723. }
  4724. worker.postMessage({ "cmd": "processThreadQueue" });
  4725. }
  4726. return 1;
  4727. }
  4728. function requireHandle(handle) {
  4729. if (!handle) {
  4730. throwBindingError("Cannot use deleted val. handle = " + handle);
  4731. }
  4732. return emval_handle_array[handle].value;
  4733. }
  4734. function __emval_as(handle, returnType, destructorsRef) {
  4735. handle = requireHandle(handle);
  4736. returnType = requireRegisteredType(returnType, "emval::as");
  4737. var destructors = [];
  4738. var rd = __emval_register(destructors);
  4739. GROWABLE_HEAP_I32()[destructorsRef >> 2] = rd;
  4740. return returnType["toWireType"](destructors, handle);
  4741. }
  4742. function __emval_lookupTypes(argCount, argTypes) {
  4743. var a = new Array(argCount);
  4744. for (var i = 0; i < argCount; ++i) {
  4745. a[i] = requireRegisteredType(GROWABLE_HEAP_I32()[(argTypes >> 2) + i], "parameter " + i);
  4746. }
  4747. return a;
  4748. }
  4749. function __emval_call(handle, argCount, argTypes, argv) {
  4750. handle = requireHandle(handle);
  4751. var types = __emval_lookupTypes(argCount, argTypes);
  4752. var args = new Array(argCount);
  4753. for (var i = 0; i < argCount; ++i) {
  4754. var type = types[i];
  4755. args[i] = type["readValueFromPointer"](argv);
  4756. argv += type["argPackAdvance"];
  4757. }
  4758. var rv = handle.apply(void 0, args);
  4759. return __emval_register(rv);
  4760. }
  4761. var emval_symbols = {};
  4762. function getStringOrSymbol(address) {
  4763. var symbol = emval_symbols[address];
  4764. if (symbol === void 0) {
  4765. return readLatin1String(address);
  4766. } else {
  4767. return symbol;
  4768. }
  4769. }
  4770. function emval_get_global() {
  4771. if (typeof globalThis === "object") {
  4772. return globalThis;
  4773. }
  4774. return function() {
  4775. return Function;
  4776. }()("return this")();
  4777. }
  4778. function __emval_get_global(name2) {
  4779. if (name2 === 0) {
  4780. return __emval_register(emval_get_global());
  4781. } else {
  4782. name2 = getStringOrSymbol(name2);
  4783. return __emval_register(emval_get_global()[name2]);
  4784. }
  4785. }
  4786. function __emval_get_property(handle, key2) {
  4787. handle = requireHandle(handle);
  4788. key2 = requireHandle(key2);
  4789. return __emval_register(handle[key2]);
  4790. }
  4791. function __emval_incref(handle) {
  4792. if (handle > 4) {
  4793. emval_handle_array[handle].refcount += 1;
  4794. }
  4795. }
  4796. function __emval_instanceof(object, constructor) {
  4797. object = requireHandle(object);
  4798. constructor = requireHandle(constructor);
  4799. return object instanceof constructor;
  4800. }
  4801. function __emval_is_number(handle) {
  4802. handle = requireHandle(handle);
  4803. return typeof handle === "number";
  4804. }
  4805. function __emval_new_array() {
  4806. return __emval_register([]);
  4807. }
  4808. function __emval_new_cstring(v) {
  4809. return __emval_register(getStringOrSymbol(v));
  4810. }
  4811. function __emval_new_object() {
  4812. return __emval_register({});
  4813. }
  4814. function __emval_run_destructors(handle) {
  4815. var destructors = emval_handle_array[handle].value;
  4816. runDestructors(destructors);
  4817. __emval_decref(handle);
  4818. }
  4819. function __emval_set_property(handle, key2, value) {
  4820. handle = requireHandle(handle);
  4821. key2 = requireHandle(key2);
  4822. value = requireHandle(value);
  4823. handle[key2] = value;
  4824. }
  4825. function __emval_take_value(type, argv) {
  4826. type = requireRegisteredType(type, "_emval_take_value");
  4827. var v = type["readValueFromPointer"](argv);
  4828. return __emval_register(v);
  4829. }
  4830. function _abort() {
  4831. abort();
  4832. }
  4833. function _emscripten_asm_const_int(code, sigPtr, argbuf) {
  4834. var args = readAsmConstArgs(sigPtr, argbuf);
  4835. return ASM_CONSTS[code].apply(null, args);
  4836. }
  4837. function _emscripten_check_blocking_allowed() {
  4838. if (ENVIRONMENT_IS_NODE)
  4839. return;
  4840. if (ENVIRONMENT_IS_WORKER)
  4841. return;
  4842. warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread");
  4843. }
  4844. function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) {
  4845. expectedStatus = expectedStatus | 0;
  4846. newStatus = newStatus | 0;
  4847. }
  4848. function _emscripten_futex_wait(addr, val, timeout) {
  4849. if (addr <= 0 || addr > GROWABLE_HEAP_I8().length || addr & true)
  4850. return -28;
  4851. if (!ENVIRONMENT_IS_WEB) {
  4852. var ret = Atomics.wait(GROWABLE_HEAP_I32(), addr >> 2, val, timeout);
  4853. if (ret === "timed-out")
  4854. return -73;
  4855. if (ret === "not-equal")
  4856. return -6;
  4857. if (ret === "ok")
  4858. return 0;
  4859. throw "Atomics.wait returned an unexpected value " + ret;
  4860. } else {
  4861. if (Atomics.load(GROWABLE_HEAP_I32(), addr >> 2) != val) {
  4862. return -6;
  4863. }
  4864. var tNow = performance.now();
  4865. var tEnd = tNow + timeout;
  4866. var lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), PThread.mainThreadFutex >> 2, addr);
  4867. while (1) {
  4868. tNow = performance.now();
  4869. if (tNow > tEnd) {
  4870. lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), PThread.mainThreadFutex >> 2, 0);
  4871. return -73;
  4872. }
  4873. lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), PThread.mainThreadFutex >> 2, 0);
  4874. if (lastAddr == 0) {
  4875. break;
  4876. }
  4877. _emscripten_main_thread_process_queued_calls();
  4878. if (Atomics.load(GROWABLE_HEAP_I32(), addr >> 2) != val) {
  4879. return -6;
  4880. }
  4881. lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), PThread.mainThreadFutex >> 2, addr);
  4882. }
  4883. return 0;
  4884. }
  4885. }
  4886. function _emscripten_is_main_browser_thread() {
  4887. return __pthread_is_main_browser_thread | 0;
  4888. }
  4889. function _emscripten_is_main_runtime_thread() {
  4890. return __pthread_is_main_runtime_thread | 0;
  4891. }
  4892. function _emscripten_memcpy_big(dest, src, num) {
  4893. GROWABLE_HEAP_U8().copyWithin(dest, src, src + num);
  4894. }
  4895. function _emscripten_proxy_to_main_thread_js(index, sync) {
  4896. var numCallArgs = arguments.length - 2;
  4897. var stack = stackSave();
  4898. var args = stackAlloc(numCallArgs * 8);
  4899. var b = args >> 3;
  4900. for (var i = 0; i < numCallArgs; i++) {
  4901. GROWABLE_HEAP_F64()[b + i] = arguments[2 + i];
  4902. }
  4903. var ret = _emscripten_run_in_main_runtime_thread_js(index, numCallArgs, args, sync);
  4904. stackRestore(stack);
  4905. return ret;
  4906. }
  4907. var _emscripten_receive_on_main_thread_js_callArgs = [];
  4908. var readAsmConstArgsArray = [];
  4909. function readAsmConstArgs(sigPtr, buf) {
  4910. readAsmConstArgsArray.length = 0;
  4911. var ch;
  4912. buf >>= 2;
  4913. while (ch = GROWABLE_HEAP_U8()[sigPtr++]) {
  4914. var double = ch < 105;
  4915. if (double && buf & 1)
  4916. buf++;
  4917. readAsmConstArgsArray.push(double ? GROWABLE_HEAP_F64()[buf++ >> 1] : GROWABLE_HEAP_I32()[buf]);
  4918. ++buf;
  4919. }
  4920. return readAsmConstArgsArray;
  4921. }
  4922. function _emscripten_receive_on_main_thread_js(index, numCallArgs, args) {
  4923. _emscripten_receive_on_main_thread_js_callArgs.length = numCallArgs;
  4924. var b = args >> 3;
  4925. for (var i = 0; i < numCallArgs; i++) {
  4926. _emscripten_receive_on_main_thread_js_callArgs[i] = GROWABLE_HEAP_F64()[b + i];
  4927. }
  4928. var isEmAsmConst = index < 0;
  4929. var func = !isEmAsmConst ? proxiedFunctionTable[index] : ASM_CONSTS[-index - 1];
  4930. return func.apply(null, _emscripten_receive_on_main_thread_js_callArgs);
  4931. }
  4932. function _emscripten_get_heap_size() {
  4933. return GROWABLE_HEAP_U8().length;
  4934. }
  4935. function emscripten_realloc_buffer(size) {
  4936. try {
  4937. wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
  4938. updateGlobalBufferAndViews(wasmMemory.buffer);
  4939. return 1;
  4940. } catch (e) {
  4941. }
  4942. }
  4943. function _emscripten_resize_heap(requestedSize) {
  4944. requestedSize = requestedSize >>> 0;
  4945. var oldSize = _emscripten_get_heap_size();
  4946. if (requestedSize <= oldSize) {
  4947. return false;
  4948. }
  4949. var maxHeapSize = 4294967296;
  4950. if (requestedSize > maxHeapSize) {
  4951. return false;
  4952. }
  4953. var minHeapSize = 16777216;
  4954. for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
  4955. var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
  4956. overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
  4957. var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), 65536));
  4958. var replacement = emscripten_realloc_buffer(newSize);
  4959. if (replacement) {
  4960. return true;
  4961. }
  4962. }
  4963. return false;
  4964. }
  4965. var JSEvents = { inEventHandler: 0, removeAllEventListeners: function() {
  4966. for (var i = JSEvents.eventHandlers.length - 1; i >= 0; --i) {
  4967. JSEvents._removeHandler(i);
  4968. }
  4969. JSEvents.eventHandlers = [];
  4970. JSEvents.deferredCalls = [];
  4971. }, registerRemoveEventListeners: function() {
  4972. if (!JSEvents.removeEventListenersRegistered) {
  4973. __ATEXIT__.push(JSEvents.removeAllEventListeners);
  4974. JSEvents.removeEventListenersRegistered = true;
  4975. }
  4976. }, deferredCalls: [], deferCall: function(targetFunction, precedence, argsList) {
  4977. function arraysHaveEqualContent(arrA, arrB) {
  4978. if (arrA.length != arrB.length)
  4979. return false;
  4980. for (var i2 in arrA) {
  4981. if (arrA[i2] != arrB[i2])
  4982. return false;
  4983. }
  4984. return true;
  4985. }
  4986. for (var i in JSEvents.deferredCalls) {
  4987. var call = JSEvents.deferredCalls[i];
  4988. if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) {
  4989. return;
  4990. }
  4991. }
  4992. JSEvents.deferredCalls.push({ targetFunction, precedence, argsList });
  4993. JSEvents.deferredCalls.sort(function(x, y) {
  4994. return x.precedence < y.precedence;
  4995. });
  4996. }, removeDeferredCalls: function(targetFunction) {
  4997. for (var i = 0; i < JSEvents.deferredCalls.length; ++i) {
  4998. if (JSEvents.deferredCalls[i].targetFunction == targetFunction) {
  4999. JSEvents.deferredCalls.splice(i, 1);
  5000. --i;
  5001. }
  5002. }
  5003. }, canPerformEventHandlerRequests: function() {
  5004. return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls;
  5005. }, runDeferredCalls: function() {
  5006. if (!JSEvents.canPerformEventHandlerRequests()) {
  5007. return;
  5008. }
  5009. for (var i = 0; i < JSEvents.deferredCalls.length; ++i) {
  5010. var call = JSEvents.deferredCalls[i];
  5011. JSEvents.deferredCalls.splice(i, 1);
  5012. --i;
  5013. call.targetFunction.apply(null, call.argsList);
  5014. }
  5015. }, eventHandlers: [], removeAllHandlersOnTarget: function(target, eventTypeString) {
  5016. for (var i = 0; i < JSEvents.eventHandlers.length; ++i) {
  5017. if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) {
  5018. JSEvents._removeHandler(i--);
  5019. }
  5020. }
  5021. }, _removeHandler: function(i) {
  5022. var h = JSEvents.eventHandlers[i];
  5023. h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture);
  5024. JSEvents.eventHandlers.splice(i, 1);
  5025. }, registerOrRemoveHandler: function(eventHandler) {
  5026. var jsEventHandler = function jsEventHandler2(event) {
  5027. ++JSEvents.inEventHandler;
  5028. JSEvents.currentEventHandler = eventHandler;
  5029. JSEvents.runDeferredCalls();
  5030. eventHandler.handlerFunc(event);
  5031. JSEvents.runDeferredCalls();
  5032. --JSEvents.inEventHandler;
  5033. };
  5034. if (eventHandler.callbackfunc) {
  5035. eventHandler.eventListenerFunc = jsEventHandler;
  5036. eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture);
  5037. JSEvents.eventHandlers.push(eventHandler);
  5038. JSEvents.registerRemoveEventListeners();
  5039. } else {
  5040. for (var i = 0; i < JSEvents.eventHandlers.length; ++i) {
  5041. if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) {
  5042. JSEvents._removeHandler(i--);
  5043. }
  5044. }
  5045. }
  5046. }, queueEventHandlerOnThread_iiii: function(targetThread, eventHandlerFunc, eventTypeId, eventData, userData) {
  5047. var stackTop = stackSave();
  5048. var varargs = stackAlloc(12);
  5049. GROWABLE_HEAP_I32()[varargs >> 2] = eventTypeId;
  5050. GROWABLE_HEAP_I32()[varargs + 4 >> 2] = eventData;
  5051. GROWABLE_HEAP_I32()[varargs + 8 >> 2] = userData;
  5052. __emscripten_call_on_thread(0, targetThread, 637534208, eventHandlerFunc, eventData, varargs);
  5053. stackRestore(stackTop);
  5054. }, getTargetThreadForEventCallback: function(targetThread) {
  5055. switch (targetThread) {
  5056. case 1:
  5057. return 0;
  5058. case 2:
  5059. return PThread.currentProxiedOperationCallerThread;
  5060. default:
  5061. return targetThread;
  5062. }
  5063. }, getNodeNameForTarget: function(target) {
  5064. if (!target)
  5065. return "";
  5066. if (target == window)
  5067. return "#window";
  5068. if (target == screen)
  5069. return "#screen";
  5070. return target && target.nodeName ? target.nodeName : "";
  5071. }, fullscreenEnabled: function() {
  5072. return document.fullscreenEnabled || document.webkitFullscreenEnabled;
  5073. } };
  5074. function stringToNewUTF8(jsString) {
  5075. var length = lengthBytesUTF8(jsString) + 1;
  5076. var cString = _malloc(length);
  5077. stringToUTF8(jsString, cString, length);
  5078. return cString;
  5079. }
  5080. function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height) {
  5081. var stackTop = stackSave();
  5082. var varargs = stackAlloc(12);
  5083. var targetCanvasPtr = 0;
  5084. if (targetCanvas) {
  5085. targetCanvasPtr = stringToNewUTF8(targetCanvas);
  5086. }
  5087. GROWABLE_HEAP_I32()[varargs >> 2] = targetCanvasPtr;
  5088. GROWABLE_HEAP_I32()[varargs + 4 >> 2] = width;
  5089. GROWABLE_HEAP_I32()[varargs + 8 >> 2] = height;
  5090. __emscripten_call_on_thread(0, targetThread, 657457152, 0, targetCanvasPtr, varargs);
  5091. stackRestore(stackTop);
  5092. }
  5093. function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, targetCanvas, width, height) {
  5094. targetCanvas = targetCanvas ? UTF8ToString(targetCanvas) : "";
  5095. _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height);
  5096. }
  5097. function maybeCStringToJsString(cString) {
  5098. return cString > 2 ? UTF8ToString(cString) : cString;
  5099. }
  5100. var specialHTMLTargets = [0, typeof document !== "undefined" ? document : 0, typeof window !== "undefined" ? window : 0];
  5101. function findEventTarget(target) {
  5102. target = maybeCStringToJsString(target);
  5103. var domElement = specialHTMLTargets[target] || (typeof document !== "undefined" ? document.querySelector(target) : void 0);
  5104. return domElement;
  5105. }
  5106. function findCanvasEventTarget(target) {
  5107. return findEventTarget(target);
  5108. }
  5109. function _emscripten_set_canvas_element_size_calling_thread(target, width, height) {
  5110. var canvas = findCanvasEventTarget(target);
  5111. if (!canvas)
  5112. return -4;
  5113. if (canvas.canvasSharedPtr) {
  5114. GROWABLE_HEAP_I32()[canvas.canvasSharedPtr >> 2] = width;
  5115. GROWABLE_HEAP_I32()[canvas.canvasSharedPtr + 4 >> 2] = height;
  5116. }
  5117. if (canvas.offscreenCanvas || !canvas.controlTransferredOffscreen) {
  5118. if (canvas.offscreenCanvas)
  5119. canvas = canvas.offscreenCanvas;
  5120. var autoResizeViewport = false;
  5121. if (canvas.GLctxObject && canvas.GLctxObject.GLctx) {
  5122. var prevViewport = canvas.GLctxObject.GLctx.getParameter(2978);
  5123. autoResizeViewport = prevViewport[0] === 0 && prevViewport[1] === 0 && prevViewport[2] === canvas.width && prevViewport[3] === canvas.height;
  5124. }
  5125. canvas.width = width;
  5126. canvas.height = height;
  5127. if (autoResizeViewport) {
  5128. canvas.GLctxObject.GLctx.viewport(0, 0, width, height);
  5129. }
  5130. } else if (canvas.canvasSharedPtr) {
  5131. var targetThread = GROWABLE_HEAP_I32()[canvas.canvasSharedPtr + 8 >> 2];
  5132. _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, target, width, height);
  5133. return 1;
  5134. } else {
  5135. return -4;
  5136. }
  5137. return 0;
  5138. }
  5139. function _emscripten_set_canvas_element_size_main_thread(target, width, height) {
  5140. if (ENVIRONMENT_IS_PTHREAD)
  5141. return _emscripten_proxy_to_main_thread_js(4, 1, target, width, height);
  5142. return _emscripten_set_canvas_element_size_calling_thread(target, width, height);
  5143. }
  5144. function _emscripten_set_canvas_element_size(target, width, height) {
  5145. var canvas = findCanvasEventTarget(target);
  5146. if (canvas) {
  5147. return _emscripten_set_canvas_element_size_calling_thread(target, width, height);
  5148. } else {
  5149. return _emscripten_set_canvas_element_size_main_thread(target, width, height);
  5150. }
  5151. }
  5152. function _emscripten_set_current_thread_status(newStatus) {
  5153. newStatus = newStatus | 0;
  5154. }
  5155. function __webgl_enable_ANGLE_instanced_arrays(ctx) {
  5156. var ext = ctx.getExtension("ANGLE_instanced_arrays");
  5157. if (ext) {
  5158. ctx["vertexAttribDivisor"] = function(index, divisor) {
  5159. ext["vertexAttribDivisorANGLE"](index, divisor);
  5160. };
  5161. ctx["drawArraysInstanced"] = function(mode, first, count, primcount) {
  5162. ext["drawArraysInstancedANGLE"](mode, first, count, primcount);
  5163. };
  5164. ctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) {
  5165. ext["drawElementsInstancedANGLE"](mode, count, type, indices, primcount);
  5166. };
  5167. return 1;
  5168. }
  5169. }
  5170. function __webgl_enable_OES_vertex_array_object(ctx) {
  5171. var ext = ctx.getExtension("OES_vertex_array_object");
  5172. if (ext) {
  5173. ctx["createVertexArray"] = function() {
  5174. return ext["createVertexArrayOES"]();
  5175. };
  5176. ctx["deleteVertexArray"] = function(vao) {
  5177. ext["deleteVertexArrayOES"](vao);
  5178. };
  5179. ctx["bindVertexArray"] = function(vao) {
  5180. ext["bindVertexArrayOES"](vao);
  5181. };
  5182. ctx["isVertexArray"] = function(vao) {
  5183. return ext["isVertexArrayOES"](vao);
  5184. };
  5185. return 1;
  5186. }
  5187. }
  5188. function __webgl_enable_WEBGL_draw_buffers(ctx) {
  5189. var ext = ctx.getExtension("WEBGL_draw_buffers");
  5190. if (ext) {
  5191. ctx["drawBuffers"] = function(n, bufs) {
  5192. ext["drawBuffersWEBGL"](n, bufs);
  5193. };
  5194. return 1;
  5195. }
  5196. }
  5197. function __webgl_enable_WEBGL_multi_draw(ctx) {
  5198. return !!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw"));
  5199. }
  5200. var GL = { counter: 1, buffers: [], programs: [], framebuffers: [], renderbuffers: [], textures: [], uniforms: [], shaders: [], vaos: [], contexts: {}, offscreenCanvases: {}, timerQueriesEXT: [], programInfos: {}, stringCache: {}, unpackAlignment: 4, recordError: function recordError(errorCode) {
  5201. if (!GL.lastError) {
  5202. GL.lastError = errorCode;
  5203. }
  5204. }, getNewId: function(table) {
  5205. var ret = GL.counter++;
  5206. for (var i = table.length; i < ret; i++) {
  5207. table[i] = null;
  5208. }
  5209. return ret;
  5210. }, getSource: function(shader, count, string, length) {
  5211. var source = "";
  5212. for (var i = 0; i < count; ++i) {
  5213. var len = length ? GROWABLE_HEAP_I32()[length + i * 4 >> 2] : -1;
  5214. source += UTF8ToString(GROWABLE_HEAP_I32()[string + i * 4 >> 2], len < 0 ? void 0 : len);
  5215. }
  5216. return source;
  5217. }, createContext: function(canvas, webGLContextAttributes) {
  5218. var ctx = canvas.getContext("webgl", webGLContextAttributes);
  5219. if (!ctx)
  5220. return 0;
  5221. var handle = GL.registerContext(ctx, webGLContextAttributes);
  5222. return handle;
  5223. }, registerContext: function(ctx, webGLContextAttributes) {
  5224. var handle = _malloc(8);
  5225. GROWABLE_HEAP_I32()[handle + 4 >> 2] = _pthread_self();
  5226. var context = { handle, attributes: webGLContextAttributes, version: webGLContextAttributes.majorVersion, GLctx: ctx };
  5227. if (ctx.canvas)
  5228. ctx.canvas.GLctxObject = context;
  5229. GL.contexts[handle] = context;
  5230. if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) {
  5231. GL.initExtensions(context);
  5232. }
  5233. return handle;
  5234. }, makeContextCurrent: function(contextHandle) {
  5235. GL.currentContext = GL.contexts[contextHandle];
  5236. Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx;
  5237. return !(contextHandle && !GLctx);
  5238. }, getContext: function(contextHandle) {
  5239. return GL.contexts[contextHandle];
  5240. }, deleteContext: function(contextHandle) {
  5241. if (GL.currentContext === GL.contexts[contextHandle])
  5242. GL.currentContext = null;
  5243. if (typeof JSEvents === "object")
  5244. JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
  5245. if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas)
  5246. GL.contexts[contextHandle].GLctx.canvas.GLctxObject = void 0;
  5247. _free(GL.contexts[contextHandle].handle);
  5248. GL.contexts[contextHandle] = null;
  5249. }, initExtensions: function(context) {
  5250. if (!context)
  5251. context = GL.currentContext;
  5252. if (context.initExtensionsDone)
  5253. return;
  5254. context.initExtensionsDone = true;
  5255. var GLctx2 = context.GLctx;
  5256. __webgl_enable_ANGLE_instanced_arrays(GLctx2);
  5257. __webgl_enable_OES_vertex_array_object(GLctx2);
  5258. __webgl_enable_WEBGL_draw_buffers(GLctx2);
  5259. GLctx2.disjointTimerQueryExt = GLctx2.getExtension("EXT_disjoint_timer_query");
  5260. __webgl_enable_WEBGL_multi_draw(GLctx2);
  5261. var automaticallyEnabledExtensions = ["OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "EXT_texture_norm16", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2", "WEBKIT_WEBGL_compressed_texture_pvrtc"];
  5262. var exts = GLctx2.getSupportedExtensions() || [];
  5263. exts.forEach(function(ext) {
  5264. if (automaticallyEnabledExtensions.indexOf(ext) != -1) {
  5265. GLctx2.getExtension(ext);
  5266. }
  5267. });
  5268. }, populateUniformTable: function(program) {
  5269. var p = GL.programs[program];
  5270. var ptable = GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, maxAttributeLength: -1, maxUniformBlockNameLength: -1 };
  5271. var utable = ptable.uniforms;
  5272. var numUniforms = GLctx.getProgramParameter(p, 35718);
  5273. for (var i = 0; i < numUniforms; ++i) {
  5274. var u = GLctx.getActiveUniform(p, i);
  5275. var name2 = u.name;
  5276. ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name2.length + 1);
  5277. if (name2.slice(-1) == "]") {
  5278. name2 = name2.slice(0, name2.lastIndexOf("["));
  5279. }
  5280. var loc = GLctx.getUniformLocation(p, name2);
  5281. if (loc) {
  5282. var id = GL.getNewId(GL.uniforms);
  5283. utable[name2] = [u.size, id];
  5284. GL.uniforms[id] = loc;
  5285. for (var j = 1; j < u.size; ++j) {
  5286. var n = name2 + "[" + j + "]";
  5287. loc = GLctx.getUniformLocation(p, n);
  5288. id = GL.getNewId(GL.uniforms);
  5289. GL.uniforms[id] = loc;
  5290. }
  5291. }
  5292. }
  5293. } };
  5294. var __emscripten_webgl_power_preferences = ["default", "low-power", "high-performance"];
  5295. function _emscripten_webgl_do_create_context(target, attributes) {
  5296. var a = attributes >> 2;
  5297. var powerPreference = GROWABLE_HEAP_I32()[a + (24 >> 2)];
  5298. var contextAttributes = { "alpha": !!GROWABLE_HEAP_I32()[a + (0 >> 2)], "depth": !!GROWABLE_HEAP_I32()[a + (4 >> 2)], "stencil": !!GROWABLE_HEAP_I32()[a + (8 >> 2)], "antialias": !!GROWABLE_HEAP_I32()[a + (12 >> 2)], "premultipliedAlpha": !!GROWABLE_HEAP_I32()[a + (16 >> 2)], "preserveDrawingBuffer": !!GROWABLE_HEAP_I32()[a + (20 >> 2)], "powerPreference": __emscripten_webgl_power_preferences[powerPreference], "failIfMajorPerformanceCaveat": !!GROWABLE_HEAP_I32()[a + (28 >> 2)], majorVersion: GROWABLE_HEAP_I32()[a + (32 >> 2)], minorVersion: GROWABLE_HEAP_I32()[a + (36 >> 2)], enableExtensionsByDefault: GROWABLE_HEAP_I32()[a + (40 >> 2)], explicitSwapControl: GROWABLE_HEAP_I32()[a + (44 >> 2)], proxyContextToMainThread: GROWABLE_HEAP_I32()[a + (48 >> 2)], renderViaOffscreenBackBuffer: GROWABLE_HEAP_I32()[a + (52 >> 2)] };
  5299. var canvas = findCanvasEventTarget(target);
  5300. if (!canvas) {
  5301. return 0;
  5302. }
  5303. if (contextAttributes.explicitSwapControl) {
  5304. return 0;
  5305. }
  5306. var contextHandle = GL.createContext(canvas, contextAttributes);
  5307. return contextHandle;
  5308. }
  5309. function _emscripten_webgl_create_context(a0, a1) {
  5310. return _emscripten_webgl_do_create_context(a0, a1);
  5311. }
  5312. var ENV = {};
  5313. function getExecutableName() {
  5314. return thisProgram || "./this.program";
  5315. }
  5316. function getEnvStrings() {
  5317. if (!getEnvStrings.strings) {
  5318. var lang = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8";
  5319. var env = { "USER": "web_user", "LOGNAME": "web_user", "PATH": "/", "PWD": "/", "HOME": "/home/web_user", "LANG": lang, "_": getExecutableName() };
  5320. for (var x in ENV) {
  5321. env[x] = ENV[x];
  5322. }
  5323. var strings = [];
  5324. for (var x in env) {
  5325. strings.push(x + "=" + env[x]);
  5326. }
  5327. getEnvStrings.strings = strings;
  5328. }
  5329. return getEnvStrings.strings;
  5330. }
  5331. function _environ_get(__environ, environ_buf) {
  5332. if (ENVIRONMENT_IS_PTHREAD)
  5333. return _emscripten_proxy_to_main_thread_js(5, 1, __environ, environ_buf);
  5334. try {
  5335. var bufSize = 0;
  5336. getEnvStrings().forEach(function(string, i) {
  5337. var ptr = environ_buf + bufSize;
  5338. GROWABLE_HEAP_I32()[__environ + i * 4 >> 2] = ptr;
  5339. writeAsciiToMemory(string, ptr);
  5340. bufSize += string.length + 1;
  5341. });
  5342. return 0;
  5343. } catch (e) {
  5344. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  5345. abort(e);
  5346. return e.errno;
  5347. }
  5348. }
  5349. function _environ_sizes_get(penviron_count, penviron_buf_size) {
  5350. if (ENVIRONMENT_IS_PTHREAD)
  5351. return _emscripten_proxy_to_main_thread_js(6, 1, penviron_count, penviron_buf_size);
  5352. try {
  5353. var strings = getEnvStrings();
  5354. GROWABLE_HEAP_I32()[penviron_count >> 2] = strings.length;
  5355. var bufSize = 0;
  5356. strings.forEach(function(string) {
  5357. bufSize += string.length + 1;
  5358. });
  5359. GROWABLE_HEAP_I32()[penviron_buf_size >> 2] = bufSize;
  5360. return 0;
  5361. } catch (e) {
  5362. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  5363. abort(e);
  5364. return e.errno;
  5365. }
  5366. }
  5367. function _fd_close(fd) {
  5368. if (ENVIRONMENT_IS_PTHREAD)
  5369. return _emscripten_proxy_to_main_thread_js(7, 1, fd);
  5370. try {
  5371. var stream = SYSCALLS.getStreamFromFD(fd);
  5372. FS.close(stream);
  5373. return 0;
  5374. } catch (e) {
  5375. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  5376. abort(e);
  5377. return e.errno;
  5378. }
  5379. }
  5380. function _fd_read(fd, iov, iovcnt, pnum) {
  5381. if (ENVIRONMENT_IS_PTHREAD)
  5382. return _emscripten_proxy_to_main_thread_js(8, 1, fd, iov, iovcnt, pnum);
  5383. try {
  5384. var stream = SYSCALLS.getStreamFromFD(fd);
  5385. var num = SYSCALLS.doReadv(stream, iov, iovcnt);
  5386. GROWABLE_HEAP_I32()[pnum >> 2] = num;
  5387. return 0;
  5388. } catch (e) {
  5389. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  5390. abort(e);
  5391. return e.errno;
  5392. }
  5393. }
  5394. function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
  5395. if (ENVIRONMENT_IS_PTHREAD)
  5396. return _emscripten_proxy_to_main_thread_js(9, 1, fd, offset_low, offset_high, whence, newOffset);
  5397. try {
  5398. var stream = SYSCALLS.getStreamFromFD(fd);
  5399. var HIGH_OFFSET = 4294967296;
  5400. var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
  5401. var DOUBLE_LIMIT = 9007199254740992;
  5402. if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
  5403. return -61;
  5404. }
  5405. FS.llseek(stream, offset, whence);
  5406. tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[newOffset >> 2] = tempI64[0], GROWABLE_HEAP_I32()[newOffset + 4 >> 2] = tempI64[1];
  5407. if (stream.getdents && offset === 0 && whence === 0)
  5408. stream.getdents = null;
  5409. return 0;
  5410. } catch (e) {
  5411. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  5412. abort(e);
  5413. return e.errno;
  5414. }
  5415. }
  5416. function _fd_write(fd, iov, iovcnt, pnum) {
  5417. if (ENVIRONMENT_IS_PTHREAD)
  5418. return _emscripten_proxy_to_main_thread_js(10, 1, fd, iov, iovcnt, pnum);
  5419. try {
  5420. var stream = SYSCALLS.getStreamFromFD(fd);
  5421. var num = SYSCALLS.doWritev(stream, iov, iovcnt);
  5422. GROWABLE_HEAP_I32()[pnum >> 2] = num;
  5423. return 0;
  5424. } catch (e) {
  5425. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  5426. abort(e);
  5427. return e.errno;
  5428. }
  5429. }
  5430. function _pthread_cleanup_push(routine, arg) {
  5431. PThread.threadExitHandlers.push(function() {
  5432. wasmTable.get(routine)(arg);
  5433. });
  5434. }
  5435. function spawnThread(threadParams) {
  5436. if (ENVIRONMENT_IS_PTHREAD)
  5437. throw "Internal Error! spawnThread() can only ever be called from main application thread!";
  5438. var worker = PThread.getNewWorker();
  5439. if (worker.pthread !== void 0)
  5440. throw "Internal error!";
  5441. if (!threadParams.pthread_ptr)
  5442. throw "Internal error, no pthread ptr!";
  5443. PThread.runningWorkers.push(worker);
  5444. var tlsMemory = _malloc(128 * 4);
  5445. for (var i = 0; i < 128; ++i) {
  5446. GROWABLE_HEAP_I32()[tlsMemory + i * 4 >> 2] = 0;
  5447. }
  5448. var stackHigh = threadParams.stackBase + threadParams.stackSize;
  5449. var pthread = PThread.pthreads[threadParams.pthread_ptr] = { worker, stackBase: threadParams.stackBase, stackSize: threadParams.stackSize, allocatedOwnStack: threadParams.allocatedOwnStack, thread: threadParams.pthread_ptr, threadInfoStruct: threadParams.pthread_ptr };
  5450. var tis = pthread.threadInfoStruct >> 2;
  5451. Atomics.store(GROWABLE_HEAP_U32(), tis + (0 >> 2), 0);
  5452. Atomics.store(GROWABLE_HEAP_U32(), tis + (4 >> 2), 0);
  5453. Atomics.store(GROWABLE_HEAP_U32(), tis + (8 >> 2), 0);
  5454. Atomics.store(GROWABLE_HEAP_U32(), tis + (68 >> 2), threadParams.detached);
  5455. Atomics.store(GROWABLE_HEAP_U32(), tis + (104 >> 2), tlsMemory);
  5456. Atomics.store(GROWABLE_HEAP_U32(), tis + (48 >> 2), 0);
  5457. Atomics.store(GROWABLE_HEAP_U32(), tis + (40 >> 2), pthread.threadInfoStruct);
  5458. Atomics.store(GROWABLE_HEAP_U32(), tis + (44 >> 2), 42);
  5459. Atomics.store(GROWABLE_HEAP_U32(), tis + (108 >> 2), threadParams.stackSize);
  5460. Atomics.store(GROWABLE_HEAP_U32(), tis + (84 >> 2), threadParams.stackSize);
  5461. Atomics.store(GROWABLE_HEAP_U32(), tis + (80 >> 2), stackHigh);
  5462. Atomics.store(GROWABLE_HEAP_U32(), tis + (108 + 8 >> 2), stackHigh);
  5463. Atomics.store(GROWABLE_HEAP_U32(), tis + (108 + 12 >> 2), threadParams.detached);
  5464. Atomics.store(GROWABLE_HEAP_U32(), tis + (108 + 20 >> 2), threadParams.schedPolicy);
  5465. Atomics.store(GROWABLE_HEAP_U32(), tis + (108 + 24 >> 2), threadParams.schedPrio);
  5466. var global_libc = _emscripten_get_global_libc();
  5467. var global_locale = global_libc + 40;
  5468. Atomics.store(GROWABLE_HEAP_U32(), tis + (176 >> 2), global_locale);
  5469. worker.pthread = pthread;
  5470. var msg = { "cmd": "run", "start_routine": threadParams.startRoutine, "arg": threadParams.arg, "threadInfoStruct": threadParams.pthread_ptr, "selfThreadId": threadParams.pthread_ptr, "parentThreadId": threadParams.parent_pthread_ptr, "stackBase": threadParams.stackBase, "stackSize": threadParams.stackSize };
  5471. worker.runPthread = function() {
  5472. msg.time = performance.now();
  5473. worker.postMessage(msg, threadParams.transferList);
  5474. };
  5475. if (worker.loaded) {
  5476. worker.runPthread();
  5477. delete worker.runPthread;
  5478. }
  5479. }
  5480. function _pthread_getschedparam(thread, policy, schedparam) {
  5481. if (!policy && !schedparam)
  5482. return ERRNO_CODES.EINVAL;
  5483. if (!thread) {
  5484. err("pthread_getschedparam called with a null thread pointer!");
  5485. return ERRNO_CODES.ESRCH;
  5486. }
  5487. var self2 = GROWABLE_HEAP_I32()[thread + 12 >> 2];
  5488. if (self2 !== thread) {
  5489. err("pthread_getschedparam attempted on thread " + thread + ", which does not point to a valid thread, or does not exist anymore!");
  5490. return ERRNO_CODES.ESRCH;
  5491. }
  5492. var schedPolicy = Atomics.load(GROWABLE_HEAP_U32(), thread + 108 + 20 >> 2);
  5493. var schedPrio = Atomics.load(GROWABLE_HEAP_U32(), thread + 108 + 24 >> 2);
  5494. if (policy)
  5495. GROWABLE_HEAP_I32()[policy >> 2] = schedPolicy;
  5496. if (schedparam)
  5497. GROWABLE_HEAP_I32()[schedparam >> 2] = schedPrio;
  5498. return 0;
  5499. }
  5500. function _pthread_self() {
  5501. return __pthread_ptr | 0;
  5502. }
  5503. Module["_pthread_self"] = _pthread_self;
  5504. function _pthread_create(pthread_ptr, attr, start_routine, arg) {
  5505. if (typeof SharedArrayBuffer === "undefined") {
  5506. err("Current environment does not support SharedArrayBuffer, pthreads are not available!");
  5507. return 6;
  5508. }
  5509. if (!pthread_ptr) {
  5510. err("pthread_create called with a null thread pointer!");
  5511. return 28;
  5512. }
  5513. var transferList = [];
  5514. var error = 0;
  5515. if (ENVIRONMENT_IS_PTHREAD && (transferList.length === 0 || error)) {
  5516. return _emscripten_sync_run_in_main_thread_4(687865856, pthread_ptr, attr, start_routine, arg);
  5517. }
  5518. if (error)
  5519. return error;
  5520. var stackSize = 0;
  5521. var stackBase = 0;
  5522. var detached = 0;
  5523. var schedPolicy = 0;
  5524. var schedPrio = 0;
  5525. if (attr) {
  5526. stackSize = GROWABLE_HEAP_I32()[attr >> 2];
  5527. stackSize += 81920;
  5528. stackBase = GROWABLE_HEAP_I32()[attr + 8 >> 2];
  5529. detached = GROWABLE_HEAP_I32()[attr + 12 >> 2] !== 0;
  5530. var inheritSched = GROWABLE_HEAP_I32()[attr + 16 >> 2] === 0;
  5531. if (inheritSched) {
  5532. var prevSchedPolicy = GROWABLE_HEAP_I32()[attr + 20 >> 2];
  5533. var prevSchedPrio = GROWABLE_HEAP_I32()[attr + 24 >> 2];
  5534. var parentThreadPtr = PThread.currentProxiedOperationCallerThread ? PThread.currentProxiedOperationCallerThread : _pthread_self();
  5535. _pthread_getschedparam(parentThreadPtr, attr + 20, attr + 24);
  5536. schedPolicy = GROWABLE_HEAP_I32()[attr + 20 >> 2];
  5537. schedPrio = GROWABLE_HEAP_I32()[attr + 24 >> 2];
  5538. GROWABLE_HEAP_I32()[attr + 20 >> 2] = prevSchedPolicy;
  5539. GROWABLE_HEAP_I32()[attr + 24 >> 2] = prevSchedPrio;
  5540. } else {
  5541. schedPolicy = GROWABLE_HEAP_I32()[attr + 20 >> 2];
  5542. schedPrio = GROWABLE_HEAP_I32()[attr + 24 >> 2];
  5543. }
  5544. } else {
  5545. stackSize = 2097152;
  5546. }
  5547. var allocatedOwnStack = stackBase == 0;
  5548. if (allocatedOwnStack) {
  5549. stackBase = _memalign(16, stackSize);
  5550. } else {
  5551. stackBase -= stackSize;
  5552. assert(stackBase > 0);
  5553. }
  5554. var threadInfoStruct2 = _malloc(232);
  5555. for (var i = 0; i < 232 >> 2; ++i)
  5556. GROWABLE_HEAP_U32()[(threadInfoStruct2 >> 2) + i] = 0;
  5557. GROWABLE_HEAP_I32()[pthread_ptr >> 2] = threadInfoStruct2;
  5558. GROWABLE_HEAP_I32()[threadInfoStruct2 + 12 >> 2] = threadInfoStruct2;
  5559. var headPtr = threadInfoStruct2 + 156;
  5560. GROWABLE_HEAP_I32()[headPtr >> 2] = headPtr;
  5561. var threadParams = { stackBase, stackSize, allocatedOwnStack, schedPolicy, schedPrio, detached, startRoutine: start_routine, pthread_ptr: threadInfoStruct2, parent_pthread_ptr: _pthread_self(), arg, transferList };
  5562. if (ENVIRONMENT_IS_PTHREAD) {
  5563. threadParams.cmd = "spawnThread";
  5564. postMessage(threadParams, transferList);
  5565. } else {
  5566. spawnThread(threadParams);
  5567. }
  5568. return 0;
  5569. }
  5570. function _setTempRet0($i) {
  5571. setTempRet0($i | 0);
  5572. }
  5573. function __isLeapYear(year) {
  5574. return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
  5575. }
  5576. function __arraySum(array, index) {
  5577. var sum = 0;
  5578. for (var i = 0; i <= index; sum += array[i++]) {
  5579. }
  5580. return sum;
  5581. }
  5582. var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  5583. var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  5584. function __addDays(date, days) {
  5585. var newDate = new Date(date.getTime());
  5586. while (days > 0) {
  5587. var leap = __isLeapYear(newDate.getFullYear());
  5588. var currentMonth = newDate.getMonth();
  5589. var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
  5590. if (days > daysInCurrentMonth - newDate.getDate()) {
  5591. days -= daysInCurrentMonth - newDate.getDate() + 1;
  5592. newDate.setDate(1);
  5593. if (currentMonth < 11) {
  5594. newDate.setMonth(currentMonth + 1);
  5595. } else {
  5596. newDate.setMonth(0);
  5597. newDate.setFullYear(newDate.getFullYear() + 1);
  5598. }
  5599. } else {
  5600. newDate.setDate(newDate.getDate() + days);
  5601. return newDate;
  5602. }
  5603. }
  5604. return newDate;
  5605. }
  5606. function _strftime(s, maxsize, format, tm) {
  5607. var tm_zone = GROWABLE_HEAP_I32()[tm + 40 >> 2];
  5608. var date = { tm_sec: GROWABLE_HEAP_I32()[tm >> 2], tm_min: GROWABLE_HEAP_I32()[tm + 4 >> 2], tm_hour: GROWABLE_HEAP_I32()[tm + 8 >> 2], tm_mday: GROWABLE_HEAP_I32()[tm + 12 >> 2], tm_mon: GROWABLE_HEAP_I32()[tm + 16 >> 2], tm_year: GROWABLE_HEAP_I32()[tm + 20 >> 2], tm_wday: GROWABLE_HEAP_I32()[tm + 24 >> 2], tm_yday: GROWABLE_HEAP_I32()[tm + 28 >> 2], tm_isdst: GROWABLE_HEAP_I32()[tm + 32 >> 2], tm_gmtoff: GROWABLE_HEAP_I32()[tm + 36 >> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" };
  5609. var pattern = UTF8ToString(format);
  5610. var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" };
  5611. for (var rule in EXPANSION_RULES_1) {
  5612. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
  5613. }
  5614. var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
  5615. var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  5616. function leadingSomething(value, digits, character) {
  5617. var str = typeof value === "number" ? value.toString() : value || "";
  5618. while (str.length < digits) {
  5619. str = character[0] + str;
  5620. }
  5621. return str;
  5622. }
  5623. function leadingNulls(value, digits) {
  5624. return leadingSomething(value, digits, "0");
  5625. }
  5626. function compareByDay(date1, date2) {
  5627. function sgn(value) {
  5628. return value < 0 ? -1 : value > 0 ? 1 : 0;
  5629. }
  5630. var compare;
  5631. if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
  5632. if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
  5633. compare = sgn(date1.getDate() - date2.getDate());
  5634. }
  5635. }
  5636. return compare;
  5637. }
  5638. function getFirstWeekStartDate(janFourth) {
  5639. switch (janFourth.getDay()) {
  5640. case 0:
  5641. return new Date(janFourth.getFullYear() - 1, 11, 29);
  5642. case 1:
  5643. return janFourth;
  5644. case 2:
  5645. return new Date(janFourth.getFullYear(), 0, 3);
  5646. case 3:
  5647. return new Date(janFourth.getFullYear(), 0, 2);
  5648. case 4:
  5649. return new Date(janFourth.getFullYear(), 0, 1);
  5650. case 5:
  5651. return new Date(janFourth.getFullYear() - 1, 11, 31);
  5652. case 6:
  5653. return new Date(janFourth.getFullYear() - 1, 11, 30);
  5654. }
  5655. }
  5656. function getWeekBasedYear(date2) {
  5657. var thisDate = __addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday);
  5658. var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
  5659. var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
  5660. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  5661. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  5662. if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
  5663. if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
  5664. return thisDate.getFullYear() + 1;
  5665. } else {
  5666. return thisDate.getFullYear();
  5667. }
  5668. } else {
  5669. return thisDate.getFullYear() - 1;
  5670. }
  5671. }
  5672. var EXPANSION_RULES_2 = { "%a": function(date2) {
  5673. return WEEKDAYS[date2.tm_wday].substring(0, 3);
  5674. }, "%A": function(date2) {
  5675. return WEEKDAYS[date2.tm_wday];
  5676. }, "%b": function(date2) {
  5677. return MONTHS[date2.tm_mon].substring(0, 3);
  5678. }, "%B": function(date2) {
  5679. return MONTHS[date2.tm_mon];
  5680. }, "%C": function(date2) {
  5681. var year = date2.tm_year + 1900;
  5682. return leadingNulls(year / 100 | 0, 2);
  5683. }, "%d": function(date2) {
  5684. return leadingNulls(date2.tm_mday, 2);
  5685. }, "%e": function(date2) {
  5686. return leadingSomething(date2.tm_mday, 2, " ");
  5687. }, "%g": function(date2) {
  5688. return getWeekBasedYear(date2).toString().substring(2);
  5689. }, "%G": function(date2) {
  5690. return getWeekBasedYear(date2);
  5691. }, "%H": function(date2) {
  5692. return leadingNulls(date2.tm_hour, 2);
  5693. }, "%I": function(date2) {
  5694. var twelveHour = date2.tm_hour;
  5695. if (twelveHour == 0)
  5696. twelveHour = 12;
  5697. else if (twelveHour > 12)
  5698. twelveHour -= 12;
  5699. return leadingNulls(twelveHour, 2);
  5700. }, "%j": function(date2) {
  5701. return leadingNulls(date2.tm_mday + __arraySum(__isLeapYear(date2.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3);
  5702. }, "%m": function(date2) {
  5703. return leadingNulls(date2.tm_mon + 1, 2);
  5704. }, "%M": function(date2) {
  5705. return leadingNulls(date2.tm_min, 2);
  5706. }, "%n": function() {
  5707. return "\n";
  5708. }, "%p": function(date2) {
  5709. if (date2.tm_hour >= 0 && date2.tm_hour < 12) {
  5710. return "AM";
  5711. } else {
  5712. return "PM";
  5713. }
  5714. }, "%S": function(date2) {
  5715. return leadingNulls(date2.tm_sec, 2);
  5716. }, "%t": function() {
  5717. return " ";
  5718. }, "%u": function(date2) {
  5719. return date2.tm_wday || 7;
  5720. }, "%U": function(date2) {
  5721. var janFirst = new Date(date2.tm_year + 1900, 0, 1);
  5722. var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
  5723. var endDate = new Date(date2.tm_year + 1900, date2.tm_mon, date2.tm_mday);
  5724. if (compareByDay(firstSunday, endDate) < 0) {
  5725. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  5726. var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
  5727. var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  5728. return leadingNulls(Math.ceil(days / 7), 2);
  5729. }
  5730. return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00";
  5731. }, "%V": function(date2) {
  5732. var janFourthThisYear = new Date(date2.tm_year + 1900, 0, 4);
  5733. var janFourthNextYear = new Date(date2.tm_year + 1901, 0, 4);
  5734. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  5735. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  5736. var endDate = __addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday);
  5737. if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
  5738. return "53";
  5739. }
  5740. if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
  5741. return "01";
  5742. }
  5743. var daysDifference;
  5744. if (firstWeekStartThisYear.getFullYear() < date2.tm_year + 1900) {
  5745. daysDifference = date2.tm_yday + 32 - firstWeekStartThisYear.getDate();
  5746. } else {
  5747. daysDifference = date2.tm_yday + 1 - firstWeekStartThisYear.getDate();
  5748. }
  5749. return leadingNulls(Math.ceil(daysDifference / 7), 2);
  5750. }, "%w": function(date2) {
  5751. return date2.tm_wday;
  5752. }, "%W": function(date2) {
  5753. var janFirst = new Date(date2.tm_year, 0, 1);
  5754. var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
  5755. var endDate = new Date(date2.tm_year + 1900, date2.tm_mon, date2.tm_mday);
  5756. if (compareByDay(firstMonday, endDate) < 0) {
  5757. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  5758. var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
  5759. var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  5760. return leadingNulls(Math.ceil(days / 7), 2);
  5761. }
  5762. return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00";
  5763. }, "%y": function(date2) {
  5764. return (date2.tm_year + 1900).toString().substring(2);
  5765. }, "%Y": function(date2) {
  5766. return date2.tm_year + 1900;
  5767. }, "%z": function(date2) {
  5768. var off = date2.tm_gmtoff;
  5769. var ahead = off >= 0;
  5770. off = Math.abs(off) / 60;
  5771. off = off / 60 * 100 + off % 60;
  5772. return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
  5773. }, "%Z": function(date2) {
  5774. return date2.tm_zone;
  5775. }, "%%": function() {
  5776. return "%";
  5777. } };
  5778. for (var rule in EXPANSION_RULES_2) {
  5779. if (pattern.indexOf(rule) >= 0) {
  5780. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
  5781. }
  5782. }
  5783. var bytes = intArrayFromString(pattern, false);
  5784. if (bytes.length > maxsize) {
  5785. return 0;
  5786. }
  5787. writeArrayToMemory(bytes, s);
  5788. return bytes.length - 1;
  5789. }
  5790. function _strftime_l(s, maxsize, format, tm) {
  5791. return _strftime(s, maxsize, format, tm);
  5792. }
  5793. if (!ENVIRONMENT_IS_PTHREAD)
  5794. PThread.initMainThreadBlock();
  5795. var FSNode = function(parent, name2, mode, rdev) {
  5796. if (!parent) {
  5797. parent = this;
  5798. }
  5799. this.parent = parent;
  5800. this.mount = parent.mount;
  5801. this.mounted = null;
  5802. this.id = FS.nextInode++;
  5803. this.name = name2;
  5804. this.mode = mode;
  5805. this.node_ops = {};
  5806. this.stream_ops = {};
  5807. this.rdev = rdev;
  5808. };
  5809. var readMode = 292 | 73;
  5810. var writeMode = 146;
  5811. Object.defineProperties(FSNode.prototype, { read: { get: function() {
  5812. return (this.mode & readMode) === readMode;
  5813. }, set: function(val) {
  5814. val ? this.mode |= readMode : this.mode &= ~readMode;
  5815. } }, write: { get: function() {
  5816. return (this.mode & writeMode) === writeMode;
  5817. }, set: function(val) {
  5818. val ? this.mode |= writeMode : this.mode &= ~writeMode;
  5819. } }, isFolder: { get: function() {
  5820. return FS.isDir(this.mode);
  5821. } }, isDevice: { get: function() {
  5822. return FS.isChrdev(this.mode);
  5823. } } });
  5824. FS.FSNode = FSNode;
  5825. FS.staticInit();
  5826. Module["FS_createPath"] = FS.createPath;
  5827. Module["FS_createDataFile"] = FS.createDataFile;
  5828. Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
  5829. Module["FS_createLazyFile"] = FS.createLazyFile;
  5830. Module["FS_createDevice"] = FS.createDevice;
  5831. Module["FS_unlink"] = FS.unlink;
  5832. InternalError = Module["InternalError"] = extendError(Error, "InternalError");
  5833. embind_init_charCodes();
  5834. BindingError = Module["BindingError"] = extendError(Error, "BindingError");
  5835. init_ClassHandle();
  5836. init_RegisteredPointer();
  5837. init_embind();
  5838. UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError");
  5839. init_emval();
  5840. var GLctx;
  5841. var proxiedFunctionTable = [null, _atexit, ___sys_ioctl, ___sys_open, _emscripten_set_canvas_element_size_main_thread, _environ_get, _environ_sizes_get, _fd_close, _fd_read, _fd_seek, _fd_write];
  5842. function intArrayFromString(stringy, dontAddNull, length) {
  5843. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  5844. var u8array = new Array(len);
  5845. var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
  5846. if (dontAddNull)
  5847. u8array.length = numBytesWritten;
  5848. return u8array;
  5849. }
  5850. if (!ENVIRONMENT_IS_PTHREAD)
  5851. __ATINIT__.push({ func: function() {
  5852. ___wasm_call_ctors();
  5853. } });
  5854. var asmLibraryArg = { "p": ___assert_fail, "H": ___cxa_allocate_exception, "G": ___cxa_throw, "ha": ___sys_ioctl, "ia": ___sys_open, "na": __embind_finalize_value_array, "w": __embind_finalize_value_object, "ka": __embind_register_bool, "z": __embind_register_class, "y": __embind_register_class_constructor, "e": __embind_register_class_function, "ja": __embind_register_emval, "ma": __embind_register_enum, "E": __embind_register_enum_value, "N": __embind_register_float, "i": __embind_register_function, "u": __embind_register_integer, "q": __embind_register_memory_view, "O": __embind_register_std_string, "F": __embind_register_std_wstring, "oa": __embind_register_value_array, "l": __embind_register_value_array_element, "x": __embind_register_value_object, "h": __embind_register_value_object_field, "la": __embind_register_void, "$": __emscripten_notify_thread_queue, "s": __emval_as, "P": __emval_call, "b": __emval_decref, "Z": __emval_get_global, "t": __emval_get_property, "o": __emval_incref, "ba": __emval_instanceof, "Q": __emval_is_number, "I": __emval_new_array, "j": __emval_new_cstring, "A": __emval_new_object, "r": __emval_run_destructors, "m": __emval_set_property, "g": __emval_take_value, "K": _abort, "fa": _clock_gettime, "B": _emscripten_asm_const_int, "aa": _emscripten_check_blocking_allowed, "J": _emscripten_conditional_set_current_thread_status, "k": _emscripten_futex_wait, "n": _emscripten_futex_wake, "d": _emscripten_get_now, "D": _emscripten_is_main_browser_thread, "C": _emscripten_is_main_runtime_thread, "U": _emscripten_memcpy_big, "W": _emscripten_receive_on_main_thread_js, "v": _emscripten_resize_heap, "X": _emscripten_set_canvas_element_size, "f": _emscripten_set_current_thread_status, "Y": _emscripten_webgl_create_context, "da": _environ_get, "ea": _environ_sizes_get, "M": _fd_close, "ga": _fd_read, "R": _fd_seek, "L": _fd_write, "T": initPthreadsJS, "a": wasmMemory || Module["wasmMemory"], "V": _pthread_cleanup_push, "_": _pthread_create, "c": _pthread_self, "S": _setTempRet0, "ca": _strftime_l };
  5855. var asm = createWasm();
  5856. var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
  5857. return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["qa"]).apply(null, arguments);
  5858. };
  5859. var _main = Module["_main"] = function() {
  5860. return (_main = Module["_main"] = Module["asm"]["ra"]).apply(null, arguments);
  5861. };
  5862. var _malloc = Module["_malloc"] = function() {
  5863. return (_malloc = Module["_malloc"] = Module["asm"]["sa"]).apply(null, arguments);
  5864. };
  5865. var _free = Module["_free"] = function() {
  5866. return (_free = Module["_free"] = Module["asm"]["ta"]).apply(null, arguments);
  5867. };
  5868. var ___getTypeName = Module["___getTypeName"] = function() {
  5869. return (___getTypeName = Module["___getTypeName"] = Module["asm"]["ua"]).apply(null, arguments);
  5870. };
  5871. var ___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = function() {
  5872. return (___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = Module["asm"]["va"]).apply(null, arguments);
  5873. };
  5874. var ___errno_location = Module["___errno_location"] = function() {
  5875. return (___errno_location = Module["___errno_location"] = Module["asm"]["wa"]).apply(null, arguments);
  5876. };
  5877. var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = function() {
  5878. return (_emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = Module["asm"]["xa"]).apply(null, arguments);
  5879. };
  5880. var ___em_js__initPthreadsJS = Module["___em_js__initPthreadsJS"] = function() {
  5881. return (___em_js__initPthreadsJS = Module["___em_js__initPthreadsJS"] = Module["asm"]["ya"]).apply(null, arguments);
  5882. };
  5883. var stackSave = Module["stackSave"] = function() {
  5884. return (stackSave = Module["stackSave"] = Module["asm"]["za"]).apply(null, arguments);
  5885. };
  5886. var stackRestore = Module["stackRestore"] = function() {
  5887. return (stackRestore = Module["stackRestore"] = Module["asm"]["Aa"]).apply(null, arguments);
  5888. };
  5889. var stackAlloc = Module["stackAlloc"] = function() {
  5890. return (stackAlloc = Module["stackAlloc"] = Module["asm"]["Ba"]).apply(null, arguments);
  5891. };
  5892. var _emscripten_stack_set_limits = Module["_emscripten_stack_set_limits"] = function() {
  5893. return (_emscripten_stack_set_limits = Module["_emscripten_stack_set_limits"] = Module["asm"]["Ca"]).apply(null, arguments);
  5894. };
  5895. var _memalign = Module["_memalign"] = function() {
  5896. return (_memalign = Module["_memalign"] = Module["asm"]["Da"]).apply(null, arguments);
  5897. };
  5898. var _emscripten_main_browser_thread_id = Module["_emscripten_main_browser_thread_id"] = function() {
  5899. return (_emscripten_main_browser_thread_id = Module["_emscripten_main_browser_thread_id"] = Module["asm"]["Ea"]).apply(null, arguments);
  5900. };
  5901. var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = function() {
  5902. return (___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = Module["asm"]["Fa"]).apply(null, arguments);
  5903. };
  5904. var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() {
  5905. return (_emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = Module["asm"]["Ga"]).apply(null, arguments);
  5906. };
  5907. var _emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = function() {
  5908. return (_emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = Module["asm"]["Ha"]).apply(null, arguments);
  5909. };
  5910. var _emscripten_register_main_browser_thread_id = Module["_emscripten_register_main_browser_thread_id"] = function() {
  5911. return (_emscripten_register_main_browser_thread_id = Module["_emscripten_register_main_browser_thread_id"] = Module["asm"]["Ia"]).apply(null, arguments);
  5912. };
  5913. var _do_emscripten_dispatch_to_thread = Module["_do_emscripten_dispatch_to_thread"] = function() {
  5914. return (_do_emscripten_dispatch_to_thread = Module["_do_emscripten_dispatch_to_thread"] = Module["asm"]["Ja"]).apply(null, arguments);
  5915. };
  5916. var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = function() {
  5917. return (_emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = Module["asm"]["Ka"]).apply(null, arguments);
  5918. };
  5919. var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = function() {
  5920. return (_emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = Module["asm"]["La"]).apply(null, arguments);
  5921. };
  5922. var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = function() {
  5923. return (_emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = Module["asm"]["Ma"]).apply(null, arguments);
  5924. };
  5925. var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = function() {
  5926. return (_emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = Module["asm"]["Na"]).apply(null, arguments);
  5927. };
  5928. var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = function() {
  5929. return (_emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = Module["asm"]["Oa"]).apply(null, arguments);
  5930. };
  5931. var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() {
  5932. return (_emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = Module["asm"]["Pa"]).apply(null, arguments);
  5933. };
  5934. var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = function() {
  5935. return (_emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = Module["asm"]["Qa"]).apply(null, arguments);
  5936. };
  5937. var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = function() {
  5938. return (_emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = Module["asm"]["Ra"]).apply(null, arguments);
  5939. };
  5940. var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = function() {
  5941. return (_emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = Module["asm"]["Sa"]).apply(null, arguments);
  5942. };
  5943. var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = function() {
  5944. return (_emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = Module["asm"]["Ta"]).apply(null, arguments);
  5945. };
  5946. var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = function() {
  5947. return (_emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = Module["asm"]["Ua"]).apply(null, arguments);
  5948. };
  5949. var _emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = function() {
  5950. return (_emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = Module["asm"]["Va"]).apply(null, arguments);
  5951. };
  5952. var __emscripten_call_on_thread = Module["__emscripten_call_on_thread"] = function() {
  5953. return (__emscripten_call_on_thread = Module["__emscripten_call_on_thread"] = Module["asm"]["Wa"]).apply(null, arguments);
  5954. };
  5955. var _emscripten_tls_init = Module["_emscripten_tls_init"] = function() {
  5956. return (_emscripten_tls_init = Module["_emscripten_tls_init"] = Module["asm"]["Xa"]).apply(null, arguments);
  5957. };
  5958. var dynCall_jiji = Module["dynCall_jiji"] = function() {
  5959. return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["Ya"]).apply(null, arguments);
  5960. };
  5961. var dynCall_viijii = Module["dynCall_viijii"] = function() {
  5962. return (dynCall_viijii = Module["dynCall_viijii"] = Module["asm"]["Za"]).apply(null, arguments);
  5963. };
  5964. var dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = function() {
  5965. return (dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = Module["asm"]["_a"]).apply(null, arguments);
  5966. };
  5967. var dynCall_iiiiij = Module["dynCall_iiiiij"] = function() {
  5968. return (dynCall_iiiiij = Module["dynCall_iiiiij"] = Module["asm"]["$a"]).apply(null, arguments);
  5969. };
  5970. var dynCall_iiiiijj = Module["dynCall_iiiiijj"] = function() {
  5971. return (dynCall_iiiiijj = Module["dynCall_iiiiijj"] = Module["asm"]["ab"]).apply(null, arguments);
  5972. };
  5973. var _main_thread_futex = Module["_main_thread_futex"] = 51928;
  5974. Module["addRunDependency"] = addRunDependency;
  5975. Module["removeRunDependency"] = removeRunDependency;
  5976. Module["FS_createPath"] = FS.createPath;
  5977. Module["FS_createDataFile"] = FS.createDataFile;
  5978. Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
  5979. Module["FS_createLazyFile"] = FS.createLazyFile;
  5980. Module["FS_createDevice"] = FS.createDevice;
  5981. Module["FS_unlink"] = FS.unlink;
  5982. Module["FS"] = FS;
  5983. Module["PThread"] = PThread;
  5984. Module["PThread"] = PThread;
  5985. Module["_pthread_self"] = _pthread_self;
  5986. Module["wasmMemory"] = wasmMemory;
  5987. Module["ExitStatus"] = ExitStatus;
  5988. var calledRun;
  5989. function ExitStatus(status) {
  5990. this.name = "ExitStatus";
  5991. this.message = "Program terminated with exit(" + status + ")";
  5992. this.status = status;
  5993. }
  5994. var calledMain = false;
  5995. dependenciesFulfilled = function runCaller() {
  5996. if (!calledRun)
  5997. run();
  5998. if (!calledRun)
  5999. dependenciesFulfilled = runCaller;
  6000. };
  6001. function callMain(args) {
  6002. var entryFunction = Module["_main"];
  6003. var argc = 0;
  6004. var argv = 0;
  6005. try {
  6006. var ret = entryFunction(argc, argv);
  6007. exit(ret, true);
  6008. } catch (e) {
  6009. if (e instanceof ExitStatus) {
  6010. return;
  6011. } else if (e == "unwind") {
  6012. noExitRuntime = true;
  6013. return;
  6014. } else {
  6015. var toLog = e;
  6016. if (e && typeof e === "object" && e.stack) {
  6017. toLog = [e, e.stack];
  6018. }
  6019. err("exception thrown: " + toLog);
  6020. quit_(1, e);
  6021. }
  6022. } finally {
  6023. calledMain = true;
  6024. }
  6025. }
  6026. function run(args) {
  6027. args = args || arguments_;
  6028. if (runDependencies > 0) {
  6029. return;
  6030. }
  6031. preRun();
  6032. if (runDependencies > 0)
  6033. return;
  6034. function doRun() {
  6035. if (calledRun)
  6036. return;
  6037. calledRun = true;
  6038. Module["calledRun"] = true;
  6039. if (ABORT)
  6040. return;
  6041. initRuntime();
  6042. preMain();
  6043. readyPromiseResolve(Module);
  6044. if (Module["onRuntimeInitialized"])
  6045. Module["onRuntimeInitialized"]();
  6046. if (shouldRunNow)
  6047. callMain(args);
  6048. postRun();
  6049. }
  6050. if (Module["setStatus"]) {
  6051. Module["setStatus"]("Running...");
  6052. setTimeout(function() {
  6053. setTimeout(function() {
  6054. Module["setStatus"]("");
  6055. }, 1);
  6056. doRun();
  6057. }, 1);
  6058. } else {
  6059. doRun();
  6060. }
  6061. }
  6062. Module["run"] = run;
  6063. function exit(status, implicit) {
  6064. if (implicit && noExitRuntime && status === 0) {
  6065. return;
  6066. }
  6067. if (noExitRuntime) {
  6068. } else {
  6069. PThread.terminateAllThreads();
  6070. EXITSTATUS = status;
  6071. exitRuntime();
  6072. if (Module["onExit"])
  6073. Module["onExit"](status);
  6074. ABORT = true;
  6075. }
  6076. quit_(status, new ExitStatus(status));
  6077. }
  6078. if (Module["preInit"]) {
  6079. if (typeof Module["preInit"] == "function")
  6080. Module["preInit"] = [Module["preInit"]];
  6081. while (Module["preInit"].length > 0) {
  6082. Module["preInit"].pop()();
  6083. }
  6084. }
  6085. var shouldRunNow = true;
  6086. if (Module["noInitialRun"])
  6087. shouldRunNow = false;
  6088. if (!ENVIRONMENT_IS_PTHREAD)
  6089. noExitRuntime = true;
  6090. if (!ENVIRONMENT_IS_PTHREAD) {
  6091. run();
  6092. } else {
  6093. PThread.initWorker();
  6094. }
  6095. return WebIFCWasm3.ready;
  6096. };
  6097. }();
  6098. if (typeof exports === "object" && typeof module === "object")
  6099. module.exports = WebIFCWasm2;
  6100. else if (typeof define === "function" && define["amd"])
  6101. define([], function() {
  6102. return WebIFCWasm2;
  6103. });
  6104. else if (typeof exports === "object")
  6105. exports["WebIFCWasm"] = WebIFCWasm2;
  6106. }
  6107. });
  6108. // dist/web-ifc.js
  6109. var require_web_ifc = __commonJS({
  6110. "dist/web-ifc.js"(exports, module) {
  6111. var WebIFCWasm2 = function() {
  6112. var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
  6113. if (typeof __filename !== "undefined")
  6114. _scriptDir = _scriptDir || __filename;
  6115. return function(WebIFCWasm3) {
  6116. WebIFCWasm3 = WebIFCWasm3 || {};
  6117. var Module = typeof WebIFCWasm3 !== "undefined" ? WebIFCWasm3 : {};
  6118. var readyPromiseResolve, readyPromiseReject;
  6119. Module["ready"] = new Promise(function(resolve, reject) {
  6120. readyPromiseResolve = resolve;
  6121. readyPromiseReject = reject;
  6122. });
  6123. var moduleOverrides = {};
  6124. var key;
  6125. for (key in Module) {
  6126. if (Module.hasOwnProperty(key)) {
  6127. moduleOverrides[key] = Module[key];
  6128. }
  6129. }
  6130. var arguments_ = [];
  6131. var thisProgram = "./this.program";
  6132. var quit_ = function(status, toThrow) {
  6133. throw toThrow;
  6134. };
  6135. var ENVIRONMENT_IS_WEB = false;
  6136. var ENVIRONMENT_IS_WORKER = false;
  6137. var ENVIRONMENT_IS_NODE = false;
  6138. var ENVIRONMENT_IS_SHELL = false;
  6139. ENVIRONMENT_IS_WEB = typeof window === "object";
  6140. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  6141. ENVIRONMENT_IS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string";
  6142. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  6143. var scriptDirectory = "";
  6144. function locateFile(path) {
  6145. if (Module["locateFile"]) {
  6146. return Module["locateFile"](path, scriptDirectory);
  6147. }
  6148. return scriptDirectory + path;
  6149. }
  6150. var read_, readAsync, readBinary, setWindowTitle;
  6151. var nodeFS;
  6152. var nodePath;
  6153. if (ENVIRONMENT_IS_NODE) {
  6154. if (ENVIRONMENT_IS_WORKER) {
  6155. scriptDirectory = __require("path").dirname(scriptDirectory) + "/";
  6156. } else {
  6157. scriptDirectory = __dirname + "/";
  6158. }
  6159. read_ = function shell_read(filename, binary) {
  6160. if (!nodeFS)
  6161. nodeFS = __require("fs");
  6162. if (!nodePath)
  6163. nodePath = __require("path");
  6164. filename = nodePath["normalize"](filename);
  6165. return nodeFS["readFileSync"](filename, binary ? null : "utf8");
  6166. };
  6167. readBinary = function readBinary2(filename) {
  6168. var ret = read_(filename, true);
  6169. if (!ret.buffer) {
  6170. ret = new Uint8Array(ret);
  6171. }
  6172. assert(ret.buffer);
  6173. return ret;
  6174. };
  6175. if (process["argv"].length > 1) {
  6176. thisProgram = process["argv"][1].replace(/\\/g, "/");
  6177. }
  6178. arguments_ = process["argv"].slice(2);
  6179. process["on"]("uncaughtException", function(ex) {
  6180. if (!(ex instanceof ExitStatus)) {
  6181. throw ex;
  6182. }
  6183. });
  6184. process["on"]("unhandledRejection", abort);
  6185. quit_ = function(status) {
  6186. process["exit"](status);
  6187. };
  6188. Module["inspect"] = function() {
  6189. return "[Emscripten Module object]";
  6190. };
  6191. } else if (ENVIRONMENT_IS_SHELL) {
  6192. if (typeof read != "undefined") {
  6193. read_ = function shell_read(f) {
  6194. return read(f);
  6195. };
  6196. }
  6197. readBinary = function readBinary2(f) {
  6198. var data;
  6199. if (typeof readbuffer === "function") {
  6200. return new Uint8Array(readbuffer(f));
  6201. }
  6202. data = read(f, "binary");
  6203. assert(typeof data === "object");
  6204. return data;
  6205. };
  6206. if (typeof scriptArgs != "undefined") {
  6207. arguments_ = scriptArgs;
  6208. } else if (typeof arguments != "undefined") {
  6209. arguments_ = arguments;
  6210. }
  6211. if (typeof quit === "function") {
  6212. quit_ = function(status) {
  6213. quit(status);
  6214. };
  6215. }
  6216. if (typeof print !== "undefined") {
  6217. if (typeof console === "undefined")
  6218. console = {};
  6219. console.log = print;
  6220. console.warn = console.error = typeof printErr !== "undefined" ? printErr : print;
  6221. }
  6222. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  6223. if (ENVIRONMENT_IS_WORKER) {
  6224. scriptDirectory = self.location.href;
  6225. } else if (typeof document !== "undefined" && document.currentScript) {
  6226. scriptDirectory = document.currentScript.src;
  6227. }
  6228. if (_scriptDir) {
  6229. scriptDirectory = _scriptDir;
  6230. }
  6231. if (scriptDirectory.indexOf("blob:") !== 0) {
  6232. scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
  6233. } else {
  6234. scriptDirectory = "";
  6235. }
  6236. {
  6237. read_ = function shell_read(url) {
  6238. var xhr = new XMLHttpRequest();
  6239. xhr.open("GET", url, false);
  6240. xhr.send(null);
  6241. return xhr.responseText;
  6242. };
  6243. if (ENVIRONMENT_IS_WORKER) {
  6244. readBinary = function readBinary2(url) {
  6245. var xhr = new XMLHttpRequest();
  6246. xhr.open("GET", url, false);
  6247. xhr.responseType = "arraybuffer";
  6248. xhr.send(null);
  6249. return new Uint8Array(xhr.response);
  6250. };
  6251. }
  6252. readAsync = function readAsync2(url, onload, onerror) {
  6253. var xhr = new XMLHttpRequest();
  6254. xhr.open("GET", url, true);
  6255. xhr.responseType = "arraybuffer";
  6256. xhr.onload = function xhr_onload() {
  6257. if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
  6258. onload(xhr.response);
  6259. return;
  6260. }
  6261. onerror();
  6262. };
  6263. xhr.onerror = onerror;
  6264. xhr.send(null);
  6265. };
  6266. }
  6267. setWindowTitle = function(title) {
  6268. document.title = title;
  6269. };
  6270. } else {
  6271. }
  6272. var out = Module["print"] || console.log.bind(console);
  6273. var err = Module["printErr"] || console.warn.bind(console);
  6274. for (key in moduleOverrides) {
  6275. if (moduleOverrides.hasOwnProperty(key)) {
  6276. Module[key] = moduleOverrides[key];
  6277. }
  6278. }
  6279. moduleOverrides = null;
  6280. if (Module["arguments"])
  6281. arguments_ = Module["arguments"];
  6282. if (Module["thisProgram"])
  6283. thisProgram = Module["thisProgram"];
  6284. if (Module["quit"])
  6285. quit_ = Module["quit"];
  6286. var STACK_ALIGN = 16;
  6287. function alignMemory(size, factor) {
  6288. if (!factor)
  6289. factor = STACK_ALIGN;
  6290. return Math.ceil(size / factor) * factor;
  6291. }
  6292. var tempRet0 = 0;
  6293. var setTempRet0 = function(value) {
  6294. tempRet0 = value;
  6295. };
  6296. var wasmBinary;
  6297. if (Module["wasmBinary"])
  6298. wasmBinary = Module["wasmBinary"];
  6299. var noExitRuntime;
  6300. if (Module["noExitRuntime"])
  6301. noExitRuntime = Module["noExitRuntime"];
  6302. if (typeof WebAssembly !== "object") {
  6303. abort("no native wasm support detected");
  6304. }
  6305. var wasmMemory;
  6306. var ABORT = false;
  6307. var EXITSTATUS = 0;
  6308. function assert(condition, text) {
  6309. if (!condition) {
  6310. abort("Assertion failed: " + text);
  6311. }
  6312. }
  6313. var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0;
  6314. function UTF8ArrayToString(heap, idx, maxBytesToRead) {
  6315. idx >>>= 0;
  6316. var endIdx = idx + maxBytesToRead;
  6317. var endPtr = idx;
  6318. while (heap[endPtr >>> 0] && !(endPtr >= endIdx))
  6319. ++endPtr;
  6320. if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
  6321. return UTF8Decoder.decode(heap.subarray(idx >>> 0, endPtr >>> 0));
  6322. } else {
  6323. var str = "";
  6324. while (idx < endPtr) {
  6325. var u0 = heap[idx++ >>> 0];
  6326. if (!(u0 & 128)) {
  6327. str += String.fromCharCode(u0);
  6328. continue;
  6329. }
  6330. var u1 = heap[idx++ >>> 0] & 63;
  6331. if ((u0 & 224) == 192) {
  6332. str += String.fromCharCode((u0 & 31) << 6 | u1);
  6333. continue;
  6334. }
  6335. var u2 = heap[idx++ >>> 0] & 63;
  6336. if ((u0 & 240) == 224) {
  6337. u0 = (u0 & 15) << 12 | u1 << 6 | u2;
  6338. } else {
  6339. u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++ >>> 0] & 63;
  6340. }
  6341. if (u0 < 65536) {
  6342. str += String.fromCharCode(u0);
  6343. } else {
  6344. var ch = u0 - 65536;
  6345. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  6346. }
  6347. }
  6348. }
  6349. return str;
  6350. }
  6351. function UTF8ToString(ptr, maxBytesToRead) {
  6352. ptr >>>= 0;
  6353. return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
  6354. }
  6355. function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
  6356. outIdx >>>= 0;
  6357. if (!(maxBytesToWrite > 0))
  6358. return 0;
  6359. var startIdx = outIdx;
  6360. var endIdx = outIdx + maxBytesToWrite - 1;
  6361. for (var i = 0; i < str.length; ++i) {
  6362. var u = str.charCodeAt(i);
  6363. if (u >= 55296 && u <= 57343) {
  6364. var u1 = str.charCodeAt(++i);
  6365. u = 65536 + ((u & 1023) << 10) | u1 & 1023;
  6366. }
  6367. if (u <= 127) {
  6368. if (outIdx >= endIdx)
  6369. break;
  6370. heap[outIdx++ >>> 0] = u;
  6371. } else if (u <= 2047) {
  6372. if (outIdx + 1 >= endIdx)
  6373. break;
  6374. heap[outIdx++ >>> 0] = 192 | u >> 6;
  6375. heap[outIdx++ >>> 0] = 128 | u & 63;
  6376. } else if (u <= 65535) {
  6377. if (outIdx + 2 >= endIdx)
  6378. break;
  6379. heap[outIdx++ >>> 0] = 224 | u >> 12;
  6380. heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
  6381. heap[outIdx++ >>> 0] = 128 | u & 63;
  6382. } else {
  6383. if (outIdx + 3 >= endIdx)
  6384. break;
  6385. heap[outIdx++ >>> 0] = 240 | u >> 18;
  6386. heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;
  6387. heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
  6388. heap[outIdx++ >>> 0] = 128 | u & 63;
  6389. }
  6390. }
  6391. heap[outIdx >>> 0] = 0;
  6392. return outIdx - startIdx;
  6393. }
  6394. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  6395. return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
  6396. }
  6397. function lengthBytesUTF8(str) {
  6398. var len = 0;
  6399. for (var i = 0; i < str.length; ++i) {
  6400. var u = str.charCodeAt(i);
  6401. if (u >= 55296 && u <= 57343)
  6402. u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
  6403. if (u <= 127)
  6404. ++len;
  6405. else if (u <= 2047)
  6406. len += 2;
  6407. else if (u <= 65535)
  6408. len += 3;
  6409. else
  6410. len += 4;
  6411. }
  6412. return len;
  6413. }
  6414. var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : void 0;
  6415. function UTF16ToString(ptr, maxBytesToRead) {
  6416. var endPtr = ptr;
  6417. var idx = endPtr >> 1;
  6418. var maxIdx = idx + maxBytesToRead / 2;
  6419. while (!(idx >= maxIdx) && HEAPU16[idx >>> 0])
  6420. ++idx;
  6421. endPtr = idx << 1;
  6422. if (endPtr - ptr > 32 && UTF16Decoder) {
  6423. return UTF16Decoder.decode(HEAPU8.subarray(ptr >>> 0, endPtr >>> 0));
  6424. } else {
  6425. var str = "";
  6426. for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
  6427. var codeUnit = HEAP16[ptr + i * 2 >>> 1];
  6428. if (codeUnit == 0)
  6429. break;
  6430. str += String.fromCharCode(codeUnit);
  6431. }
  6432. return str;
  6433. }
  6434. }
  6435. function stringToUTF16(str, outPtr, maxBytesToWrite) {
  6436. if (maxBytesToWrite === void 0) {
  6437. maxBytesToWrite = 2147483647;
  6438. }
  6439. if (maxBytesToWrite < 2)
  6440. return 0;
  6441. maxBytesToWrite -= 2;
  6442. var startPtr = outPtr;
  6443. var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
  6444. for (var i = 0; i < numCharsToWrite; ++i) {
  6445. var codeUnit = str.charCodeAt(i);
  6446. HEAP16[outPtr >>> 1] = codeUnit;
  6447. outPtr += 2;
  6448. }
  6449. HEAP16[outPtr >>> 1] = 0;
  6450. return outPtr - startPtr;
  6451. }
  6452. function lengthBytesUTF16(str) {
  6453. return str.length * 2;
  6454. }
  6455. function UTF32ToString(ptr, maxBytesToRead) {
  6456. var i = 0;
  6457. var str = "";
  6458. while (!(i >= maxBytesToRead / 4)) {
  6459. var utf32 = HEAP32[ptr + i * 4 >>> 2];
  6460. if (utf32 == 0)
  6461. break;
  6462. ++i;
  6463. if (utf32 >= 65536) {
  6464. var ch = utf32 - 65536;
  6465. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  6466. } else {
  6467. str += String.fromCharCode(utf32);
  6468. }
  6469. }
  6470. return str;
  6471. }
  6472. function stringToUTF32(str, outPtr, maxBytesToWrite) {
  6473. outPtr >>>= 0;
  6474. if (maxBytesToWrite === void 0) {
  6475. maxBytesToWrite = 2147483647;
  6476. }
  6477. if (maxBytesToWrite < 4)
  6478. return 0;
  6479. var startPtr = outPtr;
  6480. var endPtr = startPtr + maxBytesToWrite - 4;
  6481. for (var i = 0; i < str.length; ++i) {
  6482. var codeUnit = str.charCodeAt(i);
  6483. if (codeUnit >= 55296 && codeUnit <= 57343) {
  6484. var trailSurrogate = str.charCodeAt(++i);
  6485. codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023;
  6486. }
  6487. HEAP32[outPtr >>> 2] = codeUnit;
  6488. outPtr += 4;
  6489. if (outPtr + 4 > endPtr)
  6490. break;
  6491. }
  6492. HEAP32[outPtr >>> 2] = 0;
  6493. return outPtr - startPtr;
  6494. }
  6495. function lengthBytesUTF32(str) {
  6496. var len = 0;
  6497. for (var i = 0; i < str.length; ++i) {
  6498. var codeUnit = str.charCodeAt(i);
  6499. if (codeUnit >= 55296 && codeUnit <= 57343)
  6500. ++i;
  6501. len += 4;
  6502. }
  6503. return len;
  6504. }
  6505. function writeArrayToMemory(array, buffer2) {
  6506. HEAP8.set(array, buffer2 >>> 0);
  6507. }
  6508. function writeAsciiToMemory(str, buffer2, dontAddNull) {
  6509. for (var i = 0; i < str.length; ++i) {
  6510. HEAP8[buffer2++ >>> 0] = str.charCodeAt(i);
  6511. }
  6512. if (!dontAddNull)
  6513. HEAP8[buffer2 >>> 0] = 0;
  6514. }
  6515. function alignUp(x, multiple) {
  6516. if (x % multiple > 0) {
  6517. x += multiple - x % multiple;
  6518. }
  6519. return x;
  6520. }
  6521. var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
  6522. function updateGlobalBufferAndViews(buf) {
  6523. buffer = buf;
  6524. Module["HEAP8"] = HEAP8 = new Int8Array(buf);
  6525. Module["HEAP16"] = HEAP16 = new Int16Array(buf);
  6526. Module["HEAP32"] = HEAP32 = new Int32Array(buf);
  6527. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
  6528. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
  6529. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
  6530. Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
  6531. Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
  6532. }
  6533. var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
  6534. if (Module["wasmMemory"]) {
  6535. wasmMemory = Module["wasmMemory"];
  6536. } else {
  6537. wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_MEMORY / 65536, "maximum": 4294967296 / 65536 });
  6538. }
  6539. if (wasmMemory) {
  6540. buffer = wasmMemory.buffer;
  6541. }
  6542. INITIAL_MEMORY = buffer.byteLength;
  6543. updateGlobalBufferAndViews(buffer);
  6544. var wasmTable;
  6545. var __ATPRERUN__ = [];
  6546. var __ATINIT__ = [];
  6547. var __ATMAIN__ = [];
  6548. var __ATPOSTRUN__ = [];
  6549. var runtimeInitialized = false;
  6550. var runtimeExited = false;
  6551. function preRun() {
  6552. if (Module["preRun"]) {
  6553. if (typeof Module["preRun"] == "function")
  6554. Module["preRun"] = [Module["preRun"]];
  6555. while (Module["preRun"].length) {
  6556. addOnPreRun(Module["preRun"].shift());
  6557. }
  6558. }
  6559. callRuntimeCallbacks(__ATPRERUN__);
  6560. }
  6561. function initRuntime() {
  6562. runtimeInitialized = true;
  6563. if (!Module["noFSInit"] && !FS.init.initialized)
  6564. FS.init();
  6565. TTY.init();
  6566. callRuntimeCallbacks(__ATINIT__);
  6567. }
  6568. function preMain() {
  6569. FS.ignorePermissions = false;
  6570. callRuntimeCallbacks(__ATMAIN__);
  6571. }
  6572. function exitRuntime() {
  6573. runtimeExited = true;
  6574. }
  6575. function postRun() {
  6576. if (Module["postRun"]) {
  6577. if (typeof Module["postRun"] == "function")
  6578. Module["postRun"] = [Module["postRun"]];
  6579. while (Module["postRun"].length) {
  6580. addOnPostRun(Module["postRun"].shift());
  6581. }
  6582. }
  6583. callRuntimeCallbacks(__ATPOSTRUN__);
  6584. }
  6585. function addOnPreRun(cb) {
  6586. __ATPRERUN__.unshift(cb);
  6587. }
  6588. function addOnPostRun(cb) {
  6589. __ATPOSTRUN__.unshift(cb);
  6590. }
  6591. var runDependencies = 0;
  6592. var runDependencyWatcher = null;
  6593. var dependenciesFulfilled = null;
  6594. function getUniqueRunDependency(id) {
  6595. return id;
  6596. }
  6597. function addRunDependency(id) {
  6598. runDependencies++;
  6599. if (Module["monitorRunDependencies"]) {
  6600. Module["monitorRunDependencies"](runDependencies);
  6601. }
  6602. }
  6603. function removeRunDependency(id) {
  6604. runDependencies--;
  6605. if (Module["monitorRunDependencies"]) {
  6606. Module["monitorRunDependencies"](runDependencies);
  6607. }
  6608. if (runDependencies == 0) {
  6609. if (runDependencyWatcher !== null) {
  6610. clearInterval(runDependencyWatcher);
  6611. runDependencyWatcher = null;
  6612. }
  6613. if (dependenciesFulfilled) {
  6614. var callback = dependenciesFulfilled;
  6615. dependenciesFulfilled = null;
  6616. callback();
  6617. }
  6618. }
  6619. }
  6620. Module["preloadedImages"] = {};
  6621. Module["preloadedAudios"] = {};
  6622. function abort(what) {
  6623. if (Module["onAbort"]) {
  6624. Module["onAbort"](what);
  6625. }
  6626. what += "";
  6627. err(what);
  6628. ABORT = true;
  6629. EXITSTATUS = 1;
  6630. what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
  6631. var e = new WebAssembly.RuntimeError(what);
  6632. readyPromiseReject(e);
  6633. throw e;
  6634. }
  6635. function hasPrefix(str, prefix) {
  6636. return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0;
  6637. }
  6638. var dataURIPrefix = "data:application/octet-stream;base64,";
  6639. function isDataURI(filename) {
  6640. return hasPrefix(filename, dataURIPrefix);
  6641. }
  6642. var fileURIPrefix = "file://";
  6643. function isFileURI(filename) {
  6644. return hasPrefix(filename, fileURIPrefix);
  6645. }
  6646. var wasmBinaryFile = "web-ifc.wasm";
  6647. if (!isDataURI(wasmBinaryFile)) {
  6648. wasmBinaryFile = locateFile(wasmBinaryFile);
  6649. }
  6650. function getBinary() {
  6651. try {
  6652. if (wasmBinary) {
  6653. return new Uint8Array(wasmBinary);
  6654. }
  6655. if (readBinary) {
  6656. return readBinary(wasmBinaryFile);
  6657. } else {
  6658. throw "both async and sync fetching of the wasm failed";
  6659. }
  6660. } catch (err2) {
  6661. abort(err2);
  6662. }
  6663. }
  6664. function getBinaryPromise() {
  6665. if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function" && !isFileURI(wasmBinaryFile)) {
  6666. return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) {
  6667. if (!response["ok"]) {
  6668. throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
  6669. }
  6670. return response["arrayBuffer"]();
  6671. }).catch(function() {
  6672. return getBinary();
  6673. });
  6674. }
  6675. return Promise.resolve().then(getBinary);
  6676. }
  6677. function createWasm() {
  6678. var info = { "a": asmLibraryArg };
  6679. function receiveInstance(instance, module2) {
  6680. var exports3 = instance.exports;
  6681. Module["asm"] = exports3;
  6682. wasmTable = Module["asm"]["ba"];
  6683. removeRunDependency("wasm-instantiate");
  6684. }
  6685. addRunDependency("wasm-instantiate");
  6686. function receiveInstantiatedSource(output) {
  6687. receiveInstance(output["instance"]);
  6688. }
  6689. function instantiateArrayBuffer(receiver) {
  6690. return getBinaryPromise().then(function(binary) {
  6691. return WebAssembly.instantiate(binary, info);
  6692. }).then(receiver, function(reason) {
  6693. err("failed to asynchronously prepare wasm: " + reason);
  6694. abort(reason);
  6695. });
  6696. }
  6697. function instantiateAsync() {
  6698. if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") {
  6699. return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) {
  6700. var result = WebAssembly.instantiateStreaming(response, info);
  6701. return result.then(receiveInstantiatedSource, function(reason) {
  6702. err("wasm streaming compile failed: " + reason);
  6703. err("falling back to ArrayBuffer instantiation");
  6704. return instantiateArrayBuffer(receiveInstantiatedSource);
  6705. });
  6706. });
  6707. } else {
  6708. return instantiateArrayBuffer(receiveInstantiatedSource);
  6709. }
  6710. }
  6711. if (Module["instantiateWasm"]) {
  6712. try {
  6713. var exports2 = Module["instantiateWasm"](info, receiveInstance);
  6714. return exports2;
  6715. } catch (e) {
  6716. err("Module.instantiateWasm callback failed with error: " + e);
  6717. return false;
  6718. }
  6719. }
  6720. instantiateAsync().catch(readyPromiseReject);
  6721. return {};
  6722. }
  6723. var tempDouble;
  6724. var tempI64;
  6725. function callRuntimeCallbacks(callbacks) {
  6726. while (callbacks.length > 0) {
  6727. var callback = callbacks.shift();
  6728. if (typeof callback == "function") {
  6729. callback(Module);
  6730. continue;
  6731. }
  6732. var func = callback.func;
  6733. if (typeof func === "number") {
  6734. if (callback.arg === void 0) {
  6735. wasmTable.get(func)();
  6736. } else {
  6737. wasmTable.get(func)(callback.arg);
  6738. }
  6739. } else {
  6740. func(callback.arg === void 0 ? null : callback.arg);
  6741. }
  6742. }
  6743. }
  6744. function dynCallLegacy(sig, ptr, args) {
  6745. if (args && args.length) {
  6746. return Module["dynCall_" + sig].apply(null, [ptr].concat(args));
  6747. }
  6748. return Module["dynCall_" + sig].call(null, ptr);
  6749. }
  6750. function dynCall(sig, ptr, args) {
  6751. if (sig.indexOf("j") != -1) {
  6752. return dynCallLegacy(sig, ptr, args);
  6753. }
  6754. return wasmTable.get(ptr).apply(null, args);
  6755. }
  6756. function ___assert_fail(condition, filename, line, func) {
  6757. abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
  6758. }
  6759. var ExceptionInfoAttrs = { DESTRUCTOR_OFFSET: 0, REFCOUNT_OFFSET: 4, TYPE_OFFSET: 8, CAUGHT_OFFSET: 12, RETHROWN_OFFSET: 13, SIZE: 16 };
  6760. function ___cxa_allocate_exception(size) {
  6761. return _malloc(size + ExceptionInfoAttrs.SIZE) + ExceptionInfoAttrs.SIZE;
  6762. }
  6763. function ExceptionInfo(excPtr) {
  6764. this.excPtr = excPtr;
  6765. this.ptr = excPtr - ExceptionInfoAttrs.SIZE;
  6766. this.set_type = function(type) {
  6767. HEAP32[this.ptr + ExceptionInfoAttrs.TYPE_OFFSET >>> 2] = type;
  6768. };
  6769. this.get_type = function() {
  6770. return HEAP32[this.ptr + ExceptionInfoAttrs.TYPE_OFFSET >>> 2];
  6771. };
  6772. this.set_destructor = function(destructor) {
  6773. HEAP32[this.ptr + ExceptionInfoAttrs.DESTRUCTOR_OFFSET >>> 2] = destructor;
  6774. };
  6775. this.get_destructor = function() {
  6776. return HEAP32[this.ptr + ExceptionInfoAttrs.DESTRUCTOR_OFFSET >>> 2];
  6777. };
  6778. this.set_refcount = function(refcount) {
  6779. HEAP32[this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >>> 2] = refcount;
  6780. };
  6781. this.set_caught = function(caught) {
  6782. caught = caught ? 1 : 0;
  6783. HEAP8[this.ptr + ExceptionInfoAttrs.CAUGHT_OFFSET >>> 0] = caught;
  6784. };
  6785. this.get_caught = function() {
  6786. return HEAP8[this.ptr + ExceptionInfoAttrs.CAUGHT_OFFSET >>> 0] != 0;
  6787. };
  6788. this.set_rethrown = function(rethrown) {
  6789. rethrown = rethrown ? 1 : 0;
  6790. HEAP8[this.ptr + ExceptionInfoAttrs.RETHROWN_OFFSET >>> 0] = rethrown;
  6791. };
  6792. this.get_rethrown = function() {
  6793. return HEAP8[this.ptr + ExceptionInfoAttrs.RETHROWN_OFFSET >>> 0] != 0;
  6794. };
  6795. this.init = function(type, destructor) {
  6796. this.set_type(type);
  6797. this.set_destructor(destructor);
  6798. this.set_refcount(0);
  6799. this.set_caught(false);
  6800. this.set_rethrown(false);
  6801. };
  6802. this.add_ref = function() {
  6803. var value = HEAP32[this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >>> 2];
  6804. HEAP32[this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >>> 2] = value + 1;
  6805. };
  6806. this.release_ref = function() {
  6807. var prev = HEAP32[this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >>> 2];
  6808. HEAP32[this.ptr + ExceptionInfoAttrs.REFCOUNT_OFFSET >>> 2] = prev - 1;
  6809. return prev === 1;
  6810. };
  6811. }
  6812. var exceptionLast = 0;
  6813. var uncaughtExceptionCount = 0;
  6814. function ___cxa_throw(ptr, type, destructor) {
  6815. var info = new ExceptionInfo(ptr);
  6816. info.init(type, destructor);
  6817. exceptionLast = ptr;
  6818. uncaughtExceptionCount++;
  6819. throw ptr;
  6820. }
  6821. var PATH = { splitPath: function(filename) {
  6822. var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  6823. return splitPathRe.exec(filename).slice(1);
  6824. }, normalizeArray: function(parts, allowAboveRoot) {
  6825. var up = 0;
  6826. for (var i = parts.length - 1; i >= 0; i--) {
  6827. var last = parts[i];
  6828. if (last === ".") {
  6829. parts.splice(i, 1);
  6830. } else if (last === "..") {
  6831. parts.splice(i, 1);
  6832. up++;
  6833. } else if (up) {
  6834. parts.splice(i, 1);
  6835. up--;
  6836. }
  6837. }
  6838. if (allowAboveRoot) {
  6839. for (; up; up--) {
  6840. parts.unshift("..");
  6841. }
  6842. }
  6843. return parts;
  6844. }, normalize: function(path) {
  6845. var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
  6846. path = PATH.normalizeArray(path.split("/").filter(function(p) {
  6847. return !!p;
  6848. }), !isAbsolute).join("/");
  6849. if (!path && !isAbsolute) {
  6850. path = ".";
  6851. }
  6852. if (path && trailingSlash) {
  6853. path += "/";
  6854. }
  6855. return (isAbsolute ? "/" : "") + path;
  6856. }, dirname: function(path) {
  6857. var result = PATH.splitPath(path), root = result[0], dir = result[1];
  6858. if (!root && !dir) {
  6859. return ".";
  6860. }
  6861. if (dir) {
  6862. dir = dir.substr(0, dir.length - 1);
  6863. }
  6864. return root + dir;
  6865. }, basename: function(path) {
  6866. if (path === "/")
  6867. return "/";
  6868. path = PATH.normalize(path);
  6869. path = path.replace(/\/$/, "");
  6870. var lastSlash = path.lastIndexOf("/");
  6871. if (lastSlash === -1)
  6872. return path;
  6873. return path.substr(lastSlash + 1);
  6874. }, extname: function(path) {
  6875. return PATH.splitPath(path)[3];
  6876. }, join: function() {
  6877. var paths = Array.prototype.slice.call(arguments, 0);
  6878. return PATH.normalize(paths.join("/"));
  6879. }, join2: function(l, r) {
  6880. return PATH.normalize(l + "/" + r);
  6881. } };
  6882. function getRandomDevice() {
  6883. if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
  6884. var randomBuffer = new Uint8Array(1);
  6885. return function() {
  6886. crypto.getRandomValues(randomBuffer);
  6887. return randomBuffer[0];
  6888. };
  6889. } else if (ENVIRONMENT_IS_NODE) {
  6890. try {
  6891. var crypto_module = require_crypto();
  6892. return function() {
  6893. return crypto_module["randomBytes"](1)[0];
  6894. };
  6895. } catch (e) {
  6896. }
  6897. }
  6898. return function() {
  6899. abort("randomDevice");
  6900. };
  6901. }
  6902. var PATH_FS = { resolve: function() {
  6903. var resolvedPath = "", resolvedAbsolute = false;
  6904. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  6905. var path = i >= 0 ? arguments[i] : FS.cwd();
  6906. if (typeof path !== "string") {
  6907. throw new TypeError("Arguments to path.resolve must be strings");
  6908. } else if (!path) {
  6909. return "";
  6910. }
  6911. resolvedPath = path + "/" + resolvedPath;
  6912. resolvedAbsolute = path.charAt(0) === "/";
  6913. }
  6914. resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
  6915. return !!p;
  6916. }), !resolvedAbsolute).join("/");
  6917. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  6918. }, relative: function(from, to) {
  6919. from = PATH_FS.resolve(from).substr(1);
  6920. to = PATH_FS.resolve(to).substr(1);
  6921. function trim(arr) {
  6922. var start = 0;
  6923. for (; start < arr.length; start++) {
  6924. if (arr[start] !== "")
  6925. break;
  6926. }
  6927. var end = arr.length - 1;
  6928. for (; end >= 0; end--) {
  6929. if (arr[end] !== "")
  6930. break;
  6931. }
  6932. if (start > end)
  6933. return [];
  6934. return arr.slice(start, end - start + 1);
  6935. }
  6936. var fromParts = trim(from.split("/"));
  6937. var toParts = trim(to.split("/"));
  6938. var length = Math.min(fromParts.length, toParts.length);
  6939. var samePartsLength = length;
  6940. for (var i = 0; i < length; i++) {
  6941. if (fromParts[i] !== toParts[i]) {
  6942. samePartsLength = i;
  6943. break;
  6944. }
  6945. }
  6946. var outputParts = [];
  6947. for (var i = samePartsLength; i < fromParts.length; i++) {
  6948. outputParts.push("..");
  6949. }
  6950. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  6951. return outputParts.join("/");
  6952. } };
  6953. var TTY = { ttys: [], init: function() {
  6954. }, shutdown: function() {
  6955. }, register: function(dev, ops) {
  6956. TTY.ttys[dev] = { input: [], output: [], ops };
  6957. FS.registerDevice(dev, TTY.stream_ops);
  6958. }, stream_ops: { open: function(stream) {
  6959. var tty = TTY.ttys[stream.node.rdev];
  6960. if (!tty) {
  6961. throw new FS.ErrnoError(43);
  6962. }
  6963. stream.tty = tty;
  6964. stream.seekable = false;
  6965. }, close: function(stream) {
  6966. stream.tty.ops.flush(stream.tty);
  6967. }, flush: function(stream) {
  6968. stream.tty.ops.flush(stream.tty);
  6969. }, read: function(stream, buffer2, offset, length, pos) {
  6970. if (!stream.tty || !stream.tty.ops.get_char) {
  6971. throw new FS.ErrnoError(60);
  6972. }
  6973. var bytesRead = 0;
  6974. for (var i = 0; i < length; i++) {
  6975. var result;
  6976. try {
  6977. result = stream.tty.ops.get_char(stream.tty);
  6978. } catch (e) {
  6979. throw new FS.ErrnoError(29);
  6980. }
  6981. if (result === void 0 && bytesRead === 0) {
  6982. throw new FS.ErrnoError(6);
  6983. }
  6984. if (result === null || result === void 0)
  6985. break;
  6986. bytesRead++;
  6987. buffer2[offset + i] = result;
  6988. }
  6989. if (bytesRead) {
  6990. stream.node.timestamp = Date.now();
  6991. }
  6992. return bytesRead;
  6993. }, write: function(stream, buffer2, offset, length, pos) {
  6994. if (!stream.tty || !stream.tty.ops.put_char) {
  6995. throw new FS.ErrnoError(60);
  6996. }
  6997. try {
  6998. for (var i = 0; i < length; i++) {
  6999. stream.tty.ops.put_char(stream.tty, buffer2[offset + i]);
  7000. }
  7001. } catch (e) {
  7002. throw new FS.ErrnoError(29);
  7003. }
  7004. if (length) {
  7005. stream.node.timestamp = Date.now();
  7006. }
  7007. return i;
  7008. } }, default_tty_ops: { get_char: function(tty) {
  7009. if (!tty.input.length) {
  7010. var result = null;
  7011. if (ENVIRONMENT_IS_NODE) {
  7012. var BUFSIZE = 256;
  7013. var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
  7014. var bytesRead = 0;
  7015. try {
  7016. bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
  7017. } catch (e) {
  7018. if (e.toString().indexOf("EOF") != -1)
  7019. bytesRead = 0;
  7020. else
  7021. throw e;
  7022. }
  7023. if (bytesRead > 0) {
  7024. result = buf.slice(0, bytesRead).toString("utf-8");
  7025. } else {
  7026. result = null;
  7027. }
  7028. } else if (typeof window != "undefined" && typeof window.prompt == "function") {
  7029. result = window.prompt("Input: ");
  7030. if (result !== null) {
  7031. result += "\n";
  7032. }
  7033. } else if (typeof readline == "function") {
  7034. result = readline();
  7035. if (result !== null) {
  7036. result += "\n";
  7037. }
  7038. }
  7039. if (!result) {
  7040. return null;
  7041. }
  7042. tty.input = intArrayFromString(result, true);
  7043. }
  7044. return tty.input.shift();
  7045. }, put_char: function(tty, val) {
  7046. if (val === null || val === 10) {
  7047. out(UTF8ArrayToString(tty.output, 0));
  7048. tty.output = [];
  7049. } else {
  7050. if (val != 0)
  7051. tty.output.push(val);
  7052. }
  7053. }, flush: function(tty) {
  7054. if (tty.output && tty.output.length > 0) {
  7055. out(UTF8ArrayToString(tty.output, 0));
  7056. tty.output = [];
  7057. }
  7058. } }, default_tty1_ops: { put_char: function(tty, val) {
  7059. if (val === null || val === 10) {
  7060. err(UTF8ArrayToString(tty.output, 0));
  7061. tty.output = [];
  7062. } else {
  7063. if (val != 0)
  7064. tty.output.push(val);
  7065. }
  7066. }, flush: function(tty) {
  7067. if (tty.output && tty.output.length > 0) {
  7068. err(UTF8ArrayToString(tty.output, 0));
  7069. tty.output = [];
  7070. }
  7071. } } };
  7072. function mmapAlloc(size) {
  7073. var alignedSize = alignMemory(size, 16384);
  7074. var ptr = _malloc(alignedSize);
  7075. while (size < alignedSize)
  7076. HEAP8[ptr + size++ >>> 0] = 0;
  7077. return ptr;
  7078. }
  7079. var MEMFS = { ops_table: null, mount: function(mount) {
  7080. return MEMFS.createNode(null, "/", 16384 | 511, 0);
  7081. }, createNode: function(parent, name2, mode, dev) {
  7082. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  7083. throw new FS.ErrnoError(63);
  7084. }
  7085. if (!MEMFS.ops_table) {
  7086. MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } };
  7087. }
  7088. var node = FS.createNode(parent, name2, mode, dev);
  7089. if (FS.isDir(node.mode)) {
  7090. node.node_ops = MEMFS.ops_table.dir.node;
  7091. node.stream_ops = MEMFS.ops_table.dir.stream;
  7092. node.contents = {};
  7093. } else if (FS.isFile(node.mode)) {
  7094. node.node_ops = MEMFS.ops_table.file.node;
  7095. node.stream_ops = MEMFS.ops_table.file.stream;
  7096. node.usedBytes = 0;
  7097. node.contents = null;
  7098. } else if (FS.isLink(node.mode)) {
  7099. node.node_ops = MEMFS.ops_table.link.node;
  7100. node.stream_ops = MEMFS.ops_table.link.stream;
  7101. } else if (FS.isChrdev(node.mode)) {
  7102. node.node_ops = MEMFS.ops_table.chrdev.node;
  7103. node.stream_ops = MEMFS.ops_table.chrdev.stream;
  7104. }
  7105. node.timestamp = Date.now();
  7106. if (parent) {
  7107. parent.contents[name2] = node;
  7108. }
  7109. return node;
  7110. }, getFileDataAsRegularArray: function(node) {
  7111. if (node.contents && node.contents.subarray) {
  7112. var arr = [];
  7113. for (var i = 0; i < node.usedBytes; ++i)
  7114. arr.push(node.contents[i]);
  7115. return arr;
  7116. }
  7117. return node.contents;
  7118. }, getFileDataAsTypedArray: function(node) {
  7119. if (!node.contents)
  7120. return new Uint8Array(0);
  7121. if (node.contents.subarray)
  7122. return node.contents.subarray(0, node.usedBytes);
  7123. return new Uint8Array(node.contents);
  7124. }, expandFileStorage: function(node, newCapacity) {
  7125. newCapacity >>>= 0;
  7126. var prevCapacity = node.contents ? node.contents.length : 0;
  7127. if (prevCapacity >= newCapacity)
  7128. return;
  7129. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  7130. newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);
  7131. if (prevCapacity != 0)
  7132. newCapacity = Math.max(newCapacity, 256);
  7133. var oldContents = node.contents;
  7134. node.contents = new Uint8Array(newCapacity);
  7135. if (node.usedBytes > 0)
  7136. node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
  7137. return;
  7138. }, resizeFileStorage: function(node, newSize) {
  7139. newSize >>>= 0;
  7140. if (node.usedBytes == newSize)
  7141. return;
  7142. if (newSize == 0) {
  7143. node.contents = null;
  7144. node.usedBytes = 0;
  7145. return;
  7146. }
  7147. if (!node.contents || node.contents.subarray) {
  7148. var oldContents = node.contents;
  7149. node.contents = new Uint8Array(newSize);
  7150. if (oldContents) {
  7151. node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
  7152. }
  7153. node.usedBytes = newSize;
  7154. return;
  7155. }
  7156. if (!node.contents)
  7157. node.contents = [];
  7158. if (node.contents.length > newSize)
  7159. node.contents.length = newSize;
  7160. else
  7161. while (node.contents.length < newSize)
  7162. node.contents.push(0);
  7163. node.usedBytes = newSize;
  7164. }, node_ops: { getattr: function(node) {
  7165. var attr = {};
  7166. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  7167. attr.ino = node.id;
  7168. attr.mode = node.mode;
  7169. attr.nlink = 1;
  7170. attr.uid = 0;
  7171. attr.gid = 0;
  7172. attr.rdev = node.rdev;
  7173. if (FS.isDir(node.mode)) {
  7174. attr.size = 4096;
  7175. } else if (FS.isFile(node.mode)) {
  7176. attr.size = node.usedBytes;
  7177. } else if (FS.isLink(node.mode)) {
  7178. attr.size = node.link.length;
  7179. } else {
  7180. attr.size = 0;
  7181. }
  7182. attr.atime = new Date(node.timestamp);
  7183. attr.mtime = new Date(node.timestamp);
  7184. attr.ctime = new Date(node.timestamp);
  7185. attr.blksize = 4096;
  7186. attr.blocks = Math.ceil(attr.size / attr.blksize);
  7187. return attr;
  7188. }, setattr: function(node, attr) {
  7189. if (attr.mode !== void 0) {
  7190. node.mode = attr.mode;
  7191. }
  7192. if (attr.timestamp !== void 0) {
  7193. node.timestamp = attr.timestamp;
  7194. }
  7195. if (attr.size !== void 0) {
  7196. MEMFS.resizeFileStorage(node, attr.size);
  7197. }
  7198. }, lookup: function(parent, name2) {
  7199. throw FS.genericErrors[44];
  7200. }, mknod: function(parent, name2, mode, dev) {
  7201. return MEMFS.createNode(parent, name2, mode, dev);
  7202. }, rename: function(old_node, new_dir, new_name) {
  7203. if (FS.isDir(old_node.mode)) {
  7204. var new_node;
  7205. try {
  7206. new_node = FS.lookupNode(new_dir, new_name);
  7207. } catch (e) {
  7208. }
  7209. if (new_node) {
  7210. for (var i in new_node.contents) {
  7211. throw new FS.ErrnoError(55);
  7212. }
  7213. }
  7214. }
  7215. delete old_node.parent.contents[old_node.name];
  7216. old_node.name = new_name;
  7217. new_dir.contents[new_name] = old_node;
  7218. old_node.parent = new_dir;
  7219. }, unlink: function(parent, name2) {
  7220. delete parent.contents[name2];
  7221. }, rmdir: function(parent, name2) {
  7222. var node = FS.lookupNode(parent, name2);
  7223. for (var i in node.contents) {
  7224. throw new FS.ErrnoError(55);
  7225. }
  7226. delete parent.contents[name2];
  7227. }, readdir: function(node) {
  7228. var entries = [".", ".."];
  7229. for (var key2 in node.contents) {
  7230. if (!node.contents.hasOwnProperty(key2)) {
  7231. continue;
  7232. }
  7233. entries.push(key2);
  7234. }
  7235. return entries;
  7236. }, symlink: function(parent, newname, oldpath) {
  7237. var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
  7238. node.link = oldpath;
  7239. return node;
  7240. }, readlink: function(node) {
  7241. if (!FS.isLink(node.mode)) {
  7242. throw new FS.ErrnoError(28);
  7243. }
  7244. return node.link;
  7245. } }, stream_ops: { read: function(stream, buffer2, offset, length, position) {
  7246. var contents = stream.node.contents;
  7247. if (position >= stream.node.usedBytes)
  7248. return 0;
  7249. var size = Math.min(stream.node.usedBytes - position, length);
  7250. if (size > 8 && contents.subarray) {
  7251. buffer2.set(contents.subarray(position, position + size), offset);
  7252. } else {
  7253. for (var i = 0; i < size; i++)
  7254. buffer2[offset + i] = contents[position + i];
  7255. }
  7256. return size;
  7257. }, write: function(stream, buffer2, offset, length, position, canOwn) {
  7258. if (buffer2.buffer === HEAP8.buffer) {
  7259. canOwn = false;
  7260. }
  7261. if (!length)
  7262. return 0;
  7263. var node = stream.node;
  7264. node.timestamp = Date.now();
  7265. if (buffer2.subarray && (!node.contents || node.contents.subarray)) {
  7266. if (canOwn) {
  7267. node.contents = buffer2.subarray(offset, offset + length);
  7268. node.usedBytes = length;
  7269. return length;
  7270. } else if (node.usedBytes === 0 && position === 0) {
  7271. node.contents = buffer2.slice(offset, offset + length);
  7272. node.usedBytes = length;
  7273. return length;
  7274. } else if (position + length <= node.usedBytes) {
  7275. node.contents.set(buffer2.subarray(offset, offset + length), position);
  7276. return length;
  7277. }
  7278. }
  7279. MEMFS.expandFileStorage(node, position + length);
  7280. if (node.contents.subarray && buffer2.subarray) {
  7281. node.contents.set(buffer2.subarray(offset, offset + length), position);
  7282. } else {
  7283. for (var i = 0; i < length; i++) {
  7284. node.contents[position + i] = buffer2[offset + i];
  7285. }
  7286. }
  7287. node.usedBytes = Math.max(node.usedBytes, position + length);
  7288. return length;
  7289. }, llseek: function(stream, offset, whence) {
  7290. var position = offset;
  7291. if (whence === 1) {
  7292. position += stream.position;
  7293. } else if (whence === 2) {
  7294. if (FS.isFile(stream.node.mode)) {
  7295. position += stream.node.usedBytes;
  7296. }
  7297. }
  7298. if (position < 0) {
  7299. throw new FS.ErrnoError(28);
  7300. }
  7301. return position;
  7302. }, allocate: function(stream, offset, length) {
  7303. MEMFS.expandFileStorage(stream.node, offset + length);
  7304. stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
  7305. }, mmap: function(stream, address, length, position, prot, flags) {
  7306. assert(address === 0);
  7307. if (!FS.isFile(stream.node.mode)) {
  7308. throw new FS.ErrnoError(43);
  7309. }
  7310. var ptr;
  7311. var allocated;
  7312. var contents = stream.node.contents;
  7313. if (!(flags & 2) && contents.buffer === buffer) {
  7314. allocated = false;
  7315. ptr = contents.byteOffset;
  7316. } else {
  7317. if (position > 0 || position + length < contents.length) {
  7318. if (contents.subarray) {
  7319. contents = contents.subarray(position, position + length);
  7320. } else {
  7321. contents = Array.prototype.slice.call(contents, position, position + length);
  7322. }
  7323. }
  7324. allocated = true;
  7325. ptr = mmapAlloc(length);
  7326. if (!ptr) {
  7327. throw new FS.ErrnoError(48);
  7328. }
  7329. ptr >>>= 0;
  7330. HEAP8.set(contents, ptr >>> 0);
  7331. }
  7332. return { ptr, allocated };
  7333. }, msync: function(stream, buffer2, offset, length, mmapFlags) {
  7334. if (!FS.isFile(stream.node.mode)) {
  7335. throw new FS.ErrnoError(43);
  7336. }
  7337. if (mmapFlags & 2) {
  7338. return 0;
  7339. }
  7340. var bytesWritten = MEMFS.stream_ops.write(stream, buffer2, 0, length, offset, false);
  7341. return 0;
  7342. } } };
  7343. var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, trackingDelegate: {}, tracking: { openFlags: { READ: 1, WRITE: 2 } }, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath: function(path, opts) {
  7344. path = PATH_FS.resolve(FS.cwd(), path);
  7345. opts = opts || {};
  7346. if (!path)
  7347. return { path: "", node: null };
  7348. var defaults = { follow_mount: true, recurse_count: 0 };
  7349. for (var key2 in defaults) {
  7350. if (opts[key2] === void 0) {
  7351. opts[key2] = defaults[key2];
  7352. }
  7353. }
  7354. if (opts.recurse_count > 8) {
  7355. throw new FS.ErrnoError(32);
  7356. }
  7357. var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
  7358. return !!p;
  7359. }), false);
  7360. var current = FS.root;
  7361. var current_path = "/";
  7362. for (var i = 0; i < parts.length; i++) {
  7363. var islast = i === parts.length - 1;
  7364. if (islast && opts.parent) {
  7365. break;
  7366. }
  7367. current = FS.lookupNode(current, parts[i]);
  7368. current_path = PATH.join2(current_path, parts[i]);
  7369. if (FS.isMountpoint(current)) {
  7370. if (!islast || islast && opts.follow_mount) {
  7371. current = current.mounted.root;
  7372. }
  7373. }
  7374. if (!islast || opts.follow) {
  7375. var count = 0;
  7376. while (FS.isLink(current.mode)) {
  7377. var link = FS.readlink(current_path);
  7378. current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
  7379. var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
  7380. current = lookup.node;
  7381. if (count++ > 40) {
  7382. throw new FS.ErrnoError(32);
  7383. }
  7384. }
  7385. }
  7386. }
  7387. return { path: current_path, node: current };
  7388. }, getPath: function(node) {
  7389. var path;
  7390. while (true) {
  7391. if (FS.isRoot(node)) {
  7392. var mount = node.mount.mountpoint;
  7393. if (!path)
  7394. return mount;
  7395. return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
  7396. }
  7397. path = path ? node.name + "/" + path : node.name;
  7398. node = node.parent;
  7399. }
  7400. }, hashName: function(parentid, name2) {
  7401. var hash = 0;
  7402. for (var i = 0; i < name2.length; i++) {
  7403. hash = (hash << 5) - hash + name2.charCodeAt(i) | 0;
  7404. }
  7405. return (parentid + hash >>> 0) % FS.nameTable.length;
  7406. }, hashAddNode: function(node) {
  7407. var hash = FS.hashName(node.parent.id, node.name);
  7408. node.name_next = FS.nameTable[hash];
  7409. FS.nameTable[hash] = node;
  7410. }, hashRemoveNode: function(node) {
  7411. var hash = FS.hashName(node.parent.id, node.name);
  7412. if (FS.nameTable[hash] === node) {
  7413. FS.nameTable[hash] = node.name_next;
  7414. } else {
  7415. var current = FS.nameTable[hash];
  7416. while (current) {
  7417. if (current.name_next === node) {
  7418. current.name_next = node.name_next;
  7419. break;
  7420. }
  7421. current = current.name_next;
  7422. }
  7423. }
  7424. }, lookupNode: function(parent, name2) {
  7425. var errCode = FS.mayLookup(parent);
  7426. if (errCode) {
  7427. throw new FS.ErrnoError(errCode, parent);
  7428. }
  7429. var hash = FS.hashName(parent.id, name2);
  7430. for (var node = FS.nameTable[hash]; node; node = node.name_next) {
  7431. var nodeName = node.name;
  7432. if (node.parent.id === parent.id && nodeName === name2) {
  7433. return node;
  7434. }
  7435. }
  7436. return FS.lookup(parent, name2);
  7437. }, createNode: function(parent, name2, mode, rdev) {
  7438. var node = new FS.FSNode(parent, name2, mode, rdev);
  7439. FS.hashAddNode(node);
  7440. return node;
  7441. }, destroyNode: function(node) {
  7442. FS.hashRemoveNode(node);
  7443. }, isRoot: function(node) {
  7444. return node === node.parent;
  7445. }, isMountpoint: function(node) {
  7446. return !!node.mounted;
  7447. }, isFile: function(mode) {
  7448. return (mode & 61440) === 32768;
  7449. }, isDir: function(mode) {
  7450. return (mode & 61440) === 16384;
  7451. }, isLink: function(mode) {
  7452. return (mode & 61440) === 40960;
  7453. }, isChrdev: function(mode) {
  7454. return (mode & 61440) === 8192;
  7455. }, isBlkdev: function(mode) {
  7456. return (mode & 61440) === 24576;
  7457. }, isFIFO: function(mode) {
  7458. return (mode & 61440) === 4096;
  7459. }, isSocket: function(mode) {
  7460. return (mode & 49152) === 49152;
  7461. }, flagModes: { "r": 0, "r+": 2, "w": 577, "w+": 578, "a": 1089, "a+": 1090 }, modeStringToFlags: function(str) {
  7462. var flags = FS.flagModes[str];
  7463. if (typeof flags === "undefined") {
  7464. throw new Error("Unknown file open mode: " + str);
  7465. }
  7466. return flags;
  7467. }, flagsToPermissionString: function(flag) {
  7468. var perms = ["r", "w", "rw"][flag & 3];
  7469. if (flag & 512) {
  7470. perms += "w";
  7471. }
  7472. return perms;
  7473. }, nodePermissions: function(node, perms) {
  7474. if (FS.ignorePermissions) {
  7475. return 0;
  7476. }
  7477. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  7478. return 2;
  7479. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  7480. return 2;
  7481. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  7482. return 2;
  7483. }
  7484. return 0;
  7485. }, mayLookup: function(dir) {
  7486. var errCode = FS.nodePermissions(dir, "x");
  7487. if (errCode)
  7488. return errCode;
  7489. if (!dir.node_ops.lookup)
  7490. return 2;
  7491. return 0;
  7492. }, mayCreate: function(dir, name2) {
  7493. try {
  7494. var node = FS.lookupNode(dir, name2);
  7495. return 20;
  7496. } catch (e) {
  7497. }
  7498. return FS.nodePermissions(dir, "wx");
  7499. }, mayDelete: function(dir, name2, isdir) {
  7500. var node;
  7501. try {
  7502. node = FS.lookupNode(dir, name2);
  7503. } catch (e) {
  7504. return e.errno;
  7505. }
  7506. var errCode = FS.nodePermissions(dir, "wx");
  7507. if (errCode) {
  7508. return errCode;
  7509. }
  7510. if (isdir) {
  7511. if (!FS.isDir(node.mode)) {
  7512. return 54;
  7513. }
  7514. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  7515. return 10;
  7516. }
  7517. } else {
  7518. if (FS.isDir(node.mode)) {
  7519. return 31;
  7520. }
  7521. }
  7522. return 0;
  7523. }, mayOpen: function(node, flags) {
  7524. if (!node) {
  7525. return 44;
  7526. }
  7527. if (FS.isLink(node.mode)) {
  7528. return 32;
  7529. } else if (FS.isDir(node.mode)) {
  7530. if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
  7531. return 31;
  7532. }
  7533. }
  7534. return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
  7535. }, MAX_OPEN_FDS: 4096, nextfd: function(fd_start, fd_end) {
  7536. fd_start = fd_start || 0;
  7537. fd_end = fd_end || FS.MAX_OPEN_FDS;
  7538. for (var fd = fd_start; fd <= fd_end; fd++) {
  7539. if (!FS.streams[fd]) {
  7540. return fd;
  7541. }
  7542. }
  7543. throw new FS.ErrnoError(33);
  7544. }, getStream: function(fd) {
  7545. return FS.streams[fd];
  7546. }, createStream: function(stream, fd_start, fd_end) {
  7547. if (!FS.FSStream) {
  7548. FS.FSStream = function() {
  7549. };
  7550. FS.FSStream.prototype = { object: { get: function() {
  7551. return this.node;
  7552. }, set: function(val) {
  7553. this.node = val;
  7554. } }, isRead: { get: function() {
  7555. return (this.flags & 2097155) !== 1;
  7556. } }, isWrite: { get: function() {
  7557. return (this.flags & 2097155) !== 0;
  7558. } }, isAppend: { get: function() {
  7559. return this.flags & 1024;
  7560. } } };
  7561. }
  7562. var newStream = new FS.FSStream();
  7563. for (var p in stream) {
  7564. newStream[p] = stream[p];
  7565. }
  7566. stream = newStream;
  7567. var fd = FS.nextfd(fd_start, fd_end);
  7568. stream.fd = fd;
  7569. FS.streams[fd] = stream;
  7570. return stream;
  7571. }, closeStream: function(fd) {
  7572. FS.streams[fd] = null;
  7573. }, chrdev_stream_ops: { open: function(stream) {
  7574. var device = FS.getDevice(stream.node.rdev);
  7575. stream.stream_ops = device.stream_ops;
  7576. if (stream.stream_ops.open) {
  7577. stream.stream_ops.open(stream);
  7578. }
  7579. }, llseek: function() {
  7580. throw new FS.ErrnoError(70);
  7581. } }, major: function(dev) {
  7582. return dev >> 8;
  7583. }, minor: function(dev) {
  7584. return dev & 255;
  7585. }, makedev: function(ma, mi) {
  7586. return ma << 8 | mi;
  7587. }, registerDevice: function(dev, ops) {
  7588. FS.devices[dev] = { stream_ops: ops };
  7589. }, getDevice: function(dev) {
  7590. return FS.devices[dev];
  7591. }, getMounts: function(mount) {
  7592. var mounts = [];
  7593. var check = [mount];
  7594. while (check.length) {
  7595. var m = check.pop();
  7596. mounts.push(m);
  7597. check.push.apply(check, m.mounts);
  7598. }
  7599. return mounts;
  7600. }, syncfs: function(populate, callback) {
  7601. if (typeof populate === "function") {
  7602. callback = populate;
  7603. populate = false;
  7604. }
  7605. FS.syncFSRequests++;
  7606. if (FS.syncFSRequests > 1) {
  7607. err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
  7608. }
  7609. var mounts = FS.getMounts(FS.root.mount);
  7610. var completed = 0;
  7611. function doCallback(errCode) {
  7612. FS.syncFSRequests--;
  7613. return callback(errCode);
  7614. }
  7615. function done(errCode) {
  7616. if (errCode) {
  7617. if (!done.errored) {
  7618. done.errored = true;
  7619. return doCallback(errCode);
  7620. }
  7621. return;
  7622. }
  7623. if (++completed >= mounts.length) {
  7624. doCallback(null);
  7625. }
  7626. }
  7627. mounts.forEach(function(mount) {
  7628. if (!mount.type.syncfs) {
  7629. return done(null);
  7630. }
  7631. mount.type.syncfs(mount, populate, done);
  7632. });
  7633. }, mount: function(type, opts, mountpoint) {
  7634. var root = mountpoint === "/";
  7635. var pseudo = !mountpoint;
  7636. var node;
  7637. if (root && FS.root) {
  7638. throw new FS.ErrnoError(10);
  7639. } else if (!root && !pseudo) {
  7640. var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
  7641. mountpoint = lookup.path;
  7642. node = lookup.node;
  7643. if (FS.isMountpoint(node)) {
  7644. throw new FS.ErrnoError(10);
  7645. }
  7646. if (!FS.isDir(node.mode)) {
  7647. throw new FS.ErrnoError(54);
  7648. }
  7649. }
  7650. var mount = { type, opts, mountpoint, mounts: [] };
  7651. var mountRoot = type.mount(mount);
  7652. mountRoot.mount = mount;
  7653. mount.root = mountRoot;
  7654. if (root) {
  7655. FS.root = mountRoot;
  7656. } else if (node) {
  7657. node.mounted = mount;
  7658. if (node.mount) {
  7659. node.mount.mounts.push(mount);
  7660. }
  7661. }
  7662. return mountRoot;
  7663. }, unmount: function(mountpoint) {
  7664. var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
  7665. if (!FS.isMountpoint(lookup.node)) {
  7666. throw new FS.ErrnoError(28);
  7667. }
  7668. var node = lookup.node;
  7669. var mount = node.mounted;
  7670. var mounts = FS.getMounts(mount);
  7671. Object.keys(FS.nameTable).forEach(function(hash) {
  7672. var current = FS.nameTable[hash];
  7673. while (current) {
  7674. var next = current.name_next;
  7675. if (mounts.indexOf(current.mount) !== -1) {
  7676. FS.destroyNode(current);
  7677. }
  7678. current = next;
  7679. }
  7680. });
  7681. node.mounted = null;
  7682. var idx = node.mount.mounts.indexOf(mount);
  7683. node.mount.mounts.splice(idx, 1);
  7684. }, lookup: function(parent, name2) {
  7685. return parent.node_ops.lookup(parent, name2);
  7686. }, mknod: function(path, mode, dev) {
  7687. var lookup = FS.lookupPath(path, { parent: true });
  7688. var parent = lookup.node;
  7689. var name2 = PATH.basename(path);
  7690. if (!name2 || name2 === "." || name2 === "..") {
  7691. throw new FS.ErrnoError(28);
  7692. }
  7693. var errCode = FS.mayCreate(parent, name2);
  7694. if (errCode) {
  7695. throw new FS.ErrnoError(errCode);
  7696. }
  7697. if (!parent.node_ops.mknod) {
  7698. throw new FS.ErrnoError(63);
  7699. }
  7700. return parent.node_ops.mknod(parent, name2, mode, dev);
  7701. }, create: function(path, mode) {
  7702. mode = mode !== void 0 ? mode : 438;
  7703. mode &= 4095;
  7704. mode |= 32768;
  7705. return FS.mknod(path, mode, 0);
  7706. }, mkdir: function(path, mode) {
  7707. mode = mode !== void 0 ? mode : 511;
  7708. mode &= 511 | 512;
  7709. mode |= 16384;
  7710. return FS.mknod(path, mode, 0);
  7711. }, mkdirTree: function(path, mode) {
  7712. var dirs = path.split("/");
  7713. var d = "";
  7714. for (var i = 0; i < dirs.length; ++i) {
  7715. if (!dirs[i])
  7716. continue;
  7717. d += "/" + dirs[i];
  7718. try {
  7719. FS.mkdir(d, mode);
  7720. } catch (e) {
  7721. if (e.errno != 20)
  7722. throw e;
  7723. }
  7724. }
  7725. }, mkdev: function(path, mode, dev) {
  7726. if (typeof dev === "undefined") {
  7727. dev = mode;
  7728. mode = 438;
  7729. }
  7730. mode |= 8192;
  7731. return FS.mknod(path, mode, dev);
  7732. }, symlink: function(oldpath, newpath) {
  7733. if (!PATH_FS.resolve(oldpath)) {
  7734. throw new FS.ErrnoError(44);
  7735. }
  7736. var lookup = FS.lookupPath(newpath, { parent: true });
  7737. var parent = lookup.node;
  7738. if (!parent) {
  7739. throw new FS.ErrnoError(44);
  7740. }
  7741. var newname = PATH.basename(newpath);
  7742. var errCode = FS.mayCreate(parent, newname);
  7743. if (errCode) {
  7744. throw new FS.ErrnoError(errCode);
  7745. }
  7746. if (!parent.node_ops.symlink) {
  7747. throw new FS.ErrnoError(63);
  7748. }
  7749. return parent.node_ops.symlink(parent, newname, oldpath);
  7750. }, rename: function(old_path, new_path) {
  7751. var old_dirname = PATH.dirname(old_path);
  7752. var new_dirname = PATH.dirname(new_path);
  7753. var old_name = PATH.basename(old_path);
  7754. var new_name = PATH.basename(new_path);
  7755. var lookup, old_dir, new_dir;
  7756. lookup = FS.lookupPath(old_path, { parent: true });
  7757. old_dir = lookup.node;
  7758. lookup = FS.lookupPath(new_path, { parent: true });
  7759. new_dir = lookup.node;
  7760. if (!old_dir || !new_dir)
  7761. throw new FS.ErrnoError(44);
  7762. if (old_dir.mount !== new_dir.mount) {
  7763. throw new FS.ErrnoError(75);
  7764. }
  7765. var old_node = FS.lookupNode(old_dir, old_name);
  7766. var relative = PATH_FS.relative(old_path, new_dirname);
  7767. if (relative.charAt(0) !== ".") {
  7768. throw new FS.ErrnoError(28);
  7769. }
  7770. relative = PATH_FS.relative(new_path, old_dirname);
  7771. if (relative.charAt(0) !== ".") {
  7772. throw new FS.ErrnoError(55);
  7773. }
  7774. var new_node;
  7775. try {
  7776. new_node = FS.lookupNode(new_dir, new_name);
  7777. } catch (e) {
  7778. }
  7779. if (old_node === new_node) {
  7780. return;
  7781. }
  7782. var isdir = FS.isDir(old_node.mode);
  7783. var errCode = FS.mayDelete(old_dir, old_name, isdir);
  7784. if (errCode) {
  7785. throw new FS.ErrnoError(errCode);
  7786. }
  7787. errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
  7788. if (errCode) {
  7789. throw new FS.ErrnoError(errCode);
  7790. }
  7791. if (!old_dir.node_ops.rename) {
  7792. throw new FS.ErrnoError(63);
  7793. }
  7794. if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
  7795. throw new FS.ErrnoError(10);
  7796. }
  7797. if (new_dir !== old_dir) {
  7798. errCode = FS.nodePermissions(old_dir, "w");
  7799. if (errCode) {
  7800. throw new FS.ErrnoError(errCode);
  7801. }
  7802. }
  7803. try {
  7804. if (FS.trackingDelegate["willMovePath"]) {
  7805. FS.trackingDelegate["willMovePath"](old_path, new_path);
  7806. }
  7807. } catch (e) {
  7808. err("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  7809. }
  7810. FS.hashRemoveNode(old_node);
  7811. try {
  7812. old_dir.node_ops.rename(old_node, new_dir, new_name);
  7813. } catch (e) {
  7814. throw e;
  7815. } finally {
  7816. FS.hashAddNode(old_node);
  7817. }
  7818. try {
  7819. if (FS.trackingDelegate["onMovePath"])
  7820. FS.trackingDelegate["onMovePath"](old_path, new_path);
  7821. } catch (e) {
  7822. err("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  7823. }
  7824. }, rmdir: function(path) {
  7825. var lookup = FS.lookupPath(path, { parent: true });
  7826. var parent = lookup.node;
  7827. var name2 = PATH.basename(path);
  7828. var node = FS.lookupNode(parent, name2);
  7829. var errCode = FS.mayDelete(parent, name2, true);
  7830. if (errCode) {
  7831. throw new FS.ErrnoError(errCode);
  7832. }
  7833. if (!parent.node_ops.rmdir) {
  7834. throw new FS.ErrnoError(63);
  7835. }
  7836. if (FS.isMountpoint(node)) {
  7837. throw new FS.ErrnoError(10);
  7838. }
  7839. try {
  7840. if (FS.trackingDelegate["willDeletePath"]) {
  7841. FS.trackingDelegate["willDeletePath"](path);
  7842. }
  7843. } catch (e) {
  7844. err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  7845. }
  7846. parent.node_ops.rmdir(parent, name2);
  7847. FS.destroyNode(node);
  7848. try {
  7849. if (FS.trackingDelegate["onDeletePath"])
  7850. FS.trackingDelegate["onDeletePath"](path);
  7851. } catch (e) {
  7852. err("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  7853. }
  7854. }, readdir: function(path) {
  7855. var lookup = FS.lookupPath(path, { follow: true });
  7856. var node = lookup.node;
  7857. if (!node.node_ops.readdir) {
  7858. throw new FS.ErrnoError(54);
  7859. }
  7860. return node.node_ops.readdir(node);
  7861. }, unlink: function(path) {
  7862. var lookup = FS.lookupPath(path, { parent: true });
  7863. var parent = lookup.node;
  7864. var name2 = PATH.basename(path);
  7865. var node = FS.lookupNode(parent, name2);
  7866. var errCode = FS.mayDelete(parent, name2, false);
  7867. if (errCode) {
  7868. throw new FS.ErrnoError(errCode);
  7869. }
  7870. if (!parent.node_ops.unlink) {
  7871. throw new FS.ErrnoError(63);
  7872. }
  7873. if (FS.isMountpoint(node)) {
  7874. throw new FS.ErrnoError(10);
  7875. }
  7876. try {
  7877. if (FS.trackingDelegate["willDeletePath"]) {
  7878. FS.trackingDelegate["willDeletePath"](path);
  7879. }
  7880. } catch (e) {
  7881. err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  7882. }
  7883. parent.node_ops.unlink(parent, name2);
  7884. FS.destroyNode(node);
  7885. try {
  7886. if (FS.trackingDelegate["onDeletePath"])
  7887. FS.trackingDelegate["onDeletePath"](path);
  7888. } catch (e) {
  7889. err("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  7890. }
  7891. }, readlink: function(path) {
  7892. var lookup = FS.lookupPath(path);
  7893. var link = lookup.node;
  7894. if (!link) {
  7895. throw new FS.ErrnoError(44);
  7896. }
  7897. if (!link.node_ops.readlink) {
  7898. throw new FS.ErrnoError(28);
  7899. }
  7900. return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
  7901. }, stat: function(path, dontFollow) {
  7902. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  7903. var node = lookup.node;
  7904. if (!node) {
  7905. throw new FS.ErrnoError(44);
  7906. }
  7907. if (!node.node_ops.getattr) {
  7908. throw new FS.ErrnoError(63);
  7909. }
  7910. return node.node_ops.getattr(node);
  7911. }, lstat: function(path) {
  7912. return FS.stat(path, true);
  7913. }, chmod: function(path, mode, dontFollow) {
  7914. var node;
  7915. if (typeof path === "string") {
  7916. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  7917. node = lookup.node;
  7918. } else {
  7919. node = path;
  7920. }
  7921. if (!node.node_ops.setattr) {
  7922. throw new FS.ErrnoError(63);
  7923. }
  7924. node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() });
  7925. }, lchmod: function(path, mode) {
  7926. FS.chmod(path, mode, true);
  7927. }, fchmod: function(fd, mode) {
  7928. var stream = FS.getStream(fd);
  7929. if (!stream) {
  7930. throw new FS.ErrnoError(8);
  7931. }
  7932. FS.chmod(stream.node, mode);
  7933. }, chown: function(path, uid, gid, dontFollow) {
  7934. var node;
  7935. if (typeof path === "string") {
  7936. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  7937. node = lookup.node;
  7938. } else {
  7939. node = path;
  7940. }
  7941. if (!node.node_ops.setattr) {
  7942. throw new FS.ErrnoError(63);
  7943. }
  7944. node.node_ops.setattr(node, { timestamp: Date.now() });
  7945. }, lchown: function(path, uid, gid) {
  7946. FS.chown(path, uid, gid, true);
  7947. }, fchown: function(fd, uid, gid) {
  7948. var stream = FS.getStream(fd);
  7949. if (!stream) {
  7950. throw new FS.ErrnoError(8);
  7951. }
  7952. FS.chown(stream.node, uid, gid);
  7953. }, truncate: function(path, len) {
  7954. if (len < 0) {
  7955. throw new FS.ErrnoError(28);
  7956. }
  7957. var node;
  7958. if (typeof path === "string") {
  7959. var lookup = FS.lookupPath(path, { follow: true });
  7960. node = lookup.node;
  7961. } else {
  7962. node = path;
  7963. }
  7964. if (!node.node_ops.setattr) {
  7965. throw new FS.ErrnoError(63);
  7966. }
  7967. if (FS.isDir(node.mode)) {
  7968. throw new FS.ErrnoError(31);
  7969. }
  7970. if (!FS.isFile(node.mode)) {
  7971. throw new FS.ErrnoError(28);
  7972. }
  7973. var errCode = FS.nodePermissions(node, "w");
  7974. if (errCode) {
  7975. throw new FS.ErrnoError(errCode);
  7976. }
  7977. node.node_ops.setattr(node, { size: len, timestamp: Date.now() });
  7978. }, ftruncate: function(fd, len) {
  7979. var stream = FS.getStream(fd);
  7980. if (!stream) {
  7981. throw new FS.ErrnoError(8);
  7982. }
  7983. if ((stream.flags & 2097155) === 0) {
  7984. throw new FS.ErrnoError(28);
  7985. }
  7986. FS.truncate(stream.node, len);
  7987. }, utime: function(path, atime, mtime) {
  7988. var lookup = FS.lookupPath(path, { follow: true });
  7989. var node = lookup.node;
  7990. node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) });
  7991. }, open: function(path, flags, mode, fd_start, fd_end) {
  7992. if (path === "") {
  7993. throw new FS.ErrnoError(44);
  7994. }
  7995. flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
  7996. mode = typeof mode === "undefined" ? 438 : mode;
  7997. if (flags & 64) {
  7998. mode = mode & 4095 | 32768;
  7999. } else {
  8000. mode = 0;
  8001. }
  8002. var node;
  8003. if (typeof path === "object") {
  8004. node = path;
  8005. } else {
  8006. path = PATH.normalize(path);
  8007. try {
  8008. var lookup = FS.lookupPath(path, { follow: !(flags & 131072) });
  8009. node = lookup.node;
  8010. } catch (e) {
  8011. }
  8012. }
  8013. var created = false;
  8014. if (flags & 64) {
  8015. if (node) {
  8016. if (flags & 128) {
  8017. throw new FS.ErrnoError(20);
  8018. }
  8019. } else {
  8020. node = FS.mknod(path, mode, 0);
  8021. created = true;
  8022. }
  8023. }
  8024. if (!node) {
  8025. throw new FS.ErrnoError(44);
  8026. }
  8027. if (FS.isChrdev(node.mode)) {
  8028. flags &= ~512;
  8029. }
  8030. if (flags & 65536 && !FS.isDir(node.mode)) {
  8031. throw new FS.ErrnoError(54);
  8032. }
  8033. if (!created) {
  8034. var errCode = FS.mayOpen(node, flags);
  8035. if (errCode) {
  8036. throw new FS.ErrnoError(errCode);
  8037. }
  8038. }
  8039. if (flags & 512) {
  8040. FS.truncate(node, 0);
  8041. }
  8042. flags &= ~(128 | 512 | 131072);
  8043. var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }, fd_start, fd_end);
  8044. if (stream.stream_ops.open) {
  8045. stream.stream_ops.open(stream);
  8046. }
  8047. if (Module["logReadFiles"] && !(flags & 1)) {
  8048. if (!FS.readFiles)
  8049. FS.readFiles = {};
  8050. if (!(path in FS.readFiles)) {
  8051. FS.readFiles[path] = 1;
  8052. err("FS.trackingDelegate error on read file: " + path);
  8053. }
  8054. }
  8055. try {
  8056. if (FS.trackingDelegate["onOpenFile"]) {
  8057. var trackingFlags = 0;
  8058. if ((flags & 2097155) !== 1) {
  8059. trackingFlags |= FS.tracking.openFlags.READ;
  8060. }
  8061. if ((flags & 2097155) !== 0) {
  8062. trackingFlags |= FS.tracking.openFlags.WRITE;
  8063. }
  8064. FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  8065. }
  8066. } catch (e) {
  8067. err("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
  8068. }
  8069. return stream;
  8070. }, close: function(stream) {
  8071. if (FS.isClosed(stream)) {
  8072. throw new FS.ErrnoError(8);
  8073. }
  8074. if (stream.getdents)
  8075. stream.getdents = null;
  8076. try {
  8077. if (stream.stream_ops.close) {
  8078. stream.stream_ops.close(stream);
  8079. }
  8080. } catch (e) {
  8081. throw e;
  8082. } finally {
  8083. FS.closeStream(stream.fd);
  8084. }
  8085. stream.fd = null;
  8086. }, isClosed: function(stream) {
  8087. return stream.fd === null;
  8088. }, llseek: function(stream, offset, whence) {
  8089. if (FS.isClosed(stream)) {
  8090. throw new FS.ErrnoError(8);
  8091. }
  8092. if (!stream.seekable || !stream.stream_ops.llseek) {
  8093. throw new FS.ErrnoError(70);
  8094. }
  8095. if (whence != 0 && whence != 1 && whence != 2) {
  8096. throw new FS.ErrnoError(28);
  8097. }
  8098. stream.position = stream.stream_ops.llseek(stream, offset, whence);
  8099. stream.ungotten = [];
  8100. return stream.position;
  8101. }, read: function(stream, buffer2, offset, length, position) {
  8102. offset >>>= 0;
  8103. if (length < 0 || position < 0) {
  8104. throw new FS.ErrnoError(28);
  8105. }
  8106. if (FS.isClosed(stream)) {
  8107. throw new FS.ErrnoError(8);
  8108. }
  8109. if ((stream.flags & 2097155) === 1) {
  8110. throw new FS.ErrnoError(8);
  8111. }
  8112. if (FS.isDir(stream.node.mode)) {
  8113. throw new FS.ErrnoError(31);
  8114. }
  8115. if (!stream.stream_ops.read) {
  8116. throw new FS.ErrnoError(28);
  8117. }
  8118. var seeking = typeof position !== "undefined";
  8119. if (!seeking) {
  8120. position = stream.position;
  8121. } else if (!stream.seekable) {
  8122. throw new FS.ErrnoError(70);
  8123. }
  8124. var bytesRead = stream.stream_ops.read(stream, buffer2, offset, length, position);
  8125. if (!seeking)
  8126. stream.position += bytesRead;
  8127. return bytesRead;
  8128. }, write: function(stream, buffer2, offset, length, position, canOwn) {
  8129. offset >>>= 0;
  8130. if (length < 0 || position < 0) {
  8131. throw new FS.ErrnoError(28);
  8132. }
  8133. if (FS.isClosed(stream)) {
  8134. throw new FS.ErrnoError(8);
  8135. }
  8136. if ((stream.flags & 2097155) === 0) {
  8137. throw new FS.ErrnoError(8);
  8138. }
  8139. if (FS.isDir(stream.node.mode)) {
  8140. throw new FS.ErrnoError(31);
  8141. }
  8142. if (!stream.stream_ops.write) {
  8143. throw new FS.ErrnoError(28);
  8144. }
  8145. if (stream.seekable && stream.flags & 1024) {
  8146. FS.llseek(stream, 0, 2);
  8147. }
  8148. var seeking = typeof position !== "undefined";
  8149. if (!seeking) {
  8150. position = stream.position;
  8151. } else if (!stream.seekable) {
  8152. throw new FS.ErrnoError(70);
  8153. }
  8154. var bytesWritten = stream.stream_ops.write(stream, buffer2, offset, length, position, canOwn);
  8155. if (!seeking)
  8156. stream.position += bytesWritten;
  8157. try {
  8158. if (stream.path && FS.trackingDelegate["onWriteToFile"])
  8159. FS.trackingDelegate["onWriteToFile"](stream.path);
  8160. } catch (e) {
  8161. err("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
  8162. }
  8163. return bytesWritten;
  8164. }, allocate: function(stream, offset, length) {
  8165. if (FS.isClosed(stream)) {
  8166. throw new FS.ErrnoError(8);
  8167. }
  8168. if (offset < 0 || length <= 0) {
  8169. throw new FS.ErrnoError(28);
  8170. }
  8171. if ((stream.flags & 2097155) === 0) {
  8172. throw new FS.ErrnoError(8);
  8173. }
  8174. if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
  8175. throw new FS.ErrnoError(43);
  8176. }
  8177. if (!stream.stream_ops.allocate) {
  8178. throw new FS.ErrnoError(138);
  8179. }
  8180. stream.stream_ops.allocate(stream, offset, length);
  8181. }, mmap: function(stream, address, length, position, prot, flags) {
  8182. address >>>= 0;
  8183. if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
  8184. throw new FS.ErrnoError(2);
  8185. }
  8186. if ((stream.flags & 2097155) === 1) {
  8187. throw new FS.ErrnoError(2);
  8188. }
  8189. if (!stream.stream_ops.mmap) {
  8190. throw new FS.ErrnoError(43);
  8191. }
  8192. return stream.stream_ops.mmap(stream, address, length, position, prot, flags);
  8193. }, msync: function(stream, buffer2, offset, length, mmapFlags) {
  8194. offset >>>= 0;
  8195. if (!stream || !stream.stream_ops.msync) {
  8196. return 0;
  8197. }
  8198. return stream.stream_ops.msync(stream, buffer2, offset, length, mmapFlags);
  8199. }, munmap: function(stream) {
  8200. return 0;
  8201. }, ioctl: function(stream, cmd, arg) {
  8202. if (!stream.stream_ops.ioctl) {
  8203. throw new FS.ErrnoError(59);
  8204. }
  8205. return stream.stream_ops.ioctl(stream, cmd, arg);
  8206. }, readFile: function(path, opts) {
  8207. opts = opts || {};
  8208. opts.flags = opts.flags || 0;
  8209. opts.encoding = opts.encoding || "binary";
  8210. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  8211. throw new Error('Invalid encoding type "' + opts.encoding + '"');
  8212. }
  8213. var ret;
  8214. var stream = FS.open(path, opts.flags);
  8215. var stat = FS.stat(path);
  8216. var length = stat.size;
  8217. var buf = new Uint8Array(length);
  8218. FS.read(stream, buf, 0, length, 0);
  8219. if (opts.encoding === "utf8") {
  8220. ret = UTF8ArrayToString(buf, 0);
  8221. } else if (opts.encoding === "binary") {
  8222. ret = buf;
  8223. }
  8224. FS.close(stream);
  8225. return ret;
  8226. }, writeFile: function(path, data, opts) {
  8227. opts = opts || {};
  8228. opts.flags = opts.flags || 577;
  8229. var stream = FS.open(path, opts.flags, opts.mode);
  8230. if (typeof data === "string") {
  8231. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  8232. var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
  8233. FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn);
  8234. } else if (ArrayBuffer.isView(data)) {
  8235. FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn);
  8236. } else {
  8237. throw new Error("Unsupported data type");
  8238. }
  8239. FS.close(stream);
  8240. }, cwd: function() {
  8241. return FS.currentPath;
  8242. }, chdir: function(path) {
  8243. var lookup = FS.lookupPath(path, { follow: true });
  8244. if (lookup.node === null) {
  8245. throw new FS.ErrnoError(44);
  8246. }
  8247. if (!FS.isDir(lookup.node.mode)) {
  8248. throw new FS.ErrnoError(54);
  8249. }
  8250. var errCode = FS.nodePermissions(lookup.node, "x");
  8251. if (errCode) {
  8252. throw new FS.ErrnoError(errCode);
  8253. }
  8254. FS.currentPath = lookup.path;
  8255. }, createDefaultDirectories: function() {
  8256. FS.mkdir("/tmp");
  8257. FS.mkdir("/home");
  8258. FS.mkdir("/home/web_user");
  8259. }, createDefaultDevices: function() {
  8260. FS.mkdir("/dev");
  8261. FS.registerDevice(FS.makedev(1, 3), { read: function() {
  8262. return 0;
  8263. }, write: function(stream, buffer2, offset, length, pos) {
  8264. return length;
  8265. } });
  8266. FS.mkdev("/dev/null", FS.makedev(1, 3));
  8267. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  8268. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  8269. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  8270. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  8271. var random_device = getRandomDevice();
  8272. FS.createDevice("/dev", "random", random_device);
  8273. FS.createDevice("/dev", "urandom", random_device);
  8274. FS.mkdir("/dev/shm");
  8275. FS.mkdir("/dev/shm/tmp");
  8276. }, createSpecialDirectories: function() {
  8277. FS.mkdir("/proc");
  8278. FS.mkdir("/proc/self");
  8279. FS.mkdir("/proc/self/fd");
  8280. FS.mount({ mount: function() {
  8281. var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
  8282. node.node_ops = { lookup: function(parent, name2) {
  8283. var fd = +name2;
  8284. var stream = FS.getStream(fd);
  8285. if (!stream)
  8286. throw new FS.ErrnoError(8);
  8287. var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: function() {
  8288. return stream.path;
  8289. } } };
  8290. ret.parent = ret;
  8291. return ret;
  8292. } };
  8293. return node;
  8294. } }, {}, "/proc/self/fd");
  8295. }, createStandardStreams: function() {
  8296. if (Module["stdin"]) {
  8297. FS.createDevice("/dev", "stdin", Module["stdin"]);
  8298. } else {
  8299. FS.symlink("/dev/tty", "/dev/stdin");
  8300. }
  8301. if (Module["stdout"]) {
  8302. FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  8303. } else {
  8304. FS.symlink("/dev/tty", "/dev/stdout");
  8305. }
  8306. if (Module["stderr"]) {
  8307. FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  8308. } else {
  8309. FS.symlink("/dev/tty1", "/dev/stderr");
  8310. }
  8311. var stdin = FS.open("/dev/stdin", 0);
  8312. var stdout = FS.open("/dev/stdout", 1);
  8313. var stderr = FS.open("/dev/stderr", 1);
  8314. }, ensureErrnoError: function() {
  8315. if (FS.ErrnoError)
  8316. return;
  8317. FS.ErrnoError = function ErrnoError(errno, node) {
  8318. this.node = node;
  8319. this.setErrno = function(errno2) {
  8320. this.errno = errno2;
  8321. };
  8322. this.setErrno(errno);
  8323. this.message = "FS error";
  8324. };
  8325. FS.ErrnoError.prototype = new Error();
  8326. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  8327. [44].forEach(function(code) {
  8328. FS.genericErrors[code] = new FS.ErrnoError(code);
  8329. FS.genericErrors[code].stack = "<generic error, no stack>";
  8330. });
  8331. }, staticInit: function() {
  8332. FS.ensureErrnoError();
  8333. FS.nameTable = new Array(4096);
  8334. FS.mount(MEMFS, {}, "/");
  8335. FS.createDefaultDirectories();
  8336. FS.createDefaultDevices();
  8337. FS.createSpecialDirectories();
  8338. FS.filesystems = { "MEMFS": MEMFS };
  8339. }, init: function(input, output, error) {
  8340. FS.init.initialized = true;
  8341. FS.ensureErrnoError();
  8342. Module["stdin"] = input || Module["stdin"];
  8343. Module["stdout"] = output || Module["stdout"];
  8344. Module["stderr"] = error || Module["stderr"];
  8345. FS.createStandardStreams();
  8346. }, quit: function() {
  8347. FS.init.initialized = false;
  8348. var fflush = Module["_fflush"];
  8349. if (fflush)
  8350. fflush(0);
  8351. for (var i = 0; i < FS.streams.length; i++) {
  8352. var stream = FS.streams[i];
  8353. if (!stream) {
  8354. continue;
  8355. }
  8356. FS.close(stream);
  8357. }
  8358. }, getMode: function(canRead, canWrite) {
  8359. var mode = 0;
  8360. if (canRead)
  8361. mode |= 292 | 73;
  8362. if (canWrite)
  8363. mode |= 146;
  8364. return mode;
  8365. }, findObject: function(path, dontResolveLastLink) {
  8366. var ret = FS.analyzePath(path, dontResolveLastLink);
  8367. if (ret.exists) {
  8368. return ret.object;
  8369. } else {
  8370. return null;
  8371. }
  8372. }, analyzePath: function(path, dontResolveLastLink) {
  8373. try {
  8374. var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
  8375. path = lookup.path;
  8376. } catch (e) {
  8377. }
  8378. var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null };
  8379. try {
  8380. var lookup = FS.lookupPath(path, { parent: true });
  8381. ret.parentExists = true;
  8382. ret.parentPath = lookup.path;
  8383. ret.parentObject = lookup.node;
  8384. ret.name = PATH.basename(path);
  8385. lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
  8386. ret.exists = true;
  8387. ret.path = lookup.path;
  8388. ret.object = lookup.node;
  8389. ret.name = lookup.node.name;
  8390. ret.isRoot = lookup.path === "/";
  8391. } catch (e) {
  8392. ret.error = e.errno;
  8393. }
  8394. return ret;
  8395. }, createPath: function(parent, path, canRead, canWrite) {
  8396. parent = typeof parent === "string" ? parent : FS.getPath(parent);
  8397. var parts = path.split("/").reverse();
  8398. while (parts.length) {
  8399. var part = parts.pop();
  8400. if (!part)
  8401. continue;
  8402. var current = PATH.join2(parent, part);
  8403. try {
  8404. FS.mkdir(current);
  8405. } catch (e) {
  8406. }
  8407. parent = current;
  8408. }
  8409. return current;
  8410. }, createFile: function(parent, name2, properties, canRead, canWrite) {
  8411. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name2);
  8412. var mode = FS.getMode(canRead, canWrite);
  8413. return FS.create(path, mode);
  8414. }, createDataFile: function(parent, name2, data, canRead, canWrite, canOwn) {
  8415. var path = name2 ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name2) : parent;
  8416. var mode = FS.getMode(canRead, canWrite);
  8417. var node = FS.create(path, mode);
  8418. if (data) {
  8419. if (typeof data === "string") {
  8420. var arr = new Array(data.length);
  8421. for (var i = 0, len = data.length; i < len; ++i)
  8422. arr[i] = data.charCodeAt(i);
  8423. data = arr;
  8424. }
  8425. FS.chmod(node, mode | 146);
  8426. var stream = FS.open(node, 577);
  8427. FS.write(stream, data, 0, data.length, 0, canOwn);
  8428. FS.close(stream);
  8429. FS.chmod(node, mode);
  8430. }
  8431. return node;
  8432. }, createDevice: function(parent, name2, input, output) {
  8433. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name2);
  8434. var mode = FS.getMode(!!input, !!output);
  8435. if (!FS.createDevice.major)
  8436. FS.createDevice.major = 64;
  8437. var dev = FS.makedev(FS.createDevice.major++, 0);
  8438. FS.registerDevice(dev, { open: function(stream) {
  8439. stream.seekable = false;
  8440. }, close: function(stream) {
  8441. if (output && output.buffer && output.buffer.length) {
  8442. output(10);
  8443. }
  8444. }, read: function(stream, buffer2, offset, length, pos) {
  8445. var bytesRead = 0;
  8446. for (var i = 0; i < length; i++) {
  8447. var result;
  8448. try {
  8449. result = input();
  8450. } catch (e) {
  8451. throw new FS.ErrnoError(29);
  8452. }
  8453. if (result === void 0 && bytesRead === 0) {
  8454. throw new FS.ErrnoError(6);
  8455. }
  8456. if (result === null || result === void 0)
  8457. break;
  8458. bytesRead++;
  8459. buffer2[offset + i] = result;
  8460. }
  8461. if (bytesRead) {
  8462. stream.node.timestamp = Date.now();
  8463. }
  8464. return bytesRead;
  8465. }, write: function(stream, buffer2, offset, length, pos) {
  8466. for (var i = 0; i < length; i++) {
  8467. try {
  8468. output(buffer2[offset + i]);
  8469. } catch (e) {
  8470. throw new FS.ErrnoError(29);
  8471. }
  8472. }
  8473. if (length) {
  8474. stream.node.timestamp = Date.now();
  8475. }
  8476. return i;
  8477. } });
  8478. return FS.mkdev(path, mode, dev);
  8479. }, forceLoadFile: function(obj) {
  8480. if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
  8481. return true;
  8482. if (typeof XMLHttpRequest !== "undefined") {
  8483. throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
  8484. } else if (read_) {
  8485. try {
  8486. obj.contents = intArrayFromString(read_(obj.url), true);
  8487. obj.usedBytes = obj.contents.length;
  8488. } catch (e) {
  8489. throw new FS.ErrnoError(29);
  8490. }
  8491. } else {
  8492. throw new Error("Cannot load without read() or XMLHttpRequest.");
  8493. }
  8494. }, createLazyFile: function(parent, name2, url, canRead, canWrite) {
  8495. function LazyUint8Array() {
  8496. this.lengthKnown = false;
  8497. this.chunks = [];
  8498. }
  8499. LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
  8500. if (idx > this.length - 1 || idx < 0) {
  8501. return void 0;
  8502. }
  8503. var chunkOffset = idx % this.chunkSize;
  8504. var chunkNum = idx / this.chunkSize | 0;
  8505. return this.getter(chunkNum)[chunkOffset];
  8506. };
  8507. LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
  8508. this.getter = getter;
  8509. };
  8510. LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
  8511. var xhr = new XMLHttpRequest();
  8512. xhr.open("HEAD", url, false);
  8513. xhr.send(null);
  8514. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304))
  8515. throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  8516. var datalength = Number(xhr.getResponseHeader("Content-length"));
  8517. var header;
  8518. var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
  8519. var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
  8520. var chunkSize = 1024 * 1024;
  8521. if (!hasByteServing)
  8522. chunkSize = datalength;
  8523. var doXHR = function(from, to) {
  8524. if (from > to)
  8525. throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
  8526. if (to > datalength - 1)
  8527. throw new Error("only " + datalength + " bytes available! programmer error!");
  8528. var xhr2 = new XMLHttpRequest();
  8529. xhr2.open("GET", url, false);
  8530. if (datalength !== chunkSize)
  8531. xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to);
  8532. if (typeof Uint8Array != "undefined")
  8533. xhr2.responseType = "arraybuffer";
  8534. if (xhr2.overrideMimeType) {
  8535. xhr2.overrideMimeType("text/plain; charset=x-user-defined");
  8536. }
  8537. xhr2.send(null);
  8538. if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304))
  8539. throw new Error("Couldn't load " + url + ". Status: " + xhr2.status);
  8540. if (xhr2.response !== void 0) {
  8541. return new Uint8Array(xhr2.response || []);
  8542. } else {
  8543. return intArrayFromString(xhr2.responseText || "", true);
  8544. }
  8545. };
  8546. var lazyArray2 = this;
  8547. lazyArray2.setDataGetter(function(chunkNum) {
  8548. var start = chunkNum * chunkSize;
  8549. var end = (chunkNum + 1) * chunkSize - 1;
  8550. end = Math.min(end, datalength - 1);
  8551. if (typeof lazyArray2.chunks[chunkNum] === "undefined") {
  8552. lazyArray2.chunks[chunkNum] = doXHR(start, end);
  8553. }
  8554. if (typeof lazyArray2.chunks[chunkNum] === "undefined")
  8555. throw new Error("doXHR failed!");
  8556. return lazyArray2.chunks[chunkNum];
  8557. });
  8558. if (usesGzip || !datalength) {
  8559. chunkSize = datalength = 1;
  8560. datalength = this.getter(0).length;
  8561. chunkSize = datalength;
  8562. out("LazyFiles on gzip forces download of the whole file when length is accessed");
  8563. }
  8564. this._length = datalength;
  8565. this._chunkSize = chunkSize;
  8566. this.lengthKnown = true;
  8567. };
  8568. if (typeof XMLHttpRequest !== "undefined") {
  8569. if (!ENVIRONMENT_IS_WORKER)
  8570. throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  8571. var lazyArray = new LazyUint8Array();
  8572. Object.defineProperties(lazyArray, { length: { get: function() {
  8573. if (!this.lengthKnown) {
  8574. this.cacheLength();
  8575. }
  8576. return this._length;
  8577. } }, chunkSize: { get: function() {
  8578. if (!this.lengthKnown) {
  8579. this.cacheLength();
  8580. }
  8581. return this._chunkSize;
  8582. } } });
  8583. var properties = { isDevice: false, contents: lazyArray };
  8584. } else {
  8585. var properties = { isDevice: false, url };
  8586. }
  8587. var node = FS.createFile(parent, name2, properties, canRead, canWrite);
  8588. if (properties.contents) {
  8589. node.contents = properties.contents;
  8590. } else if (properties.url) {
  8591. node.contents = null;
  8592. node.url = properties.url;
  8593. }
  8594. Object.defineProperties(node, { usedBytes: { get: function() {
  8595. return this.contents.length;
  8596. } } });
  8597. var stream_ops = {};
  8598. var keys = Object.keys(node.stream_ops);
  8599. keys.forEach(function(key2) {
  8600. var fn = node.stream_ops[key2];
  8601. stream_ops[key2] = function forceLoadLazyFile() {
  8602. FS.forceLoadFile(node);
  8603. return fn.apply(null, arguments);
  8604. };
  8605. });
  8606. stream_ops.read = function stream_ops_read(stream, buffer2, offset, length, position) {
  8607. FS.forceLoadFile(node);
  8608. var contents = stream.node.contents;
  8609. if (position >= contents.length)
  8610. return 0;
  8611. var size = Math.min(contents.length - position, length);
  8612. if (contents.slice) {
  8613. for (var i = 0; i < size; i++) {
  8614. buffer2[offset + i] = contents[position + i];
  8615. }
  8616. } else {
  8617. for (var i = 0; i < size; i++) {
  8618. buffer2[offset + i] = contents.get(position + i);
  8619. }
  8620. }
  8621. return size;
  8622. };
  8623. node.stream_ops = stream_ops;
  8624. return node;
  8625. }, createPreloadedFile: function(parent, name2, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
  8626. Browser.init();
  8627. var fullname = name2 ? PATH_FS.resolve(PATH.join2(parent, name2)) : parent;
  8628. var dep = getUniqueRunDependency("cp " + fullname);
  8629. function processData(byteArray) {
  8630. function finish(byteArray2) {
  8631. if (preFinish)
  8632. preFinish();
  8633. if (!dontCreateFile) {
  8634. FS.createDataFile(parent, name2, byteArray2, canRead, canWrite, canOwn);
  8635. }
  8636. if (onload)
  8637. onload();
  8638. removeRunDependency(dep);
  8639. }
  8640. var handled = false;
  8641. Module["preloadPlugins"].forEach(function(plugin) {
  8642. if (handled)
  8643. return;
  8644. if (plugin["canHandle"](fullname)) {
  8645. plugin["handle"](byteArray, fullname, finish, function() {
  8646. if (onerror)
  8647. onerror();
  8648. removeRunDependency(dep);
  8649. });
  8650. handled = true;
  8651. }
  8652. });
  8653. if (!handled)
  8654. finish(byteArray);
  8655. }
  8656. addRunDependency(dep);
  8657. if (typeof url == "string") {
  8658. Browser.asyncLoad(url, function(byteArray) {
  8659. processData(byteArray);
  8660. }, onerror);
  8661. } else {
  8662. processData(url);
  8663. }
  8664. }, indexedDB: function() {
  8665. return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  8666. }, DB_NAME: function() {
  8667. return "EM_FS_" + window.location.pathname;
  8668. }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: function(paths, onload, onerror) {
  8669. onload = onload || function() {
  8670. };
  8671. onerror = onerror || function() {
  8672. };
  8673. var indexedDB = FS.indexedDB();
  8674. try {
  8675. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  8676. } catch (e) {
  8677. return onerror(e);
  8678. }
  8679. openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
  8680. out("creating db");
  8681. var db = openRequest.result;
  8682. db.createObjectStore(FS.DB_STORE_NAME);
  8683. };
  8684. openRequest.onsuccess = function openRequest_onsuccess() {
  8685. var db = openRequest.result;
  8686. var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");
  8687. var files = transaction.objectStore(FS.DB_STORE_NAME);
  8688. var ok = 0, fail = 0, total = paths.length;
  8689. function finish() {
  8690. if (fail == 0)
  8691. onload();
  8692. else
  8693. onerror();
  8694. }
  8695. paths.forEach(function(path) {
  8696. var putRequest = files.put(FS.analyzePath(path).object.contents, path);
  8697. putRequest.onsuccess = function putRequest_onsuccess() {
  8698. ok++;
  8699. if (ok + fail == total)
  8700. finish();
  8701. };
  8702. putRequest.onerror = function putRequest_onerror() {
  8703. fail++;
  8704. if (ok + fail == total)
  8705. finish();
  8706. };
  8707. });
  8708. transaction.onerror = onerror;
  8709. };
  8710. openRequest.onerror = onerror;
  8711. }, loadFilesFromDB: function(paths, onload, onerror) {
  8712. onload = onload || function() {
  8713. };
  8714. onerror = onerror || function() {
  8715. };
  8716. var indexedDB = FS.indexedDB();
  8717. try {
  8718. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  8719. } catch (e) {
  8720. return onerror(e);
  8721. }
  8722. openRequest.onupgradeneeded = onerror;
  8723. openRequest.onsuccess = function openRequest_onsuccess() {
  8724. var db = openRequest.result;
  8725. try {
  8726. var transaction = db.transaction([FS.DB_STORE_NAME], "readonly");
  8727. } catch (e) {
  8728. onerror(e);
  8729. return;
  8730. }
  8731. var files = transaction.objectStore(FS.DB_STORE_NAME);
  8732. var ok = 0, fail = 0, total = paths.length;
  8733. function finish() {
  8734. if (fail == 0)
  8735. onload();
  8736. else
  8737. onerror();
  8738. }
  8739. paths.forEach(function(path) {
  8740. var getRequest = files.get(path);
  8741. getRequest.onsuccess = function getRequest_onsuccess() {
  8742. if (FS.analyzePath(path).exists) {
  8743. FS.unlink(path);
  8744. }
  8745. FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
  8746. ok++;
  8747. if (ok + fail == total)
  8748. finish();
  8749. };
  8750. getRequest.onerror = function getRequest_onerror() {
  8751. fail++;
  8752. if (ok + fail == total)
  8753. finish();
  8754. };
  8755. });
  8756. transaction.onerror = onerror;
  8757. };
  8758. openRequest.onerror = onerror;
  8759. } };
  8760. var SYSCALLS = { mappings: {}, DEFAULT_POLLMASK: 5, umask: 511, calculateAt: function(dirfd, path) {
  8761. if (path[0] !== "/") {
  8762. var dir;
  8763. if (dirfd === -100) {
  8764. dir = FS.cwd();
  8765. } else {
  8766. var dirstream = FS.getStream(dirfd);
  8767. if (!dirstream)
  8768. throw new FS.ErrnoError(8);
  8769. dir = dirstream.path;
  8770. }
  8771. path = PATH.join2(dir, path);
  8772. }
  8773. return path;
  8774. }, doStat: function(func, path, buf) {
  8775. try {
  8776. var stat = func(path);
  8777. } catch (e) {
  8778. if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
  8779. return -54;
  8780. }
  8781. throw e;
  8782. }
  8783. HEAP32[buf >>> 2] = stat.dev;
  8784. HEAP32[buf + 4 >>> 2] = 0;
  8785. HEAP32[buf + 8 >>> 2] = stat.ino;
  8786. HEAP32[buf + 12 >>> 2] = stat.mode;
  8787. HEAP32[buf + 16 >>> 2] = stat.nlink;
  8788. HEAP32[buf + 20 >>> 2] = stat.uid;
  8789. HEAP32[buf + 24 >>> 2] = stat.gid;
  8790. HEAP32[buf + 28 >>> 2] = stat.rdev;
  8791. HEAP32[buf + 32 >>> 2] = 0;
  8792. tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >>> 2] = tempI64[0], HEAP32[buf + 44 >>> 2] = tempI64[1];
  8793. HEAP32[buf + 48 >>> 2] = 4096;
  8794. HEAP32[buf + 52 >>> 2] = stat.blocks;
  8795. HEAP32[buf + 56 >>> 2] = stat.atime.getTime() / 1e3 | 0;
  8796. HEAP32[buf + 60 >>> 2] = 0;
  8797. HEAP32[buf + 64 >>> 2] = stat.mtime.getTime() / 1e3 | 0;
  8798. HEAP32[buf + 68 >>> 2] = 0;
  8799. HEAP32[buf + 72 >>> 2] = stat.ctime.getTime() / 1e3 | 0;
  8800. HEAP32[buf + 76 >>> 2] = 0;
  8801. tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >>> 2] = tempI64[0], HEAP32[buf + 84 >>> 2] = tempI64[1];
  8802. return 0;
  8803. }, doMsync: function(addr, stream, len, flags, offset) {
  8804. var buffer2 = HEAPU8.slice(addr, addr + len);
  8805. FS.msync(stream, buffer2, offset, len, flags);
  8806. }, doMkdir: function(path, mode) {
  8807. path = PATH.normalize(path);
  8808. if (path[path.length - 1] === "/")
  8809. path = path.substr(0, path.length - 1);
  8810. FS.mkdir(path, mode, 0);
  8811. return 0;
  8812. }, doMknod: function(path, mode, dev) {
  8813. switch (mode & 61440) {
  8814. case 32768:
  8815. case 8192:
  8816. case 24576:
  8817. case 4096:
  8818. case 49152:
  8819. break;
  8820. default:
  8821. return -28;
  8822. }
  8823. FS.mknod(path, mode, dev);
  8824. return 0;
  8825. }, doReadlink: function(path, buf, bufsize) {
  8826. if (bufsize <= 0)
  8827. return -28;
  8828. var ret = FS.readlink(path);
  8829. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  8830. var endChar = HEAP8[buf + len >>> 0];
  8831. stringToUTF8(ret, buf, bufsize + 1);
  8832. HEAP8[buf + len >>> 0] = endChar;
  8833. return len;
  8834. }, doAccess: function(path, amode) {
  8835. if (amode & ~7) {
  8836. return -28;
  8837. }
  8838. var node;
  8839. var lookup = FS.lookupPath(path, { follow: true });
  8840. node = lookup.node;
  8841. if (!node) {
  8842. return -44;
  8843. }
  8844. var perms = "";
  8845. if (amode & 4)
  8846. perms += "r";
  8847. if (amode & 2)
  8848. perms += "w";
  8849. if (amode & 1)
  8850. perms += "x";
  8851. if (perms && FS.nodePermissions(node, perms)) {
  8852. return -2;
  8853. }
  8854. return 0;
  8855. }, doDup: function(path, flags, suggestFD) {
  8856. var suggest = FS.getStream(suggestFD);
  8857. if (suggest)
  8858. FS.close(suggest);
  8859. return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  8860. }, doReadv: function(stream, iov, iovcnt, offset) {
  8861. var ret = 0;
  8862. for (var i = 0; i < iovcnt; i++) {
  8863. var ptr = HEAP32[iov + i * 8 >>> 2];
  8864. var len = HEAP32[iov + (i * 8 + 4) >>> 2];
  8865. var curr = FS.read(stream, HEAP8, ptr, len, offset);
  8866. if (curr < 0)
  8867. return -1;
  8868. ret += curr;
  8869. if (curr < len)
  8870. break;
  8871. }
  8872. return ret;
  8873. }, doWritev: function(stream, iov, iovcnt, offset) {
  8874. var ret = 0;
  8875. for (var i = 0; i < iovcnt; i++) {
  8876. var ptr = HEAP32[iov + i * 8 >>> 2];
  8877. var len = HEAP32[iov + (i * 8 + 4) >>> 2];
  8878. var curr = FS.write(stream, HEAP8, ptr, len, offset);
  8879. if (curr < 0)
  8880. return -1;
  8881. ret += curr;
  8882. }
  8883. return ret;
  8884. }, varargs: void 0, get: function() {
  8885. SYSCALLS.varargs += 4;
  8886. var ret = HEAP32[SYSCALLS.varargs - 4 >>> 2];
  8887. return ret;
  8888. }, getStr: function(ptr) {
  8889. var ret = UTF8ToString(ptr);
  8890. return ret;
  8891. }, getStreamFromFD: function(fd) {
  8892. var stream = FS.getStream(fd);
  8893. if (!stream)
  8894. throw new FS.ErrnoError(8);
  8895. return stream;
  8896. }, get64: function(low, high) {
  8897. return low;
  8898. } };
  8899. function ___sys_ioctl(fd, op, varargs) {
  8900. SYSCALLS.varargs = varargs;
  8901. try {
  8902. var stream = SYSCALLS.getStreamFromFD(fd);
  8903. switch (op) {
  8904. case 21509:
  8905. case 21505: {
  8906. if (!stream.tty)
  8907. return -59;
  8908. return 0;
  8909. }
  8910. case 21510:
  8911. case 21511:
  8912. case 21512:
  8913. case 21506:
  8914. case 21507:
  8915. case 21508: {
  8916. if (!stream.tty)
  8917. return -59;
  8918. return 0;
  8919. }
  8920. case 21519: {
  8921. if (!stream.tty)
  8922. return -59;
  8923. var argp = SYSCALLS.get();
  8924. HEAP32[argp >>> 2] = 0;
  8925. return 0;
  8926. }
  8927. case 21520: {
  8928. if (!stream.tty)
  8929. return -59;
  8930. return -28;
  8931. }
  8932. case 21531: {
  8933. var argp = SYSCALLS.get();
  8934. return FS.ioctl(stream, op, argp);
  8935. }
  8936. case 21523: {
  8937. if (!stream.tty)
  8938. return -59;
  8939. return 0;
  8940. }
  8941. case 21524: {
  8942. if (!stream.tty)
  8943. return -59;
  8944. return 0;
  8945. }
  8946. default:
  8947. abort("bad ioctl syscall " + op);
  8948. }
  8949. } catch (e) {
  8950. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  8951. abort(e);
  8952. return -e.errno;
  8953. }
  8954. }
  8955. function ___sys_open(path, flags, varargs) {
  8956. SYSCALLS.varargs = varargs;
  8957. try {
  8958. var pathname = SYSCALLS.getStr(path);
  8959. var mode = SYSCALLS.get();
  8960. var stream = FS.open(pathname, flags, mode);
  8961. return stream.fd;
  8962. } catch (e) {
  8963. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  8964. abort(e);
  8965. return -e.errno;
  8966. }
  8967. }
  8968. var tupleRegistrations = {};
  8969. function runDestructors(destructors) {
  8970. while (destructors.length) {
  8971. var ptr = destructors.pop();
  8972. var del = destructors.pop();
  8973. del(ptr);
  8974. }
  8975. }
  8976. function simpleReadValueFromPointer(pointer) {
  8977. return this["fromWireType"](HEAPU32[pointer >>> 2]);
  8978. }
  8979. var awaitingDependencies = {};
  8980. var registeredTypes = {};
  8981. var typeDependencies = {};
  8982. var char_0 = 48;
  8983. var char_9 = 57;
  8984. function makeLegalFunctionName(name2) {
  8985. if (name2 === void 0) {
  8986. return "_unknown";
  8987. }
  8988. name2 = name2.replace(/[^a-zA-Z0-9_]/g, "$");
  8989. var f = name2.charCodeAt(0);
  8990. if (f >= char_0 && f <= char_9) {
  8991. return "_" + name2;
  8992. } else {
  8993. return name2;
  8994. }
  8995. }
  8996. function createNamedFunction(name2, body) {
  8997. name2 = makeLegalFunctionName(name2);
  8998. return new Function("body", "return function " + name2 + '() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body);
  8999. }
  9000. function extendError(baseErrorType, errorName) {
  9001. var errorClass = createNamedFunction(errorName, function(message) {
  9002. this.name = errorName;
  9003. this.message = message;
  9004. var stack = new Error(message).stack;
  9005. if (stack !== void 0) {
  9006. this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, "");
  9007. }
  9008. });
  9009. errorClass.prototype = Object.create(baseErrorType.prototype);
  9010. errorClass.prototype.constructor = errorClass;
  9011. errorClass.prototype.toString = function() {
  9012. if (this.message === void 0) {
  9013. return this.name;
  9014. } else {
  9015. return this.name + ": " + this.message;
  9016. }
  9017. };
  9018. return errorClass;
  9019. }
  9020. var InternalError = void 0;
  9021. function throwInternalError(message) {
  9022. throw new InternalError(message);
  9023. }
  9024. function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
  9025. myTypes.forEach(function(type) {
  9026. typeDependencies[type] = dependentTypes;
  9027. });
  9028. function onComplete(typeConverters2) {
  9029. var myTypeConverters = getTypeConverters(typeConverters2);
  9030. if (myTypeConverters.length !== myTypes.length) {
  9031. throwInternalError("Mismatched type converter count");
  9032. }
  9033. for (var i = 0; i < myTypes.length; ++i) {
  9034. registerType(myTypes[i], myTypeConverters[i]);
  9035. }
  9036. }
  9037. var typeConverters = new Array(dependentTypes.length);
  9038. var unregisteredTypes = [];
  9039. var registered = 0;
  9040. dependentTypes.forEach(function(dt, i) {
  9041. if (registeredTypes.hasOwnProperty(dt)) {
  9042. typeConverters[i] = registeredTypes[dt];
  9043. } else {
  9044. unregisteredTypes.push(dt);
  9045. if (!awaitingDependencies.hasOwnProperty(dt)) {
  9046. awaitingDependencies[dt] = [];
  9047. }
  9048. awaitingDependencies[dt].push(function() {
  9049. typeConverters[i] = registeredTypes[dt];
  9050. ++registered;
  9051. if (registered === unregisteredTypes.length) {
  9052. onComplete(typeConverters);
  9053. }
  9054. });
  9055. }
  9056. });
  9057. if (unregisteredTypes.length === 0) {
  9058. onComplete(typeConverters);
  9059. }
  9060. }
  9061. function __embind_finalize_value_array(rawTupleType) {
  9062. var reg = tupleRegistrations[rawTupleType];
  9063. delete tupleRegistrations[rawTupleType];
  9064. var elements = reg.elements;
  9065. var elementsLength = elements.length;
  9066. var elementTypes = elements.map(function(elt) {
  9067. return elt.getterReturnType;
  9068. }).concat(elements.map(function(elt) {
  9069. return elt.setterArgumentType;
  9070. }));
  9071. var rawConstructor = reg.rawConstructor;
  9072. var rawDestructor = reg.rawDestructor;
  9073. whenDependentTypesAreResolved([rawTupleType], elementTypes, function(elementTypes2) {
  9074. elements.forEach(function(elt, i) {
  9075. var getterReturnType = elementTypes2[i];
  9076. var getter = elt.getter;
  9077. var getterContext = elt.getterContext;
  9078. var setterArgumentType = elementTypes2[i + elementsLength];
  9079. var setter = elt.setter;
  9080. var setterContext = elt.setterContext;
  9081. elt.read = function(ptr) {
  9082. return getterReturnType["fromWireType"](getter(getterContext, ptr));
  9083. };
  9084. elt.write = function(ptr, o) {
  9085. var destructors = [];
  9086. setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o));
  9087. runDestructors(destructors);
  9088. };
  9089. });
  9090. return [{ name: reg.name, "fromWireType": function(ptr) {
  9091. var rv = new Array(elementsLength);
  9092. for (var i = 0; i < elementsLength; ++i) {
  9093. rv[i] = elements[i].read(ptr);
  9094. }
  9095. rawDestructor(ptr);
  9096. return rv;
  9097. }, "toWireType": function(destructors, o) {
  9098. if (elementsLength !== o.length) {
  9099. throw new TypeError("Incorrect number of tuple elements for " + reg.name + ": expected=" + elementsLength + ", actual=" + o.length);
  9100. }
  9101. var ptr = rawConstructor();
  9102. for (var i = 0; i < elementsLength; ++i) {
  9103. elements[i].write(ptr, o[i]);
  9104. }
  9105. if (destructors !== null) {
  9106. destructors.push(rawDestructor, ptr);
  9107. }
  9108. return ptr;
  9109. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }];
  9110. });
  9111. }
  9112. var structRegistrations = {};
  9113. function __embind_finalize_value_object(structType) {
  9114. var reg = structRegistrations[structType];
  9115. delete structRegistrations[structType];
  9116. var rawConstructor = reg.rawConstructor;
  9117. var rawDestructor = reg.rawDestructor;
  9118. var fieldRecords = reg.fields;
  9119. var fieldTypes = fieldRecords.map(function(field) {
  9120. return field.getterReturnType;
  9121. }).concat(fieldRecords.map(function(field) {
  9122. return field.setterArgumentType;
  9123. }));
  9124. whenDependentTypesAreResolved([structType], fieldTypes, function(fieldTypes2) {
  9125. var fields = {};
  9126. fieldRecords.forEach(function(field, i) {
  9127. var fieldName = field.fieldName;
  9128. var getterReturnType = fieldTypes2[i];
  9129. var getter = field.getter;
  9130. var getterContext = field.getterContext;
  9131. var setterArgumentType = fieldTypes2[i + fieldRecords.length];
  9132. var setter = field.setter;
  9133. var setterContext = field.setterContext;
  9134. fields[fieldName] = { read: function(ptr) {
  9135. return getterReturnType["fromWireType"](getter(getterContext, ptr));
  9136. }, write: function(ptr, o) {
  9137. var destructors = [];
  9138. setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o));
  9139. runDestructors(destructors);
  9140. } };
  9141. });
  9142. return [{ name: reg.name, "fromWireType": function(ptr) {
  9143. var rv = {};
  9144. for (var i in fields) {
  9145. rv[i] = fields[i].read(ptr);
  9146. }
  9147. rawDestructor(ptr);
  9148. return rv;
  9149. }, "toWireType": function(destructors, o) {
  9150. for (var fieldName in fields) {
  9151. if (!(fieldName in o)) {
  9152. throw new TypeError('Missing field: "' + fieldName + '"');
  9153. }
  9154. }
  9155. var ptr = rawConstructor();
  9156. for (fieldName in fields) {
  9157. fields[fieldName].write(ptr, o[fieldName]);
  9158. }
  9159. if (destructors !== null) {
  9160. destructors.push(rawDestructor, ptr);
  9161. }
  9162. return ptr;
  9163. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }];
  9164. });
  9165. }
  9166. function getShiftFromSize(size) {
  9167. switch (size) {
  9168. case 1:
  9169. return 0;
  9170. case 2:
  9171. return 1;
  9172. case 4:
  9173. return 2;
  9174. case 8:
  9175. return 3;
  9176. default:
  9177. throw new TypeError("Unknown type size: " + size);
  9178. }
  9179. }
  9180. function embind_init_charCodes() {
  9181. var codes = new Array(256);
  9182. for (var i = 0; i < 256; ++i) {
  9183. codes[i] = String.fromCharCode(i);
  9184. }
  9185. embind_charCodes = codes;
  9186. }
  9187. var embind_charCodes = void 0;
  9188. function readLatin1String(ptr) {
  9189. var ret = "";
  9190. var c = ptr;
  9191. while (HEAPU8[c >>> 0]) {
  9192. ret += embind_charCodes[HEAPU8[c++ >>> 0]];
  9193. }
  9194. return ret;
  9195. }
  9196. var BindingError = void 0;
  9197. function throwBindingError(message) {
  9198. throw new BindingError(message);
  9199. }
  9200. function registerType(rawType, registeredInstance, options) {
  9201. options = options || {};
  9202. if (!("argPackAdvance" in registeredInstance)) {
  9203. throw new TypeError("registerType registeredInstance requires argPackAdvance");
  9204. }
  9205. var name2 = registeredInstance.name;
  9206. if (!rawType) {
  9207. throwBindingError('type "' + name2 + '" must have a positive integer typeid pointer');
  9208. }
  9209. if (registeredTypes.hasOwnProperty(rawType)) {
  9210. if (options.ignoreDuplicateRegistrations) {
  9211. return;
  9212. } else {
  9213. throwBindingError("Cannot register type '" + name2 + "' twice");
  9214. }
  9215. }
  9216. registeredTypes[rawType] = registeredInstance;
  9217. delete typeDependencies[rawType];
  9218. if (awaitingDependencies.hasOwnProperty(rawType)) {
  9219. var callbacks = awaitingDependencies[rawType];
  9220. delete awaitingDependencies[rawType];
  9221. callbacks.forEach(function(cb) {
  9222. cb();
  9223. });
  9224. }
  9225. }
  9226. function __embind_register_bool(rawType, name2, size, trueValue, falseValue) {
  9227. var shift = getShiftFromSize(size);
  9228. name2 = readLatin1String(name2);
  9229. registerType(rawType, { name: name2, "fromWireType": function(wt) {
  9230. return !!wt;
  9231. }, "toWireType": function(destructors, o) {
  9232. return o ? trueValue : falseValue;
  9233. }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) {
  9234. var heap;
  9235. if (size === 1) {
  9236. heap = HEAP8;
  9237. } else if (size === 2) {
  9238. heap = HEAP16;
  9239. } else if (size === 4) {
  9240. heap = HEAP32;
  9241. } else {
  9242. throw new TypeError("Unknown boolean type size: " + name2);
  9243. }
  9244. return this["fromWireType"](heap[pointer >>> shift]);
  9245. }, destructorFunction: null });
  9246. }
  9247. function ClassHandle_isAliasOf(other) {
  9248. if (!(this instanceof ClassHandle)) {
  9249. return false;
  9250. }
  9251. if (!(other instanceof ClassHandle)) {
  9252. return false;
  9253. }
  9254. var leftClass = this.$$.ptrType.registeredClass;
  9255. var left = this.$$.ptr;
  9256. var rightClass = other.$$.ptrType.registeredClass;
  9257. var right = other.$$.ptr;
  9258. while (leftClass.baseClass) {
  9259. left = leftClass.upcast(left);
  9260. leftClass = leftClass.baseClass;
  9261. }
  9262. while (rightClass.baseClass) {
  9263. right = rightClass.upcast(right);
  9264. rightClass = rightClass.baseClass;
  9265. }
  9266. return leftClass === rightClass && left === right;
  9267. }
  9268. function shallowCopyInternalPointer(o) {
  9269. return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType };
  9270. }
  9271. function throwInstanceAlreadyDeleted(obj) {
  9272. function getInstanceTypeName(handle) {
  9273. return handle.$$.ptrType.registeredClass.name;
  9274. }
  9275. throwBindingError(getInstanceTypeName(obj) + " instance already deleted");
  9276. }
  9277. var finalizationGroup = false;
  9278. function detachFinalizer(handle) {
  9279. }
  9280. function runDestructor($$) {
  9281. if ($$.smartPtr) {
  9282. $$.smartPtrType.rawDestructor($$.smartPtr);
  9283. } else {
  9284. $$.ptrType.registeredClass.rawDestructor($$.ptr);
  9285. }
  9286. }
  9287. function releaseClassHandle($$) {
  9288. $$.count.value -= 1;
  9289. var toDelete = $$.count.value === 0;
  9290. if (toDelete) {
  9291. runDestructor($$);
  9292. }
  9293. }
  9294. function attachFinalizer(handle) {
  9295. if (typeof FinalizationGroup === "undefined") {
  9296. attachFinalizer = function(handle2) {
  9297. return handle2;
  9298. };
  9299. return handle;
  9300. }
  9301. finalizationGroup = new FinalizationGroup(function(iter) {
  9302. for (var result = iter.next(); !result.done; result = iter.next()) {
  9303. var $$ = result.value;
  9304. if (!$$.ptr) {
  9305. console.warn("object already deleted: " + $$.ptr);
  9306. } else {
  9307. releaseClassHandle($$);
  9308. }
  9309. }
  9310. });
  9311. attachFinalizer = function(handle2) {
  9312. finalizationGroup.register(handle2, handle2.$$, handle2.$$);
  9313. return handle2;
  9314. };
  9315. detachFinalizer = function(handle2) {
  9316. finalizationGroup.unregister(handle2.$$);
  9317. };
  9318. return attachFinalizer(handle);
  9319. }
  9320. function ClassHandle_clone() {
  9321. if (!this.$$.ptr) {
  9322. throwInstanceAlreadyDeleted(this);
  9323. }
  9324. if (this.$$.preservePointerOnDelete) {
  9325. this.$$.count.value += 1;
  9326. return this;
  9327. } else {
  9328. var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
  9329. clone.$$.count.value += 1;
  9330. clone.$$.deleteScheduled = false;
  9331. return clone;
  9332. }
  9333. }
  9334. function ClassHandle_delete() {
  9335. if (!this.$$.ptr) {
  9336. throwInstanceAlreadyDeleted(this);
  9337. }
  9338. if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
  9339. throwBindingError("Object already scheduled for deletion");
  9340. }
  9341. detachFinalizer(this);
  9342. releaseClassHandle(this.$$);
  9343. if (!this.$$.preservePointerOnDelete) {
  9344. this.$$.smartPtr = void 0;
  9345. this.$$.ptr = void 0;
  9346. }
  9347. }
  9348. function ClassHandle_isDeleted() {
  9349. return !this.$$.ptr;
  9350. }
  9351. var delayFunction = void 0;
  9352. var deletionQueue = [];
  9353. function flushPendingDeletes() {
  9354. while (deletionQueue.length) {
  9355. var obj = deletionQueue.pop();
  9356. obj.$$.deleteScheduled = false;
  9357. obj["delete"]();
  9358. }
  9359. }
  9360. function ClassHandle_deleteLater() {
  9361. if (!this.$$.ptr) {
  9362. throwInstanceAlreadyDeleted(this);
  9363. }
  9364. if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
  9365. throwBindingError("Object already scheduled for deletion");
  9366. }
  9367. deletionQueue.push(this);
  9368. if (deletionQueue.length === 1 && delayFunction) {
  9369. delayFunction(flushPendingDeletes);
  9370. }
  9371. this.$$.deleteScheduled = true;
  9372. return this;
  9373. }
  9374. function init_ClassHandle() {
  9375. ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
  9376. ClassHandle.prototype["clone"] = ClassHandle_clone;
  9377. ClassHandle.prototype["delete"] = ClassHandle_delete;
  9378. ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
  9379. ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
  9380. }
  9381. function ClassHandle() {
  9382. }
  9383. var registeredPointers = {};
  9384. function ensureOverloadTable(proto, methodName, humanName) {
  9385. if (proto[methodName].overloadTable === void 0) {
  9386. var prevFunc = proto[methodName];
  9387. proto[methodName] = function() {
  9388. if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
  9389. throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!");
  9390. }
  9391. return proto[methodName].overloadTable[arguments.length].apply(this, arguments);
  9392. };
  9393. proto[methodName].overloadTable = [];
  9394. proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
  9395. }
  9396. }
  9397. function exposePublicSymbol(name2, value, numArguments) {
  9398. if (Module.hasOwnProperty(name2)) {
  9399. if (numArguments === void 0 || Module[name2].overloadTable !== void 0 && Module[name2].overloadTable[numArguments] !== void 0) {
  9400. throwBindingError("Cannot register public name '" + name2 + "' twice");
  9401. }
  9402. ensureOverloadTable(Module, name2, name2);
  9403. if (Module.hasOwnProperty(numArguments)) {
  9404. throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!");
  9405. }
  9406. Module[name2].overloadTable[numArguments] = value;
  9407. } else {
  9408. Module[name2] = value;
  9409. if (numArguments !== void 0) {
  9410. Module[name2].numArguments = numArguments;
  9411. }
  9412. }
  9413. }
  9414. function RegisteredClass(name2, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) {
  9415. this.name = name2;
  9416. this.constructor = constructor;
  9417. this.instancePrototype = instancePrototype;
  9418. this.rawDestructor = rawDestructor;
  9419. this.baseClass = baseClass;
  9420. this.getActualType = getActualType;
  9421. this.upcast = upcast;
  9422. this.downcast = downcast;
  9423. this.pureVirtualFunctions = [];
  9424. }
  9425. function upcastPointer(ptr, ptrClass, desiredClass) {
  9426. while (ptrClass !== desiredClass) {
  9427. if (!ptrClass.upcast) {
  9428. throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name);
  9429. }
  9430. ptr = ptrClass.upcast(ptr);
  9431. ptrClass = ptrClass.baseClass;
  9432. }
  9433. return ptr;
  9434. }
  9435. function constNoSmartPtrRawPointerToWireType(destructors, handle) {
  9436. if (handle === null) {
  9437. if (this.isReference) {
  9438. throwBindingError("null is not a valid " + this.name);
  9439. }
  9440. return 0;
  9441. }
  9442. if (!handle.$$) {
  9443. throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
  9444. }
  9445. if (!handle.$$.ptr) {
  9446. throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
  9447. }
  9448. var handleClass = handle.$$.ptrType.registeredClass;
  9449. var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
  9450. return ptr;
  9451. }
  9452. function genericPointerToWireType(destructors, handle) {
  9453. var ptr;
  9454. if (handle === null) {
  9455. if (this.isReference) {
  9456. throwBindingError("null is not a valid " + this.name);
  9457. }
  9458. if (this.isSmartPointer) {
  9459. ptr = this.rawConstructor();
  9460. if (destructors !== null) {
  9461. destructors.push(this.rawDestructor, ptr);
  9462. }
  9463. return ptr;
  9464. } else {
  9465. return 0;
  9466. }
  9467. }
  9468. if (!handle.$$) {
  9469. throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
  9470. }
  9471. if (!handle.$$.ptr) {
  9472. throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
  9473. }
  9474. if (!this.isConst && handle.$$.ptrType.isConst) {
  9475. throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
  9476. }
  9477. var handleClass = handle.$$.ptrType.registeredClass;
  9478. ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
  9479. if (this.isSmartPointer) {
  9480. if (handle.$$.smartPtr === void 0) {
  9481. throwBindingError("Passing raw pointer to smart pointer is illegal");
  9482. }
  9483. switch (this.sharingPolicy) {
  9484. case 0:
  9485. if (handle.$$.smartPtrType === this) {
  9486. ptr = handle.$$.smartPtr;
  9487. } else {
  9488. throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
  9489. }
  9490. break;
  9491. case 1:
  9492. ptr = handle.$$.smartPtr;
  9493. break;
  9494. case 2:
  9495. if (handle.$$.smartPtrType === this) {
  9496. ptr = handle.$$.smartPtr;
  9497. } else {
  9498. var clonedHandle = handle["clone"]();
  9499. ptr = this.rawShare(ptr, __emval_register(function() {
  9500. clonedHandle["delete"]();
  9501. }));
  9502. if (destructors !== null) {
  9503. destructors.push(this.rawDestructor, ptr);
  9504. }
  9505. }
  9506. break;
  9507. default:
  9508. throwBindingError("Unsupporting sharing policy");
  9509. }
  9510. }
  9511. return ptr;
  9512. }
  9513. function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
  9514. if (handle === null) {
  9515. if (this.isReference) {
  9516. throwBindingError("null is not a valid " + this.name);
  9517. }
  9518. return 0;
  9519. }
  9520. if (!handle.$$) {
  9521. throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
  9522. }
  9523. if (!handle.$$.ptr) {
  9524. throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
  9525. }
  9526. if (handle.$$.ptrType.isConst) {
  9527. throwBindingError("Cannot convert argument of type " + handle.$$.ptrType.name + " to parameter type " + this.name);
  9528. }
  9529. var handleClass = handle.$$.ptrType.registeredClass;
  9530. var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
  9531. return ptr;
  9532. }
  9533. function RegisteredPointer_getPointee(ptr) {
  9534. if (this.rawGetPointee) {
  9535. ptr = this.rawGetPointee(ptr);
  9536. }
  9537. return ptr;
  9538. }
  9539. function RegisteredPointer_destructor(ptr) {
  9540. if (this.rawDestructor) {
  9541. this.rawDestructor(ptr);
  9542. }
  9543. }
  9544. function RegisteredPointer_deleteObject(handle) {
  9545. if (handle !== null) {
  9546. handle["delete"]();
  9547. }
  9548. }
  9549. function downcastPointer(ptr, ptrClass, desiredClass) {
  9550. if (ptrClass === desiredClass) {
  9551. return ptr;
  9552. }
  9553. if (desiredClass.baseClass === void 0) {
  9554. return null;
  9555. }
  9556. var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
  9557. if (rv === null) {
  9558. return null;
  9559. }
  9560. return desiredClass.downcast(rv);
  9561. }
  9562. function getInheritedInstanceCount() {
  9563. return Object.keys(registeredInstances).length;
  9564. }
  9565. function getLiveInheritedInstances() {
  9566. var rv = [];
  9567. for (var k in registeredInstances) {
  9568. if (registeredInstances.hasOwnProperty(k)) {
  9569. rv.push(registeredInstances[k]);
  9570. }
  9571. }
  9572. return rv;
  9573. }
  9574. function setDelayFunction(fn) {
  9575. delayFunction = fn;
  9576. if (deletionQueue.length && delayFunction) {
  9577. delayFunction(flushPendingDeletes);
  9578. }
  9579. }
  9580. function init_embind() {
  9581. Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
  9582. Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
  9583. Module["flushPendingDeletes"] = flushPendingDeletes;
  9584. Module["setDelayFunction"] = setDelayFunction;
  9585. }
  9586. var registeredInstances = {};
  9587. function getBasestPointer(class_, ptr) {
  9588. if (ptr === void 0) {
  9589. throwBindingError("ptr should not be undefined");
  9590. }
  9591. while (class_.baseClass) {
  9592. ptr = class_.upcast(ptr);
  9593. class_ = class_.baseClass;
  9594. }
  9595. return ptr;
  9596. }
  9597. function getInheritedInstance(class_, ptr) {
  9598. ptr = getBasestPointer(class_, ptr);
  9599. return registeredInstances[ptr];
  9600. }
  9601. function makeClassHandle(prototype, record) {
  9602. if (!record.ptrType || !record.ptr) {
  9603. throwInternalError("makeClassHandle requires ptr and ptrType");
  9604. }
  9605. var hasSmartPtrType = !!record.smartPtrType;
  9606. var hasSmartPtr = !!record.smartPtr;
  9607. if (hasSmartPtrType !== hasSmartPtr) {
  9608. throwInternalError("Both smartPtrType and smartPtr must be specified");
  9609. }
  9610. record.count = { value: 1 };
  9611. return attachFinalizer(Object.create(prototype, { $$: { value: record } }));
  9612. }
  9613. function RegisteredPointer_fromWireType(ptr) {
  9614. var rawPointer = this.getPointee(ptr);
  9615. if (!rawPointer) {
  9616. this.destructor(ptr);
  9617. return null;
  9618. }
  9619. var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
  9620. if (registeredInstance !== void 0) {
  9621. if (registeredInstance.$$.count.value === 0) {
  9622. registeredInstance.$$.ptr = rawPointer;
  9623. registeredInstance.$$.smartPtr = ptr;
  9624. return registeredInstance["clone"]();
  9625. } else {
  9626. var rv = registeredInstance["clone"]();
  9627. this.destructor(ptr);
  9628. return rv;
  9629. }
  9630. }
  9631. function makeDefaultHandle() {
  9632. if (this.isSmartPointer) {
  9633. return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
  9634. } else {
  9635. return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
  9636. }
  9637. }
  9638. var actualType = this.registeredClass.getActualType(rawPointer);
  9639. var registeredPointerRecord = registeredPointers[actualType];
  9640. if (!registeredPointerRecord) {
  9641. return makeDefaultHandle.call(this);
  9642. }
  9643. var toType;
  9644. if (this.isConst) {
  9645. toType = registeredPointerRecord.constPointerType;
  9646. } else {
  9647. toType = registeredPointerRecord.pointerType;
  9648. }
  9649. var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
  9650. if (dp === null) {
  9651. return makeDefaultHandle.call(this);
  9652. }
  9653. if (this.isSmartPointer) {
  9654. return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
  9655. } else {
  9656. return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
  9657. }
  9658. }
  9659. function init_RegisteredPointer() {
  9660. RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee;
  9661. RegisteredPointer.prototype.destructor = RegisteredPointer_destructor;
  9662. RegisteredPointer.prototype["argPackAdvance"] = 8;
  9663. RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer;
  9664. RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject;
  9665. RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType;
  9666. }
  9667. function RegisteredPointer(name2, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) {
  9668. this.name = name2;
  9669. this.registeredClass = registeredClass;
  9670. this.isReference = isReference;
  9671. this.isConst = isConst;
  9672. this.isSmartPointer = isSmartPointer;
  9673. this.pointeeType = pointeeType;
  9674. this.sharingPolicy = sharingPolicy;
  9675. this.rawGetPointee = rawGetPointee;
  9676. this.rawConstructor = rawConstructor;
  9677. this.rawShare = rawShare;
  9678. this.rawDestructor = rawDestructor;
  9679. if (!isSmartPointer && registeredClass.baseClass === void 0) {
  9680. if (isConst) {
  9681. this["toWireType"] = constNoSmartPtrRawPointerToWireType;
  9682. this.destructorFunction = null;
  9683. } else {
  9684. this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
  9685. this.destructorFunction = null;
  9686. }
  9687. } else {
  9688. this["toWireType"] = genericPointerToWireType;
  9689. }
  9690. }
  9691. function replacePublicSymbol(name2, value, numArguments) {
  9692. if (!Module.hasOwnProperty(name2)) {
  9693. throwInternalError("Replacing nonexistant public symbol");
  9694. }
  9695. if (Module[name2].overloadTable !== void 0 && numArguments !== void 0) {
  9696. Module[name2].overloadTable[numArguments] = value;
  9697. } else {
  9698. Module[name2] = value;
  9699. Module[name2].argCount = numArguments;
  9700. }
  9701. }
  9702. function getDynCaller(sig, ptr) {
  9703. assert(sig.indexOf("j") >= 0, "getDynCaller should only be called with i64 sigs");
  9704. var argCache = [];
  9705. return function() {
  9706. argCache.length = arguments.length;
  9707. for (var i = 0; i < arguments.length; i++) {
  9708. argCache[i] = arguments[i];
  9709. }
  9710. return dynCall(sig, ptr, argCache);
  9711. };
  9712. }
  9713. function embind__requireFunction(signature, rawFunction) {
  9714. signature = readLatin1String(signature);
  9715. function makeDynCaller() {
  9716. if (signature.indexOf("j") != -1) {
  9717. return getDynCaller(signature, rawFunction);
  9718. }
  9719. return wasmTable.get(rawFunction);
  9720. }
  9721. var fp = makeDynCaller();
  9722. if (typeof fp !== "function") {
  9723. throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction);
  9724. }
  9725. return fp;
  9726. }
  9727. var UnboundTypeError = void 0;
  9728. function getTypeName(type) {
  9729. var ptr = ___getTypeName(type);
  9730. var rv = readLatin1String(ptr);
  9731. _free(ptr);
  9732. return rv;
  9733. }
  9734. function throwUnboundTypeError(message, types) {
  9735. var unboundTypes = [];
  9736. var seen = {};
  9737. function visit(type) {
  9738. if (seen[type]) {
  9739. return;
  9740. }
  9741. if (registeredTypes[type]) {
  9742. return;
  9743. }
  9744. if (typeDependencies[type]) {
  9745. typeDependencies[type].forEach(visit);
  9746. return;
  9747. }
  9748. unboundTypes.push(type);
  9749. seen[type] = true;
  9750. }
  9751. types.forEach(visit);
  9752. throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "]));
  9753. }
  9754. function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name2, destructorSignature, rawDestructor) {
  9755. name2 = readLatin1String(name2);
  9756. getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
  9757. if (upcast) {
  9758. upcast = embind__requireFunction(upcastSignature, upcast);
  9759. }
  9760. if (downcast) {
  9761. downcast = embind__requireFunction(downcastSignature, downcast);
  9762. }
  9763. rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
  9764. var legalFunctionName = makeLegalFunctionName(name2);
  9765. exposePublicSymbol(legalFunctionName, function() {
  9766. throwUnboundTypeError("Cannot construct " + name2 + " due to unbound types", [baseClassRawType]);
  9767. });
  9768. whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) {
  9769. base = base[0];
  9770. var baseClass;
  9771. var basePrototype;
  9772. if (baseClassRawType) {
  9773. baseClass = base.registeredClass;
  9774. basePrototype = baseClass.instancePrototype;
  9775. } else {
  9776. basePrototype = ClassHandle.prototype;
  9777. }
  9778. var constructor = createNamedFunction(legalFunctionName, function() {
  9779. if (Object.getPrototypeOf(this) !== instancePrototype) {
  9780. throw new BindingError("Use 'new' to construct " + name2);
  9781. }
  9782. if (registeredClass.constructor_body === void 0) {
  9783. throw new BindingError(name2 + " has no accessible constructor");
  9784. }
  9785. var body = registeredClass.constructor_body[arguments.length];
  9786. if (body === void 0) {
  9787. throw new BindingError("Tried to invoke ctor of " + name2 + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!");
  9788. }
  9789. return body.apply(this, arguments);
  9790. });
  9791. var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
  9792. constructor.prototype = instancePrototype;
  9793. var registeredClass = new RegisteredClass(name2, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
  9794. var referenceConverter = new RegisteredPointer(name2, registeredClass, true, false, false);
  9795. var pointerConverter = new RegisteredPointer(name2 + "*", registeredClass, false, false, false);
  9796. var constPointerConverter = new RegisteredPointer(name2 + " const*", registeredClass, false, true, false);
  9797. registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
  9798. replacePublicSymbol(legalFunctionName, constructor);
  9799. return [referenceConverter, pointerConverter, constPointerConverter];
  9800. });
  9801. }
  9802. function heap32VectorToArray(count, firstElement) {
  9803. var array = [];
  9804. for (var i = 0; i < count; i++) {
  9805. array.push(HEAP32[(firstElement >> 2) + i >>> 0]);
  9806. }
  9807. return array;
  9808. }
  9809. function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) {
  9810. assert(argCount > 0);
  9811. var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  9812. invoker = embind__requireFunction(invokerSignature, invoker);
  9813. var args = [rawConstructor];
  9814. var destructors = [];
  9815. whenDependentTypesAreResolved([], [rawClassType], function(classType) {
  9816. classType = classType[0];
  9817. var humanName = "constructor " + classType.name;
  9818. if (classType.registeredClass.constructor_body === void 0) {
  9819. classType.registeredClass.constructor_body = [];
  9820. }
  9821. if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) {
  9822. throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
  9823. }
  9824. classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() {
  9825. throwUnboundTypeError("Cannot construct " + classType.name + " due to unbound types", rawArgTypes);
  9826. };
  9827. whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
  9828. classType.registeredClass.constructor_body[argCount - 1] = function constructor_body() {
  9829. if (arguments.length !== argCount - 1) {
  9830. throwBindingError(humanName + " called with " + arguments.length + " arguments, expected " + (argCount - 1));
  9831. }
  9832. destructors.length = 0;
  9833. args.length = argCount;
  9834. for (var i = 1; i < argCount; ++i) {
  9835. args[i] = argTypes[i]["toWireType"](destructors, arguments[i - 1]);
  9836. }
  9837. var ptr = invoker.apply(null, args);
  9838. runDestructors(destructors);
  9839. return argTypes[0]["fromWireType"](ptr);
  9840. };
  9841. return [];
  9842. });
  9843. return [];
  9844. });
  9845. }
  9846. function new_(constructor, argumentList) {
  9847. if (!(constructor instanceof Function)) {
  9848. throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function");
  9849. }
  9850. var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() {
  9851. });
  9852. dummy.prototype = constructor.prototype;
  9853. var obj = new dummy();
  9854. var r = constructor.apply(obj, argumentList);
  9855. return r instanceof Object ? r : obj;
  9856. }
  9857. function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) {
  9858. var argCount = argTypes.length;
  9859. if (argCount < 2) {
  9860. throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
  9861. }
  9862. var isClassMethodFunc = argTypes[1] !== null && classType !== null;
  9863. var needsDestructorStack = false;
  9864. for (var i = 1; i < argTypes.length; ++i) {
  9865. if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) {
  9866. needsDestructorStack = true;
  9867. break;
  9868. }
  9869. }
  9870. var returns = argTypes[0].name !== "void";
  9871. var argsList = "";
  9872. var argsListWired = "";
  9873. for (var i = 0; i < argCount - 2; ++i) {
  9874. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  9875. argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
  9876. }
  9877. var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\nif (arguments.length !== " + (argCount - 2) + ") {\nthrowBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n}\n";
  9878. if (needsDestructorStack) {
  9879. invokerFnBody += "var destructors = [];\n";
  9880. }
  9881. var dtorStack = needsDestructorStack ? "destructors" : "null";
  9882. var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
  9883. var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
  9884. if (isClassMethodFunc) {
  9885. invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n";
  9886. }
  9887. for (var i = 0; i < argCount - 2; ++i) {
  9888. invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n";
  9889. args1.push("argType" + i);
  9890. args2.push(argTypes[i + 2]);
  9891. }
  9892. if (isClassMethodFunc) {
  9893. argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
  9894. }
  9895. invokerFnBody += (returns ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n";
  9896. if (needsDestructorStack) {
  9897. invokerFnBody += "runDestructors(destructors);\n";
  9898. } else {
  9899. for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {
  9900. var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
  9901. if (argTypes[i].destructorFunction !== null) {
  9902. invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n";
  9903. args1.push(paramName + "_dtor");
  9904. args2.push(argTypes[i].destructorFunction);
  9905. }
  9906. }
  9907. }
  9908. if (returns) {
  9909. invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n";
  9910. } else {
  9911. }
  9912. invokerFnBody += "}\n";
  9913. args1.push(invokerFnBody);
  9914. var invokerFunction = new_(Function, args1).apply(null, args2);
  9915. return invokerFunction;
  9916. }
  9917. function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) {
  9918. var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  9919. methodName = readLatin1String(methodName);
  9920. rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
  9921. whenDependentTypesAreResolved([], [rawClassType], function(classType) {
  9922. classType = classType[0];
  9923. var humanName = classType.name + "." + methodName;
  9924. if (isPureVirtual) {
  9925. classType.registeredClass.pureVirtualFunctions.push(methodName);
  9926. }
  9927. function unboundTypesHandler() {
  9928. throwUnboundTypeError("Cannot call " + humanName + " due to unbound types", rawArgTypes);
  9929. }
  9930. var proto = classType.registeredClass.instancePrototype;
  9931. var method = proto[methodName];
  9932. if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) {
  9933. unboundTypesHandler.argCount = argCount - 2;
  9934. unboundTypesHandler.className = classType.name;
  9935. proto[methodName] = unboundTypesHandler;
  9936. } else {
  9937. ensureOverloadTable(proto, methodName, humanName);
  9938. proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
  9939. }
  9940. whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
  9941. var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context);
  9942. if (proto[methodName].overloadTable === void 0) {
  9943. memberFunction.argCount = argCount - 2;
  9944. proto[methodName] = memberFunction;
  9945. } else {
  9946. proto[methodName].overloadTable[argCount - 2] = memberFunction;
  9947. }
  9948. return [];
  9949. });
  9950. return [];
  9951. });
  9952. }
  9953. var emval_free_list = [];
  9954. var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }];
  9955. function __emval_decref(handle) {
  9956. if (handle > 4 && --emval_handle_array[handle].refcount === 0) {
  9957. emval_handle_array[handle] = void 0;
  9958. emval_free_list.push(handle);
  9959. }
  9960. }
  9961. function count_emval_handles() {
  9962. var count = 0;
  9963. for (var i = 5; i < emval_handle_array.length; ++i) {
  9964. if (emval_handle_array[i] !== void 0) {
  9965. ++count;
  9966. }
  9967. }
  9968. return count;
  9969. }
  9970. function get_first_emval() {
  9971. for (var i = 5; i < emval_handle_array.length; ++i) {
  9972. if (emval_handle_array[i] !== void 0) {
  9973. return emval_handle_array[i];
  9974. }
  9975. }
  9976. return null;
  9977. }
  9978. function init_emval() {
  9979. Module["count_emval_handles"] = count_emval_handles;
  9980. Module["get_first_emval"] = get_first_emval;
  9981. }
  9982. function __emval_register(value) {
  9983. switch (value) {
  9984. case void 0: {
  9985. return 1;
  9986. }
  9987. case null: {
  9988. return 2;
  9989. }
  9990. case true: {
  9991. return 3;
  9992. }
  9993. case false: {
  9994. return 4;
  9995. }
  9996. default: {
  9997. var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
  9998. emval_handle_array[handle] = { refcount: 1, value };
  9999. return handle;
  10000. }
  10001. }
  10002. }
  10003. function __embind_register_emval(rawType, name2) {
  10004. name2 = readLatin1String(name2);
  10005. registerType(rawType, { name: name2, "fromWireType": function(handle) {
  10006. var rv = emval_handle_array[handle].value;
  10007. __emval_decref(handle);
  10008. return rv;
  10009. }, "toWireType": function(destructors, value) {
  10010. return __emval_register(value);
  10011. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null });
  10012. }
  10013. function enumReadValueFromPointer(name2, shift, signed) {
  10014. switch (shift) {
  10015. case 0:
  10016. return function(pointer) {
  10017. var heap = signed ? HEAP8 : HEAPU8;
  10018. return this["fromWireType"](heap[pointer >>> 0]);
  10019. };
  10020. case 1:
  10021. return function(pointer) {
  10022. var heap = signed ? HEAP16 : HEAPU16;
  10023. return this["fromWireType"](heap[pointer >>> 1]);
  10024. };
  10025. case 2:
  10026. return function(pointer) {
  10027. var heap = signed ? HEAP32 : HEAPU32;
  10028. return this["fromWireType"](heap[pointer >>> 2]);
  10029. };
  10030. default:
  10031. throw new TypeError("Unknown integer type: " + name2);
  10032. }
  10033. }
  10034. function __embind_register_enum(rawType, name2, size, isSigned) {
  10035. var shift = getShiftFromSize(size);
  10036. name2 = readLatin1String(name2);
  10037. function ctor() {
  10038. }
  10039. ctor.values = {};
  10040. registerType(rawType, { name: name2, constructor: ctor, "fromWireType": function(c) {
  10041. return this.constructor.values[c];
  10042. }, "toWireType": function(destructors, c) {
  10043. return c.value;
  10044. }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name2, shift, isSigned), destructorFunction: null });
  10045. exposePublicSymbol(name2, ctor);
  10046. }
  10047. function requireRegisteredType(rawType, humanName) {
  10048. var impl = registeredTypes[rawType];
  10049. if (impl === void 0) {
  10050. throwBindingError(humanName + " has unknown type " + getTypeName(rawType));
  10051. }
  10052. return impl;
  10053. }
  10054. function __embind_register_enum_value(rawEnumType, name2, enumValue) {
  10055. var enumType = requireRegisteredType(rawEnumType, "enum");
  10056. name2 = readLatin1String(name2);
  10057. var Enum = enumType.constructor;
  10058. var Value2 = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(enumType.name + "_" + name2, function() {
  10059. }) } });
  10060. Enum.values[enumValue] = Value2;
  10061. Enum[name2] = Value2;
  10062. }
  10063. function _embind_repr(v) {
  10064. if (v === null) {
  10065. return "null";
  10066. }
  10067. var t = typeof v;
  10068. if (t === "object" || t === "array" || t === "function") {
  10069. return v.toString();
  10070. } else {
  10071. return "" + v;
  10072. }
  10073. }
  10074. function floatReadValueFromPointer(name2, shift) {
  10075. switch (shift) {
  10076. case 2:
  10077. return function(pointer) {
  10078. return this["fromWireType"](HEAPF32[pointer >>> 2]);
  10079. };
  10080. case 3:
  10081. return function(pointer) {
  10082. return this["fromWireType"](HEAPF64[pointer >>> 3]);
  10083. };
  10084. default:
  10085. throw new TypeError("Unknown float type: " + name2);
  10086. }
  10087. }
  10088. function __embind_register_float(rawType, name2, size) {
  10089. var shift = getShiftFromSize(size);
  10090. name2 = readLatin1String(name2);
  10091. registerType(rawType, { name: name2, "fromWireType": function(value) {
  10092. return value;
  10093. }, "toWireType": function(destructors, value) {
  10094. if (typeof value !== "number" && typeof value !== "boolean") {
  10095. throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
  10096. }
  10097. return value;
  10098. }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name2, shift), destructorFunction: null });
  10099. }
  10100. function __embind_register_function(name2, argCount, rawArgTypesAddr, signature, rawInvoker, fn) {
  10101. var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  10102. name2 = readLatin1String(name2);
  10103. rawInvoker = embind__requireFunction(signature, rawInvoker);
  10104. exposePublicSymbol(name2, function() {
  10105. throwUnboundTypeError("Cannot call " + name2 + " due to unbound types", argTypes);
  10106. }, argCount - 1);
  10107. whenDependentTypesAreResolved([], argTypes, function(argTypes2) {
  10108. var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1));
  10109. replacePublicSymbol(name2, craftInvokerFunction(name2, invokerArgsArray, null, rawInvoker, fn), argCount - 1);
  10110. return [];
  10111. });
  10112. }
  10113. function integerReadValueFromPointer(name2, shift, signed) {
  10114. switch (shift) {
  10115. case 0:
  10116. return signed ? function readS8FromPointer(pointer) {
  10117. return HEAP8[pointer >>> 0];
  10118. } : function readU8FromPointer(pointer) {
  10119. return HEAPU8[pointer >>> 0];
  10120. };
  10121. case 1:
  10122. return signed ? function readS16FromPointer(pointer) {
  10123. return HEAP16[pointer >>> 1];
  10124. } : function readU16FromPointer(pointer) {
  10125. return HEAPU16[pointer >>> 1];
  10126. };
  10127. case 2:
  10128. return signed ? function readS32FromPointer(pointer) {
  10129. return HEAP32[pointer >>> 2];
  10130. } : function readU32FromPointer(pointer) {
  10131. return HEAPU32[pointer >>> 2];
  10132. };
  10133. default:
  10134. throw new TypeError("Unknown integer type: " + name2);
  10135. }
  10136. }
  10137. function __embind_register_integer(primitiveType, name2, size, minRange, maxRange) {
  10138. name2 = readLatin1String(name2);
  10139. if (maxRange === -1) {
  10140. maxRange = 4294967295;
  10141. }
  10142. var shift = getShiftFromSize(size);
  10143. var fromWireType = function(value) {
  10144. return value;
  10145. };
  10146. if (minRange === 0) {
  10147. var bitshift = 32 - 8 * size;
  10148. fromWireType = function(value) {
  10149. return value << bitshift >>> bitshift;
  10150. };
  10151. }
  10152. var isUnsignedType = name2.indexOf("unsigned") != -1;
  10153. registerType(primitiveType, { name: name2, "fromWireType": fromWireType, "toWireType": function(destructors, value) {
  10154. if (typeof value !== "number" && typeof value !== "boolean") {
  10155. throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
  10156. }
  10157. if (value < minRange || value > maxRange) {
  10158. throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name2 + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
  10159. }
  10160. return isUnsignedType ? value >>> 0 : value | 0;
  10161. }, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name2, shift, minRange !== 0), destructorFunction: null });
  10162. }
  10163. function __embind_register_memory_view(rawType, dataTypeIndex, name2) {
  10164. var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array];
  10165. var TA = typeMapping[dataTypeIndex];
  10166. function decodeMemoryView(handle) {
  10167. handle = handle >> 2;
  10168. var heap = HEAPU32;
  10169. var size = heap[handle >>> 0];
  10170. var data = heap[handle + 1 >>> 0];
  10171. return new TA(buffer, data, size);
  10172. }
  10173. name2 = readLatin1String(name2);
  10174. registerType(rawType, { name: name2, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true });
  10175. }
  10176. function __embind_register_std_string(rawType, name2) {
  10177. name2 = readLatin1String(name2);
  10178. var stdStringIsUTF8 = name2 === "std::string";
  10179. registerType(rawType, { name: name2, "fromWireType": function(value) {
  10180. var length = HEAPU32[value >>> 2];
  10181. var str;
  10182. if (stdStringIsUTF8) {
  10183. var decodeStartPtr = value + 4;
  10184. for (var i = 0; i <= length; ++i) {
  10185. var currentBytePtr = value + 4 + i;
  10186. if (i == length || HEAPU8[currentBytePtr >>> 0] == 0) {
  10187. var maxRead = currentBytePtr - decodeStartPtr;
  10188. var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
  10189. if (str === void 0) {
  10190. str = stringSegment;
  10191. } else {
  10192. str += String.fromCharCode(0);
  10193. str += stringSegment;
  10194. }
  10195. decodeStartPtr = currentBytePtr + 1;
  10196. }
  10197. }
  10198. } else {
  10199. var a = new Array(length);
  10200. for (var i = 0; i < length; ++i) {
  10201. a[i] = String.fromCharCode(HEAPU8[value + 4 + i >>> 0]);
  10202. }
  10203. str = a.join("");
  10204. }
  10205. _free(value);
  10206. return str;
  10207. }, "toWireType": function(destructors, value) {
  10208. if (value instanceof ArrayBuffer) {
  10209. value = new Uint8Array(value);
  10210. }
  10211. var getLength;
  10212. var valueIsOfTypeString = typeof value === "string";
  10213. if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
  10214. throwBindingError("Cannot pass non-string to std::string");
  10215. }
  10216. if (stdStringIsUTF8 && valueIsOfTypeString) {
  10217. getLength = function() {
  10218. return lengthBytesUTF8(value);
  10219. };
  10220. } else {
  10221. getLength = function() {
  10222. return value.length;
  10223. };
  10224. }
  10225. var length = getLength();
  10226. var ptr = _malloc(4 + length + 1);
  10227. ptr >>>= 0;
  10228. HEAPU32[ptr >>> 2] = length;
  10229. if (stdStringIsUTF8 && valueIsOfTypeString) {
  10230. stringToUTF8(value, ptr + 4, length + 1);
  10231. } else {
  10232. if (valueIsOfTypeString) {
  10233. for (var i = 0; i < length; ++i) {
  10234. var charCode = value.charCodeAt(i);
  10235. if (charCode > 255) {
  10236. _free(ptr);
  10237. throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
  10238. }
  10239. HEAPU8[ptr + 4 + i >>> 0] = charCode;
  10240. }
  10241. } else {
  10242. for (var i = 0; i < length; ++i) {
  10243. HEAPU8[ptr + 4 + i >>> 0] = value[i];
  10244. }
  10245. }
  10246. }
  10247. if (destructors !== null) {
  10248. destructors.push(_free, ptr);
  10249. }
  10250. return ptr;
  10251. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) {
  10252. _free(ptr);
  10253. } });
  10254. }
  10255. function __embind_register_std_wstring(rawType, charSize, name2) {
  10256. name2 = readLatin1String(name2);
  10257. var decodeString, encodeString, getHeap, lengthBytesUTF, shift;
  10258. if (charSize === 2) {
  10259. decodeString = UTF16ToString;
  10260. encodeString = stringToUTF16;
  10261. lengthBytesUTF = lengthBytesUTF16;
  10262. getHeap = function() {
  10263. return HEAPU16;
  10264. };
  10265. shift = 1;
  10266. } else if (charSize === 4) {
  10267. decodeString = UTF32ToString;
  10268. encodeString = stringToUTF32;
  10269. lengthBytesUTF = lengthBytesUTF32;
  10270. getHeap = function() {
  10271. return HEAPU32;
  10272. };
  10273. shift = 2;
  10274. }
  10275. registerType(rawType, { name: name2, "fromWireType": function(value) {
  10276. var length = HEAPU32[value >>> 2];
  10277. var HEAP = getHeap();
  10278. var str;
  10279. var decodeStartPtr = value + 4;
  10280. for (var i = 0; i <= length; ++i) {
  10281. var currentBytePtr = value + 4 + i * charSize;
  10282. if (i == length || HEAP[currentBytePtr >>> shift] == 0) {
  10283. var maxReadBytes = currentBytePtr - decodeStartPtr;
  10284. var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
  10285. if (str === void 0) {
  10286. str = stringSegment;
  10287. } else {
  10288. str += String.fromCharCode(0);
  10289. str += stringSegment;
  10290. }
  10291. decodeStartPtr = currentBytePtr + charSize;
  10292. }
  10293. }
  10294. _free(value);
  10295. return str;
  10296. }, "toWireType": function(destructors, value) {
  10297. if (!(typeof value === "string")) {
  10298. throwBindingError("Cannot pass non-string to C++ string type " + name2);
  10299. }
  10300. var length = lengthBytesUTF(value);
  10301. var ptr = _malloc(4 + length + charSize);
  10302. ptr >>>= 0;
  10303. HEAPU32[ptr >>> 2] = length >> shift;
  10304. encodeString(value, ptr + 4, length + charSize);
  10305. if (destructors !== null) {
  10306. destructors.push(_free, ptr);
  10307. }
  10308. return ptr;
  10309. }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) {
  10310. _free(ptr);
  10311. } });
  10312. }
  10313. function __embind_register_value_array(rawType, name2, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
  10314. tupleRegistrations[rawType] = { name: readLatin1String(name2), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] };
  10315. }
  10316. function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
  10317. tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
  10318. }
  10319. function __embind_register_value_object(rawType, name2, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
  10320. structRegistrations[rawType] = { name: readLatin1String(name2), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
  10321. }
  10322. function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
  10323. structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
  10324. }
  10325. function __embind_register_void(rawType, name2) {
  10326. name2 = readLatin1String(name2);
  10327. registerType(rawType, { isVoid: true, name: name2, "argPackAdvance": 0, "fromWireType": function() {
  10328. return void 0;
  10329. }, "toWireType": function(destructors, o) {
  10330. return void 0;
  10331. } });
  10332. }
  10333. function requireHandle(handle) {
  10334. if (!handle) {
  10335. throwBindingError("Cannot use deleted val. handle = " + handle);
  10336. }
  10337. return emval_handle_array[handle].value;
  10338. }
  10339. function __emval_as(handle, returnType, destructorsRef) {
  10340. handle = requireHandle(handle);
  10341. returnType = requireRegisteredType(returnType, "emval::as");
  10342. var destructors = [];
  10343. var rd = __emval_register(destructors);
  10344. HEAP32[destructorsRef >>> 2] = rd;
  10345. return returnType["toWireType"](destructors, handle);
  10346. }
  10347. function __emval_lookupTypes(argCount, argTypes) {
  10348. var a = new Array(argCount);
  10349. for (var i = 0; i < argCount; ++i) {
  10350. a[i] = requireRegisteredType(HEAP32[(argTypes >> 2) + i >>> 0], "parameter " + i);
  10351. }
  10352. return a;
  10353. }
  10354. function __emval_call(handle, argCount, argTypes, argv) {
  10355. handle = requireHandle(handle);
  10356. var types = __emval_lookupTypes(argCount, argTypes);
  10357. var args = new Array(argCount);
  10358. for (var i = 0; i < argCount; ++i) {
  10359. var type = types[i];
  10360. args[i] = type["readValueFromPointer"](argv);
  10361. argv += type["argPackAdvance"];
  10362. }
  10363. var rv = handle.apply(void 0, args);
  10364. return __emval_register(rv);
  10365. }
  10366. var emval_symbols = {};
  10367. function getStringOrSymbol(address) {
  10368. var symbol = emval_symbols[address];
  10369. if (symbol === void 0) {
  10370. return readLatin1String(address);
  10371. } else {
  10372. return symbol;
  10373. }
  10374. }
  10375. function emval_get_global() {
  10376. if (typeof globalThis === "object") {
  10377. return globalThis;
  10378. }
  10379. return function() {
  10380. return Function;
  10381. }()("return this")();
  10382. }
  10383. function __emval_get_global(name2) {
  10384. if (name2 === 0) {
  10385. return __emval_register(emval_get_global());
  10386. } else {
  10387. name2 = getStringOrSymbol(name2);
  10388. return __emval_register(emval_get_global()[name2]);
  10389. }
  10390. }
  10391. function __emval_get_property(handle, key2) {
  10392. handle = requireHandle(handle);
  10393. key2 = requireHandle(key2);
  10394. return __emval_register(handle[key2]);
  10395. }
  10396. function __emval_incref(handle) {
  10397. if (handle > 4) {
  10398. emval_handle_array[handle].refcount += 1;
  10399. }
  10400. }
  10401. function __emval_instanceof(object, constructor) {
  10402. object = requireHandle(object);
  10403. constructor = requireHandle(constructor);
  10404. return object instanceof constructor;
  10405. }
  10406. function __emval_is_number(handle) {
  10407. handle = requireHandle(handle);
  10408. return typeof handle === "number";
  10409. }
  10410. function __emval_new_array() {
  10411. return __emval_register([]);
  10412. }
  10413. function __emval_new_cstring(v) {
  10414. return __emval_register(getStringOrSymbol(v));
  10415. }
  10416. function __emval_new_object() {
  10417. return __emval_register({});
  10418. }
  10419. function __emval_run_destructors(handle) {
  10420. var destructors = emval_handle_array[handle].value;
  10421. runDestructors(destructors);
  10422. __emval_decref(handle);
  10423. }
  10424. function __emval_set_property(handle, key2, value) {
  10425. handle = requireHandle(handle);
  10426. key2 = requireHandle(key2);
  10427. value = requireHandle(value);
  10428. handle[key2] = value;
  10429. }
  10430. function __emval_take_value(type, argv) {
  10431. type = requireRegisteredType(type, "_emval_take_value");
  10432. var v = type["readValueFromPointer"](argv);
  10433. return __emval_register(v);
  10434. }
  10435. function _abort() {
  10436. abort();
  10437. }
  10438. var _emscripten_get_now;
  10439. if (ENVIRONMENT_IS_NODE) {
  10440. _emscripten_get_now = function() {
  10441. var t = process["hrtime"]();
  10442. return t[0] * 1e3 + t[1] / 1e6;
  10443. };
  10444. } else if (typeof dateNow !== "undefined") {
  10445. _emscripten_get_now = dateNow;
  10446. } else
  10447. _emscripten_get_now = function() {
  10448. return performance.now();
  10449. };
  10450. var _emscripten_get_now_is_monotonic = true;
  10451. function setErrNo(value) {
  10452. HEAP32[___errno_location() >>> 2] = value;
  10453. return value;
  10454. }
  10455. function _clock_gettime(clk_id, tp) {
  10456. var now;
  10457. if (clk_id === 0) {
  10458. now = Date.now();
  10459. } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) {
  10460. now = _emscripten_get_now();
  10461. } else {
  10462. setErrNo(28);
  10463. return -1;
  10464. }
  10465. HEAP32[tp >>> 2] = now / 1e3 | 0;
  10466. HEAP32[tp + 4 >>> 2] = now % 1e3 * 1e3 * 1e3 | 0;
  10467. return 0;
  10468. }
  10469. function _emscripten_memcpy_big(dest, src, num) {
  10470. HEAPU8.copyWithin(dest >>> 0, src >>> 0, src + num >>> 0);
  10471. }
  10472. function _emscripten_get_heap_size() {
  10473. return HEAPU8.length;
  10474. }
  10475. function emscripten_realloc_buffer(size) {
  10476. try {
  10477. wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
  10478. updateGlobalBufferAndViews(wasmMemory.buffer);
  10479. return 1;
  10480. } catch (e) {
  10481. }
  10482. }
  10483. function _emscripten_resize_heap(requestedSize) {
  10484. requestedSize = requestedSize >>> 0;
  10485. var oldSize = _emscripten_get_heap_size();
  10486. var maxHeapSize = 4294967296;
  10487. if (requestedSize > maxHeapSize) {
  10488. return false;
  10489. }
  10490. var minHeapSize = 16777216;
  10491. for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
  10492. var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
  10493. overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
  10494. var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), 65536));
  10495. var replacement = emscripten_realloc_buffer(newSize);
  10496. if (replacement) {
  10497. return true;
  10498. }
  10499. }
  10500. return false;
  10501. }
  10502. var ENV = {};
  10503. function getExecutableName() {
  10504. return thisProgram || "./this.program";
  10505. }
  10506. function getEnvStrings() {
  10507. if (!getEnvStrings.strings) {
  10508. var lang = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8";
  10509. var env = { "USER": "web_user", "LOGNAME": "web_user", "PATH": "/", "PWD": "/", "HOME": "/home/web_user", "LANG": lang, "_": getExecutableName() };
  10510. for (var x in ENV) {
  10511. env[x] = ENV[x];
  10512. }
  10513. var strings = [];
  10514. for (var x in env) {
  10515. strings.push(x + "=" + env[x]);
  10516. }
  10517. getEnvStrings.strings = strings;
  10518. }
  10519. return getEnvStrings.strings;
  10520. }
  10521. function _environ_get(__environ, environ_buf) {
  10522. try {
  10523. var bufSize = 0;
  10524. getEnvStrings().forEach(function(string, i) {
  10525. var ptr = environ_buf + bufSize;
  10526. HEAP32[__environ + i * 4 >>> 2] = ptr;
  10527. writeAsciiToMemory(string, ptr);
  10528. bufSize += string.length + 1;
  10529. });
  10530. return 0;
  10531. } catch (e) {
  10532. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  10533. abort(e);
  10534. return e.errno;
  10535. }
  10536. }
  10537. function _environ_sizes_get(penviron_count, penviron_buf_size) {
  10538. try {
  10539. var strings = getEnvStrings();
  10540. HEAP32[penviron_count >>> 2] = strings.length;
  10541. var bufSize = 0;
  10542. strings.forEach(function(string) {
  10543. bufSize += string.length + 1;
  10544. });
  10545. HEAP32[penviron_buf_size >>> 2] = bufSize;
  10546. return 0;
  10547. } catch (e) {
  10548. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  10549. abort(e);
  10550. return e.errno;
  10551. }
  10552. }
  10553. function _fd_close(fd) {
  10554. try {
  10555. var stream = SYSCALLS.getStreamFromFD(fd);
  10556. FS.close(stream);
  10557. return 0;
  10558. } catch (e) {
  10559. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  10560. abort(e);
  10561. return e.errno;
  10562. }
  10563. }
  10564. function _fd_read(fd, iov, iovcnt, pnum) {
  10565. try {
  10566. var stream = SYSCALLS.getStreamFromFD(fd);
  10567. var num = SYSCALLS.doReadv(stream, iov, iovcnt);
  10568. HEAP32[pnum >>> 2] = num;
  10569. return 0;
  10570. } catch (e) {
  10571. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  10572. abort(e);
  10573. return e.errno;
  10574. }
  10575. }
  10576. function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
  10577. try {
  10578. var stream = SYSCALLS.getStreamFromFD(fd);
  10579. var HIGH_OFFSET = 4294967296;
  10580. var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
  10581. var DOUBLE_LIMIT = 9007199254740992;
  10582. if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
  10583. return -61;
  10584. }
  10585. FS.llseek(stream, offset, whence);
  10586. tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >>> 2] = tempI64[0], HEAP32[newOffset + 4 >>> 2] = tempI64[1];
  10587. if (stream.getdents && offset === 0 && whence === 0)
  10588. stream.getdents = null;
  10589. return 0;
  10590. } catch (e) {
  10591. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  10592. abort(e);
  10593. return e.errno;
  10594. }
  10595. }
  10596. function _fd_write(fd, iov, iovcnt, pnum) {
  10597. try {
  10598. var stream = SYSCALLS.getStreamFromFD(fd);
  10599. var num = SYSCALLS.doWritev(stream, iov, iovcnt);
  10600. HEAP32[pnum >>> 2] = num;
  10601. return 0;
  10602. } catch (e) {
  10603. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  10604. abort(e);
  10605. return e.errno;
  10606. }
  10607. }
  10608. function _pthread_mutexattr_destroy() {
  10609. }
  10610. function _pthread_mutexattr_init() {
  10611. }
  10612. function _pthread_mutexattr_settype() {
  10613. }
  10614. function _setTempRet0($i) {
  10615. setTempRet0($i | 0);
  10616. }
  10617. function __isLeapYear(year) {
  10618. return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
  10619. }
  10620. function __arraySum(array, index) {
  10621. var sum = 0;
  10622. for (var i = 0; i <= index; sum += array[i++]) {
  10623. }
  10624. return sum;
  10625. }
  10626. var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  10627. var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  10628. function __addDays(date, days) {
  10629. var newDate = new Date(date.getTime());
  10630. while (days > 0) {
  10631. var leap = __isLeapYear(newDate.getFullYear());
  10632. var currentMonth = newDate.getMonth();
  10633. var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
  10634. if (days > daysInCurrentMonth - newDate.getDate()) {
  10635. days -= daysInCurrentMonth - newDate.getDate() + 1;
  10636. newDate.setDate(1);
  10637. if (currentMonth < 11) {
  10638. newDate.setMonth(currentMonth + 1);
  10639. } else {
  10640. newDate.setMonth(0);
  10641. newDate.setFullYear(newDate.getFullYear() + 1);
  10642. }
  10643. } else {
  10644. newDate.setDate(newDate.getDate() + days);
  10645. return newDate;
  10646. }
  10647. }
  10648. return newDate;
  10649. }
  10650. function _strftime(s, maxsize, format, tm) {
  10651. var tm_zone = HEAP32[tm + 40 >>> 2];
  10652. var date = { tm_sec: HEAP32[tm >>> 2], tm_min: HEAP32[tm + 4 >>> 2], tm_hour: HEAP32[tm + 8 >>> 2], tm_mday: HEAP32[tm + 12 >>> 2], tm_mon: HEAP32[tm + 16 >>> 2], tm_year: HEAP32[tm + 20 >>> 2], tm_wday: HEAP32[tm + 24 >>> 2], tm_yday: HEAP32[tm + 28 >>> 2], tm_isdst: HEAP32[tm + 32 >>> 2], tm_gmtoff: HEAP32[tm + 36 >>> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" };
  10653. var pattern = UTF8ToString(format);
  10654. var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" };
  10655. for (var rule in EXPANSION_RULES_1) {
  10656. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
  10657. }
  10658. var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
  10659. var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  10660. function leadingSomething(value, digits, character) {
  10661. var str = typeof value === "number" ? value.toString() : value || "";
  10662. while (str.length < digits) {
  10663. str = character[0] + str;
  10664. }
  10665. return str;
  10666. }
  10667. function leadingNulls(value, digits) {
  10668. return leadingSomething(value, digits, "0");
  10669. }
  10670. function compareByDay(date1, date2) {
  10671. function sgn(value) {
  10672. return value < 0 ? -1 : value > 0 ? 1 : 0;
  10673. }
  10674. var compare;
  10675. if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
  10676. if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
  10677. compare = sgn(date1.getDate() - date2.getDate());
  10678. }
  10679. }
  10680. return compare;
  10681. }
  10682. function getFirstWeekStartDate(janFourth) {
  10683. switch (janFourth.getDay()) {
  10684. case 0:
  10685. return new Date(janFourth.getFullYear() - 1, 11, 29);
  10686. case 1:
  10687. return janFourth;
  10688. case 2:
  10689. return new Date(janFourth.getFullYear(), 0, 3);
  10690. case 3:
  10691. return new Date(janFourth.getFullYear(), 0, 2);
  10692. case 4:
  10693. return new Date(janFourth.getFullYear(), 0, 1);
  10694. case 5:
  10695. return new Date(janFourth.getFullYear() - 1, 11, 31);
  10696. case 6:
  10697. return new Date(janFourth.getFullYear() - 1, 11, 30);
  10698. }
  10699. }
  10700. function getWeekBasedYear(date2) {
  10701. var thisDate = __addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday);
  10702. var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
  10703. var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
  10704. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  10705. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  10706. if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
  10707. if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
  10708. return thisDate.getFullYear() + 1;
  10709. } else {
  10710. return thisDate.getFullYear();
  10711. }
  10712. } else {
  10713. return thisDate.getFullYear() - 1;
  10714. }
  10715. }
  10716. var EXPANSION_RULES_2 = { "%a": function(date2) {
  10717. return WEEKDAYS[date2.tm_wday].substring(0, 3);
  10718. }, "%A": function(date2) {
  10719. return WEEKDAYS[date2.tm_wday];
  10720. }, "%b": function(date2) {
  10721. return MONTHS[date2.tm_mon].substring(0, 3);
  10722. }, "%B": function(date2) {
  10723. return MONTHS[date2.tm_mon];
  10724. }, "%C": function(date2) {
  10725. var year = date2.tm_year + 1900;
  10726. return leadingNulls(year / 100 | 0, 2);
  10727. }, "%d": function(date2) {
  10728. return leadingNulls(date2.tm_mday, 2);
  10729. }, "%e": function(date2) {
  10730. return leadingSomething(date2.tm_mday, 2, " ");
  10731. }, "%g": function(date2) {
  10732. return getWeekBasedYear(date2).toString().substring(2);
  10733. }, "%G": function(date2) {
  10734. return getWeekBasedYear(date2);
  10735. }, "%H": function(date2) {
  10736. return leadingNulls(date2.tm_hour, 2);
  10737. }, "%I": function(date2) {
  10738. var twelveHour = date2.tm_hour;
  10739. if (twelveHour == 0)
  10740. twelveHour = 12;
  10741. else if (twelveHour > 12)
  10742. twelveHour -= 12;
  10743. return leadingNulls(twelveHour, 2);
  10744. }, "%j": function(date2) {
  10745. return leadingNulls(date2.tm_mday + __arraySum(__isLeapYear(date2.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3);
  10746. }, "%m": function(date2) {
  10747. return leadingNulls(date2.tm_mon + 1, 2);
  10748. }, "%M": function(date2) {
  10749. return leadingNulls(date2.tm_min, 2);
  10750. }, "%n": function() {
  10751. return "\n";
  10752. }, "%p": function(date2) {
  10753. if (date2.tm_hour >= 0 && date2.tm_hour < 12) {
  10754. return "AM";
  10755. } else {
  10756. return "PM";
  10757. }
  10758. }, "%S": function(date2) {
  10759. return leadingNulls(date2.tm_sec, 2);
  10760. }, "%t": function() {
  10761. return " ";
  10762. }, "%u": function(date2) {
  10763. return date2.tm_wday || 7;
  10764. }, "%U": function(date2) {
  10765. var janFirst = new Date(date2.tm_year + 1900, 0, 1);
  10766. var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
  10767. var endDate = new Date(date2.tm_year + 1900, date2.tm_mon, date2.tm_mday);
  10768. if (compareByDay(firstSunday, endDate) < 0) {
  10769. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  10770. var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
  10771. var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  10772. return leadingNulls(Math.ceil(days / 7), 2);
  10773. }
  10774. return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00";
  10775. }, "%V": function(date2) {
  10776. var janFourthThisYear = new Date(date2.tm_year + 1900, 0, 4);
  10777. var janFourthNextYear = new Date(date2.tm_year + 1901, 0, 4);
  10778. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  10779. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  10780. var endDate = __addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday);
  10781. if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
  10782. return "53";
  10783. }
  10784. if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
  10785. return "01";
  10786. }
  10787. var daysDifference;
  10788. if (firstWeekStartThisYear.getFullYear() < date2.tm_year + 1900) {
  10789. daysDifference = date2.tm_yday + 32 - firstWeekStartThisYear.getDate();
  10790. } else {
  10791. daysDifference = date2.tm_yday + 1 - firstWeekStartThisYear.getDate();
  10792. }
  10793. return leadingNulls(Math.ceil(daysDifference / 7), 2);
  10794. }, "%w": function(date2) {
  10795. return date2.tm_wday;
  10796. }, "%W": function(date2) {
  10797. var janFirst = new Date(date2.tm_year, 0, 1);
  10798. var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
  10799. var endDate = new Date(date2.tm_year + 1900, date2.tm_mon, date2.tm_mday);
  10800. if (compareByDay(firstMonday, endDate) < 0) {
  10801. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  10802. var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
  10803. var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  10804. return leadingNulls(Math.ceil(days / 7), 2);
  10805. }
  10806. return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00";
  10807. }, "%y": function(date2) {
  10808. return (date2.tm_year + 1900).toString().substring(2);
  10809. }, "%Y": function(date2) {
  10810. return date2.tm_year + 1900;
  10811. }, "%z": function(date2) {
  10812. var off = date2.tm_gmtoff;
  10813. var ahead = off >= 0;
  10814. off = Math.abs(off) / 60;
  10815. off = off / 60 * 100 + off % 60;
  10816. return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
  10817. }, "%Z": function(date2) {
  10818. return date2.tm_zone;
  10819. }, "%%": function() {
  10820. return "%";
  10821. } };
  10822. for (var rule in EXPANSION_RULES_2) {
  10823. if (pattern.indexOf(rule) >= 0) {
  10824. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
  10825. }
  10826. }
  10827. var bytes = intArrayFromString(pattern, false);
  10828. if (bytes.length > maxsize) {
  10829. return 0;
  10830. }
  10831. writeArrayToMemory(bytes, s);
  10832. return bytes.length - 1;
  10833. }
  10834. function _strftime_l(s, maxsize, format, tm) {
  10835. return _strftime(s, maxsize, format, tm);
  10836. }
  10837. var FSNode = function(parent, name2, mode, rdev) {
  10838. if (!parent) {
  10839. parent = this;
  10840. }
  10841. this.parent = parent;
  10842. this.mount = parent.mount;
  10843. this.mounted = null;
  10844. this.id = FS.nextInode++;
  10845. this.name = name2;
  10846. this.mode = mode;
  10847. this.node_ops = {};
  10848. this.stream_ops = {};
  10849. this.rdev = rdev;
  10850. };
  10851. var readMode = 292 | 73;
  10852. var writeMode = 146;
  10853. Object.defineProperties(FSNode.prototype, { read: { get: function() {
  10854. return (this.mode & readMode) === readMode;
  10855. }, set: function(val) {
  10856. val ? this.mode |= readMode : this.mode &= ~readMode;
  10857. } }, write: { get: function() {
  10858. return (this.mode & writeMode) === writeMode;
  10859. }, set: function(val) {
  10860. val ? this.mode |= writeMode : this.mode &= ~writeMode;
  10861. } }, isFolder: { get: function() {
  10862. return FS.isDir(this.mode);
  10863. } }, isDevice: { get: function() {
  10864. return FS.isChrdev(this.mode);
  10865. } } });
  10866. FS.FSNode = FSNode;
  10867. FS.staticInit();
  10868. Module["FS_createPath"] = FS.createPath;
  10869. Module["FS_createDataFile"] = FS.createDataFile;
  10870. Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
  10871. Module["FS_createLazyFile"] = FS.createLazyFile;
  10872. Module["FS_createDevice"] = FS.createDevice;
  10873. Module["FS_unlink"] = FS.unlink;
  10874. InternalError = Module["InternalError"] = extendError(Error, "InternalError");
  10875. embind_init_charCodes();
  10876. BindingError = Module["BindingError"] = extendError(Error, "BindingError");
  10877. init_ClassHandle();
  10878. init_RegisteredPointer();
  10879. init_embind();
  10880. UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError");
  10881. init_emval();
  10882. function intArrayFromString(stringy, dontAddNull, length) {
  10883. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  10884. var u8array = new Array(len);
  10885. var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
  10886. if (dontAddNull)
  10887. u8array.length = numBytesWritten;
  10888. return u8array;
  10889. }
  10890. __ATINIT__.push({ func: function() {
  10891. ___wasm_call_ctors();
  10892. } });
  10893. var asmLibraryArg = { "z": ___assert_fail, "y": ___cxa_allocate_exception, "x": ___cxa_throw, "V": ___sys_ioctl, "W": ___sys_open, "$": __embind_finalize_value_array, "q": __embind_finalize_value_object, "Y": __embind_register_bool, "t": __embind_register_class, "s": __embind_register_class_constructor, "c": __embind_register_class_function, "X": __embind_register_emval, "_": __embind_register_enum, "v": __embind_register_enum_value, "F": __embind_register_float, "f": __embind_register_function, "o": __embind_register_integer, "k": __embind_register_memory_view, "G": __embind_register_std_string, "w": __embind_register_std_wstring, "aa": __embind_register_value_array, "h": __embind_register_value_array_element, "r": __embind_register_value_object, "e": __embind_register_value_object_field, "Z": __embind_register_void, "m": __emval_as, "H": __emval_call, "b": __emval_decref, "J": __emval_get_global, "n": __emval_get_property, "j": __emval_incref, "N": __emval_instanceof, "I": __emval_is_number, "A": __emval_new_array, "g": __emval_new_cstring, "u": __emval_new_object, "l": __emval_run_destructors, "i": __emval_set_property, "d": __emval_take_value, "C": _abort, "T": _clock_gettime, "M": _emscripten_memcpy_big, "p": _emscripten_resize_heap, "R": _environ_get, "S": _environ_sizes_get, "E": _fd_close, "U": _fd_read, "K": _fd_seek, "D": _fd_write, "a": wasmMemory, "B": _pthread_mutexattr_destroy, "P": _pthread_mutexattr_init, "O": _pthread_mutexattr_settype, "L": _setTempRet0, "Q": _strftime_l };
  10894. var asm = createWasm();
  10895. var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
  10896. return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["ca"]).apply(null, arguments);
  10897. };
  10898. var _main = Module["_main"] = function() {
  10899. return (_main = Module["_main"] = Module["asm"]["da"]).apply(null, arguments);
  10900. };
  10901. var _malloc = Module["_malloc"] = function() {
  10902. return (_malloc = Module["_malloc"] = Module["asm"]["ea"]).apply(null, arguments);
  10903. };
  10904. var _free = Module["_free"] = function() {
  10905. return (_free = Module["_free"] = Module["asm"]["fa"]).apply(null, arguments);
  10906. };
  10907. var ___getTypeName = Module["___getTypeName"] = function() {
  10908. return (___getTypeName = Module["___getTypeName"] = Module["asm"]["ga"]).apply(null, arguments);
  10909. };
  10910. var ___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = function() {
  10911. return (___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = Module["asm"]["ha"]).apply(null, arguments);
  10912. };
  10913. var ___errno_location = Module["___errno_location"] = function() {
  10914. return (___errno_location = Module["___errno_location"] = Module["asm"]["ia"]).apply(null, arguments);
  10915. };
  10916. var dynCall_jiji = Module["dynCall_jiji"] = function() {
  10917. return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["ja"]).apply(null, arguments);
  10918. };
  10919. var dynCall_viijii = Module["dynCall_viijii"] = function() {
  10920. return (dynCall_viijii = Module["dynCall_viijii"] = Module["asm"]["ka"]).apply(null, arguments);
  10921. };
  10922. var dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = function() {
  10923. return (dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = Module["asm"]["la"]).apply(null, arguments);
  10924. };
  10925. var dynCall_iiiiij = Module["dynCall_iiiiij"] = function() {
  10926. return (dynCall_iiiiij = Module["dynCall_iiiiij"] = Module["asm"]["ma"]).apply(null, arguments);
  10927. };
  10928. var dynCall_iiiiijj = Module["dynCall_iiiiijj"] = function() {
  10929. return (dynCall_iiiiijj = Module["dynCall_iiiiijj"] = Module["asm"]["na"]).apply(null, arguments);
  10930. };
  10931. Module["addRunDependency"] = addRunDependency;
  10932. Module["removeRunDependency"] = removeRunDependency;
  10933. Module["FS_createPath"] = FS.createPath;
  10934. Module["FS_createDataFile"] = FS.createDataFile;
  10935. Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
  10936. Module["FS_createLazyFile"] = FS.createLazyFile;
  10937. Module["FS_createDevice"] = FS.createDevice;
  10938. Module["FS_unlink"] = FS.unlink;
  10939. Module["FS"] = FS;
  10940. var calledRun;
  10941. function ExitStatus(status) {
  10942. this.name = "ExitStatus";
  10943. this.message = "Program terminated with exit(" + status + ")";
  10944. this.status = status;
  10945. }
  10946. var calledMain = false;
  10947. dependenciesFulfilled = function runCaller() {
  10948. if (!calledRun)
  10949. run();
  10950. if (!calledRun)
  10951. dependenciesFulfilled = runCaller;
  10952. };
  10953. function callMain(args) {
  10954. var entryFunction = Module["_main"];
  10955. var argc = 0;
  10956. var argv = 0;
  10957. try {
  10958. var ret = entryFunction(argc, argv);
  10959. exit(ret, true);
  10960. } catch (e) {
  10961. if (e instanceof ExitStatus) {
  10962. return;
  10963. } else if (e == "unwind") {
  10964. noExitRuntime = true;
  10965. return;
  10966. } else {
  10967. var toLog = e;
  10968. if (e && typeof e === "object" && e.stack) {
  10969. toLog = [e, e.stack];
  10970. }
  10971. err("exception thrown: " + toLog);
  10972. quit_(1, e);
  10973. }
  10974. } finally {
  10975. calledMain = true;
  10976. }
  10977. }
  10978. function run(args) {
  10979. args = args || arguments_;
  10980. if (runDependencies > 0) {
  10981. return;
  10982. }
  10983. preRun();
  10984. if (runDependencies > 0)
  10985. return;
  10986. function doRun() {
  10987. if (calledRun)
  10988. return;
  10989. calledRun = true;
  10990. Module["calledRun"] = true;
  10991. if (ABORT)
  10992. return;
  10993. initRuntime();
  10994. preMain();
  10995. readyPromiseResolve(Module);
  10996. if (Module["onRuntimeInitialized"])
  10997. Module["onRuntimeInitialized"]();
  10998. if (shouldRunNow)
  10999. callMain(args);
  11000. postRun();
  11001. }
  11002. if (Module["setStatus"]) {
  11003. Module["setStatus"]("Running...");
  11004. setTimeout(function() {
  11005. setTimeout(function() {
  11006. Module["setStatus"]("");
  11007. }, 1);
  11008. doRun();
  11009. }, 1);
  11010. } else {
  11011. doRun();
  11012. }
  11013. }
  11014. Module["run"] = run;
  11015. function exit(status, implicit) {
  11016. if (implicit && noExitRuntime && status === 0) {
  11017. return;
  11018. }
  11019. if (noExitRuntime) {
  11020. } else {
  11021. EXITSTATUS = status;
  11022. exitRuntime();
  11023. if (Module["onExit"])
  11024. Module["onExit"](status);
  11025. ABORT = true;
  11026. }
  11027. quit_(status, new ExitStatus(status));
  11028. }
  11029. if (Module["preInit"]) {
  11030. if (typeof Module["preInit"] == "function")
  11031. Module["preInit"] = [Module["preInit"]];
  11032. while (Module["preInit"].length > 0) {
  11033. Module["preInit"].pop()();
  11034. }
  11035. }
  11036. var shouldRunNow = true;
  11037. if (Module["noInitialRun"])
  11038. shouldRunNow = false;
  11039. noExitRuntime = true;
  11040. run();
  11041. return WebIFCWasm3.ready;
  11042. };
  11043. }();
  11044. if (typeof exports === "object" && typeof module === "object")
  11045. module.exports = WebIFCWasm2;
  11046. else if (typeof define === "function" && define["amd"])
  11047. define([], function() {
  11048. return WebIFCWasm2;
  11049. });
  11050. else if (typeof exports === "object")
  11051. exports["WebIFCWasm"] = WebIFCWasm2;
  11052. }
  11053. });
  11054. // dist/web-ifc-api.ts
  11055. var web_ifc_api_exports = {};
  11056. __export(web_ifc_api_exports, {
  11057. EMPTY: () => EMPTY,
  11058. ENUM: () => ENUM,
  11059. FromRawLineData: () => FromRawLineData,
  11060. Handle: () => Handle,
  11061. IFCACTIONREQUEST: () => IFCACTIONREQUEST,
  11062. IFCACTOR: () => IFCACTOR,
  11063. IFCACTORROLE: () => IFCACTORROLE,
  11064. IFCACTUATOR: () => IFCACTUATOR,
  11065. IFCACTUATORTYPE: () => IFCACTUATORTYPE,
  11066. IFCADDRESS: () => IFCADDRESS,
  11067. IFCADVANCEDBREP: () => IFCADVANCEDBREP,
  11068. IFCADVANCEDBREPWITHVOIDS: () => IFCADVANCEDBREPWITHVOIDS,
  11069. IFCADVANCEDFACE: () => IFCADVANCEDFACE,
  11070. IFCAIRTERMINAL: () => IFCAIRTERMINAL,
  11071. IFCAIRTERMINALBOX: () => IFCAIRTERMINALBOX,
  11072. IFCAIRTERMINALBOXTYPE: () => IFCAIRTERMINALBOXTYPE,
  11073. IFCAIRTERMINALTYPE: () => IFCAIRTERMINALTYPE,
  11074. IFCAIRTOAIRHEATRECOVERY: () => IFCAIRTOAIRHEATRECOVERY,
  11075. IFCAIRTOAIRHEATRECOVERYTYPE: () => IFCAIRTOAIRHEATRECOVERYTYPE,
  11076. IFCALARM: () => IFCALARM,
  11077. IFCALARMTYPE: () => IFCALARMTYPE,
  11078. IFCALIGNMENT: () => IFCALIGNMENT,
  11079. IFCALIGNMENT2DHORIZONTAL: () => IFCALIGNMENT2DHORIZONTAL,
  11080. IFCALIGNMENT2DHORIZONTALSEGMENT: () => IFCALIGNMENT2DHORIZONTALSEGMENT,
  11081. IFCALIGNMENT2DSEGMENT: () => IFCALIGNMENT2DSEGMENT,
  11082. IFCALIGNMENT2DVERSEGCIRCULARARC: () => IFCALIGNMENT2DVERSEGCIRCULARARC,
  11083. IFCALIGNMENT2DVERSEGLINE: () => IFCALIGNMENT2DVERSEGLINE,
  11084. IFCALIGNMENT2DVERSEGPARABOLICARC: () => IFCALIGNMENT2DVERSEGPARABOLICARC,
  11085. IFCALIGNMENT2DVERTICAL: () => IFCALIGNMENT2DVERTICAL,
  11086. IFCALIGNMENT2DVERTICALSEGMENT: () => IFCALIGNMENT2DVERTICALSEGMENT,
  11087. IFCALIGNMENTCURVE: () => IFCALIGNMENTCURVE,
  11088. IFCANNOTATION: () => IFCANNOTATION,
  11089. IFCANNOTATIONFILLAREA: () => IFCANNOTATIONFILLAREA,
  11090. IFCAPPLICATION: () => IFCAPPLICATION,
  11091. IFCAPPLIEDVALUE: () => IFCAPPLIEDVALUE,
  11092. IFCAPPROVAL: () => IFCAPPROVAL,
  11093. IFCAPPROVALRELATIONSHIP: () => IFCAPPROVALRELATIONSHIP,
  11094. IFCARBITRARYCLOSEDPROFILEDEF: () => IFCARBITRARYCLOSEDPROFILEDEF,
  11095. IFCARBITRARYOPENPROFILEDEF: () => IFCARBITRARYOPENPROFILEDEF,
  11096. IFCARBITRARYPROFILEDEFWITHVOIDS: () => IFCARBITRARYPROFILEDEFWITHVOIDS,
  11097. IFCASSET: () => IFCASSET,
  11098. IFCASYMMETRICISHAPEPROFILEDEF: () => IFCASYMMETRICISHAPEPROFILEDEF,
  11099. IFCAUDIOVISUALAPPLIANCE: () => IFCAUDIOVISUALAPPLIANCE,
  11100. IFCAUDIOVISUALAPPLIANCETYPE: () => IFCAUDIOVISUALAPPLIANCETYPE,
  11101. IFCAXIS1PLACEMENT: () => IFCAXIS1PLACEMENT,
  11102. IFCAXIS2PLACEMENT2D: () => IFCAXIS2PLACEMENT2D,
  11103. IFCAXIS2PLACEMENT3D: () => IFCAXIS2PLACEMENT3D,
  11104. IFCBEAM: () => IFCBEAM,
  11105. IFCBEAMSTANDARDCASE: () => IFCBEAMSTANDARDCASE,
  11106. IFCBEAMTYPE: () => IFCBEAMTYPE,
  11107. IFCBEARING: () => IFCBEARING,
  11108. IFCBEARINGTYPE: () => IFCBEARINGTYPE,
  11109. IFCBLOBTEXTURE: () => IFCBLOBTEXTURE,
  11110. IFCBLOCK: () => IFCBLOCK,
  11111. IFCBOILER: () => IFCBOILER,
  11112. IFCBOILERTYPE: () => IFCBOILERTYPE,
  11113. IFCBOOLEANCLIPPINGRESULT: () => IFCBOOLEANCLIPPINGRESULT,
  11114. IFCBOOLEANRESULT: () => IFCBOOLEANRESULT,
  11115. IFCBOUNDARYCONDITION: () => IFCBOUNDARYCONDITION,
  11116. IFCBOUNDARYCURVE: () => IFCBOUNDARYCURVE,
  11117. IFCBOUNDARYEDGECONDITION: () => IFCBOUNDARYEDGECONDITION,
  11118. IFCBOUNDARYFACECONDITION: () => IFCBOUNDARYFACECONDITION,
  11119. IFCBOUNDARYNODECONDITION: () => IFCBOUNDARYNODECONDITION,
  11120. IFCBOUNDARYNODECONDITIONWARPING: () => IFCBOUNDARYNODECONDITIONWARPING,
  11121. IFCBOUNDEDCURVE: () => IFCBOUNDEDCURVE,
  11122. IFCBOUNDEDSURFACE: () => IFCBOUNDEDSURFACE,
  11123. IFCBOUNDINGBOX: () => IFCBOUNDINGBOX,
  11124. IFCBOXEDHALFSPACE: () => IFCBOXEDHALFSPACE,
  11125. IFCBRIDGE: () => IFCBRIDGE,
  11126. IFCBRIDGEPART: () => IFCBRIDGEPART,
  11127. IFCBSPLINECURVE: () => IFCBSPLINECURVE,
  11128. IFCBSPLINECURVEWITHKNOTS: () => IFCBSPLINECURVEWITHKNOTS,
  11129. IFCBSPLINESURFACE: () => IFCBSPLINESURFACE,
  11130. IFCBSPLINESURFACEWITHKNOTS: () => IFCBSPLINESURFACEWITHKNOTS,
  11131. IFCBUILDING: () => IFCBUILDING,
  11132. IFCBUILDINGELEMENT: () => IFCBUILDINGELEMENT,
  11133. IFCBUILDINGELEMENTPART: () => IFCBUILDINGELEMENTPART,
  11134. IFCBUILDINGELEMENTPARTTYPE: () => IFCBUILDINGELEMENTPARTTYPE,
  11135. IFCBUILDINGELEMENTPROXY: () => IFCBUILDINGELEMENTPROXY,
  11136. IFCBUILDINGELEMENTPROXYTYPE: () => IFCBUILDINGELEMENTPROXYTYPE,
  11137. IFCBUILDINGELEMENTTYPE: () => IFCBUILDINGELEMENTTYPE,
  11138. IFCBUILDINGSTOREY: () => IFCBUILDINGSTOREY,
  11139. IFCBUILDINGSYSTEM: () => IFCBUILDINGSYSTEM,
  11140. IFCBURNER: () => IFCBURNER,
  11141. IFCBURNERTYPE: () => IFCBURNERTYPE,
  11142. IFCCABLECARRIERFITTING: () => IFCCABLECARRIERFITTING,
  11143. IFCCABLECARRIERFITTINGTYPE: () => IFCCABLECARRIERFITTINGTYPE,
  11144. IFCCABLECARRIERSEGMENT: () => IFCCABLECARRIERSEGMENT,
  11145. IFCCABLECARRIERSEGMENTTYPE: () => IFCCABLECARRIERSEGMENTTYPE,
  11146. IFCCABLEFITTING: () => IFCCABLEFITTING,
  11147. IFCCABLEFITTINGTYPE: () => IFCCABLEFITTINGTYPE,
  11148. IFCCABLESEGMENT: () => IFCCABLESEGMENT,
  11149. IFCCABLESEGMENTTYPE: () => IFCCABLESEGMENTTYPE,
  11150. IFCCAISSONFOUNDATION: () => IFCCAISSONFOUNDATION,
  11151. IFCCAISSONFOUNDATIONTYPE: () => IFCCAISSONFOUNDATIONTYPE,
  11152. IFCCARTESIANPOINT: () => IFCCARTESIANPOINT,
  11153. IFCCARTESIANPOINTLIST: () => IFCCARTESIANPOINTLIST,
  11154. IFCCARTESIANPOINTLIST2D: () => IFCCARTESIANPOINTLIST2D,
  11155. IFCCARTESIANPOINTLIST3D: () => IFCCARTESIANPOINTLIST3D,
  11156. IFCCARTESIANTRANSFORMATIONOPERATOR: () => IFCCARTESIANTRANSFORMATIONOPERATOR,
  11157. IFCCARTESIANTRANSFORMATIONOPERATOR2D: () => IFCCARTESIANTRANSFORMATIONOPERATOR2D,
  11158. IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM: () => IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,
  11159. IFCCARTESIANTRANSFORMATIONOPERATOR3D: () => IFCCARTESIANTRANSFORMATIONOPERATOR3D,
  11160. IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM: () => IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,
  11161. IFCCENTERLINEPROFILEDEF: () => IFCCENTERLINEPROFILEDEF,
  11162. IFCCHILLER: () => IFCCHILLER,
  11163. IFCCHILLERTYPE: () => IFCCHILLERTYPE,
  11164. IFCCHIMNEY: () => IFCCHIMNEY,
  11165. IFCCHIMNEYTYPE: () => IFCCHIMNEYTYPE,
  11166. IFCCIRCLE: () => IFCCIRCLE,
  11167. IFCCIRCLEHOLLOWPROFILEDEF: () => IFCCIRCLEHOLLOWPROFILEDEF,
  11168. IFCCIRCLEPROFILEDEF: () => IFCCIRCLEPROFILEDEF,
  11169. IFCCIRCULARARCSEGMENT2D: () => IFCCIRCULARARCSEGMENT2D,
  11170. IFCCIVILELEMENT: () => IFCCIVILELEMENT,
  11171. IFCCIVILELEMENTTYPE: () => IFCCIVILELEMENTTYPE,
  11172. IFCCLASSIFICATION: () => IFCCLASSIFICATION,
  11173. IFCCLASSIFICATIONREFERENCE: () => IFCCLASSIFICATIONREFERENCE,
  11174. IFCCLOSEDSHELL: () => IFCCLOSEDSHELL,
  11175. IFCCOIL: () => IFCCOIL,
  11176. IFCCOILTYPE: () => IFCCOILTYPE,
  11177. IFCCOLOURRGB: () => IFCCOLOURRGB,
  11178. IFCCOLOURRGBLIST: () => IFCCOLOURRGBLIST,
  11179. IFCCOLOURSPECIFICATION: () => IFCCOLOURSPECIFICATION,
  11180. IFCCOLUMN: () => IFCCOLUMN,
  11181. IFCCOLUMNSTANDARDCASE: () => IFCCOLUMNSTANDARDCASE,
  11182. IFCCOLUMNTYPE: () => IFCCOLUMNTYPE,
  11183. IFCCOMMUNICATIONSAPPLIANCE: () => IFCCOMMUNICATIONSAPPLIANCE,
  11184. IFCCOMMUNICATIONSAPPLIANCETYPE: () => IFCCOMMUNICATIONSAPPLIANCETYPE,
  11185. IFCCOMPLEXPROPERTY: () => IFCCOMPLEXPROPERTY,
  11186. IFCCOMPLEXPROPERTYTEMPLATE: () => IFCCOMPLEXPROPERTYTEMPLATE,
  11187. IFCCOMPOSITECURVE: () => IFCCOMPOSITECURVE,
  11188. IFCCOMPOSITECURVEONSURFACE: () => IFCCOMPOSITECURVEONSURFACE,
  11189. IFCCOMPOSITECURVESEGMENT: () => IFCCOMPOSITECURVESEGMENT,
  11190. IFCCOMPOSITEPROFILEDEF: () => IFCCOMPOSITEPROFILEDEF,
  11191. IFCCOMPRESSOR: () => IFCCOMPRESSOR,
  11192. IFCCOMPRESSORTYPE: () => IFCCOMPRESSORTYPE,
  11193. IFCCONDENSER: () => IFCCONDENSER,
  11194. IFCCONDENSERTYPE: () => IFCCONDENSERTYPE,
  11195. IFCCONIC: () => IFCCONIC,
  11196. IFCCONNECTEDFACESET: () => IFCCONNECTEDFACESET,
  11197. IFCCONNECTIONCURVEGEOMETRY: () => IFCCONNECTIONCURVEGEOMETRY,
  11198. IFCCONNECTIONGEOMETRY: () => IFCCONNECTIONGEOMETRY,
  11199. IFCCONNECTIONPOINTECCENTRICITY: () => IFCCONNECTIONPOINTECCENTRICITY,
  11200. IFCCONNECTIONPOINTGEOMETRY: () => IFCCONNECTIONPOINTGEOMETRY,
  11201. IFCCONNECTIONSURFACEGEOMETRY: () => IFCCONNECTIONSURFACEGEOMETRY,
  11202. IFCCONNECTIONVOLUMEGEOMETRY: () => IFCCONNECTIONVOLUMEGEOMETRY,
  11203. IFCCONSTRAINT: () => IFCCONSTRAINT,
  11204. IFCCONSTRUCTIONEQUIPMENTRESOURCE: () => IFCCONSTRUCTIONEQUIPMENTRESOURCE,
  11205. IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE: () => IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,
  11206. IFCCONSTRUCTIONMATERIALRESOURCE: () => IFCCONSTRUCTIONMATERIALRESOURCE,
  11207. IFCCONSTRUCTIONMATERIALRESOURCETYPE: () => IFCCONSTRUCTIONMATERIALRESOURCETYPE,
  11208. IFCCONSTRUCTIONPRODUCTRESOURCE: () => IFCCONSTRUCTIONPRODUCTRESOURCE,
  11209. IFCCONSTRUCTIONPRODUCTRESOURCETYPE: () => IFCCONSTRUCTIONPRODUCTRESOURCETYPE,
  11210. IFCCONSTRUCTIONRESOURCE: () => IFCCONSTRUCTIONRESOURCE,
  11211. IFCCONSTRUCTIONRESOURCETYPE: () => IFCCONSTRUCTIONRESOURCETYPE,
  11212. IFCCONTEXT: () => IFCCONTEXT,
  11213. IFCCONTEXTDEPENDENTUNIT: () => IFCCONTEXTDEPENDENTUNIT,
  11214. IFCCONTROL: () => IFCCONTROL,
  11215. IFCCONTROLLER: () => IFCCONTROLLER,
  11216. IFCCONTROLLERTYPE: () => IFCCONTROLLERTYPE,
  11217. IFCCONVERSIONBASEDUNIT: () => IFCCONVERSIONBASEDUNIT,
  11218. IFCCONVERSIONBASEDUNITWITHOFFSET: () => IFCCONVERSIONBASEDUNITWITHOFFSET,
  11219. IFCCOOLEDBEAM: () => IFCCOOLEDBEAM,
  11220. IFCCOOLEDBEAMTYPE: () => IFCCOOLEDBEAMTYPE,
  11221. IFCCOOLINGTOWER: () => IFCCOOLINGTOWER,
  11222. IFCCOOLINGTOWERTYPE: () => IFCCOOLINGTOWERTYPE,
  11223. IFCCOORDINATEOPERATION: () => IFCCOORDINATEOPERATION,
  11224. IFCCOORDINATEREFERENCESYSTEM: () => IFCCOORDINATEREFERENCESYSTEM,
  11225. IFCCOSTITEM: () => IFCCOSTITEM,
  11226. IFCCOSTSCHEDULE: () => IFCCOSTSCHEDULE,
  11227. IFCCOSTVALUE: () => IFCCOSTVALUE,
  11228. IFCCOVERING: () => IFCCOVERING,
  11229. IFCCOVERINGTYPE: () => IFCCOVERINGTYPE,
  11230. IFCCREWRESOURCE: () => IFCCREWRESOURCE,
  11231. IFCCREWRESOURCETYPE: () => IFCCREWRESOURCETYPE,
  11232. IFCCSGPRIMITIVE3D: () => IFCCSGPRIMITIVE3D,
  11233. IFCCSGSOLID: () => IFCCSGSOLID,
  11234. IFCCSHAPEPROFILEDEF: () => IFCCSHAPEPROFILEDEF,
  11235. IFCCURRENCYRELATIONSHIP: () => IFCCURRENCYRELATIONSHIP,
  11236. IFCCURTAINWALL: () => IFCCURTAINWALL,
  11237. IFCCURTAINWALLTYPE: () => IFCCURTAINWALLTYPE,
  11238. IFCCURVE: () => IFCCURVE,
  11239. IFCCURVEBOUNDEDPLANE: () => IFCCURVEBOUNDEDPLANE,
  11240. IFCCURVEBOUNDEDSURFACE: () => IFCCURVEBOUNDEDSURFACE,
  11241. IFCCURVESEGMENT2D: () => IFCCURVESEGMENT2D,
  11242. IFCCURVESTYLE: () => IFCCURVESTYLE,
  11243. IFCCURVESTYLEFONT: () => IFCCURVESTYLEFONT,
  11244. IFCCURVESTYLEFONTANDSCALING: () => IFCCURVESTYLEFONTANDSCALING,
  11245. IFCCURVESTYLEFONTPATTERN: () => IFCCURVESTYLEFONTPATTERN,
  11246. IFCCYLINDRICALSURFACE: () => IFCCYLINDRICALSURFACE,
  11247. IFCDAMPER: () => IFCDAMPER,
  11248. IFCDAMPERTYPE: () => IFCDAMPERTYPE,
  11249. IFCDEEPFOUNDATION: () => IFCDEEPFOUNDATION,
  11250. IFCDEEPFOUNDATIONTYPE: () => IFCDEEPFOUNDATIONTYPE,
  11251. IFCDERIVEDPROFILEDEF: () => IFCDERIVEDPROFILEDEF,
  11252. IFCDERIVEDUNIT: () => IFCDERIVEDUNIT,
  11253. IFCDERIVEDUNITELEMENT: () => IFCDERIVEDUNITELEMENT,
  11254. IFCDIMENSIONALEXPONENTS: () => IFCDIMENSIONALEXPONENTS,
  11255. IFCDIRECTION: () => IFCDIRECTION,
  11256. IFCDISCRETEACCESSORY: () => IFCDISCRETEACCESSORY,
  11257. IFCDISCRETEACCESSORYTYPE: () => IFCDISCRETEACCESSORYTYPE,
  11258. IFCDISTANCEEXPRESSION: () => IFCDISTANCEEXPRESSION,
  11259. IFCDISTRIBUTIONCHAMBERELEMENT: () => IFCDISTRIBUTIONCHAMBERELEMENT,
  11260. IFCDISTRIBUTIONCHAMBERELEMENTTYPE: () => IFCDISTRIBUTIONCHAMBERELEMENTTYPE,
  11261. IFCDISTRIBUTIONCIRCUIT: () => IFCDISTRIBUTIONCIRCUIT,
  11262. IFCDISTRIBUTIONCONTROLELEMENT: () => IFCDISTRIBUTIONCONTROLELEMENT,
  11263. IFCDISTRIBUTIONCONTROLELEMENTTYPE: () => IFCDISTRIBUTIONCONTROLELEMENTTYPE,
  11264. IFCDISTRIBUTIONELEMENT: () => IFCDISTRIBUTIONELEMENT,
  11265. IFCDISTRIBUTIONELEMENTTYPE: () => IFCDISTRIBUTIONELEMENTTYPE,
  11266. IFCDISTRIBUTIONFLOWELEMENT: () => IFCDISTRIBUTIONFLOWELEMENT,
  11267. IFCDISTRIBUTIONFLOWELEMENTTYPE: () => IFCDISTRIBUTIONFLOWELEMENTTYPE,
  11268. IFCDISTRIBUTIONPORT: () => IFCDISTRIBUTIONPORT,
  11269. IFCDISTRIBUTIONSYSTEM: () => IFCDISTRIBUTIONSYSTEM,
  11270. IFCDOCUMENTINFORMATION: () => IFCDOCUMENTINFORMATION,
  11271. IFCDOCUMENTINFORMATIONRELATIONSHIP: () => IFCDOCUMENTINFORMATIONRELATIONSHIP,
  11272. IFCDOCUMENTREFERENCE: () => IFCDOCUMENTREFERENCE,
  11273. IFCDOOR: () => IFCDOOR,
  11274. IFCDOORLININGPROPERTIES: () => IFCDOORLININGPROPERTIES,
  11275. IFCDOORPANELPROPERTIES: () => IFCDOORPANELPROPERTIES,
  11276. IFCDOORSTANDARDCASE: () => IFCDOORSTANDARDCASE,
  11277. IFCDOORSTYLE: () => IFCDOORSTYLE,
  11278. IFCDOORTYPE: () => IFCDOORTYPE,
  11279. IFCDRAUGHTINGPREDEFINEDCOLOUR: () => IFCDRAUGHTINGPREDEFINEDCOLOUR,
  11280. IFCDRAUGHTINGPREDEFINEDCURVEFONT: () => IFCDRAUGHTINGPREDEFINEDCURVEFONT,
  11281. IFCDUCTFITTING: () => IFCDUCTFITTING,
  11282. IFCDUCTFITTINGTYPE: () => IFCDUCTFITTINGTYPE,
  11283. IFCDUCTSEGMENT: () => IFCDUCTSEGMENT,
  11284. IFCDUCTSEGMENTTYPE: () => IFCDUCTSEGMENTTYPE,
  11285. IFCDUCTSILENCER: () => IFCDUCTSILENCER,
  11286. IFCDUCTSILENCERTYPE: () => IFCDUCTSILENCERTYPE,
  11287. IFCEDGE: () => IFCEDGE,
  11288. IFCEDGECURVE: () => IFCEDGECURVE,
  11289. IFCEDGELOOP: () => IFCEDGELOOP,
  11290. IFCELECTRICAPPLIANCE: () => IFCELECTRICAPPLIANCE,
  11291. IFCELECTRICAPPLIANCETYPE: () => IFCELECTRICAPPLIANCETYPE,
  11292. IFCELECTRICDISTRIBUTIONBOARD: () => IFCELECTRICDISTRIBUTIONBOARD,
  11293. IFCELECTRICDISTRIBUTIONBOARDTYPE: () => IFCELECTRICDISTRIBUTIONBOARDTYPE,
  11294. IFCELECTRICFLOWSTORAGEDEVICE: () => IFCELECTRICFLOWSTORAGEDEVICE,
  11295. IFCELECTRICFLOWSTORAGEDEVICETYPE: () => IFCELECTRICFLOWSTORAGEDEVICETYPE,
  11296. IFCELECTRICGENERATOR: () => IFCELECTRICGENERATOR,
  11297. IFCELECTRICGENERATORTYPE: () => IFCELECTRICGENERATORTYPE,
  11298. IFCELECTRICMOTOR: () => IFCELECTRICMOTOR,
  11299. IFCELECTRICMOTORTYPE: () => IFCELECTRICMOTORTYPE,
  11300. IFCELECTRICTIMECONTROL: () => IFCELECTRICTIMECONTROL,
  11301. IFCELECTRICTIMECONTROLTYPE: () => IFCELECTRICTIMECONTROLTYPE,
  11302. IFCELEMENT: () => IFCELEMENT,
  11303. IFCELEMENTARYSURFACE: () => IFCELEMENTARYSURFACE,
  11304. IFCELEMENTASSEMBLY: () => IFCELEMENTASSEMBLY,
  11305. IFCELEMENTASSEMBLYTYPE: () => IFCELEMENTASSEMBLYTYPE,
  11306. IFCELEMENTCOMPONENT: () => IFCELEMENTCOMPONENT,
  11307. IFCELEMENTCOMPONENTTYPE: () => IFCELEMENTCOMPONENTTYPE,
  11308. IFCELEMENTQUANTITY: () => IFCELEMENTQUANTITY,
  11309. IFCELEMENTTYPE: () => IFCELEMENTTYPE,
  11310. IFCELLIPSE: () => IFCELLIPSE,
  11311. IFCELLIPSEPROFILEDEF: () => IFCELLIPSEPROFILEDEF,
  11312. IFCENERGYCONVERSIONDEVICE: () => IFCENERGYCONVERSIONDEVICE,
  11313. IFCENERGYCONVERSIONDEVICETYPE: () => IFCENERGYCONVERSIONDEVICETYPE,
  11314. IFCENGINE: () => IFCENGINE,
  11315. IFCENGINETYPE: () => IFCENGINETYPE,
  11316. IFCEVAPORATIVECOOLER: () => IFCEVAPORATIVECOOLER,
  11317. IFCEVAPORATIVECOOLERTYPE: () => IFCEVAPORATIVECOOLERTYPE,
  11318. IFCEVAPORATOR: () => IFCEVAPORATOR,
  11319. IFCEVAPORATORTYPE: () => IFCEVAPORATORTYPE,
  11320. IFCEVENT: () => IFCEVENT,
  11321. IFCEVENTTIME: () => IFCEVENTTIME,
  11322. IFCEVENTTYPE: () => IFCEVENTTYPE,
  11323. IFCEXTENDEDPROPERTIES: () => IFCEXTENDEDPROPERTIES,
  11324. IFCEXTERNALINFORMATION: () => IFCEXTERNALINFORMATION,
  11325. IFCEXTERNALLYDEFINEDHATCHSTYLE: () => IFCEXTERNALLYDEFINEDHATCHSTYLE,
  11326. IFCEXTERNALLYDEFINEDSURFACESTYLE: () => IFCEXTERNALLYDEFINEDSURFACESTYLE,
  11327. IFCEXTERNALLYDEFINEDTEXTFONT: () => IFCEXTERNALLYDEFINEDTEXTFONT,
  11328. IFCEXTERNALREFERENCE: () => IFCEXTERNALREFERENCE,
  11329. IFCEXTERNALREFERENCERELATIONSHIP: () => IFCEXTERNALREFERENCERELATIONSHIP,
  11330. IFCEXTERNALSPATIALELEMENT: () => IFCEXTERNALSPATIALELEMENT,
  11331. IFCEXTERNALSPATIALSTRUCTUREELEMENT: () => IFCEXTERNALSPATIALSTRUCTUREELEMENT,
  11332. IFCEXTRUDEDAREASOLID: () => IFCEXTRUDEDAREASOLID,
  11333. IFCEXTRUDEDAREASOLIDTAPERED: () => IFCEXTRUDEDAREASOLIDTAPERED,
  11334. IFCFACE: () => IFCFACE,
  11335. IFCFACEBASEDSURFACEMODEL: () => IFCFACEBASEDSURFACEMODEL,
  11336. IFCFACEBOUND: () => IFCFACEBOUND,
  11337. IFCFACEOUTERBOUND: () => IFCFACEOUTERBOUND,
  11338. IFCFACESURFACE: () => IFCFACESURFACE,
  11339. IFCFACETEDBREP: () => IFCFACETEDBREP,
  11340. IFCFACETEDBREPWITHVOIDS: () => IFCFACETEDBREPWITHVOIDS,
  11341. IFCFACILITY: () => IFCFACILITY,
  11342. IFCFACILITYPART: () => IFCFACILITYPART,
  11343. IFCFAILURECONNECTIONCONDITION: () => IFCFAILURECONNECTIONCONDITION,
  11344. IFCFAN: () => IFCFAN,
  11345. IFCFANTYPE: () => IFCFANTYPE,
  11346. IFCFASTENER: () => IFCFASTENER,
  11347. IFCFASTENERTYPE: () => IFCFASTENERTYPE,
  11348. IFCFEATUREELEMENT: () => IFCFEATUREELEMENT,
  11349. IFCFEATUREELEMENTADDITION: () => IFCFEATUREELEMENTADDITION,
  11350. IFCFEATUREELEMENTSUBTRACTION: () => IFCFEATUREELEMENTSUBTRACTION,
  11351. IFCFILLAREASTYLE: () => IFCFILLAREASTYLE,
  11352. IFCFILLAREASTYLEHATCHING: () => IFCFILLAREASTYLEHATCHING,
  11353. IFCFILLAREASTYLETILES: () => IFCFILLAREASTYLETILES,
  11354. IFCFILTER: () => IFCFILTER,
  11355. IFCFILTERTYPE: () => IFCFILTERTYPE,
  11356. IFCFIRESUPPRESSIONTERMINAL: () => IFCFIRESUPPRESSIONTERMINAL,
  11357. IFCFIRESUPPRESSIONTERMINALTYPE: () => IFCFIRESUPPRESSIONTERMINALTYPE,
  11358. IFCFIXEDREFERENCESWEPTAREASOLID: () => IFCFIXEDREFERENCESWEPTAREASOLID,
  11359. IFCFLOWCONTROLLER: () => IFCFLOWCONTROLLER,
  11360. IFCFLOWCONTROLLERTYPE: () => IFCFLOWCONTROLLERTYPE,
  11361. IFCFLOWFITTING: () => IFCFLOWFITTING,
  11362. IFCFLOWFITTINGTYPE: () => IFCFLOWFITTINGTYPE,
  11363. IFCFLOWINSTRUMENT: () => IFCFLOWINSTRUMENT,
  11364. IFCFLOWINSTRUMENTTYPE: () => IFCFLOWINSTRUMENTTYPE,
  11365. IFCFLOWMETER: () => IFCFLOWMETER,
  11366. IFCFLOWMETERTYPE: () => IFCFLOWMETERTYPE,
  11367. IFCFLOWMOVINGDEVICE: () => IFCFLOWMOVINGDEVICE,
  11368. IFCFLOWMOVINGDEVICETYPE: () => IFCFLOWMOVINGDEVICETYPE,
  11369. IFCFLOWSEGMENT: () => IFCFLOWSEGMENT,
  11370. IFCFLOWSEGMENTTYPE: () => IFCFLOWSEGMENTTYPE,
  11371. IFCFLOWSTORAGEDEVICE: () => IFCFLOWSTORAGEDEVICE,
  11372. IFCFLOWSTORAGEDEVICETYPE: () => IFCFLOWSTORAGEDEVICETYPE,
  11373. IFCFLOWTERMINAL: () => IFCFLOWTERMINAL,
  11374. IFCFLOWTERMINALTYPE: () => IFCFLOWTERMINALTYPE,
  11375. IFCFLOWTREATMENTDEVICE: () => IFCFLOWTREATMENTDEVICE,
  11376. IFCFLOWTREATMENTDEVICETYPE: () => IFCFLOWTREATMENTDEVICETYPE,
  11377. IFCFOOTING: () => IFCFOOTING,
  11378. IFCFOOTINGTYPE: () => IFCFOOTINGTYPE,
  11379. IFCFURNISHINGELEMENT: () => IFCFURNISHINGELEMENT,
  11380. IFCFURNISHINGELEMENTTYPE: () => IFCFURNISHINGELEMENTTYPE,
  11381. IFCFURNITURE: () => IFCFURNITURE,
  11382. IFCFURNITURETYPE: () => IFCFURNITURETYPE,
  11383. IFCGEOGRAPHICELEMENT: () => IFCGEOGRAPHICELEMENT,
  11384. IFCGEOGRAPHICELEMENTTYPE: () => IFCGEOGRAPHICELEMENTTYPE,
  11385. IFCGEOMETRICCURVESET: () => IFCGEOMETRICCURVESET,
  11386. IFCGEOMETRICREPRESENTATIONCONTEXT: () => IFCGEOMETRICREPRESENTATIONCONTEXT,
  11387. IFCGEOMETRICREPRESENTATIONITEM: () => IFCGEOMETRICREPRESENTATIONITEM,
  11388. IFCGEOMETRICREPRESENTATIONSUBCONTEXT: () => IFCGEOMETRICREPRESENTATIONSUBCONTEXT,
  11389. IFCGEOMETRICSET: () => IFCGEOMETRICSET,
  11390. IFCGRID: () => IFCGRID,
  11391. IFCGRIDAXIS: () => IFCGRIDAXIS,
  11392. IFCGRIDPLACEMENT: () => IFCGRIDPLACEMENT,
  11393. IFCGROUP: () => IFCGROUP,
  11394. IFCHALFSPACESOLID: () => IFCHALFSPACESOLID,
  11395. IFCHEATEXCHANGER: () => IFCHEATEXCHANGER,
  11396. IFCHEATEXCHANGERTYPE: () => IFCHEATEXCHANGERTYPE,
  11397. IFCHUMIDIFIER: () => IFCHUMIDIFIER,
  11398. IFCHUMIDIFIERTYPE: () => IFCHUMIDIFIERTYPE,
  11399. IFCIMAGETEXTURE: () => IFCIMAGETEXTURE,
  11400. IFCINDEXEDCOLOURMAP: () => IFCINDEXEDCOLOURMAP,
  11401. IFCINDEXEDPOLYCURVE: () => IFCINDEXEDPOLYCURVE,
  11402. IFCINDEXEDPOLYGONALFACE: () => IFCINDEXEDPOLYGONALFACE,
  11403. IFCINDEXEDPOLYGONALFACEWITHVOIDS: () => IFCINDEXEDPOLYGONALFACEWITHVOIDS,
  11404. IFCINDEXEDTEXTUREMAP: () => IFCINDEXEDTEXTUREMAP,
  11405. IFCINDEXEDTRIANGLETEXTUREMAP: () => IFCINDEXEDTRIANGLETEXTUREMAP,
  11406. IFCINTERCEPTOR: () => IFCINTERCEPTOR,
  11407. IFCINTERCEPTORTYPE: () => IFCINTERCEPTORTYPE,
  11408. IFCINTERSECTIONCURVE: () => IFCINTERSECTIONCURVE,
  11409. IFCINVENTORY: () => IFCINVENTORY,
  11410. IFCIRREGULARTIMESERIES: () => IFCIRREGULARTIMESERIES,
  11411. IFCIRREGULARTIMESERIESVALUE: () => IFCIRREGULARTIMESERIESVALUE,
  11412. IFCISHAPEPROFILEDEF: () => IFCISHAPEPROFILEDEF,
  11413. IFCJUNCTIONBOX: () => IFCJUNCTIONBOX,
  11414. IFCJUNCTIONBOXTYPE: () => IFCJUNCTIONBOXTYPE,
  11415. IFCLABORRESOURCE: () => IFCLABORRESOURCE,
  11416. IFCLABORRESOURCETYPE: () => IFCLABORRESOURCETYPE,
  11417. IFCLAGTIME: () => IFCLAGTIME,
  11418. IFCLAMP: () => IFCLAMP,
  11419. IFCLAMPTYPE: () => IFCLAMPTYPE,
  11420. IFCLIBRARYINFORMATION: () => IFCLIBRARYINFORMATION,
  11421. IFCLIBRARYREFERENCE: () => IFCLIBRARYREFERENCE,
  11422. IFCLIGHTDISTRIBUTIONDATA: () => IFCLIGHTDISTRIBUTIONDATA,
  11423. IFCLIGHTFIXTURE: () => IFCLIGHTFIXTURE,
  11424. IFCLIGHTFIXTURETYPE: () => IFCLIGHTFIXTURETYPE,
  11425. IFCLIGHTINTENSITYDISTRIBUTION: () => IFCLIGHTINTENSITYDISTRIBUTION,
  11426. IFCLIGHTSOURCE: () => IFCLIGHTSOURCE,
  11427. IFCLIGHTSOURCEAMBIENT: () => IFCLIGHTSOURCEAMBIENT,
  11428. IFCLIGHTSOURCEDIRECTIONAL: () => IFCLIGHTSOURCEDIRECTIONAL,
  11429. IFCLIGHTSOURCEGONIOMETRIC: () => IFCLIGHTSOURCEGONIOMETRIC,
  11430. IFCLIGHTSOURCEPOSITIONAL: () => IFCLIGHTSOURCEPOSITIONAL,
  11431. IFCLIGHTSOURCESPOT: () => IFCLIGHTSOURCESPOT,
  11432. IFCLINE: () => IFCLINE,
  11433. IFCLINEARPLACEMENT: () => IFCLINEARPLACEMENT,
  11434. IFCLINEARPOSITIONINGELEMENT: () => IFCLINEARPOSITIONINGELEMENT,
  11435. IFCLINESEGMENT2D: () => IFCLINESEGMENT2D,
  11436. IFCLOCALPLACEMENT: () => IFCLOCALPLACEMENT,
  11437. IFCLOOP: () => IFCLOOP,
  11438. IFCLSHAPEPROFILEDEF: () => IFCLSHAPEPROFILEDEF,
  11439. IFCMANIFOLDSOLIDBREP: () => IFCMANIFOLDSOLIDBREP,
  11440. IFCMAPCONVERSION: () => IFCMAPCONVERSION,
  11441. IFCMAPPEDITEM: () => IFCMAPPEDITEM,
  11442. IFCMATERIAL: () => IFCMATERIAL,
  11443. IFCMATERIALCLASSIFICATIONRELATIONSHIP: () => IFCMATERIALCLASSIFICATIONRELATIONSHIP,
  11444. IFCMATERIALCONSTITUENT: () => IFCMATERIALCONSTITUENT,
  11445. IFCMATERIALCONSTITUENTSET: () => IFCMATERIALCONSTITUENTSET,
  11446. IFCMATERIALDEFINITION: () => IFCMATERIALDEFINITION,
  11447. IFCMATERIALDEFINITIONREPRESENTATION: () => IFCMATERIALDEFINITIONREPRESENTATION,
  11448. IFCMATERIALLAYER: () => IFCMATERIALLAYER,
  11449. IFCMATERIALLAYERSET: () => IFCMATERIALLAYERSET,
  11450. IFCMATERIALLAYERSETUSAGE: () => IFCMATERIALLAYERSETUSAGE,
  11451. IFCMATERIALLAYERWITHOFFSETS: () => IFCMATERIALLAYERWITHOFFSETS,
  11452. IFCMATERIALLIST: () => IFCMATERIALLIST,
  11453. IFCMATERIALPROFILE: () => IFCMATERIALPROFILE,
  11454. IFCMATERIALPROFILESET: () => IFCMATERIALPROFILESET,
  11455. IFCMATERIALPROFILESETUSAGE: () => IFCMATERIALPROFILESETUSAGE,
  11456. IFCMATERIALPROFILESETUSAGETAPERING: () => IFCMATERIALPROFILESETUSAGETAPERING,
  11457. IFCMATERIALPROFILEWITHOFFSETS: () => IFCMATERIALPROFILEWITHOFFSETS,
  11458. IFCMATERIALPROPERTIES: () => IFCMATERIALPROPERTIES,
  11459. IFCMATERIALRELATIONSHIP: () => IFCMATERIALRELATIONSHIP,
  11460. IFCMATERIALUSAGEDEFINITION: () => IFCMATERIALUSAGEDEFINITION,
  11461. IFCMEASUREWITHUNIT: () => IFCMEASUREWITHUNIT,
  11462. IFCMECHANICALFASTENER: () => IFCMECHANICALFASTENER,
  11463. IFCMECHANICALFASTENERTYPE: () => IFCMECHANICALFASTENERTYPE,
  11464. IFCMEDICALDEVICE: () => IFCMEDICALDEVICE,
  11465. IFCMEDICALDEVICETYPE: () => IFCMEDICALDEVICETYPE,
  11466. IFCMEMBER: () => IFCMEMBER,
  11467. IFCMEMBERSTANDARDCASE: () => IFCMEMBERSTANDARDCASE,
  11468. IFCMEMBERTYPE: () => IFCMEMBERTYPE,
  11469. IFCMETRIC: () => IFCMETRIC,
  11470. IFCMIRROREDPROFILEDEF: () => IFCMIRROREDPROFILEDEF,
  11471. IFCMONETARYUNIT: () => IFCMONETARYUNIT,
  11472. IFCMOTORCONNECTION: () => IFCMOTORCONNECTION,
  11473. IFCMOTORCONNECTIONTYPE: () => IFCMOTORCONNECTIONTYPE,
  11474. IFCNAMEDUNIT: () => IFCNAMEDUNIT,
  11475. IFCOBJECT: () => IFCOBJECT,
  11476. IFCOBJECTDEFINITION: () => IFCOBJECTDEFINITION,
  11477. IFCOBJECTIVE: () => IFCOBJECTIVE,
  11478. IFCOBJECTPLACEMENT: () => IFCOBJECTPLACEMENT,
  11479. IFCOCCUPANT: () => IFCOCCUPANT,
  11480. IFCOFFSETCURVE: () => IFCOFFSETCURVE,
  11481. IFCOFFSETCURVE2D: () => IFCOFFSETCURVE2D,
  11482. IFCOFFSETCURVE3D: () => IFCOFFSETCURVE3D,
  11483. IFCOFFSETCURVEBYDISTANCES: () => IFCOFFSETCURVEBYDISTANCES,
  11484. IFCOPENINGELEMENT: () => IFCOPENINGELEMENT,
  11485. IFCOPENINGSTANDARDCASE: () => IFCOPENINGSTANDARDCASE,
  11486. IFCOPENSHELL: () => IFCOPENSHELL,
  11487. IFCORGANIZATION: () => IFCORGANIZATION,
  11488. IFCORGANIZATIONRELATIONSHIP: () => IFCORGANIZATIONRELATIONSHIP,
  11489. IFCORIENTATIONEXPRESSION: () => IFCORIENTATIONEXPRESSION,
  11490. IFCORIENTEDEDGE: () => IFCORIENTEDEDGE,
  11491. IFCOUTERBOUNDARYCURVE: () => IFCOUTERBOUNDARYCURVE,
  11492. IFCOUTLET: () => IFCOUTLET,
  11493. IFCOUTLETTYPE: () => IFCOUTLETTYPE,
  11494. IFCOWNERHISTORY: () => IFCOWNERHISTORY,
  11495. IFCPARAMETERIZEDPROFILEDEF: () => IFCPARAMETERIZEDPROFILEDEF,
  11496. IFCPATH: () => IFCPATH,
  11497. IFCPCURVE: () => IFCPCURVE,
  11498. IFCPERFORMANCEHISTORY: () => IFCPERFORMANCEHISTORY,
  11499. IFCPERMEABLECOVERINGPROPERTIES: () => IFCPERMEABLECOVERINGPROPERTIES,
  11500. IFCPERMIT: () => IFCPERMIT,
  11501. IFCPERSON: () => IFCPERSON,
  11502. IFCPERSONANDORGANIZATION: () => IFCPERSONANDORGANIZATION,
  11503. IFCPHYSICALCOMPLEXQUANTITY: () => IFCPHYSICALCOMPLEXQUANTITY,
  11504. IFCPHYSICALQUANTITY: () => IFCPHYSICALQUANTITY,
  11505. IFCPHYSICALSIMPLEQUANTITY: () => IFCPHYSICALSIMPLEQUANTITY,
  11506. IFCPILE: () => IFCPILE,
  11507. IFCPILETYPE: () => IFCPILETYPE,
  11508. IFCPIPEFITTING: () => IFCPIPEFITTING,
  11509. IFCPIPEFITTINGTYPE: () => IFCPIPEFITTINGTYPE,
  11510. IFCPIPESEGMENT: () => IFCPIPESEGMENT,
  11511. IFCPIPESEGMENTTYPE: () => IFCPIPESEGMENTTYPE,
  11512. IFCPIXELTEXTURE: () => IFCPIXELTEXTURE,
  11513. IFCPLACEMENT: () => IFCPLACEMENT,
  11514. IFCPLANARBOX: () => IFCPLANARBOX,
  11515. IFCPLANAREXTENT: () => IFCPLANAREXTENT,
  11516. IFCPLANE: () => IFCPLANE,
  11517. IFCPLATE: () => IFCPLATE,
  11518. IFCPLATESTANDARDCASE: () => IFCPLATESTANDARDCASE,
  11519. IFCPLATETYPE: () => IFCPLATETYPE,
  11520. IFCPOINT: () => IFCPOINT,
  11521. IFCPOINTONCURVE: () => IFCPOINTONCURVE,
  11522. IFCPOINTONSURFACE: () => IFCPOINTONSURFACE,
  11523. IFCPOLYGONALBOUNDEDHALFSPACE: () => IFCPOLYGONALBOUNDEDHALFSPACE,
  11524. IFCPOLYGONALFACESET: () => IFCPOLYGONALFACESET,
  11525. IFCPOLYLINE: () => IFCPOLYLINE,
  11526. IFCPOLYLOOP: () => IFCPOLYLOOP,
  11527. IFCPORT: () => IFCPORT,
  11528. IFCPOSITIONINGELEMENT: () => IFCPOSITIONINGELEMENT,
  11529. IFCPOSTALADDRESS: () => IFCPOSTALADDRESS,
  11530. IFCPREDEFINEDCOLOUR: () => IFCPREDEFINEDCOLOUR,
  11531. IFCPREDEFINEDCURVEFONT: () => IFCPREDEFINEDCURVEFONT,
  11532. IFCPREDEFINEDITEM: () => IFCPREDEFINEDITEM,
  11533. IFCPREDEFINEDPROPERTIES: () => IFCPREDEFINEDPROPERTIES,
  11534. IFCPREDEFINEDPROPERTYSET: () => IFCPREDEFINEDPROPERTYSET,
  11535. IFCPREDEFINEDTEXTFONT: () => IFCPREDEFINEDTEXTFONT,
  11536. IFCPRESENTATIONITEM: () => IFCPRESENTATIONITEM,
  11537. IFCPRESENTATIONLAYERASSIGNMENT: () => IFCPRESENTATIONLAYERASSIGNMENT,
  11538. IFCPRESENTATIONLAYERWITHSTYLE: () => IFCPRESENTATIONLAYERWITHSTYLE,
  11539. IFCPRESENTATIONSTYLE: () => IFCPRESENTATIONSTYLE,
  11540. IFCPRESENTATIONSTYLEASSIGNMENT: () => IFCPRESENTATIONSTYLEASSIGNMENT,
  11541. IFCPROCEDURE: () => IFCPROCEDURE,
  11542. IFCPROCEDURETYPE: () => IFCPROCEDURETYPE,
  11543. IFCPROCESS: () => IFCPROCESS,
  11544. IFCPRODUCT: () => IFCPRODUCT,
  11545. IFCPRODUCTDEFINITIONSHAPE: () => IFCPRODUCTDEFINITIONSHAPE,
  11546. IFCPRODUCTREPRESENTATION: () => IFCPRODUCTREPRESENTATION,
  11547. IFCPROFILEDEF: () => IFCPROFILEDEF,
  11548. IFCPROFILEPROPERTIES: () => IFCPROFILEPROPERTIES,
  11549. IFCPROJECT: () => IFCPROJECT,
  11550. IFCPROJECTEDCRS: () => IFCPROJECTEDCRS,
  11551. IFCPROJECTIONELEMENT: () => IFCPROJECTIONELEMENT,
  11552. IFCPROJECTLIBRARY: () => IFCPROJECTLIBRARY,
  11553. IFCPROJECTORDER: () => IFCPROJECTORDER,
  11554. IFCPROPERTY: () => IFCPROPERTY,
  11555. IFCPROPERTYABSTRACTION: () => IFCPROPERTYABSTRACTION,
  11556. IFCPROPERTYBOUNDEDVALUE: () => IFCPROPERTYBOUNDEDVALUE,
  11557. IFCPROPERTYDEFINITION: () => IFCPROPERTYDEFINITION,
  11558. IFCPROPERTYDEPENDENCYRELATIONSHIP: () => IFCPROPERTYDEPENDENCYRELATIONSHIP,
  11559. IFCPROPERTYENUMERATEDVALUE: () => IFCPROPERTYENUMERATEDVALUE,
  11560. IFCPROPERTYENUMERATION: () => IFCPROPERTYENUMERATION,
  11561. IFCPROPERTYLISTVALUE: () => IFCPROPERTYLISTVALUE,
  11562. IFCPROPERTYREFERENCEVALUE: () => IFCPROPERTYREFERENCEVALUE,
  11563. IFCPROPERTYSET: () => IFCPROPERTYSET,
  11564. IFCPROPERTYSETDEFINITION: () => IFCPROPERTYSETDEFINITION,
  11565. IFCPROPERTYSETTEMPLATE: () => IFCPROPERTYSETTEMPLATE,
  11566. IFCPROPERTYSINGLEVALUE: () => IFCPROPERTYSINGLEVALUE,
  11567. IFCPROPERTYTABLEVALUE: () => IFCPROPERTYTABLEVALUE,
  11568. IFCPROPERTYTEMPLATE: () => IFCPROPERTYTEMPLATE,
  11569. IFCPROPERTYTEMPLATEDEFINITION: () => IFCPROPERTYTEMPLATEDEFINITION,
  11570. IFCPROTECTIVEDEVICE: () => IFCPROTECTIVEDEVICE,
  11571. IFCPROTECTIVEDEVICETRIPPINGUNIT: () => IFCPROTECTIVEDEVICETRIPPINGUNIT,
  11572. IFCPROTECTIVEDEVICETRIPPINGUNITTYPE: () => IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,
  11573. IFCPROTECTIVEDEVICETYPE: () => IFCPROTECTIVEDEVICETYPE,
  11574. IFCPROXY: () => IFCPROXY,
  11575. IFCPUMP: () => IFCPUMP,
  11576. IFCPUMPTYPE: () => IFCPUMPTYPE,
  11577. IFCQUANTITYAREA: () => IFCQUANTITYAREA,
  11578. IFCQUANTITYCOUNT: () => IFCQUANTITYCOUNT,
  11579. IFCQUANTITYLENGTH: () => IFCQUANTITYLENGTH,
  11580. IFCQUANTITYSET: () => IFCQUANTITYSET,
  11581. IFCQUANTITYTIME: () => IFCQUANTITYTIME,
  11582. IFCQUANTITYVOLUME: () => IFCQUANTITYVOLUME,
  11583. IFCQUANTITYWEIGHT: () => IFCQUANTITYWEIGHT,
  11584. IFCRAILING: () => IFCRAILING,
  11585. IFCRAILINGTYPE: () => IFCRAILINGTYPE,
  11586. IFCRAMP: () => IFCRAMP,
  11587. IFCRAMPFLIGHT: () => IFCRAMPFLIGHT,
  11588. IFCRAMPFLIGHTTYPE: () => IFCRAMPFLIGHTTYPE,
  11589. IFCRAMPTYPE: () => IFCRAMPTYPE,
  11590. IFCRATIONALBSPLINECURVEWITHKNOTS: () => IFCRATIONALBSPLINECURVEWITHKNOTS,
  11591. IFCRATIONALBSPLINESURFACEWITHKNOTS: () => IFCRATIONALBSPLINESURFACEWITHKNOTS,
  11592. IFCRECTANGLEHOLLOWPROFILEDEF: () => IFCRECTANGLEHOLLOWPROFILEDEF,
  11593. IFCRECTANGLEPROFILEDEF: () => IFCRECTANGLEPROFILEDEF,
  11594. IFCRECTANGULARPYRAMID: () => IFCRECTANGULARPYRAMID,
  11595. IFCRECTANGULARTRIMMEDSURFACE: () => IFCRECTANGULARTRIMMEDSURFACE,
  11596. IFCRECURRENCEPATTERN: () => IFCRECURRENCEPATTERN,
  11597. IFCREFERENCE: () => IFCREFERENCE,
  11598. IFCREFERENT: () => IFCREFERENT,
  11599. IFCREGULARTIMESERIES: () => IFCREGULARTIMESERIES,
  11600. IFCREINFORCEMENTBARPROPERTIES: () => IFCREINFORCEMENTBARPROPERTIES,
  11601. IFCREINFORCEMENTDEFINITIONPROPERTIES: () => IFCREINFORCEMENTDEFINITIONPROPERTIES,
  11602. IFCREINFORCINGBAR: () => IFCREINFORCINGBAR,
  11603. IFCREINFORCINGBARTYPE: () => IFCREINFORCINGBARTYPE,
  11604. IFCREINFORCINGELEMENT: () => IFCREINFORCINGELEMENT,
  11605. IFCREINFORCINGELEMENTTYPE: () => IFCREINFORCINGELEMENTTYPE,
  11606. IFCREINFORCINGMESH: () => IFCREINFORCINGMESH,
  11607. IFCREINFORCINGMESHTYPE: () => IFCREINFORCINGMESHTYPE,
  11608. IFCRELAGGREGATES: () => IFCRELAGGREGATES,
  11609. IFCRELASSIGNS: () => IFCRELASSIGNS,
  11610. IFCRELASSIGNSTOACTOR: () => IFCRELASSIGNSTOACTOR,
  11611. IFCRELASSIGNSTOCONTROL: () => IFCRELASSIGNSTOCONTROL,
  11612. IFCRELASSIGNSTOGROUP: () => IFCRELASSIGNSTOGROUP,
  11613. IFCRELASSIGNSTOGROUPBYFACTOR: () => IFCRELASSIGNSTOGROUPBYFACTOR,
  11614. IFCRELASSIGNSTOPROCESS: () => IFCRELASSIGNSTOPROCESS,
  11615. IFCRELASSIGNSTOPRODUCT: () => IFCRELASSIGNSTOPRODUCT,
  11616. IFCRELASSIGNSTORESOURCE: () => IFCRELASSIGNSTORESOURCE,
  11617. IFCRELASSOCIATES: () => IFCRELASSOCIATES,
  11618. IFCRELASSOCIATESAPPROVAL: () => IFCRELASSOCIATESAPPROVAL,
  11619. IFCRELASSOCIATESCLASSIFICATION: () => IFCRELASSOCIATESCLASSIFICATION,
  11620. IFCRELASSOCIATESCONSTRAINT: () => IFCRELASSOCIATESCONSTRAINT,
  11621. IFCRELASSOCIATESDOCUMENT: () => IFCRELASSOCIATESDOCUMENT,
  11622. IFCRELASSOCIATESLIBRARY: () => IFCRELASSOCIATESLIBRARY,
  11623. IFCRELASSOCIATESMATERIAL: () => IFCRELASSOCIATESMATERIAL,
  11624. IFCRELATIONSHIP: () => IFCRELATIONSHIP,
  11625. IFCRELCONNECTS: () => IFCRELCONNECTS,
  11626. IFCRELCONNECTSELEMENTS: () => IFCRELCONNECTSELEMENTS,
  11627. IFCRELCONNECTSPATHELEMENTS: () => IFCRELCONNECTSPATHELEMENTS,
  11628. IFCRELCONNECTSPORTS: () => IFCRELCONNECTSPORTS,
  11629. IFCRELCONNECTSPORTTOELEMENT: () => IFCRELCONNECTSPORTTOELEMENT,
  11630. IFCRELCONNECTSSTRUCTURALACTIVITY: () => IFCRELCONNECTSSTRUCTURALACTIVITY,
  11631. IFCRELCONNECTSSTRUCTURALMEMBER: () => IFCRELCONNECTSSTRUCTURALMEMBER,
  11632. IFCRELCONNECTSWITHECCENTRICITY: () => IFCRELCONNECTSWITHECCENTRICITY,
  11633. IFCRELCONNECTSWITHREALIZINGELEMENTS: () => IFCRELCONNECTSWITHREALIZINGELEMENTS,
  11634. IFCRELCONTAINEDINSPATIALSTRUCTURE: () => IFCRELCONTAINEDINSPATIALSTRUCTURE,
  11635. IFCRELCOVERSBLDGELEMENTS: () => IFCRELCOVERSBLDGELEMENTS,
  11636. IFCRELCOVERSSPACES: () => IFCRELCOVERSSPACES,
  11637. IFCRELDECLARES: () => IFCRELDECLARES,
  11638. IFCRELDECOMPOSES: () => IFCRELDECOMPOSES,
  11639. IFCRELDEFINES: () => IFCRELDEFINES,
  11640. IFCRELDEFINESBYOBJECT: () => IFCRELDEFINESBYOBJECT,
  11641. IFCRELDEFINESBYPROPERTIES: () => IFCRELDEFINESBYPROPERTIES,
  11642. IFCRELDEFINESBYTEMPLATE: () => IFCRELDEFINESBYTEMPLATE,
  11643. IFCRELDEFINESBYTYPE: () => IFCRELDEFINESBYTYPE,
  11644. IFCRELFILLSELEMENT: () => IFCRELFILLSELEMENT,
  11645. IFCRELFLOWCONTROLELEMENTS: () => IFCRELFLOWCONTROLELEMENTS,
  11646. IFCRELINTERFERESELEMENTS: () => IFCRELINTERFERESELEMENTS,
  11647. IFCRELNESTS: () => IFCRELNESTS,
  11648. IFCRELPOSITIONS: () => IFCRELPOSITIONS,
  11649. IFCRELPROJECTSELEMENT: () => IFCRELPROJECTSELEMENT,
  11650. IFCRELREFERENCEDINSPATIALSTRUCTURE: () => IFCRELREFERENCEDINSPATIALSTRUCTURE,
  11651. IFCRELSEQUENCE: () => IFCRELSEQUENCE,
  11652. IFCRELSERVICESBUILDINGS: () => IFCRELSERVICESBUILDINGS,
  11653. IFCRELSPACEBOUNDARY: () => IFCRELSPACEBOUNDARY,
  11654. IFCRELSPACEBOUNDARY1STLEVEL: () => IFCRELSPACEBOUNDARY1STLEVEL,
  11655. IFCRELSPACEBOUNDARY2NDLEVEL: () => IFCRELSPACEBOUNDARY2NDLEVEL,
  11656. IFCRELVOIDSELEMENT: () => IFCRELVOIDSELEMENT,
  11657. IFCREPARAMETRISEDCOMPOSITECURVESEGMENT: () => IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,
  11658. IFCREPRESENTATION: () => IFCREPRESENTATION,
  11659. IFCREPRESENTATIONCONTEXT: () => IFCREPRESENTATIONCONTEXT,
  11660. IFCREPRESENTATIONITEM: () => IFCREPRESENTATIONITEM,
  11661. IFCREPRESENTATIONMAP: () => IFCREPRESENTATIONMAP,
  11662. IFCRESOURCE: () => IFCRESOURCE,
  11663. IFCRESOURCEAPPROVALRELATIONSHIP: () => IFCRESOURCEAPPROVALRELATIONSHIP,
  11664. IFCRESOURCECONSTRAINTRELATIONSHIP: () => IFCRESOURCECONSTRAINTRELATIONSHIP,
  11665. IFCRESOURCELEVELRELATIONSHIP: () => IFCRESOURCELEVELRELATIONSHIP,
  11666. IFCRESOURCETIME: () => IFCRESOURCETIME,
  11667. IFCREVOLVEDAREASOLID: () => IFCREVOLVEDAREASOLID,
  11668. IFCREVOLVEDAREASOLIDTAPERED: () => IFCREVOLVEDAREASOLIDTAPERED,
  11669. IFCRIGHTCIRCULARCONE: () => IFCRIGHTCIRCULARCONE,
  11670. IFCRIGHTCIRCULARCYLINDER: () => IFCRIGHTCIRCULARCYLINDER,
  11671. IFCROOF: () => IFCROOF,
  11672. IFCROOFTYPE: () => IFCROOFTYPE,
  11673. IFCROOT: () => IFCROOT,
  11674. IFCROUNDEDRECTANGLEPROFILEDEF: () => IFCROUNDEDRECTANGLEPROFILEDEF,
  11675. IFCSANITARYTERMINAL: () => IFCSANITARYTERMINAL,
  11676. IFCSANITARYTERMINALTYPE: () => IFCSANITARYTERMINALTYPE,
  11677. IFCSCHEDULINGTIME: () => IFCSCHEDULINGTIME,
  11678. IFCSEAMCURVE: () => IFCSEAMCURVE,
  11679. IFCSECTIONEDSOLID: () => IFCSECTIONEDSOLID,
  11680. IFCSECTIONEDSOLIDHORIZONTAL: () => IFCSECTIONEDSOLIDHORIZONTAL,
  11681. IFCSECTIONEDSPINE: () => IFCSECTIONEDSPINE,
  11682. IFCSECTIONPROPERTIES: () => IFCSECTIONPROPERTIES,
  11683. IFCSECTIONREINFORCEMENTPROPERTIES: () => IFCSECTIONREINFORCEMENTPROPERTIES,
  11684. IFCSENSOR: () => IFCSENSOR,
  11685. IFCSENSORTYPE: () => IFCSENSORTYPE,
  11686. IFCSHADINGDEVICE: () => IFCSHADINGDEVICE,
  11687. IFCSHADINGDEVICETYPE: () => IFCSHADINGDEVICETYPE,
  11688. IFCSHAPEASPECT: () => IFCSHAPEASPECT,
  11689. IFCSHAPEMODEL: () => IFCSHAPEMODEL,
  11690. IFCSHAPEREPRESENTATION: () => IFCSHAPEREPRESENTATION,
  11691. IFCSHELLBASEDSURFACEMODEL: () => IFCSHELLBASEDSURFACEMODEL,
  11692. IFCSIMPLEPROPERTY: () => IFCSIMPLEPROPERTY,
  11693. IFCSIMPLEPROPERTYTEMPLATE: () => IFCSIMPLEPROPERTYTEMPLATE,
  11694. IFCSITE: () => IFCSITE,
  11695. IFCSIUNIT: () => IFCSIUNIT,
  11696. IFCSLAB: () => IFCSLAB,
  11697. IFCSLABELEMENTEDCASE: () => IFCSLABELEMENTEDCASE,
  11698. IFCSLABSTANDARDCASE: () => IFCSLABSTANDARDCASE,
  11699. IFCSLABTYPE: () => IFCSLABTYPE,
  11700. IFCSLIPPAGECONNECTIONCONDITION: () => IFCSLIPPAGECONNECTIONCONDITION,
  11701. IFCSOLARDEVICE: () => IFCSOLARDEVICE,
  11702. IFCSOLARDEVICETYPE: () => IFCSOLARDEVICETYPE,
  11703. IFCSOLIDMODEL: () => IFCSOLIDMODEL,
  11704. IFCSPACE: () => IFCSPACE,
  11705. IFCSPACEHEATER: () => IFCSPACEHEATER,
  11706. IFCSPACEHEATERTYPE: () => IFCSPACEHEATERTYPE,
  11707. IFCSPACETYPE: () => IFCSPACETYPE,
  11708. IFCSPATIALELEMENT: () => IFCSPATIALELEMENT,
  11709. IFCSPATIALELEMENTTYPE: () => IFCSPATIALELEMENTTYPE,
  11710. IFCSPATIALSTRUCTUREELEMENT: () => IFCSPATIALSTRUCTUREELEMENT,
  11711. IFCSPATIALSTRUCTUREELEMENTTYPE: () => IFCSPATIALSTRUCTUREELEMENTTYPE,
  11712. IFCSPATIALZONE: () => IFCSPATIALZONE,
  11713. IFCSPATIALZONETYPE: () => IFCSPATIALZONETYPE,
  11714. IFCSPHERE: () => IFCSPHERE,
  11715. IFCSPHERICALSURFACE: () => IFCSPHERICALSURFACE,
  11716. IFCSTACKTERMINAL: () => IFCSTACKTERMINAL,
  11717. IFCSTACKTERMINALTYPE: () => IFCSTACKTERMINALTYPE,
  11718. IFCSTAIR: () => IFCSTAIR,
  11719. IFCSTAIRFLIGHT: () => IFCSTAIRFLIGHT,
  11720. IFCSTAIRFLIGHTTYPE: () => IFCSTAIRFLIGHTTYPE,
  11721. IFCSTAIRTYPE: () => IFCSTAIRTYPE,
  11722. IFCSTRUCTURALACTION: () => IFCSTRUCTURALACTION,
  11723. IFCSTRUCTURALACTIVITY: () => IFCSTRUCTURALACTIVITY,
  11724. IFCSTRUCTURALANALYSISMODEL: () => IFCSTRUCTURALANALYSISMODEL,
  11725. IFCSTRUCTURALCONNECTION: () => IFCSTRUCTURALCONNECTION,
  11726. IFCSTRUCTURALCONNECTIONCONDITION: () => IFCSTRUCTURALCONNECTIONCONDITION,
  11727. IFCSTRUCTURALCURVEACTION: () => IFCSTRUCTURALCURVEACTION,
  11728. IFCSTRUCTURALCURVECONNECTION: () => IFCSTRUCTURALCURVECONNECTION,
  11729. IFCSTRUCTURALCURVEMEMBER: () => IFCSTRUCTURALCURVEMEMBER,
  11730. IFCSTRUCTURALCURVEMEMBERVARYING: () => IFCSTRUCTURALCURVEMEMBERVARYING,
  11731. IFCSTRUCTURALCURVEREACTION: () => IFCSTRUCTURALCURVEREACTION,
  11732. IFCSTRUCTURALITEM: () => IFCSTRUCTURALITEM,
  11733. IFCSTRUCTURALLINEARACTION: () => IFCSTRUCTURALLINEARACTION,
  11734. IFCSTRUCTURALLOAD: () => IFCSTRUCTURALLOAD,
  11735. IFCSTRUCTURALLOADCASE: () => IFCSTRUCTURALLOADCASE,
  11736. IFCSTRUCTURALLOADCONFIGURATION: () => IFCSTRUCTURALLOADCONFIGURATION,
  11737. IFCSTRUCTURALLOADGROUP: () => IFCSTRUCTURALLOADGROUP,
  11738. IFCSTRUCTURALLOADLINEARFORCE: () => IFCSTRUCTURALLOADLINEARFORCE,
  11739. IFCSTRUCTURALLOADORRESULT: () => IFCSTRUCTURALLOADORRESULT,
  11740. IFCSTRUCTURALLOADPLANARFORCE: () => IFCSTRUCTURALLOADPLANARFORCE,
  11741. IFCSTRUCTURALLOADSINGLEDISPLACEMENT: () => IFCSTRUCTURALLOADSINGLEDISPLACEMENT,
  11742. IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION: () => IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,
  11743. IFCSTRUCTURALLOADSINGLEFORCE: () => IFCSTRUCTURALLOADSINGLEFORCE,
  11744. IFCSTRUCTURALLOADSINGLEFORCEWARPING: () => IFCSTRUCTURALLOADSINGLEFORCEWARPING,
  11745. IFCSTRUCTURALLOADSTATIC: () => IFCSTRUCTURALLOADSTATIC,
  11746. IFCSTRUCTURALLOADTEMPERATURE: () => IFCSTRUCTURALLOADTEMPERATURE,
  11747. IFCSTRUCTURALMEMBER: () => IFCSTRUCTURALMEMBER,
  11748. IFCSTRUCTURALPLANARACTION: () => IFCSTRUCTURALPLANARACTION,
  11749. IFCSTRUCTURALPOINTACTION: () => IFCSTRUCTURALPOINTACTION,
  11750. IFCSTRUCTURALPOINTCONNECTION: () => IFCSTRUCTURALPOINTCONNECTION,
  11751. IFCSTRUCTURALPOINTREACTION: () => IFCSTRUCTURALPOINTREACTION,
  11752. IFCSTRUCTURALREACTION: () => IFCSTRUCTURALREACTION,
  11753. IFCSTRUCTURALRESULTGROUP: () => IFCSTRUCTURALRESULTGROUP,
  11754. IFCSTRUCTURALSURFACEACTION: () => IFCSTRUCTURALSURFACEACTION,
  11755. IFCSTRUCTURALSURFACECONNECTION: () => IFCSTRUCTURALSURFACECONNECTION,
  11756. IFCSTRUCTURALSURFACEMEMBER: () => IFCSTRUCTURALSURFACEMEMBER,
  11757. IFCSTRUCTURALSURFACEMEMBERVARYING: () => IFCSTRUCTURALSURFACEMEMBERVARYING,
  11758. IFCSTRUCTURALSURFACEREACTION: () => IFCSTRUCTURALSURFACEREACTION,
  11759. IFCSTYLEDITEM: () => IFCSTYLEDITEM,
  11760. IFCSTYLEDREPRESENTATION: () => IFCSTYLEDREPRESENTATION,
  11761. IFCSTYLEMODEL: () => IFCSTYLEMODEL,
  11762. IFCSUBCONTRACTRESOURCE: () => IFCSUBCONTRACTRESOURCE,
  11763. IFCSUBCONTRACTRESOURCETYPE: () => IFCSUBCONTRACTRESOURCETYPE,
  11764. IFCSUBEDGE: () => IFCSUBEDGE,
  11765. IFCSURFACE: () => IFCSURFACE,
  11766. IFCSURFACECURVE: () => IFCSURFACECURVE,
  11767. IFCSURFACECURVESWEPTAREASOLID: () => IFCSURFACECURVESWEPTAREASOLID,
  11768. IFCSURFACEFEATURE: () => IFCSURFACEFEATURE,
  11769. IFCSURFACEOFLINEAREXTRUSION: () => IFCSURFACEOFLINEAREXTRUSION,
  11770. IFCSURFACEOFREVOLUTION: () => IFCSURFACEOFREVOLUTION,
  11771. IFCSURFACEREINFORCEMENTAREA: () => IFCSURFACEREINFORCEMENTAREA,
  11772. IFCSURFACESTYLE: () => IFCSURFACESTYLE,
  11773. IFCSURFACESTYLELIGHTING: () => IFCSURFACESTYLELIGHTING,
  11774. IFCSURFACESTYLEREFRACTION: () => IFCSURFACESTYLEREFRACTION,
  11775. IFCSURFACESTYLERENDERING: () => IFCSURFACESTYLERENDERING,
  11776. IFCSURFACESTYLESHADING: () => IFCSURFACESTYLESHADING,
  11777. IFCSURFACESTYLEWITHTEXTURES: () => IFCSURFACESTYLEWITHTEXTURES,
  11778. IFCSURFACETEXTURE: () => IFCSURFACETEXTURE,
  11779. IFCSWEPTAREASOLID: () => IFCSWEPTAREASOLID,
  11780. IFCSWEPTDISKSOLID: () => IFCSWEPTDISKSOLID,
  11781. IFCSWEPTDISKSOLIDPOLYGONAL: () => IFCSWEPTDISKSOLIDPOLYGONAL,
  11782. IFCSWEPTSURFACE: () => IFCSWEPTSURFACE,
  11783. IFCSWITCHINGDEVICE: () => IFCSWITCHINGDEVICE,
  11784. IFCSWITCHINGDEVICETYPE: () => IFCSWITCHINGDEVICETYPE,
  11785. IFCSYSTEM: () => IFCSYSTEM,
  11786. IFCSYSTEMFURNITUREELEMENT: () => IFCSYSTEMFURNITUREELEMENT,
  11787. IFCSYSTEMFURNITUREELEMENTTYPE: () => IFCSYSTEMFURNITUREELEMENTTYPE,
  11788. IFCTABLE: () => IFCTABLE,
  11789. IFCTABLECOLUMN: () => IFCTABLECOLUMN,
  11790. IFCTABLEROW: () => IFCTABLEROW,
  11791. IFCTANK: () => IFCTANK,
  11792. IFCTANKTYPE: () => IFCTANKTYPE,
  11793. IFCTASK: () => IFCTASK,
  11794. IFCTASKTIME: () => IFCTASKTIME,
  11795. IFCTASKTIMERECURRING: () => IFCTASKTIMERECURRING,
  11796. IFCTASKTYPE: () => IFCTASKTYPE,
  11797. IFCTELECOMADDRESS: () => IFCTELECOMADDRESS,
  11798. IFCTENDON: () => IFCTENDON,
  11799. IFCTENDONANCHOR: () => IFCTENDONANCHOR,
  11800. IFCTENDONANCHORTYPE: () => IFCTENDONANCHORTYPE,
  11801. IFCTENDONCONDUIT: () => IFCTENDONCONDUIT,
  11802. IFCTENDONCONDUITTYPE: () => IFCTENDONCONDUITTYPE,
  11803. IFCTENDONTYPE: () => IFCTENDONTYPE,
  11804. IFCTESSELLATEDFACESET: () => IFCTESSELLATEDFACESET,
  11805. IFCTESSELLATEDITEM: () => IFCTESSELLATEDITEM,
  11806. IFCTEXTLITERAL: () => IFCTEXTLITERAL,
  11807. IFCTEXTLITERALWITHEXTENT: () => IFCTEXTLITERALWITHEXTENT,
  11808. IFCTEXTSTYLE: () => IFCTEXTSTYLE,
  11809. IFCTEXTSTYLEFONTMODEL: () => IFCTEXTSTYLEFONTMODEL,
  11810. IFCTEXTSTYLEFORDEFINEDFONT: () => IFCTEXTSTYLEFORDEFINEDFONT,
  11811. IFCTEXTSTYLETEXTMODEL: () => IFCTEXTSTYLETEXTMODEL,
  11812. IFCTEXTURECOORDINATE: () => IFCTEXTURECOORDINATE,
  11813. IFCTEXTURECOORDINATEGENERATOR: () => IFCTEXTURECOORDINATEGENERATOR,
  11814. IFCTEXTUREMAP: () => IFCTEXTUREMAP,
  11815. IFCTEXTUREVERTEX: () => IFCTEXTUREVERTEX,
  11816. IFCTEXTUREVERTEXLIST: () => IFCTEXTUREVERTEXLIST,
  11817. IFCTIMEPERIOD: () => IFCTIMEPERIOD,
  11818. IFCTIMESERIES: () => IFCTIMESERIES,
  11819. IFCTIMESERIESVALUE: () => IFCTIMESERIESVALUE,
  11820. IFCTOPOLOGICALREPRESENTATIONITEM: () => IFCTOPOLOGICALREPRESENTATIONITEM,
  11821. IFCTOPOLOGYREPRESENTATION: () => IFCTOPOLOGYREPRESENTATION,
  11822. IFCTOROIDALSURFACE: () => IFCTOROIDALSURFACE,
  11823. IFCTRANSFORMER: () => IFCTRANSFORMER,
  11824. IFCTRANSFORMERTYPE: () => IFCTRANSFORMERTYPE,
  11825. IFCTRANSITIONCURVESEGMENT2D: () => IFCTRANSITIONCURVESEGMENT2D,
  11826. IFCTRANSPORTELEMENT: () => IFCTRANSPORTELEMENT,
  11827. IFCTRANSPORTELEMENTTYPE: () => IFCTRANSPORTELEMENTTYPE,
  11828. IFCTRAPEZIUMPROFILEDEF: () => IFCTRAPEZIUMPROFILEDEF,
  11829. IFCTRIANGULATEDFACESET: () => IFCTRIANGULATEDFACESET,
  11830. IFCTRIANGULATEDIRREGULARNETWORK: () => IFCTRIANGULATEDIRREGULARNETWORK,
  11831. IFCTRIMMEDCURVE: () => IFCTRIMMEDCURVE,
  11832. IFCTSHAPEPROFILEDEF: () => IFCTSHAPEPROFILEDEF,
  11833. IFCTUBEBUNDLE: () => IFCTUBEBUNDLE,
  11834. IFCTUBEBUNDLETYPE: () => IFCTUBEBUNDLETYPE,
  11835. IFCTYPEOBJECT: () => IFCTYPEOBJECT,
  11836. IFCTYPEPROCESS: () => IFCTYPEPROCESS,
  11837. IFCTYPEPRODUCT: () => IFCTYPEPRODUCT,
  11838. IFCTYPERESOURCE: () => IFCTYPERESOURCE,
  11839. IFCUNITARYCONTROLELEMENT: () => IFCUNITARYCONTROLELEMENT,
  11840. IFCUNITARYCONTROLELEMENTTYPE: () => IFCUNITARYCONTROLELEMENTTYPE,
  11841. IFCUNITARYEQUIPMENT: () => IFCUNITARYEQUIPMENT,
  11842. IFCUNITARYEQUIPMENTTYPE: () => IFCUNITARYEQUIPMENTTYPE,
  11843. IFCUNITASSIGNMENT: () => IFCUNITASSIGNMENT,
  11844. IFCUSHAPEPROFILEDEF: () => IFCUSHAPEPROFILEDEF,
  11845. IFCVALVE: () => IFCVALVE,
  11846. IFCVALVETYPE: () => IFCVALVETYPE,
  11847. IFCVECTOR: () => IFCVECTOR,
  11848. IFCVERTEX: () => IFCVERTEX,
  11849. IFCVERTEXLOOP: () => IFCVERTEXLOOP,
  11850. IFCVERTEXPOINT: () => IFCVERTEXPOINT,
  11851. IFCVIBRATIONDAMPER: () => IFCVIBRATIONDAMPER,
  11852. IFCVIBRATIONDAMPERTYPE: () => IFCVIBRATIONDAMPERTYPE,
  11853. IFCVIBRATIONISOLATOR: () => IFCVIBRATIONISOLATOR,
  11854. IFCVIBRATIONISOLATORTYPE: () => IFCVIBRATIONISOLATORTYPE,
  11855. IFCVIRTUALELEMENT: () => IFCVIRTUALELEMENT,
  11856. IFCVIRTUALGRIDINTERSECTION: () => IFCVIRTUALGRIDINTERSECTION,
  11857. IFCVOIDINGFEATURE: () => IFCVOIDINGFEATURE,
  11858. IFCWALL: () => IFCWALL,
  11859. IFCWALLELEMENTEDCASE: () => IFCWALLELEMENTEDCASE,
  11860. IFCWALLSTANDARDCASE: () => IFCWALLSTANDARDCASE,
  11861. IFCWALLTYPE: () => IFCWALLTYPE,
  11862. IFCWASTETERMINAL: () => IFCWASTETERMINAL,
  11863. IFCWASTETERMINALTYPE: () => IFCWASTETERMINALTYPE,
  11864. IFCWINDOW: () => IFCWINDOW,
  11865. IFCWINDOWLININGPROPERTIES: () => IFCWINDOWLININGPROPERTIES,
  11866. IFCWINDOWPANELPROPERTIES: () => IFCWINDOWPANELPROPERTIES,
  11867. IFCWINDOWSTANDARDCASE: () => IFCWINDOWSTANDARDCASE,
  11868. IFCWINDOWSTYLE: () => IFCWINDOWSTYLE,
  11869. IFCWINDOWTYPE: () => IFCWINDOWTYPE,
  11870. IFCWORKCALENDAR: () => IFCWORKCALENDAR,
  11871. IFCWORKCONTROL: () => IFCWORKCONTROL,
  11872. IFCWORKPLAN: () => IFCWORKPLAN,
  11873. IFCWORKSCHEDULE: () => IFCWORKSCHEDULE,
  11874. IFCWORKTIME: () => IFCWORKTIME,
  11875. IFCZONE: () => IFCZONE,
  11876. IFCZSHAPEPROFILEDEF: () => IFCZSHAPEPROFILEDEF,
  11877. IfcAPI: () => IfcAPI2,
  11878. IfcAbsorbedDoseMeasure: () => IfcAbsorbedDoseMeasure,
  11879. IfcAccelerationMeasure: () => IfcAccelerationMeasure,
  11880. IfcActionRequest: () => IfcActionRequest,
  11881. IfcActionRequestTypeEnum: () => IfcActionRequestTypeEnum,
  11882. IfcActionSourceTypeEnum: () => IfcActionSourceTypeEnum,
  11883. IfcActionTypeEnum: () => IfcActionTypeEnum,
  11884. IfcActor: () => IfcActor,
  11885. IfcActorRole: () => IfcActorRole,
  11886. IfcActuator: () => IfcActuator,
  11887. IfcActuatorType: () => IfcActuatorType,
  11888. IfcActuatorTypeEnum: () => IfcActuatorTypeEnum,
  11889. IfcAddress: () => IfcAddress,
  11890. IfcAddressTypeEnum: () => IfcAddressTypeEnum,
  11891. IfcAdvancedBrep: () => IfcAdvancedBrep,
  11892. IfcAdvancedBrepWithVoids: () => IfcAdvancedBrepWithVoids,
  11893. IfcAdvancedFace: () => IfcAdvancedFace,
  11894. IfcAirTerminal: () => IfcAirTerminal,
  11895. IfcAirTerminalBox: () => IfcAirTerminalBox,
  11896. IfcAirTerminalBoxType: () => IfcAirTerminalBoxType,
  11897. IfcAirTerminalBoxTypeEnum: () => IfcAirTerminalBoxTypeEnum,
  11898. IfcAirTerminalType: () => IfcAirTerminalType,
  11899. IfcAirTerminalTypeEnum: () => IfcAirTerminalTypeEnum,
  11900. IfcAirToAirHeatRecovery: () => IfcAirToAirHeatRecovery,
  11901. IfcAirToAirHeatRecoveryType: () => IfcAirToAirHeatRecoveryType,
  11902. IfcAirToAirHeatRecoveryTypeEnum: () => IfcAirToAirHeatRecoveryTypeEnum,
  11903. IfcAlarm: () => IfcAlarm,
  11904. IfcAlarmType: () => IfcAlarmType,
  11905. IfcAlarmTypeEnum: () => IfcAlarmTypeEnum,
  11906. IfcAlignment: () => IfcAlignment,
  11907. IfcAlignment2DHorizontal: () => IfcAlignment2DHorizontal,
  11908. IfcAlignment2DHorizontalSegment: () => IfcAlignment2DHorizontalSegment,
  11909. IfcAlignment2DSegment: () => IfcAlignment2DSegment,
  11910. IfcAlignment2DVerSegCircularArc: () => IfcAlignment2DVerSegCircularArc,
  11911. IfcAlignment2DVerSegLine: () => IfcAlignment2DVerSegLine,
  11912. IfcAlignment2DVerSegParabolicArc: () => IfcAlignment2DVerSegParabolicArc,
  11913. IfcAlignment2DVertical: () => IfcAlignment2DVertical,
  11914. IfcAlignment2DVerticalSegment: () => IfcAlignment2DVerticalSegment,
  11915. IfcAlignmentCurve: () => IfcAlignmentCurve,
  11916. IfcAlignmentTypeEnum: () => IfcAlignmentTypeEnum,
  11917. IfcAmountOfSubstanceMeasure: () => IfcAmountOfSubstanceMeasure,
  11918. IfcAnalysisModelTypeEnum: () => IfcAnalysisModelTypeEnum,
  11919. IfcAnalysisTheoryTypeEnum: () => IfcAnalysisTheoryTypeEnum,
  11920. IfcAngularVelocityMeasure: () => IfcAngularVelocityMeasure,
  11921. IfcAnnotation: () => IfcAnnotation,
  11922. IfcAnnotationFillArea: () => IfcAnnotationFillArea,
  11923. IfcApplication: () => IfcApplication,
  11924. IfcAppliedValue: () => IfcAppliedValue,
  11925. IfcApproval: () => IfcApproval,
  11926. IfcApprovalRelationship: () => IfcApprovalRelationship,
  11927. IfcArbitraryClosedProfileDef: () => IfcArbitraryClosedProfileDef,
  11928. IfcArbitraryOpenProfileDef: () => IfcArbitraryOpenProfileDef,
  11929. IfcArbitraryProfileDefWithVoids: () => IfcArbitraryProfileDefWithVoids,
  11930. IfcAreaDensityMeasure: () => IfcAreaDensityMeasure,
  11931. IfcAreaMeasure: () => IfcAreaMeasure,
  11932. IfcArithmeticOperatorEnum: () => IfcArithmeticOperatorEnum,
  11933. IfcAssemblyPlaceEnum: () => IfcAssemblyPlaceEnum,
  11934. IfcAsset: () => IfcAsset,
  11935. IfcAsymmetricIShapeProfileDef: () => IfcAsymmetricIShapeProfileDef,
  11936. IfcAudioVisualAppliance: () => IfcAudioVisualAppliance,
  11937. IfcAudioVisualApplianceType: () => IfcAudioVisualApplianceType,
  11938. IfcAudioVisualApplianceTypeEnum: () => IfcAudioVisualApplianceTypeEnum,
  11939. IfcAxis1Placement: () => IfcAxis1Placement,
  11940. IfcAxis2Placement2D: () => IfcAxis2Placement2D,
  11941. IfcAxis2Placement3D: () => IfcAxis2Placement3D,
  11942. IfcBSplineCurve: () => IfcBSplineCurve,
  11943. IfcBSplineCurveForm: () => IfcBSplineCurveForm,
  11944. IfcBSplineCurveWithKnots: () => IfcBSplineCurveWithKnots,
  11945. IfcBSplineSurface: () => IfcBSplineSurface,
  11946. IfcBSplineSurfaceForm: () => IfcBSplineSurfaceForm,
  11947. IfcBSplineSurfaceWithKnots: () => IfcBSplineSurfaceWithKnots,
  11948. IfcBeam: () => IfcBeam,
  11949. IfcBeamStandardCase: () => IfcBeamStandardCase,
  11950. IfcBeamType: () => IfcBeamType,
  11951. IfcBeamTypeEnum: () => IfcBeamTypeEnum,
  11952. IfcBearing: () => IfcBearing,
  11953. IfcBearingType: () => IfcBearingType,
  11954. IfcBearingTypeDisplacementEnum: () => IfcBearingTypeDisplacementEnum,
  11955. IfcBearingTypeEnum: () => IfcBearingTypeEnum,
  11956. IfcBenchmarkEnum: () => IfcBenchmarkEnum,
  11957. IfcBinary: () => IfcBinary,
  11958. IfcBlobTexture: () => IfcBlobTexture,
  11959. IfcBlock: () => IfcBlock,
  11960. IfcBoiler: () => IfcBoiler,
  11961. IfcBoilerType: () => IfcBoilerType,
  11962. IfcBoilerTypeEnum: () => IfcBoilerTypeEnum,
  11963. IfcBoolean: () => IfcBoolean,
  11964. IfcBooleanClippingResult: () => IfcBooleanClippingResult,
  11965. IfcBooleanOperator: () => IfcBooleanOperator,
  11966. IfcBooleanResult: () => IfcBooleanResult,
  11967. IfcBoundaryCondition: () => IfcBoundaryCondition,
  11968. IfcBoundaryCurve: () => IfcBoundaryCurve,
  11969. IfcBoundaryEdgeCondition: () => IfcBoundaryEdgeCondition,
  11970. IfcBoundaryFaceCondition: () => IfcBoundaryFaceCondition,
  11971. IfcBoundaryNodeCondition: () => IfcBoundaryNodeCondition,
  11972. IfcBoundaryNodeConditionWarping: () => IfcBoundaryNodeConditionWarping,
  11973. IfcBoundedCurve: () => IfcBoundedCurve,
  11974. IfcBoundedSurface: () => IfcBoundedSurface,
  11975. IfcBoundingBox: () => IfcBoundingBox,
  11976. IfcBoxAlignment: () => IfcBoxAlignment,
  11977. IfcBoxedHalfSpace: () => IfcBoxedHalfSpace,
  11978. IfcBridge: () => IfcBridge,
  11979. IfcBridgePart: () => IfcBridgePart,
  11980. IfcBridgePartTypeEnum: () => IfcBridgePartTypeEnum,
  11981. IfcBridgeTypeEnum: () => IfcBridgeTypeEnum,
  11982. IfcBuilding: () => IfcBuilding,
  11983. IfcBuildingElement: () => IfcBuildingElement,
  11984. IfcBuildingElementPart: () => IfcBuildingElementPart,
  11985. IfcBuildingElementPartType: () => IfcBuildingElementPartType,
  11986. IfcBuildingElementPartTypeEnum: () => IfcBuildingElementPartTypeEnum,
  11987. IfcBuildingElementProxy: () => IfcBuildingElementProxy,
  11988. IfcBuildingElementProxyType: () => IfcBuildingElementProxyType,
  11989. IfcBuildingElementProxyTypeEnum: () => IfcBuildingElementProxyTypeEnum,
  11990. IfcBuildingElementType: () => IfcBuildingElementType,
  11991. IfcBuildingStorey: () => IfcBuildingStorey,
  11992. IfcBuildingSystem: () => IfcBuildingSystem,
  11993. IfcBuildingSystemTypeEnum: () => IfcBuildingSystemTypeEnum,
  11994. IfcBurner: () => IfcBurner,
  11995. IfcBurnerType: () => IfcBurnerType,
  11996. IfcBurnerTypeEnum: () => IfcBurnerTypeEnum,
  11997. IfcCShapeProfileDef: () => IfcCShapeProfileDef,
  11998. IfcCableCarrierFitting: () => IfcCableCarrierFitting,
  11999. IfcCableCarrierFittingType: () => IfcCableCarrierFittingType,
  12000. IfcCableCarrierFittingTypeEnum: () => IfcCableCarrierFittingTypeEnum,
  12001. IfcCableCarrierSegment: () => IfcCableCarrierSegment,
  12002. IfcCableCarrierSegmentType: () => IfcCableCarrierSegmentType,
  12003. IfcCableCarrierSegmentTypeEnum: () => IfcCableCarrierSegmentTypeEnum,
  12004. IfcCableFitting: () => IfcCableFitting,
  12005. IfcCableFittingType: () => IfcCableFittingType,
  12006. IfcCableFittingTypeEnum: () => IfcCableFittingTypeEnum,
  12007. IfcCableSegment: () => IfcCableSegment,
  12008. IfcCableSegmentType: () => IfcCableSegmentType,
  12009. IfcCableSegmentTypeEnum: () => IfcCableSegmentTypeEnum,
  12010. IfcCaissonFoundation: () => IfcCaissonFoundation,
  12011. IfcCaissonFoundationType: () => IfcCaissonFoundationType,
  12012. IfcCaissonFoundationTypeEnum: () => IfcCaissonFoundationTypeEnum,
  12013. IfcCardinalPointReference: () => IfcCardinalPointReference,
  12014. IfcCartesianPoint: () => IfcCartesianPoint,
  12015. IfcCartesianPointList: () => IfcCartesianPointList,
  12016. IfcCartesianPointList2D: () => IfcCartesianPointList2D,
  12017. IfcCartesianPointList3D: () => IfcCartesianPointList3D,
  12018. IfcCartesianTransformationOperator: () => IfcCartesianTransformationOperator,
  12019. IfcCartesianTransformationOperator2D: () => IfcCartesianTransformationOperator2D,
  12020. IfcCartesianTransformationOperator2DnonUniform: () => IfcCartesianTransformationOperator2DnonUniform,
  12021. IfcCartesianTransformationOperator3D: () => IfcCartesianTransformationOperator3D,
  12022. IfcCartesianTransformationOperator3DnonUniform: () => IfcCartesianTransformationOperator3DnonUniform,
  12023. IfcCenterLineProfileDef: () => IfcCenterLineProfileDef,
  12024. IfcChangeActionEnum: () => IfcChangeActionEnum,
  12025. IfcChiller: () => IfcChiller,
  12026. IfcChillerType: () => IfcChillerType,
  12027. IfcChillerTypeEnum: () => IfcChillerTypeEnum,
  12028. IfcChimney: () => IfcChimney,
  12029. IfcChimneyType: () => IfcChimneyType,
  12030. IfcChimneyTypeEnum: () => IfcChimneyTypeEnum,
  12031. IfcCircle: () => IfcCircle,
  12032. IfcCircleHollowProfileDef: () => IfcCircleHollowProfileDef,
  12033. IfcCircleProfileDef: () => IfcCircleProfileDef,
  12034. IfcCircularArcSegment2D: () => IfcCircularArcSegment2D,
  12035. IfcCivilElement: () => IfcCivilElement,
  12036. IfcCivilElementType: () => IfcCivilElementType,
  12037. IfcClassification: () => IfcClassification,
  12038. IfcClassificationReference: () => IfcClassificationReference,
  12039. IfcClosedShell: () => IfcClosedShell,
  12040. IfcCoil: () => IfcCoil,
  12041. IfcCoilType: () => IfcCoilType,
  12042. IfcCoilTypeEnum: () => IfcCoilTypeEnum,
  12043. IfcColourRgb: () => IfcColourRgb,
  12044. IfcColourRgbList: () => IfcColourRgbList,
  12045. IfcColourSpecification: () => IfcColourSpecification,
  12046. IfcColumn: () => IfcColumn,
  12047. IfcColumnStandardCase: () => IfcColumnStandardCase,
  12048. IfcColumnType: () => IfcColumnType,
  12049. IfcColumnTypeEnum: () => IfcColumnTypeEnum,
  12050. IfcCommunicationsAppliance: () => IfcCommunicationsAppliance,
  12051. IfcCommunicationsApplianceType: () => IfcCommunicationsApplianceType,
  12052. IfcCommunicationsApplianceTypeEnum: () => IfcCommunicationsApplianceTypeEnum,
  12053. IfcComplexProperty: () => IfcComplexProperty,
  12054. IfcComplexPropertyTemplate: () => IfcComplexPropertyTemplate,
  12055. IfcComplexPropertyTemplateTypeEnum: () => IfcComplexPropertyTemplateTypeEnum,
  12056. IfcCompositeCurve: () => IfcCompositeCurve,
  12057. IfcCompositeCurveOnSurface: () => IfcCompositeCurveOnSurface,
  12058. IfcCompositeCurveSegment: () => IfcCompositeCurveSegment,
  12059. IfcCompositeProfileDef: () => IfcCompositeProfileDef,
  12060. IfcCompressor: () => IfcCompressor,
  12061. IfcCompressorType: () => IfcCompressorType,
  12062. IfcCompressorTypeEnum: () => IfcCompressorTypeEnum,
  12063. IfcCondenser: () => IfcCondenser,
  12064. IfcCondenserType: () => IfcCondenserType,
  12065. IfcCondenserTypeEnum: () => IfcCondenserTypeEnum,
  12066. IfcConic: () => IfcConic,
  12067. IfcConnectedFaceSet: () => IfcConnectedFaceSet,
  12068. IfcConnectionCurveGeometry: () => IfcConnectionCurveGeometry,
  12069. IfcConnectionGeometry: () => IfcConnectionGeometry,
  12070. IfcConnectionPointEccentricity: () => IfcConnectionPointEccentricity,
  12071. IfcConnectionPointGeometry: () => IfcConnectionPointGeometry,
  12072. IfcConnectionSurfaceGeometry: () => IfcConnectionSurfaceGeometry,
  12073. IfcConnectionTypeEnum: () => IfcConnectionTypeEnum,
  12074. IfcConnectionVolumeGeometry: () => IfcConnectionVolumeGeometry,
  12075. IfcConstraint: () => IfcConstraint,
  12076. IfcConstraintEnum: () => IfcConstraintEnum,
  12077. IfcConstructionEquipmentResource: () => IfcConstructionEquipmentResource,
  12078. IfcConstructionEquipmentResourceType: () => IfcConstructionEquipmentResourceType,
  12079. IfcConstructionEquipmentResourceTypeEnum: () => IfcConstructionEquipmentResourceTypeEnum,
  12080. IfcConstructionMaterialResource: () => IfcConstructionMaterialResource,
  12081. IfcConstructionMaterialResourceType: () => IfcConstructionMaterialResourceType,
  12082. IfcConstructionMaterialResourceTypeEnum: () => IfcConstructionMaterialResourceTypeEnum,
  12083. IfcConstructionProductResource: () => IfcConstructionProductResource,
  12084. IfcConstructionProductResourceType: () => IfcConstructionProductResourceType,
  12085. IfcConstructionProductResourceTypeEnum: () => IfcConstructionProductResourceTypeEnum,
  12086. IfcConstructionResource: () => IfcConstructionResource,
  12087. IfcConstructionResourceType: () => IfcConstructionResourceType,
  12088. IfcContext: () => IfcContext,
  12089. IfcContextDependentMeasure: () => IfcContextDependentMeasure,
  12090. IfcContextDependentUnit: () => IfcContextDependentUnit,
  12091. IfcControl: () => IfcControl,
  12092. IfcController: () => IfcController,
  12093. IfcControllerType: () => IfcControllerType,
  12094. IfcControllerTypeEnum: () => IfcControllerTypeEnum,
  12095. IfcConversionBasedUnit: () => IfcConversionBasedUnit,
  12096. IfcConversionBasedUnitWithOffset: () => IfcConversionBasedUnitWithOffset,
  12097. IfcCooledBeam: () => IfcCooledBeam,
  12098. IfcCooledBeamType: () => IfcCooledBeamType,
  12099. IfcCooledBeamTypeEnum: () => IfcCooledBeamTypeEnum,
  12100. IfcCoolingTower: () => IfcCoolingTower,
  12101. IfcCoolingTowerType: () => IfcCoolingTowerType,
  12102. IfcCoolingTowerTypeEnum: () => IfcCoolingTowerTypeEnum,
  12103. IfcCoordinateOperation: () => IfcCoordinateOperation,
  12104. IfcCoordinateReferenceSystem: () => IfcCoordinateReferenceSystem,
  12105. IfcCostItem: () => IfcCostItem,
  12106. IfcCostItemTypeEnum: () => IfcCostItemTypeEnum,
  12107. IfcCostSchedule: () => IfcCostSchedule,
  12108. IfcCostScheduleTypeEnum: () => IfcCostScheduleTypeEnum,
  12109. IfcCostValue: () => IfcCostValue,
  12110. IfcCountMeasure: () => IfcCountMeasure,
  12111. IfcCovering: () => IfcCovering,
  12112. IfcCoveringType: () => IfcCoveringType,
  12113. IfcCoveringTypeEnum: () => IfcCoveringTypeEnum,
  12114. IfcCrewResource: () => IfcCrewResource,
  12115. IfcCrewResourceType: () => IfcCrewResourceType,
  12116. IfcCrewResourceTypeEnum: () => IfcCrewResourceTypeEnum,
  12117. IfcCsgPrimitive3D: () => IfcCsgPrimitive3D,
  12118. IfcCsgSolid: () => IfcCsgSolid,
  12119. IfcCurrencyRelationship: () => IfcCurrencyRelationship,
  12120. IfcCurtainWall: () => IfcCurtainWall,
  12121. IfcCurtainWallType: () => IfcCurtainWallType,
  12122. IfcCurtainWallTypeEnum: () => IfcCurtainWallTypeEnum,
  12123. IfcCurvatureMeasure: () => IfcCurvatureMeasure,
  12124. IfcCurve: () => IfcCurve,
  12125. IfcCurveBoundedPlane: () => IfcCurveBoundedPlane,
  12126. IfcCurveBoundedSurface: () => IfcCurveBoundedSurface,
  12127. IfcCurveInterpolationEnum: () => IfcCurveInterpolationEnum,
  12128. IfcCurveSegment2D: () => IfcCurveSegment2D,
  12129. IfcCurveStyle: () => IfcCurveStyle,
  12130. IfcCurveStyleFont: () => IfcCurveStyleFont,
  12131. IfcCurveStyleFontAndScaling: () => IfcCurveStyleFontAndScaling,
  12132. IfcCurveStyleFontPattern: () => IfcCurveStyleFontPattern,
  12133. IfcCylindricalSurface: () => IfcCylindricalSurface,
  12134. IfcDamper: () => IfcDamper,
  12135. IfcDamperType: () => IfcDamperType,
  12136. IfcDamperTypeEnum: () => IfcDamperTypeEnum,
  12137. IfcDataOriginEnum: () => IfcDataOriginEnum,
  12138. IfcDate: () => IfcDate,
  12139. IfcDateTime: () => IfcDateTime,
  12140. IfcDayInMonthNumber: () => IfcDayInMonthNumber,
  12141. IfcDayInWeekNumber: () => IfcDayInWeekNumber,
  12142. IfcDeepFoundation: () => IfcDeepFoundation,
  12143. IfcDeepFoundationType: () => IfcDeepFoundationType,
  12144. IfcDerivedProfileDef: () => IfcDerivedProfileDef,
  12145. IfcDerivedUnit: () => IfcDerivedUnit,
  12146. IfcDerivedUnitElement: () => IfcDerivedUnitElement,
  12147. IfcDerivedUnitEnum: () => IfcDerivedUnitEnum,
  12148. IfcDescriptiveMeasure: () => IfcDescriptiveMeasure,
  12149. IfcDimensionCount: () => IfcDimensionCount,
  12150. IfcDimensionalExponents: () => IfcDimensionalExponents,
  12151. IfcDirection: () => IfcDirection,
  12152. IfcDirectionSenseEnum: () => IfcDirectionSenseEnum,
  12153. IfcDiscreteAccessory: () => IfcDiscreteAccessory,
  12154. IfcDiscreteAccessoryType: () => IfcDiscreteAccessoryType,
  12155. IfcDiscreteAccessoryTypeEnum: () => IfcDiscreteAccessoryTypeEnum,
  12156. IfcDistanceExpression: () => IfcDistanceExpression,
  12157. IfcDistributionChamberElement: () => IfcDistributionChamberElement,
  12158. IfcDistributionChamberElementType: () => IfcDistributionChamberElementType,
  12159. IfcDistributionChamberElementTypeEnum: () => IfcDistributionChamberElementTypeEnum,
  12160. IfcDistributionCircuit: () => IfcDistributionCircuit,
  12161. IfcDistributionControlElement: () => IfcDistributionControlElement,
  12162. IfcDistributionControlElementType: () => IfcDistributionControlElementType,
  12163. IfcDistributionElement: () => IfcDistributionElement,
  12164. IfcDistributionElementType: () => IfcDistributionElementType,
  12165. IfcDistributionFlowElement: () => IfcDistributionFlowElement,
  12166. IfcDistributionFlowElementType: () => IfcDistributionFlowElementType,
  12167. IfcDistributionPort: () => IfcDistributionPort,
  12168. IfcDistributionPortTypeEnum: () => IfcDistributionPortTypeEnum,
  12169. IfcDistributionSystem: () => IfcDistributionSystem,
  12170. IfcDistributionSystemEnum: () => IfcDistributionSystemEnum,
  12171. IfcDocumentConfidentialityEnum: () => IfcDocumentConfidentialityEnum,
  12172. IfcDocumentInformation: () => IfcDocumentInformation,
  12173. IfcDocumentInformationRelationship: () => IfcDocumentInformationRelationship,
  12174. IfcDocumentReference: () => IfcDocumentReference,
  12175. IfcDocumentStatusEnum: () => IfcDocumentStatusEnum,
  12176. IfcDoor: () => IfcDoor,
  12177. IfcDoorLiningProperties: () => IfcDoorLiningProperties,
  12178. IfcDoorPanelOperationEnum: () => IfcDoorPanelOperationEnum,
  12179. IfcDoorPanelPositionEnum: () => IfcDoorPanelPositionEnum,
  12180. IfcDoorPanelProperties: () => IfcDoorPanelProperties,
  12181. IfcDoorStandardCase: () => IfcDoorStandardCase,
  12182. IfcDoorStyle: () => IfcDoorStyle,
  12183. IfcDoorStyleConstructionEnum: () => IfcDoorStyleConstructionEnum,
  12184. IfcDoorStyleOperationEnum: () => IfcDoorStyleOperationEnum,
  12185. IfcDoorType: () => IfcDoorType,
  12186. IfcDoorTypeEnum: () => IfcDoorTypeEnum,
  12187. IfcDoorTypeOperationEnum: () => IfcDoorTypeOperationEnum,
  12188. IfcDoseEquivalentMeasure: () => IfcDoseEquivalentMeasure,
  12189. IfcDraughtingPreDefinedColour: () => IfcDraughtingPreDefinedColour,
  12190. IfcDraughtingPreDefinedCurveFont: () => IfcDraughtingPreDefinedCurveFont,
  12191. IfcDuctFitting: () => IfcDuctFitting,
  12192. IfcDuctFittingType: () => IfcDuctFittingType,
  12193. IfcDuctFittingTypeEnum: () => IfcDuctFittingTypeEnum,
  12194. IfcDuctSegment: () => IfcDuctSegment,
  12195. IfcDuctSegmentType: () => IfcDuctSegmentType,
  12196. IfcDuctSegmentTypeEnum: () => IfcDuctSegmentTypeEnum,
  12197. IfcDuctSilencer: () => IfcDuctSilencer,
  12198. IfcDuctSilencerType: () => IfcDuctSilencerType,
  12199. IfcDuctSilencerTypeEnum: () => IfcDuctSilencerTypeEnum,
  12200. IfcDuration: () => IfcDuration,
  12201. IfcDynamicViscosityMeasure: () => IfcDynamicViscosityMeasure,
  12202. IfcEdge: () => IfcEdge,
  12203. IfcEdgeCurve: () => IfcEdgeCurve,
  12204. IfcEdgeLoop: () => IfcEdgeLoop,
  12205. IfcElectricAppliance: () => IfcElectricAppliance,
  12206. IfcElectricApplianceType: () => IfcElectricApplianceType,
  12207. IfcElectricApplianceTypeEnum: () => IfcElectricApplianceTypeEnum,
  12208. IfcElectricCapacitanceMeasure: () => IfcElectricCapacitanceMeasure,
  12209. IfcElectricChargeMeasure: () => IfcElectricChargeMeasure,
  12210. IfcElectricConductanceMeasure: () => IfcElectricConductanceMeasure,
  12211. IfcElectricCurrentMeasure: () => IfcElectricCurrentMeasure,
  12212. IfcElectricDistributionBoard: () => IfcElectricDistributionBoard,
  12213. IfcElectricDistributionBoardType: () => IfcElectricDistributionBoardType,
  12214. IfcElectricDistributionBoardTypeEnum: () => IfcElectricDistributionBoardTypeEnum,
  12215. IfcElectricFlowStorageDevice: () => IfcElectricFlowStorageDevice,
  12216. IfcElectricFlowStorageDeviceType: () => IfcElectricFlowStorageDeviceType,
  12217. IfcElectricFlowStorageDeviceTypeEnum: () => IfcElectricFlowStorageDeviceTypeEnum,
  12218. IfcElectricGenerator: () => IfcElectricGenerator,
  12219. IfcElectricGeneratorType: () => IfcElectricGeneratorType,
  12220. IfcElectricGeneratorTypeEnum: () => IfcElectricGeneratorTypeEnum,
  12221. IfcElectricMotor: () => IfcElectricMotor,
  12222. IfcElectricMotorType: () => IfcElectricMotorType,
  12223. IfcElectricMotorTypeEnum: () => IfcElectricMotorTypeEnum,
  12224. IfcElectricResistanceMeasure: () => IfcElectricResistanceMeasure,
  12225. IfcElectricTimeControl: () => IfcElectricTimeControl,
  12226. IfcElectricTimeControlType: () => IfcElectricTimeControlType,
  12227. IfcElectricTimeControlTypeEnum: () => IfcElectricTimeControlTypeEnum,
  12228. IfcElectricVoltageMeasure: () => IfcElectricVoltageMeasure,
  12229. IfcElement: () => IfcElement,
  12230. IfcElementAssembly: () => IfcElementAssembly,
  12231. IfcElementAssemblyType: () => IfcElementAssemblyType,
  12232. IfcElementAssemblyTypeEnum: () => IfcElementAssemblyTypeEnum,
  12233. IfcElementComponent: () => IfcElementComponent,
  12234. IfcElementComponentType: () => IfcElementComponentType,
  12235. IfcElementCompositionEnum: () => IfcElementCompositionEnum,
  12236. IfcElementQuantity: () => IfcElementQuantity,
  12237. IfcElementType: () => IfcElementType,
  12238. IfcElementarySurface: () => IfcElementarySurface,
  12239. IfcElements: () => IfcElements,
  12240. IfcEllipse: () => IfcEllipse,
  12241. IfcEllipseProfileDef: () => IfcEllipseProfileDef,
  12242. IfcEnergyConversionDevice: () => IfcEnergyConversionDevice,
  12243. IfcEnergyConversionDeviceType: () => IfcEnergyConversionDeviceType,
  12244. IfcEnergyMeasure: () => IfcEnergyMeasure,
  12245. IfcEngine: () => IfcEngine,
  12246. IfcEngineType: () => IfcEngineType,
  12247. IfcEngineTypeEnum: () => IfcEngineTypeEnum,
  12248. IfcEvaporativeCooler: () => IfcEvaporativeCooler,
  12249. IfcEvaporativeCoolerType: () => IfcEvaporativeCoolerType,
  12250. IfcEvaporativeCoolerTypeEnum: () => IfcEvaporativeCoolerTypeEnum,
  12251. IfcEvaporator: () => IfcEvaporator,
  12252. IfcEvaporatorType: () => IfcEvaporatorType,
  12253. IfcEvaporatorTypeEnum: () => IfcEvaporatorTypeEnum,
  12254. IfcEvent: () => IfcEvent,
  12255. IfcEventTime: () => IfcEventTime,
  12256. IfcEventTriggerTypeEnum: () => IfcEventTriggerTypeEnum,
  12257. IfcEventType: () => IfcEventType,
  12258. IfcEventTypeEnum: () => IfcEventTypeEnum,
  12259. IfcExtendedProperties: () => IfcExtendedProperties,
  12260. IfcExternalInformation: () => IfcExternalInformation,
  12261. IfcExternalReference: () => IfcExternalReference,
  12262. IfcExternalReferenceRelationship: () => IfcExternalReferenceRelationship,
  12263. IfcExternalSpatialElement: () => IfcExternalSpatialElement,
  12264. IfcExternalSpatialElementTypeEnum: () => IfcExternalSpatialElementTypeEnum,
  12265. IfcExternalSpatialStructureElement: () => IfcExternalSpatialStructureElement,
  12266. IfcExternallyDefinedHatchStyle: () => IfcExternallyDefinedHatchStyle,
  12267. IfcExternallyDefinedSurfaceStyle: () => IfcExternallyDefinedSurfaceStyle,
  12268. IfcExternallyDefinedTextFont: () => IfcExternallyDefinedTextFont,
  12269. IfcExtrudedAreaSolid: () => IfcExtrudedAreaSolid,
  12270. IfcExtrudedAreaSolidTapered: () => IfcExtrudedAreaSolidTapered,
  12271. IfcFace: () => IfcFace,
  12272. IfcFaceBasedSurfaceModel: () => IfcFaceBasedSurfaceModel,
  12273. IfcFaceBound: () => IfcFaceBound,
  12274. IfcFaceOuterBound: () => IfcFaceOuterBound,
  12275. IfcFaceSurface: () => IfcFaceSurface,
  12276. IfcFacetedBrep: () => IfcFacetedBrep,
  12277. IfcFacetedBrepWithVoids: () => IfcFacetedBrepWithVoids,
  12278. IfcFacility: () => IfcFacility,
  12279. IfcFacilityPart: () => IfcFacilityPart,
  12280. IfcFailureConnectionCondition: () => IfcFailureConnectionCondition,
  12281. IfcFan: () => IfcFan,
  12282. IfcFanType: () => IfcFanType,
  12283. IfcFanTypeEnum: () => IfcFanTypeEnum,
  12284. IfcFastener: () => IfcFastener,
  12285. IfcFastenerType: () => IfcFastenerType,
  12286. IfcFastenerTypeEnum: () => IfcFastenerTypeEnum,
  12287. IfcFeatureElement: () => IfcFeatureElement,
  12288. IfcFeatureElementAddition: () => IfcFeatureElementAddition,
  12289. IfcFeatureElementSubtraction: () => IfcFeatureElementSubtraction,
  12290. IfcFillAreaStyle: () => IfcFillAreaStyle,
  12291. IfcFillAreaStyleHatching: () => IfcFillAreaStyleHatching,
  12292. IfcFillAreaStyleTiles: () => IfcFillAreaStyleTiles,
  12293. IfcFilter: () => IfcFilter,
  12294. IfcFilterType: () => IfcFilterType,
  12295. IfcFilterTypeEnum: () => IfcFilterTypeEnum,
  12296. IfcFireSuppressionTerminal: () => IfcFireSuppressionTerminal,
  12297. IfcFireSuppressionTerminalType: () => IfcFireSuppressionTerminalType,
  12298. IfcFireSuppressionTerminalTypeEnum: () => IfcFireSuppressionTerminalTypeEnum,
  12299. IfcFixedReferenceSweptAreaSolid: () => IfcFixedReferenceSweptAreaSolid,
  12300. IfcFlowController: () => IfcFlowController,
  12301. IfcFlowControllerType: () => IfcFlowControllerType,
  12302. IfcFlowDirectionEnum: () => IfcFlowDirectionEnum,
  12303. IfcFlowFitting: () => IfcFlowFitting,
  12304. IfcFlowFittingType: () => IfcFlowFittingType,
  12305. IfcFlowInstrument: () => IfcFlowInstrument,
  12306. IfcFlowInstrumentType: () => IfcFlowInstrumentType,
  12307. IfcFlowInstrumentTypeEnum: () => IfcFlowInstrumentTypeEnum,
  12308. IfcFlowMeter: () => IfcFlowMeter,
  12309. IfcFlowMeterType: () => IfcFlowMeterType,
  12310. IfcFlowMeterTypeEnum: () => IfcFlowMeterTypeEnum,
  12311. IfcFlowMovingDevice: () => IfcFlowMovingDevice,
  12312. IfcFlowMovingDeviceType: () => IfcFlowMovingDeviceType,
  12313. IfcFlowSegment: () => IfcFlowSegment,
  12314. IfcFlowSegmentType: () => IfcFlowSegmentType,
  12315. IfcFlowStorageDevice: () => IfcFlowStorageDevice,
  12316. IfcFlowStorageDeviceType: () => IfcFlowStorageDeviceType,
  12317. IfcFlowTerminal: () => IfcFlowTerminal,
  12318. IfcFlowTerminalType: () => IfcFlowTerminalType,
  12319. IfcFlowTreatmentDevice: () => IfcFlowTreatmentDevice,
  12320. IfcFlowTreatmentDeviceType: () => IfcFlowTreatmentDeviceType,
  12321. IfcFontStyle: () => IfcFontStyle,
  12322. IfcFontVariant: () => IfcFontVariant,
  12323. IfcFontWeight: () => IfcFontWeight,
  12324. IfcFooting: () => IfcFooting,
  12325. IfcFootingType: () => IfcFootingType,
  12326. IfcFootingTypeEnum: () => IfcFootingTypeEnum,
  12327. IfcForceMeasure: () => IfcForceMeasure,
  12328. IfcFrequencyMeasure: () => IfcFrequencyMeasure,
  12329. IfcFurnishingElement: () => IfcFurnishingElement,
  12330. IfcFurnishingElementType: () => IfcFurnishingElementType,
  12331. IfcFurniture: () => IfcFurniture,
  12332. IfcFurnitureType: () => IfcFurnitureType,
  12333. IfcFurnitureTypeEnum: () => IfcFurnitureTypeEnum,
  12334. IfcGeographicElement: () => IfcGeographicElement,
  12335. IfcGeographicElementType: () => IfcGeographicElementType,
  12336. IfcGeographicElementTypeEnum: () => IfcGeographicElementTypeEnum,
  12337. IfcGeometricCurveSet: () => IfcGeometricCurveSet,
  12338. IfcGeometricProjectionEnum: () => IfcGeometricProjectionEnum,
  12339. IfcGeometricRepresentationContext: () => IfcGeometricRepresentationContext,
  12340. IfcGeometricRepresentationItem: () => IfcGeometricRepresentationItem,
  12341. IfcGeometricRepresentationSubContext: () => IfcGeometricRepresentationSubContext,
  12342. IfcGeometricSet: () => IfcGeometricSet,
  12343. IfcGlobalOrLocalEnum: () => IfcGlobalOrLocalEnum,
  12344. IfcGloballyUniqueId: () => IfcGloballyUniqueId,
  12345. IfcGrid: () => IfcGrid,
  12346. IfcGridAxis: () => IfcGridAxis,
  12347. IfcGridPlacement: () => IfcGridPlacement,
  12348. IfcGridTypeEnum: () => IfcGridTypeEnum,
  12349. IfcGroup: () => IfcGroup,
  12350. IfcHalfSpaceSolid: () => IfcHalfSpaceSolid,
  12351. IfcHeatExchanger: () => IfcHeatExchanger,
  12352. IfcHeatExchangerType: () => IfcHeatExchangerType,
  12353. IfcHeatExchangerTypeEnum: () => IfcHeatExchangerTypeEnum,
  12354. IfcHeatFluxDensityMeasure: () => IfcHeatFluxDensityMeasure,
  12355. IfcHeatingValueMeasure: () => IfcHeatingValueMeasure,
  12356. IfcHumidifier: () => IfcHumidifier,
  12357. IfcHumidifierType: () => IfcHumidifierType,
  12358. IfcHumidifierTypeEnum: () => IfcHumidifierTypeEnum,
  12359. IfcIShapeProfileDef: () => IfcIShapeProfileDef,
  12360. IfcIdentifier: () => IfcIdentifier,
  12361. IfcIlluminanceMeasure: () => IfcIlluminanceMeasure,
  12362. IfcImageTexture: () => IfcImageTexture,
  12363. IfcIndexedColourMap: () => IfcIndexedColourMap,
  12364. IfcIndexedPolyCurve: () => IfcIndexedPolyCurve,
  12365. IfcIndexedPolygonalFace: () => IfcIndexedPolygonalFace,
  12366. IfcIndexedPolygonalFaceWithVoids: () => IfcIndexedPolygonalFaceWithVoids,
  12367. IfcIndexedTextureMap: () => IfcIndexedTextureMap,
  12368. IfcIndexedTriangleTextureMap: () => IfcIndexedTriangleTextureMap,
  12369. IfcInductanceMeasure: () => IfcInductanceMeasure,
  12370. IfcInteger: () => IfcInteger,
  12371. IfcIntegerCountRateMeasure: () => IfcIntegerCountRateMeasure,
  12372. IfcInterceptor: () => IfcInterceptor,
  12373. IfcInterceptorType: () => IfcInterceptorType,
  12374. IfcInterceptorTypeEnum: () => IfcInterceptorTypeEnum,
  12375. IfcInternalOrExternalEnum: () => IfcInternalOrExternalEnum,
  12376. IfcIntersectionCurve: () => IfcIntersectionCurve,
  12377. IfcInventory: () => IfcInventory,
  12378. IfcInventoryTypeEnum: () => IfcInventoryTypeEnum,
  12379. IfcIonConcentrationMeasure: () => IfcIonConcentrationMeasure,
  12380. IfcIrregularTimeSeries: () => IfcIrregularTimeSeries,
  12381. IfcIrregularTimeSeriesValue: () => IfcIrregularTimeSeriesValue,
  12382. IfcIsothermalMoistureCapacityMeasure: () => IfcIsothermalMoistureCapacityMeasure,
  12383. IfcJunctionBox: () => IfcJunctionBox,
  12384. IfcJunctionBoxType: () => IfcJunctionBoxType,
  12385. IfcJunctionBoxTypeEnum: () => IfcJunctionBoxTypeEnum,
  12386. IfcKinematicViscosityMeasure: () => IfcKinematicViscosityMeasure,
  12387. IfcKnotType: () => IfcKnotType,
  12388. IfcLShapeProfileDef: () => IfcLShapeProfileDef,
  12389. IfcLabel: () => IfcLabel,
  12390. IfcLaborResource: () => IfcLaborResource,
  12391. IfcLaborResourceType: () => IfcLaborResourceType,
  12392. IfcLaborResourceTypeEnum: () => IfcLaborResourceTypeEnum,
  12393. IfcLagTime: () => IfcLagTime,
  12394. IfcLamp: () => IfcLamp,
  12395. IfcLampType: () => IfcLampType,
  12396. IfcLampTypeEnum: () => IfcLampTypeEnum,
  12397. IfcLanguageId: () => IfcLanguageId,
  12398. IfcLayerSetDirectionEnum: () => IfcLayerSetDirectionEnum,
  12399. IfcLengthMeasure: () => IfcLengthMeasure,
  12400. IfcLibraryInformation: () => IfcLibraryInformation,
  12401. IfcLibraryReference: () => IfcLibraryReference,
  12402. IfcLightDistributionCurveEnum: () => IfcLightDistributionCurveEnum,
  12403. IfcLightDistributionData: () => IfcLightDistributionData,
  12404. IfcLightEmissionSourceEnum: () => IfcLightEmissionSourceEnum,
  12405. IfcLightFixture: () => IfcLightFixture,
  12406. IfcLightFixtureType: () => IfcLightFixtureType,
  12407. IfcLightFixtureTypeEnum: () => IfcLightFixtureTypeEnum,
  12408. IfcLightIntensityDistribution: () => IfcLightIntensityDistribution,
  12409. IfcLightSource: () => IfcLightSource,
  12410. IfcLightSourceAmbient: () => IfcLightSourceAmbient,
  12411. IfcLightSourceDirectional: () => IfcLightSourceDirectional,
  12412. IfcLightSourceGoniometric: () => IfcLightSourceGoniometric,
  12413. IfcLightSourcePositional: () => IfcLightSourcePositional,
  12414. IfcLightSourceSpot: () => IfcLightSourceSpot,
  12415. IfcLine: () => IfcLine,
  12416. IfcLineSegment2D: () => IfcLineSegment2D,
  12417. IfcLinearForceMeasure: () => IfcLinearForceMeasure,
  12418. IfcLinearMomentMeasure: () => IfcLinearMomentMeasure,
  12419. IfcLinearPlacement: () => IfcLinearPlacement,
  12420. IfcLinearPositioningElement: () => IfcLinearPositioningElement,
  12421. IfcLinearStiffnessMeasure: () => IfcLinearStiffnessMeasure,
  12422. IfcLinearVelocityMeasure: () => IfcLinearVelocityMeasure,
  12423. IfcLoadGroupTypeEnum: () => IfcLoadGroupTypeEnum,
  12424. IfcLocalPlacement: () => IfcLocalPlacement,
  12425. IfcLogical: () => IfcLogical,
  12426. IfcLogicalOperatorEnum: () => IfcLogicalOperatorEnum,
  12427. IfcLoop: () => IfcLoop,
  12428. IfcLuminousFluxMeasure: () => IfcLuminousFluxMeasure,
  12429. IfcLuminousIntensityDistributionMeasure: () => IfcLuminousIntensityDistributionMeasure,
  12430. IfcLuminousIntensityMeasure: () => IfcLuminousIntensityMeasure,
  12431. IfcMagneticFluxDensityMeasure: () => IfcMagneticFluxDensityMeasure,
  12432. IfcMagneticFluxMeasure: () => IfcMagneticFluxMeasure,
  12433. IfcManifoldSolidBrep: () => IfcManifoldSolidBrep,
  12434. IfcMapConversion: () => IfcMapConversion,
  12435. IfcMappedItem: () => IfcMappedItem,
  12436. IfcMassDensityMeasure: () => IfcMassDensityMeasure,
  12437. IfcMassFlowRateMeasure: () => IfcMassFlowRateMeasure,
  12438. IfcMassMeasure: () => IfcMassMeasure,
  12439. IfcMassPerLengthMeasure: () => IfcMassPerLengthMeasure,
  12440. IfcMaterial: () => IfcMaterial,
  12441. IfcMaterialClassificationRelationship: () => IfcMaterialClassificationRelationship,
  12442. IfcMaterialConstituent: () => IfcMaterialConstituent,
  12443. IfcMaterialConstituentSet: () => IfcMaterialConstituentSet,
  12444. IfcMaterialDefinition: () => IfcMaterialDefinition,
  12445. IfcMaterialDefinitionRepresentation: () => IfcMaterialDefinitionRepresentation,
  12446. IfcMaterialLayer: () => IfcMaterialLayer,
  12447. IfcMaterialLayerSet: () => IfcMaterialLayerSet,
  12448. IfcMaterialLayerSetUsage: () => IfcMaterialLayerSetUsage,
  12449. IfcMaterialLayerWithOffsets: () => IfcMaterialLayerWithOffsets,
  12450. IfcMaterialList: () => IfcMaterialList,
  12451. IfcMaterialProfile: () => IfcMaterialProfile,
  12452. IfcMaterialProfileSet: () => IfcMaterialProfileSet,
  12453. IfcMaterialProfileSetUsage: () => IfcMaterialProfileSetUsage,
  12454. IfcMaterialProfileSetUsageTapering: () => IfcMaterialProfileSetUsageTapering,
  12455. IfcMaterialProfileWithOffsets: () => IfcMaterialProfileWithOffsets,
  12456. IfcMaterialProperties: () => IfcMaterialProperties,
  12457. IfcMaterialRelationship: () => IfcMaterialRelationship,
  12458. IfcMaterialUsageDefinition: () => IfcMaterialUsageDefinition,
  12459. IfcMeasureWithUnit: () => IfcMeasureWithUnit,
  12460. IfcMechanicalFastener: () => IfcMechanicalFastener,
  12461. IfcMechanicalFastenerType: () => IfcMechanicalFastenerType,
  12462. IfcMechanicalFastenerTypeEnum: () => IfcMechanicalFastenerTypeEnum,
  12463. IfcMedicalDevice: () => IfcMedicalDevice,
  12464. IfcMedicalDeviceType: () => IfcMedicalDeviceType,
  12465. IfcMedicalDeviceTypeEnum: () => IfcMedicalDeviceTypeEnum,
  12466. IfcMember: () => IfcMember,
  12467. IfcMemberStandardCase: () => IfcMemberStandardCase,
  12468. IfcMemberType: () => IfcMemberType,
  12469. IfcMemberTypeEnum: () => IfcMemberTypeEnum,
  12470. IfcMetric: () => IfcMetric,
  12471. IfcMirroredProfileDef: () => IfcMirroredProfileDef,
  12472. IfcModulusOfElasticityMeasure: () => IfcModulusOfElasticityMeasure,
  12473. IfcModulusOfLinearSubgradeReactionMeasure: () => IfcModulusOfLinearSubgradeReactionMeasure,
  12474. IfcModulusOfRotationalSubgradeReactionMeasure: () => IfcModulusOfRotationalSubgradeReactionMeasure,
  12475. IfcModulusOfSubgradeReactionMeasure: () => IfcModulusOfSubgradeReactionMeasure,
  12476. IfcMoistureDiffusivityMeasure: () => IfcMoistureDiffusivityMeasure,
  12477. IfcMolecularWeightMeasure: () => IfcMolecularWeightMeasure,
  12478. IfcMomentOfInertiaMeasure: () => IfcMomentOfInertiaMeasure,
  12479. IfcMonetaryMeasure: () => IfcMonetaryMeasure,
  12480. IfcMonetaryUnit: () => IfcMonetaryUnit,
  12481. IfcMonthInYearNumber: () => IfcMonthInYearNumber,
  12482. IfcMotorConnection: () => IfcMotorConnection,
  12483. IfcMotorConnectionType: () => IfcMotorConnectionType,
  12484. IfcMotorConnectionTypeEnum: () => IfcMotorConnectionTypeEnum,
  12485. IfcNamedUnit: () => IfcNamedUnit,
  12486. IfcNonNegativeLengthMeasure: () => IfcNonNegativeLengthMeasure,
  12487. IfcNormalisedRatioMeasure: () => IfcNormalisedRatioMeasure,
  12488. IfcNullStyle: () => IfcNullStyle,
  12489. IfcNumericMeasure: () => IfcNumericMeasure,
  12490. IfcObject: () => IfcObject,
  12491. IfcObjectDefinition: () => IfcObjectDefinition,
  12492. IfcObjectPlacement: () => IfcObjectPlacement,
  12493. IfcObjectTypeEnum: () => IfcObjectTypeEnum,
  12494. IfcObjective: () => IfcObjective,
  12495. IfcObjectiveEnum: () => IfcObjectiveEnum,
  12496. IfcOccupant: () => IfcOccupant,
  12497. IfcOccupantTypeEnum: () => IfcOccupantTypeEnum,
  12498. IfcOffsetCurve: () => IfcOffsetCurve,
  12499. IfcOffsetCurve2D: () => IfcOffsetCurve2D,
  12500. IfcOffsetCurve3D: () => IfcOffsetCurve3D,
  12501. IfcOffsetCurveByDistances: () => IfcOffsetCurveByDistances,
  12502. IfcOpenShell: () => IfcOpenShell,
  12503. IfcOpeningElement: () => IfcOpeningElement,
  12504. IfcOpeningElementTypeEnum: () => IfcOpeningElementTypeEnum,
  12505. IfcOpeningStandardCase: () => IfcOpeningStandardCase,
  12506. IfcOrganization: () => IfcOrganization,
  12507. IfcOrganizationRelationship: () => IfcOrganizationRelationship,
  12508. IfcOrientationExpression: () => IfcOrientationExpression,
  12509. IfcOrientedEdge: () => IfcOrientedEdge,
  12510. IfcOuterBoundaryCurve: () => IfcOuterBoundaryCurve,
  12511. IfcOutlet: () => IfcOutlet,
  12512. IfcOutletType: () => IfcOutletType,
  12513. IfcOutletTypeEnum: () => IfcOutletTypeEnum,
  12514. IfcOwnerHistory: () => IfcOwnerHistory,
  12515. IfcPHMeasure: () => IfcPHMeasure,
  12516. IfcParameterValue: () => IfcParameterValue,
  12517. IfcParameterizedProfileDef: () => IfcParameterizedProfileDef,
  12518. IfcPath: () => IfcPath,
  12519. IfcPcurve: () => IfcPcurve,
  12520. IfcPerformanceHistory: () => IfcPerformanceHistory,
  12521. IfcPerformanceHistoryTypeEnum: () => IfcPerformanceHistoryTypeEnum,
  12522. IfcPermeableCoveringOperationEnum: () => IfcPermeableCoveringOperationEnum,
  12523. IfcPermeableCoveringProperties: () => IfcPermeableCoveringProperties,
  12524. IfcPermit: () => IfcPermit,
  12525. IfcPermitTypeEnum: () => IfcPermitTypeEnum,
  12526. IfcPerson: () => IfcPerson,
  12527. IfcPersonAndOrganization: () => IfcPersonAndOrganization,
  12528. IfcPhysicalComplexQuantity: () => IfcPhysicalComplexQuantity,
  12529. IfcPhysicalOrVirtualEnum: () => IfcPhysicalOrVirtualEnum,
  12530. IfcPhysicalQuantity: () => IfcPhysicalQuantity,
  12531. IfcPhysicalSimpleQuantity: () => IfcPhysicalSimpleQuantity,
  12532. IfcPile: () => IfcPile,
  12533. IfcPileConstructionEnum: () => IfcPileConstructionEnum,
  12534. IfcPileType: () => IfcPileType,
  12535. IfcPileTypeEnum: () => IfcPileTypeEnum,
  12536. IfcPipeFitting: () => IfcPipeFitting,
  12537. IfcPipeFittingType: () => IfcPipeFittingType,
  12538. IfcPipeFittingTypeEnum: () => IfcPipeFittingTypeEnum,
  12539. IfcPipeSegment: () => IfcPipeSegment,
  12540. IfcPipeSegmentType: () => IfcPipeSegmentType,
  12541. IfcPipeSegmentTypeEnum: () => IfcPipeSegmentTypeEnum,
  12542. IfcPixelTexture: () => IfcPixelTexture,
  12543. IfcPlacement: () => IfcPlacement,
  12544. IfcPlanarBox: () => IfcPlanarBox,
  12545. IfcPlanarExtent: () => IfcPlanarExtent,
  12546. IfcPlanarForceMeasure: () => IfcPlanarForceMeasure,
  12547. IfcPlane: () => IfcPlane,
  12548. IfcPlaneAngleMeasure: () => IfcPlaneAngleMeasure,
  12549. IfcPlate: () => IfcPlate,
  12550. IfcPlateStandardCase: () => IfcPlateStandardCase,
  12551. IfcPlateType: () => IfcPlateType,
  12552. IfcPlateTypeEnum: () => IfcPlateTypeEnum,
  12553. IfcPoint: () => IfcPoint,
  12554. IfcPointOnCurve: () => IfcPointOnCurve,
  12555. IfcPointOnSurface: () => IfcPointOnSurface,
  12556. IfcPolyLoop: () => IfcPolyLoop,
  12557. IfcPolygonalBoundedHalfSpace: () => IfcPolygonalBoundedHalfSpace,
  12558. IfcPolygonalFaceSet: () => IfcPolygonalFaceSet,
  12559. IfcPolyline: () => IfcPolyline,
  12560. IfcPort: () => IfcPort,
  12561. IfcPositioningElement: () => IfcPositioningElement,
  12562. IfcPositiveInteger: () => IfcPositiveInteger,
  12563. IfcPositiveLengthMeasure: () => IfcPositiveLengthMeasure,
  12564. IfcPositivePlaneAngleMeasure: () => IfcPositivePlaneAngleMeasure,
  12565. IfcPositiveRatioMeasure: () => IfcPositiveRatioMeasure,
  12566. IfcPostalAddress: () => IfcPostalAddress,
  12567. IfcPowerMeasure: () => IfcPowerMeasure,
  12568. IfcPreDefinedColour: () => IfcPreDefinedColour,
  12569. IfcPreDefinedCurveFont: () => IfcPreDefinedCurveFont,
  12570. IfcPreDefinedItem: () => IfcPreDefinedItem,
  12571. IfcPreDefinedProperties: () => IfcPreDefinedProperties,
  12572. IfcPreDefinedPropertySet: () => IfcPreDefinedPropertySet,
  12573. IfcPreDefinedTextFont: () => IfcPreDefinedTextFont,
  12574. IfcPreferredSurfaceCurveRepresentation: () => IfcPreferredSurfaceCurveRepresentation,
  12575. IfcPresentableText: () => IfcPresentableText,
  12576. IfcPresentationItem: () => IfcPresentationItem,
  12577. IfcPresentationLayerAssignment: () => IfcPresentationLayerAssignment,
  12578. IfcPresentationLayerWithStyle: () => IfcPresentationLayerWithStyle,
  12579. IfcPresentationStyle: () => IfcPresentationStyle,
  12580. IfcPresentationStyleAssignment: () => IfcPresentationStyleAssignment,
  12581. IfcPressureMeasure: () => IfcPressureMeasure,
  12582. IfcProcedure: () => IfcProcedure,
  12583. IfcProcedureType: () => IfcProcedureType,
  12584. IfcProcedureTypeEnum: () => IfcProcedureTypeEnum,
  12585. IfcProcess: () => IfcProcess,
  12586. IfcProduct: () => IfcProduct,
  12587. IfcProductDefinitionShape: () => IfcProductDefinitionShape,
  12588. IfcProductRepresentation: () => IfcProductRepresentation,
  12589. IfcProfileDef: () => IfcProfileDef,
  12590. IfcProfileProperties: () => IfcProfileProperties,
  12591. IfcProfileTypeEnum: () => IfcProfileTypeEnum,
  12592. IfcProject: () => IfcProject,
  12593. IfcProjectLibrary: () => IfcProjectLibrary,
  12594. IfcProjectOrder: () => IfcProjectOrder,
  12595. IfcProjectOrderTypeEnum: () => IfcProjectOrderTypeEnum,
  12596. IfcProjectedCRS: () => IfcProjectedCRS,
  12597. IfcProjectedOrTrueLengthEnum: () => IfcProjectedOrTrueLengthEnum,
  12598. IfcProjectionElement: () => IfcProjectionElement,
  12599. IfcProjectionElementTypeEnum: () => IfcProjectionElementTypeEnum,
  12600. IfcProperty: () => IfcProperty,
  12601. IfcPropertyAbstraction: () => IfcPropertyAbstraction,
  12602. IfcPropertyBoundedValue: () => IfcPropertyBoundedValue,
  12603. IfcPropertyDefinition: () => IfcPropertyDefinition,
  12604. IfcPropertyDependencyRelationship: () => IfcPropertyDependencyRelationship,
  12605. IfcPropertyEnumeratedValue: () => IfcPropertyEnumeratedValue,
  12606. IfcPropertyEnumeration: () => IfcPropertyEnumeration,
  12607. IfcPropertyListValue: () => IfcPropertyListValue,
  12608. IfcPropertyReferenceValue: () => IfcPropertyReferenceValue,
  12609. IfcPropertySet: () => IfcPropertySet,
  12610. IfcPropertySetDefinition: () => IfcPropertySetDefinition,
  12611. IfcPropertySetTemplate: () => IfcPropertySetTemplate,
  12612. IfcPropertySetTemplateTypeEnum: () => IfcPropertySetTemplateTypeEnum,
  12613. IfcPropertySingleValue: () => IfcPropertySingleValue,
  12614. IfcPropertyTableValue: () => IfcPropertyTableValue,
  12615. IfcPropertyTemplate: () => IfcPropertyTemplate,
  12616. IfcPropertyTemplateDefinition: () => IfcPropertyTemplateDefinition,
  12617. IfcProtectiveDevice: () => IfcProtectiveDevice,
  12618. IfcProtectiveDeviceTrippingUnit: () => IfcProtectiveDeviceTrippingUnit,
  12619. IfcProtectiveDeviceTrippingUnitType: () => IfcProtectiveDeviceTrippingUnitType,
  12620. IfcProtectiveDeviceTrippingUnitTypeEnum: () => IfcProtectiveDeviceTrippingUnitTypeEnum,
  12621. IfcProtectiveDeviceType: () => IfcProtectiveDeviceType,
  12622. IfcProtectiveDeviceTypeEnum: () => IfcProtectiveDeviceTypeEnum,
  12623. IfcProxy: () => IfcProxy,
  12624. IfcPump: () => IfcPump,
  12625. IfcPumpType: () => IfcPumpType,
  12626. IfcPumpTypeEnum: () => IfcPumpTypeEnum,
  12627. IfcQuantityArea: () => IfcQuantityArea,
  12628. IfcQuantityCount: () => IfcQuantityCount,
  12629. IfcQuantityLength: () => IfcQuantityLength,
  12630. IfcQuantitySet: () => IfcQuantitySet,
  12631. IfcQuantityTime: () => IfcQuantityTime,
  12632. IfcQuantityVolume: () => IfcQuantityVolume,
  12633. IfcQuantityWeight: () => IfcQuantityWeight,
  12634. IfcRadioActivityMeasure: () => IfcRadioActivityMeasure,
  12635. IfcRailing: () => IfcRailing,
  12636. IfcRailingType: () => IfcRailingType,
  12637. IfcRailingTypeEnum: () => IfcRailingTypeEnum,
  12638. IfcRamp: () => IfcRamp,
  12639. IfcRampFlight: () => IfcRampFlight,
  12640. IfcRampFlightType: () => IfcRampFlightType,
  12641. IfcRampFlightTypeEnum: () => IfcRampFlightTypeEnum,
  12642. IfcRampType: () => IfcRampType,
  12643. IfcRampTypeEnum: () => IfcRampTypeEnum,
  12644. IfcRatioMeasure: () => IfcRatioMeasure,
  12645. IfcRationalBSplineCurveWithKnots: () => IfcRationalBSplineCurveWithKnots,
  12646. IfcRationalBSplineSurfaceWithKnots: () => IfcRationalBSplineSurfaceWithKnots,
  12647. IfcReal: () => IfcReal,
  12648. IfcRectangleHollowProfileDef: () => IfcRectangleHollowProfileDef,
  12649. IfcRectangleProfileDef: () => IfcRectangleProfileDef,
  12650. IfcRectangularPyramid: () => IfcRectangularPyramid,
  12651. IfcRectangularTrimmedSurface: () => IfcRectangularTrimmedSurface,
  12652. IfcRecurrencePattern: () => IfcRecurrencePattern,
  12653. IfcRecurrenceTypeEnum: () => IfcRecurrenceTypeEnum,
  12654. IfcReference: () => IfcReference,
  12655. IfcReferent: () => IfcReferent,
  12656. IfcReferentTypeEnum: () => IfcReferentTypeEnum,
  12657. IfcReflectanceMethodEnum: () => IfcReflectanceMethodEnum,
  12658. IfcRegularTimeSeries: () => IfcRegularTimeSeries,
  12659. IfcReinforcementBarProperties: () => IfcReinforcementBarProperties,
  12660. IfcReinforcementDefinitionProperties: () => IfcReinforcementDefinitionProperties,
  12661. IfcReinforcingBar: () => IfcReinforcingBar,
  12662. IfcReinforcingBarRoleEnum: () => IfcReinforcingBarRoleEnum,
  12663. IfcReinforcingBarSurfaceEnum: () => IfcReinforcingBarSurfaceEnum,
  12664. IfcReinforcingBarType: () => IfcReinforcingBarType,
  12665. IfcReinforcingBarTypeEnum: () => IfcReinforcingBarTypeEnum,
  12666. IfcReinforcingElement: () => IfcReinforcingElement,
  12667. IfcReinforcingElementType: () => IfcReinforcingElementType,
  12668. IfcReinforcingMesh: () => IfcReinforcingMesh,
  12669. IfcReinforcingMeshType: () => IfcReinforcingMeshType,
  12670. IfcReinforcingMeshTypeEnum: () => IfcReinforcingMeshTypeEnum,
  12671. IfcRelAggregates: () => IfcRelAggregates,
  12672. IfcRelAssigns: () => IfcRelAssigns,
  12673. IfcRelAssignsToActor: () => IfcRelAssignsToActor,
  12674. IfcRelAssignsToControl: () => IfcRelAssignsToControl,
  12675. IfcRelAssignsToGroup: () => IfcRelAssignsToGroup,
  12676. IfcRelAssignsToGroupByFactor: () => IfcRelAssignsToGroupByFactor,
  12677. IfcRelAssignsToProcess: () => IfcRelAssignsToProcess,
  12678. IfcRelAssignsToProduct: () => IfcRelAssignsToProduct,
  12679. IfcRelAssignsToResource: () => IfcRelAssignsToResource,
  12680. IfcRelAssociates: () => IfcRelAssociates,
  12681. IfcRelAssociatesApproval: () => IfcRelAssociatesApproval,
  12682. IfcRelAssociatesClassification: () => IfcRelAssociatesClassification,
  12683. IfcRelAssociatesConstraint: () => IfcRelAssociatesConstraint,
  12684. IfcRelAssociatesDocument: () => IfcRelAssociatesDocument,
  12685. IfcRelAssociatesLibrary: () => IfcRelAssociatesLibrary,
  12686. IfcRelAssociatesMaterial: () => IfcRelAssociatesMaterial,
  12687. IfcRelConnects: () => IfcRelConnects,
  12688. IfcRelConnectsElements: () => IfcRelConnectsElements,
  12689. IfcRelConnectsPathElements: () => IfcRelConnectsPathElements,
  12690. IfcRelConnectsPortToElement: () => IfcRelConnectsPortToElement,
  12691. IfcRelConnectsPorts: () => IfcRelConnectsPorts,
  12692. IfcRelConnectsStructuralActivity: () => IfcRelConnectsStructuralActivity,
  12693. IfcRelConnectsStructuralMember: () => IfcRelConnectsStructuralMember,
  12694. IfcRelConnectsWithEccentricity: () => IfcRelConnectsWithEccentricity,
  12695. IfcRelConnectsWithRealizingElements: () => IfcRelConnectsWithRealizingElements,
  12696. IfcRelContainedInSpatialStructure: () => IfcRelContainedInSpatialStructure,
  12697. IfcRelCoversBldgElements: () => IfcRelCoversBldgElements,
  12698. IfcRelCoversSpaces: () => IfcRelCoversSpaces,
  12699. IfcRelDeclares: () => IfcRelDeclares,
  12700. IfcRelDecomposes: () => IfcRelDecomposes,
  12701. IfcRelDefines: () => IfcRelDefines,
  12702. IfcRelDefinesByObject: () => IfcRelDefinesByObject,
  12703. IfcRelDefinesByProperties: () => IfcRelDefinesByProperties,
  12704. IfcRelDefinesByTemplate: () => IfcRelDefinesByTemplate,
  12705. IfcRelDefinesByType: () => IfcRelDefinesByType,
  12706. IfcRelFillsElement: () => IfcRelFillsElement,
  12707. IfcRelFlowControlElements: () => IfcRelFlowControlElements,
  12708. IfcRelInterferesElements: () => IfcRelInterferesElements,
  12709. IfcRelNests: () => IfcRelNests,
  12710. IfcRelPositions: () => IfcRelPositions,
  12711. IfcRelProjectsElement: () => IfcRelProjectsElement,
  12712. IfcRelReferencedInSpatialStructure: () => IfcRelReferencedInSpatialStructure,
  12713. IfcRelSequence: () => IfcRelSequence,
  12714. IfcRelServicesBuildings: () => IfcRelServicesBuildings,
  12715. IfcRelSpaceBoundary: () => IfcRelSpaceBoundary,
  12716. IfcRelSpaceBoundary1stLevel: () => IfcRelSpaceBoundary1stLevel,
  12717. IfcRelSpaceBoundary2ndLevel: () => IfcRelSpaceBoundary2ndLevel,
  12718. IfcRelVoidsElement: () => IfcRelVoidsElement,
  12719. IfcRelationship: () => IfcRelationship,
  12720. IfcReparametrisedCompositeCurveSegment: () => IfcReparametrisedCompositeCurveSegment,
  12721. IfcRepresentation: () => IfcRepresentation,
  12722. IfcRepresentationContext: () => IfcRepresentationContext,
  12723. IfcRepresentationItem: () => IfcRepresentationItem,
  12724. IfcRepresentationMap: () => IfcRepresentationMap,
  12725. IfcResource: () => IfcResource,
  12726. IfcResourceApprovalRelationship: () => IfcResourceApprovalRelationship,
  12727. IfcResourceConstraintRelationship: () => IfcResourceConstraintRelationship,
  12728. IfcResourceLevelRelationship: () => IfcResourceLevelRelationship,
  12729. IfcResourceTime: () => IfcResourceTime,
  12730. IfcRevolvedAreaSolid: () => IfcRevolvedAreaSolid,
  12731. IfcRevolvedAreaSolidTapered: () => IfcRevolvedAreaSolidTapered,
  12732. IfcRightCircularCone: () => IfcRightCircularCone,
  12733. IfcRightCircularCylinder: () => IfcRightCircularCylinder,
  12734. IfcRoleEnum: () => IfcRoleEnum,
  12735. IfcRoof: () => IfcRoof,
  12736. IfcRoofType: () => IfcRoofType,
  12737. IfcRoofTypeEnum: () => IfcRoofTypeEnum,
  12738. IfcRoot: () => IfcRoot,
  12739. IfcRotationalFrequencyMeasure: () => IfcRotationalFrequencyMeasure,
  12740. IfcRotationalMassMeasure: () => IfcRotationalMassMeasure,
  12741. IfcRotationalStiffnessMeasure: () => IfcRotationalStiffnessMeasure,
  12742. IfcRoundedRectangleProfileDef: () => IfcRoundedRectangleProfileDef,
  12743. IfcSIPrefix: () => IfcSIPrefix,
  12744. IfcSIUnit: () => IfcSIUnit,
  12745. IfcSIUnitName: () => IfcSIUnitName,
  12746. IfcSanitaryTerminal: () => IfcSanitaryTerminal,
  12747. IfcSanitaryTerminalType: () => IfcSanitaryTerminalType,
  12748. IfcSanitaryTerminalTypeEnum: () => IfcSanitaryTerminalTypeEnum,
  12749. IfcSchedulingTime: () => IfcSchedulingTime,
  12750. IfcSeamCurve: () => IfcSeamCurve,
  12751. IfcSectionModulusMeasure: () => IfcSectionModulusMeasure,
  12752. IfcSectionProperties: () => IfcSectionProperties,
  12753. IfcSectionReinforcementProperties: () => IfcSectionReinforcementProperties,
  12754. IfcSectionTypeEnum: () => IfcSectionTypeEnum,
  12755. IfcSectionalAreaIntegralMeasure: () => IfcSectionalAreaIntegralMeasure,
  12756. IfcSectionedSolid: () => IfcSectionedSolid,
  12757. IfcSectionedSolidHorizontal: () => IfcSectionedSolidHorizontal,
  12758. IfcSectionedSpine: () => IfcSectionedSpine,
  12759. IfcSensor: () => IfcSensor,
  12760. IfcSensorType: () => IfcSensorType,
  12761. IfcSensorTypeEnum: () => IfcSensorTypeEnum,
  12762. IfcSequenceEnum: () => IfcSequenceEnum,
  12763. IfcShadingDevice: () => IfcShadingDevice,
  12764. IfcShadingDeviceType: () => IfcShadingDeviceType,
  12765. IfcShadingDeviceTypeEnum: () => IfcShadingDeviceTypeEnum,
  12766. IfcShapeAspect: () => IfcShapeAspect,
  12767. IfcShapeModel: () => IfcShapeModel,
  12768. IfcShapeRepresentation: () => IfcShapeRepresentation,
  12769. IfcShearModulusMeasure: () => IfcShearModulusMeasure,
  12770. IfcShellBasedSurfaceModel: () => IfcShellBasedSurfaceModel,
  12771. IfcSimpleProperty: () => IfcSimpleProperty,
  12772. IfcSimplePropertyTemplate: () => IfcSimplePropertyTemplate,
  12773. IfcSimplePropertyTemplateTypeEnum: () => IfcSimplePropertyTemplateTypeEnum,
  12774. IfcSite: () => IfcSite,
  12775. IfcSlab: () => IfcSlab,
  12776. IfcSlabElementedCase: () => IfcSlabElementedCase,
  12777. IfcSlabStandardCase: () => IfcSlabStandardCase,
  12778. IfcSlabType: () => IfcSlabType,
  12779. IfcSlabTypeEnum: () => IfcSlabTypeEnum,
  12780. IfcSlippageConnectionCondition: () => IfcSlippageConnectionCondition,
  12781. IfcSolarDevice: () => IfcSolarDevice,
  12782. IfcSolarDeviceType: () => IfcSolarDeviceType,
  12783. IfcSolarDeviceTypeEnum: () => IfcSolarDeviceTypeEnum,
  12784. IfcSolidAngleMeasure: () => IfcSolidAngleMeasure,
  12785. IfcSolidModel: () => IfcSolidModel,
  12786. IfcSoundPowerLevelMeasure: () => IfcSoundPowerLevelMeasure,
  12787. IfcSoundPowerMeasure: () => IfcSoundPowerMeasure,
  12788. IfcSoundPressureLevelMeasure: () => IfcSoundPressureLevelMeasure,
  12789. IfcSoundPressureMeasure: () => IfcSoundPressureMeasure,
  12790. IfcSpace: () => IfcSpace,
  12791. IfcSpaceHeater: () => IfcSpaceHeater,
  12792. IfcSpaceHeaterType: () => IfcSpaceHeaterType,
  12793. IfcSpaceHeaterTypeEnum: () => IfcSpaceHeaterTypeEnum,
  12794. IfcSpaceType: () => IfcSpaceType,
  12795. IfcSpaceTypeEnum: () => IfcSpaceTypeEnum,
  12796. IfcSpatialElement: () => IfcSpatialElement,
  12797. IfcSpatialElementType: () => IfcSpatialElementType,
  12798. IfcSpatialStructureElement: () => IfcSpatialStructureElement,
  12799. IfcSpatialStructureElementType: () => IfcSpatialStructureElementType,
  12800. IfcSpatialZone: () => IfcSpatialZone,
  12801. IfcSpatialZoneType: () => IfcSpatialZoneType,
  12802. IfcSpatialZoneTypeEnum: () => IfcSpatialZoneTypeEnum,
  12803. IfcSpecificHeatCapacityMeasure: () => IfcSpecificHeatCapacityMeasure,
  12804. IfcSpecularExponent: () => IfcSpecularExponent,
  12805. IfcSpecularRoughness: () => IfcSpecularRoughness,
  12806. IfcSphere: () => IfcSphere,
  12807. IfcSphericalSurface: () => IfcSphericalSurface,
  12808. IfcStackTerminal: () => IfcStackTerminal,
  12809. IfcStackTerminalType: () => IfcStackTerminalType,
  12810. IfcStackTerminalTypeEnum: () => IfcStackTerminalTypeEnum,
  12811. IfcStair: () => IfcStair,
  12812. IfcStairFlight: () => IfcStairFlight,
  12813. IfcStairFlightType: () => IfcStairFlightType,
  12814. IfcStairFlightTypeEnum: () => IfcStairFlightTypeEnum,
  12815. IfcStairType: () => IfcStairType,
  12816. IfcStairTypeEnum: () => IfcStairTypeEnum,
  12817. IfcStateEnum: () => IfcStateEnum,
  12818. IfcStructuralAction: () => IfcStructuralAction,
  12819. IfcStructuralActivity: () => IfcStructuralActivity,
  12820. IfcStructuralAnalysisModel: () => IfcStructuralAnalysisModel,
  12821. IfcStructuralConnection: () => IfcStructuralConnection,
  12822. IfcStructuralConnectionCondition: () => IfcStructuralConnectionCondition,
  12823. IfcStructuralCurveAction: () => IfcStructuralCurveAction,
  12824. IfcStructuralCurveActivityTypeEnum: () => IfcStructuralCurveActivityTypeEnum,
  12825. IfcStructuralCurveConnection: () => IfcStructuralCurveConnection,
  12826. IfcStructuralCurveMember: () => IfcStructuralCurveMember,
  12827. IfcStructuralCurveMemberTypeEnum: () => IfcStructuralCurveMemberTypeEnum,
  12828. IfcStructuralCurveMemberVarying: () => IfcStructuralCurveMemberVarying,
  12829. IfcStructuralCurveReaction: () => IfcStructuralCurveReaction,
  12830. IfcStructuralItem: () => IfcStructuralItem,
  12831. IfcStructuralLinearAction: () => IfcStructuralLinearAction,
  12832. IfcStructuralLoad: () => IfcStructuralLoad,
  12833. IfcStructuralLoadCase: () => IfcStructuralLoadCase,
  12834. IfcStructuralLoadConfiguration: () => IfcStructuralLoadConfiguration,
  12835. IfcStructuralLoadGroup: () => IfcStructuralLoadGroup,
  12836. IfcStructuralLoadLinearForce: () => IfcStructuralLoadLinearForce,
  12837. IfcStructuralLoadOrResult: () => IfcStructuralLoadOrResult,
  12838. IfcStructuralLoadPlanarForce: () => IfcStructuralLoadPlanarForce,
  12839. IfcStructuralLoadSingleDisplacement: () => IfcStructuralLoadSingleDisplacement,
  12840. IfcStructuralLoadSingleDisplacementDistortion: () => IfcStructuralLoadSingleDisplacementDistortion,
  12841. IfcStructuralLoadSingleForce: () => IfcStructuralLoadSingleForce,
  12842. IfcStructuralLoadSingleForceWarping: () => IfcStructuralLoadSingleForceWarping,
  12843. IfcStructuralLoadStatic: () => IfcStructuralLoadStatic,
  12844. IfcStructuralLoadTemperature: () => IfcStructuralLoadTemperature,
  12845. IfcStructuralMember: () => IfcStructuralMember,
  12846. IfcStructuralPlanarAction: () => IfcStructuralPlanarAction,
  12847. IfcStructuralPointAction: () => IfcStructuralPointAction,
  12848. IfcStructuralPointConnection: () => IfcStructuralPointConnection,
  12849. IfcStructuralPointReaction: () => IfcStructuralPointReaction,
  12850. IfcStructuralReaction: () => IfcStructuralReaction,
  12851. IfcStructuralResultGroup: () => IfcStructuralResultGroup,
  12852. IfcStructuralSurfaceAction: () => IfcStructuralSurfaceAction,
  12853. IfcStructuralSurfaceActivityTypeEnum: () => IfcStructuralSurfaceActivityTypeEnum,
  12854. IfcStructuralSurfaceConnection: () => IfcStructuralSurfaceConnection,
  12855. IfcStructuralSurfaceMember: () => IfcStructuralSurfaceMember,
  12856. IfcStructuralSurfaceMemberTypeEnum: () => IfcStructuralSurfaceMemberTypeEnum,
  12857. IfcStructuralSurfaceMemberVarying: () => IfcStructuralSurfaceMemberVarying,
  12858. IfcStructuralSurfaceReaction: () => IfcStructuralSurfaceReaction,
  12859. IfcStyleModel: () => IfcStyleModel,
  12860. IfcStyledItem: () => IfcStyledItem,
  12861. IfcStyledRepresentation: () => IfcStyledRepresentation,
  12862. IfcSubContractResource: () => IfcSubContractResource,
  12863. IfcSubContractResourceType: () => IfcSubContractResourceType,
  12864. IfcSubContractResourceTypeEnum: () => IfcSubContractResourceTypeEnum,
  12865. IfcSubedge: () => IfcSubedge,
  12866. IfcSurface: () => IfcSurface,
  12867. IfcSurfaceCurve: () => IfcSurfaceCurve,
  12868. IfcSurfaceCurveSweptAreaSolid: () => IfcSurfaceCurveSweptAreaSolid,
  12869. IfcSurfaceFeature: () => IfcSurfaceFeature,
  12870. IfcSurfaceFeatureTypeEnum: () => IfcSurfaceFeatureTypeEnum,
  12871. IfcSurfaceOfLinearExtrusion: () => IfcSurfaceOfLinearExtrusion,
  12872. IfcSurfaceOfRevolution: () => IfcSurfaceOfRevolution,
  12873. IfcSurfaceReinforcementArea: () => IfcSurfaceReinforcementArea,
  12874. IfcSurfaceSide: () => IfcSurfaceSide,
  12875. IfcSurfaceStyle: () => IfcSurfaceStyle,
  12876. IfcSurfaceStyleLighting: () => IfcSurfaceStyleLighting,
  12877. IfcSurfaceStyleRefraction: () => IfcSurfaceStyleRefraction,
  12878. IfcSurfaceStyleRendering: () => IfcSurfaceStyleRendering,
  12879. IfcSurfaceStyleShading: () => IfcSurfaceStyleShading,
  12880. IfcSurfaceStyleWithTextures: () => IfcSurfaceStyleWithTextures,
  12881. IfcSurfaceTexture: () => IfcSurfaceTexture,
  12882. IfcSweptAreaSolid: () => IfcSweptAreaSolid,
  12883. IfcSweptDiskSolid: () => IfcSweptDiskSolid,
  12884. IfcSweptDiskSolidPolygonal: () => IfcSweptDiskSolidPolygonal,
  12885. IfcSweptSurface: () => IfcSweptSurface,
  12886. IfcSwitchingDevice: () => IfcSwitchingDevice,
  12887. IfcSwitchingDeviceType: () => IfcSwitchingDeviceType,
  12888. IfcSwitchingDeviceTypeEnum: () => IfcSwitchingDeviceTypeEnum,
  12889. IfcSystem: () => IfcSystem,
  12890. IfcSystemFurnitureElement: () => IfcSystemFurnitureElement,
  12891. IfcSystemFurnitureElementType: () => IfcSystemFurnitureElementType,
  12892. IfcSystemFurnitureElementTypeEnum: () => IfcSystemFurnitureElementTypeEnum,
  12893. IfcTShapeProfileDef: () => IfcTShapeProfileDef,
  12894. IfcTable: () => IfcTable,
  12895. IfcTableColumn: () => IfcTableColumn,
  12896. IfcTableRow: () => IfcTableRow,
  12897. IfcTank: () => IfcTank,
  12898. IfcTankType: () => IfcTankType,
  12899. IfcTankTypeEnum: () => IfcTankTypeEnum,
  12900. IfcTask: () => IfcTask,
  12901. IfcTaskDurationEnum: () => IfcTaskDurationEnum,
  12902. IfcTaskTime: () => IfcTaskTime,
  12903. IfcTaskTimeRecurring: () => IfcTaskTimeRecurring,
  12904. IfcTaskType: () => IfcTaskType,
  12905. IfcTaskTypeEnum: () => IfcTaskTypeEnum,
  12906. IfcTelecomAddress: () => IfcTelecomAddress,
  12907. IfcTemperatureGradientMeasure: () => IfcTemperatureGradientMeasure,
  12908. IfcTemperatureRateOfChangeMeasure: () => IfcTemperatureRateOfChangeMeasure,
  12909. IfcTendon: () => IfcTendon,
  12910. IfcTendonAnchor: () => IfcTendonAnchor,
  12911. IfcTendonAnchorType: () => IfcTendonAnchorType,
  12912. IfcTendonAnchorTypeEnum: () => IfcTendonAnchorTypeEnum,
  12913. IfcTendonConduit: () => IfcTendonConduit,
  12914. IfcTendonConduitType: () => IfcTendonConduitType,
  12915. IfcTendonConduitTypeEnum: () => IfcTendonConduitTypeEnum,
  12916. IfcTendonType: () => IfcTendonType,
  12917. IfcTendonTypeEnum: () => IfcTendonTypeEnum,
  12918. IfcTessellatedFaceSet: () => IfcTessellatedFaceSet,
  12919. IfcTessellatedItem: () => IfcTessellatedItem,
  12920. IfcText: () => IfcText,
  12921. IfcTextAlignment: () => IfcTextAlignment,
  12922. IfcTextDecoration: () => IfcTextDecoration,
  12923. IfcTextFontName: () => IfcTextFontName,
  12924. IfcTextLiteral: () => IfcTextLiteral,
  12925. IfcTextLiteralWithExtent: () => IfcTextLiteralWithExtent,
  12926. IfcTextPath: () => IfcTextPath,
  12927. IfcTextStyle: () => IfcTextStyle,
  12928. IfcTextStyleFontModel: () => IfcTextStyleFontModel,
  12929. IfcTextStyleForDefinedFont: () => IfcTextStyleForDefinedFont,
  12930. IfcTextStyleTextModel: () => IfcTextStyleTextModel,
  12931. IfcTextTransformation: () => IfcTextTransformation,
  12932. IfcTextureCoordinate: () => IfcTextureCoordinate,
  12933. IfcTextureCoordinateGenerator: () => IfcTextureCoordinateGenerator,
  12934. IfcTextureMap: () => IfcTextureMap,
  12935. IfcTextureVertex: () => IfcTextureVertex,
  12936. IfcTextureVertexList: () => IfcTextureVertexList,
  12937. IfcThermalAdmittanceMeasure: () => IfcThermalAdmittanceMeasure,
  12938. IfcThermalConductivityMeasure: () => IfcThermalConductivityMeasure,
  12939. IfcThermalExpansionCoefficientMeasure: () => IfcThermalExpansionCoefficientMeasure,
  12940. IfcThermalResistanceMeasure: () => IfcThermalResistanceMeasure,
  12941. IfcThermalTransmittanceMeasure: () => IfcThermalTransmittanceMeasure,
  12942. IfcThermodynamicTemperatureMeasure: () => IfcThermodynamicTemperatureMeasure,
  12943. IfcTime: () => IfcTime,
  12944. IfcTimeMeasure: () => IfcTimeMeasure,
  12945. IfcTimePeriod: () => IfcTimePeriod,
  12946. IfcTimeSeries: () => IfcTimeSeries,
  12947. IfcTimeSeriesDataTypeEnum: () => IfcTimeSeriesDataTypeEnum,
  12948. IfcTimeSeriesValue: () => IfcTimeSeriesValue,
  12949. IfcTimeStamp: () => IfcTimeStamp,
  12950. IfcTopologicalRepresentationItem: () => IfcTopologicalRepresentationItem,
  12951. IfcTopologyRepresentation: () => IfcTopologyRepresentation,
  12952. IfcToroidalSurface: () => IfcToroidalSurface,
  12953. IfcTorqueMeasure: () => IfcTorqueMeasure,
  12954. IfcTransformer: () => IfcTransformer,
  12955. IfcTransformerType: () => IfcTransformerType,
  12956. IfcTransformerTypeEnum: () => IfcTransformerTypeEnum,
  12957. IfcTransitionCode: () => IfcTransitionCode,
  12958. IfcTransitionCurveSegment2D: () => IfcTransitionCurveSegment2D,
  12959. IfcTransitionCurveType: () => IfcTransitionCurveType,
  12960. IfcTransportElement: () => IfcTransportElement,
  12961. IfcTransportElementType: () => IfcTransportElementType,
  12962. IfcTransportElementTypeEnum: () => IfcTransportElementTypeEnum,
  12963. IfcTrapeziumProfileDef: () => IfcTrapeziumProfileDef,
  12964. IfcTriangulatedFaceSet: () => IfcTriangulatedFaceSet,
  12965. IfcTriangulatedIrregularNetwork: () => IfcTriangulatedIrregularNetwork,
  12966. IfcTrimmedCurve: () => IfcTrimmedCurve,
  12967. IfcTrimmingPreference: () => IfcTrimmingPreference,
  12968. IfcTubeBundle: () => IfcTubeBundle,
  12969. IfcTubeBundleType: () => IfcTubeBundleType,
  12970. IfcTubeBundleTypeEnum: () => IfcTubeBundleTypeEnum,
  12971. IfcTypeObject: () => IfcTypeObject,
  12972. IfcTypeProcess: () => IfcTypeProcess,
  12973. IfcTypeProduct: () => IfcTypeProduct,
  12974. IfcTypeResource: () => IfcTypeResource,
  12975. IfcURIReference: () => IfcURIReference,
  12976. IfcUShapeProfileDef: () => IfcUShapeProfileDef,
  12977. IfcUnitAssignment: () => IfcUnitAssignment,
  12978. IfcUnitEnum: () => IfcUnitEnum,
  12979. IfcUnitaryControlElement: () => IfcUnitaryControlElement,
  12980. IfcUnitaryControlElementType: () => IfcUnitaryControlElementType,
  12981. IfcUnitaryControlElementTypeEnum: () => IfcUnitaryControlElementTypeEnum,
  12982. IfcUnitaryEquipment: () => IfcUnitaryEquipment,
  12983. IfcUnitaryEquipmentType: () => IfcUnitaryEquipmentType,
  12984. IfcUnitaryEquipmentTypeEnum: () => IfcUnitaryEquipmentTypeEnum,
  12985. IfcValve: () => IfcValve,
  12986. IfcValveType: () => IfcValveType,
  12987. IfcValveTypeEnum: () => IfcValveTypeEnum,
  12988. IfcVaporPermeabilityMeasure: () => IfcVaporPermeabilityMeasure,
  12989. IfcVector: () => IfcVector,
  12990. IfcVertex: () => IfcVertex,
  12991. IfcVertexLoop: () => IfcVertexLoop,
  12992. IfcVertexPoint: () => IfcVertexPoint,
  12993. IfcVibrationDamper: () => IfcVibrationDamper,
  12994. IfcVibrationDamperType: () => IfcVibrationDamperType,
  12995. IfcVibrationDamperTypeEnum: () => IfcVibrationDamperTypeEnum,
  12996. IfcVibrationIsolator: () => IfcVibrationIsolator,
  12997. IfcVibrationIsolatorType: () => IfcVibrationIsolatorType,
  12998. IfcVibrationIsolatorTypeEnum: () => IfcVibrationIsolatorTypeEnum,
  12999. IfcVirtualElement: () => IfcVirtualElement,
  13000. IfcVirtualGridIntersection: () => IfcVirtualGridIntersection,
  13001. IfcVoidingFeature: () => IfcVoidingFeature,
  13002. IfcVoidingFeatureTypeEnum: () => IfcVoidingFeatureTypeEnum,
  13003. IfcVolumeMeasure: () => IfcVolumeMeasure,
  13004. IfcVolumetricFlowRateMeasure: () => IfcVolumetricFlowRateMeasure,
  13005. IfcWall: () => IfcWall,
  13006. IfcWallElementedCase: () => IfcWallElementedCase,
  13007. IfcWallStandardCase: () => IfcWallStandardCase,
  13008. IfcWallType: () => IfcWallType,
  13009. IfcWallTypeEnum: () => IfcWallTypeEnum,
  13010. IfcWarpingConstantMeasure: () => IfcWarpingConstantMeasure,
  13011. IfcWarpingMomentMeasure: () => IfcWarpingMomentMeasure,
  13012. IfcWasteTerminal: () => IfcWasteTerminal,
  13013. IfcWasteTerminalType: () => IfcWasteTerminalType,
  13014. IfcWasteTerminalTypeEnum: () => IfcWasteTerminalTypeEnum,
  13015. IfcWindow: () => IfcWindow,
  13016. IfcWindowLiningProperties: () => IfcWindowLiningProperties,
  13017. IfcWindowPanelOperationEnum: () => IfcWindowPanelOperationEnum,
  13018. IfcWindowPanelPositionEnum: () => IfcWindowPanelPositionEnum,
  13019. IfcWindowPanelProperties: () => IfcWindowPanelProperties,
  13020. IfcWindowStandardCase: () => IfcWindowStandardCase,
  13021. IfcWindowStyle: () => IfcWindowStyle,
  13022. IfcWindowStyleConstructionEnum: () => IfcWindowStyleConstructionEnum,
  13023. IfcWindowStyleOperationEnum: () => IfcWindowStyleOperationEnum,
  13024. IfcWindowType: () => IfcWindowType,
  13025. IfcWindowTypeEnum: () => IfcWindowTypeEnum,
  13026. IfcWindowTypePartitioningEnum: () => IfcWindowTypePartitioningEnum,
  13027. IfcWorkCalendar: () => IfcWorkCalendar,
  13028. IfcWorkCalendarTypeEnum: () => IfcWorkCalendarTypeEnum,
  13029. IfcWorkControl: () => IfcWorkControl,
  13030. IfcWorkPlan: () => IfcWorkPlan,
  13031. IfcWorkPlanTypeEnum: () => IfcWorkPlanTypeEnum,
  13032. IfcWorkSchedule: () => IfcWorkSchedule,
  13033. IfcWorkScheduleTypeEnum: () => IfcWorkScheduleTypeEnum,
  13034. IfcWorkTime: () => IfcWorkTime,
  13035. IfcZShapeProfileDef: () => IfcZShapeProfileDef,
  13036. IfcZone: () => IfcZone,
  13037. LABEL: () => LABEL,
  13038. LINE_END: () => LINE_END,
  13039. REAL: () => REAL,
  13040. REF: () => REF,
  13041. SET_BEGIN: () => SET_BEGIN,
  13042. SET_END: () => SET_END,
  13043. STRING: () => STRING,
  13044. UNKNOWN: () => UNKNOWN,
  13045. Value: () => Value,
  13046. ms: () => ms
  13047. });
  13048. // dist/ifc2x4.ts
  13049. var IFCACTIONREQUEST = 3821786052;
  13050. var IFCACTOR = 2296667514;
  13051. var IFCACTORROLE = 3630933823;
  13052. var IFCACTUATOR = 4288193352;
  13053. var IFCACTUATORTYPE = 2874132201;
  13054. var IFCADDRESS = 618182010;
  13055. var IFCADVANCEDBREP = 1635779807;
  13056. var IFCADVANCEDBREPWITHVOIDS = 2603310189;
  13057. var IFCADVANCEDFACE = 3406155212;
  13058. var IFCAIRTERMINAL = 1634111441;
  13059. var IFCAIRTERMINALBOX = 177149247;
  13060. var IFCAIRTERMINALBOXTYPE = 1411407467;
  13061. var IFCAIRTERMINALTYPE = 3352864051;
  13062. var IFCAIRTOAIRHEATRECOVERY = 2056796094;
  13063. var IFCAIRTOAIRHEATRECOVERYTYPE = 1871374353;
  13064. var IFCALARM = 3087945054;
  13065. var IFCALARMTYPE = 3001207471;
  13066. var IFCALIGNMENT = 325726236;
  13067. var IFCALIGNMENT2DHORIZONTAL = 749761778;
  13068. var IFCALIGNMENT2DHORIZONTALSEGMENT = 3199563722;
  13069. var IFCALIGNMENT2DSEGMENT = 2483840362;
  13070. var IFCALIGNMENT2DVERSEGCIRCULARARC = 3379348081;
  13071. var IFCALIGNMENT2DVERSEGLINE = 3239324667;
  13072. var IFCALIGNMENT2DVERSEGPARABOLICARC = 4263986512;
  13073. var IFCALIGNMENT2DVERTICAL = 53199957;
  13074. var IFCALIGNMENT2DVERTICALSEGMENT = 2029264950;
  13075. var IFCALIGNMENTCURVE = 3512275521;
  13076. var IFCANNOTATION = 1674181508;
  13077. var IFCANNOTATIONFILLAREA = 669184980;
  13078. var IFCAPPLICATION = 639542469;
  13079. var IFCAPPLIEDVALUE = 411424972;
  13080. var IFCAPPROVAL = 130549933;
  13081. var IFCAPPROVALRELATIONSHIP = 3869604511;
  13082. var IFCARBITRARYCLOSEDPROFILEDEF = 3798115385;
  13083. var IFCARBITRARYOPENPROFILEDEF = 1310608509;
  13084. var IFCARBITRARYPROFILEDEFWITHVOIDS = 2705031697;
  13085. var IFCASSET = 3460190687;
  13086. var IFCASYMMETRICISHAPEPROFILEDEF = 3207858831;
  13087. var IFCAUDIOVISUALAPPLIANCE = 277319702;
  13088. var IFCAUDIOVISUALAPPLIANCETYPE = 1532957894;
  13089. var IFCAXIS1PLACEMENT = 4261334040;
  13090. var IFCAXIS2PLACEMENT2D = 3125803723;
  13091. var IFCAXIS2PLACEMENT3D = 2740243338;
  13092. var IFCBSPLINECURVE = 1967976161;
  13093. var IFCBSPLINECURVEWITHKNOTS = 2461110595;
  13094. var IFCBSPLINESURFACE = 2887950389;
  13095. var IFCBSPLINESURFACEWITHKNOTS = 167062518;
  13096. var IFCBEAM = 753842376;
  13097. var IFCBEAMSTANDARDCASE = 2906023776;
  13098. var IFCBEAMTYPE = 819618141;
  13099. var IFCBEARING = 4196446775;
  13100. var IFCBEARINGTYPE = 3649138523;
  13101. var IFCBLOBTEXTURE = 616511568;
  13102. var IFCBLOCK = 1334484129;
  13103. var IFCBOILER = 32344328;
  13104. var IFCBOILERTYPE = 231477066;
  13105. var IFCBOOLEANCLIPPINGRESULT = 3649129432;
  13106. var IFCBOOLEANRESULT = 2736907675;
  13107. var IFCBOUNDARYCONDITION = 4037036970;
  13108. var IFCBOUNDARYCURVE = 1136057603;
  13109. var IFCBOUNDARYEDGECONDITION = 1560379544;
  13110. var IFCBOUNDARYFACECONDITION = 3367102660;
  13111. var IFCBOUNDARYNODECONDITION = 1387855156;
  13112. var IFCBOUNDARYNODECONDITIONWARPING = 2069777674;
  13113. var IFCBOUNDEDCURVE = 1260505505;
  13114. var IFCBOUNDEDSURFACE = 4182860854;
  13115. var IFCBOUNDINGBOX = 2581212453;
  13116. var IFCBOXEDHALFSPACE = 2713105998;
  13117. var IFCBRIDGE = 644574406;
  13118. var IFCBRIDGEPART = 963979645;
  13119. var IFCBUILDING = 4031249490;
  13120. var IFCBUILDINGELEMENT = 3299480353;
  13121. var IFCBUILDINGELEMENTPART = 2979338954;
  13122. var IFCBUILDINGELEMENTPARTTYPE = 39481116;
  13123. var IFCBUILDINGELEMENTPROXY = 1095909175;
  13124. var IFCBUILDINGELEMENTPROXYTYPE = 1909888760;
  13125. var IFCBUILDINGELEMENTTYPE = 1950629157;
  13126. var IFCBUILDINGSTOREY = 3124254112;
  13127. var IFCBUILDINGSYSTEM = 1177604601;
  13128. var IFCBURNER = 2938176219;
  13129. var IFCBURNERTYPE = 2188180465;
  13130. var IFCCSHAPEPROFILEDEF = 2898889636;
  13131. var IFCCABLECARRIERFITTING = 635142910;
  13132. var IFCCABLECARRIERFITTINGTYPE = 395041908;
  13133. var IFCCABLECARRIERSEGMENT = 3758799889;
  13134. var IFCCABLECARRIERSEGMENTTYPE = 3293546465;
  13135. var IFCCABLEFITTING = 1051757585;
  13136. var IFCCABLEFITTINGTYPE = 2674252688;
  13137. var IFCCABLESEGMENT = 4217484030;
  13138. var IFCCABLESEGMENTTYPE = 1285652485;
  13139. var IFCCAISSONFOUNDATION = 3999819293;
  13140. var IFCCAISSONFOUNDATIONTYPE = 3203706013;
  13141. var IFCCARTESIANPOINT = 1123145078;
  13142. var IFCCARTESIANPOINTLIST = 574549367;
  13143. var IFCCARTESIANPOINTLIST2D = 1675464909;
  13144. var IFCCARTESIANPOINTLIST3D = 2059837836;
  13145. var IFCCARTESIANTRANSFORMATIONOPERATOR = 59481748;
  13146. var IFCCARTESIANTRANSFORMATIONOPERATOR2D = 3749851601;
  13147. var IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM = 3486308946;
  13148. var IFCCARTESIANTRANSFORMATIONOPERATOR3D = 3331915920;
  13149. var IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM = 1416205885;
  13150. var IFCCENTERLINEPROFILEDEF = 3150382593;
  13151. var IFCCHILLER = 3902619387;
  13152. var IFCCHILLERTYPE = 2951183804;
  13153. var IFCCHIMNEY = 3296154744;
  13154. var IFCCHIMNEYTYPE = 2197970202;
  13155. var IFCCIRCLE = 2611217952;
  13156. var IFCCIRCLEHOLLOWPROFILEDEF = 2937912522;
  13157. var IFCCIRCLEPROFILEDEF = 1383045692;
  13158. var IFCCIRCULARARCSEGMENT2D = 1062206242;
  13159. var IFCCIVILELEMENT = 1677625105;
  13160. var IFCCIVILELEMENTTYPE = 3893394355;
  13161. var IFCCLASSIFICATION = 747523909;
  13162. var IFCCLASSIFICATIONREFERENCE = 647927063;
  13163. var IFCCLOSEDSHELL = 2205249479;
  13164. var IFCCOIL = 639361253;
  13165. var IFCCOILTYPE = 2301859152;
  13166. var IFCCOLOURRGB = 776857604;
  13167. var IFCCOLOURRGBLIST = 3285139300;
  13168. var IFCCOLOURSPECIFICATION = 3264961684;
  13169. var IFCCOLUMN = 843113511;
  13170. var IFCCOLUMNSTANDARDCASE = 905975707;
  13171. var IFCCOLUMNTYPE = 300633059;
  13172. var IFCCOMMUNICATIONSAPPLIANCE = 3221913625;
  13173. var IFCCOMMUNICATIONSAPPLIANCETYPE = 400855858;
  13174. var IFCCOMPLEXPROPERTY = 2542286263;
  13175. var IFCCOMPLEXPROPERTYTEMPLATE = 3875453745;
  13176. var IFCCOMPOSITECURVE = 3732776249;
  13177. var IFCCOMPOSITECURVEONSURFACE = 15328376;
  13178. var IFCCOMPOSITECURVESEGMENT = 2485617015;
  13179. var IFCCOMPOSITEPROFILEDEF = 1485152156;
  13180. var IFCCOMPRESSOR = 3571504051;
  13181. var IFCCOMPRESSORTYPE = 3850581409;
  13182. var IFCCONDENSER = 2272882330;
  13183. var IFCCONDENSERTYPE = 2816379211;
  13184. var IFCCONIC = 2510884976;
  13185. var IFCCONNECTEDFACESET = 370225590;
  13186. var IFCCONNECTIONCURVEGEOMETRY = 1981873012;
  13187. var IFCCONNECTIONGEOMETRY = 2859738748;
  13188. var IFCCONNECTIONPOINTECCENTRICITY = 45288368;
  13189. var IFCCONNECTIONPOINTGEOMETRY = 2614616156;
  13190. var IFCCONNECTIONSURFACEGEOMETRY = 2732653382;
  13191. var IFCCONNECTIONVOLUMEGEOMETRY = 775493141;
  13192. var IFCCONSTRAINT = 1959218052;
  13193. var IFCCONSTRUCTIONEQUIPMENTRESOURCE = 3898045240;
  13194. var IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE = 2185764099;
  13195. var IFCCONSTRUCTIONMATERIALRESOURCE = 1060000209;
  13196. var IFCCONSTRUCTIONMATERIALRESOURCETYPE = 4105962743;
  13197. var IFCCONSTRUCTIONPRODUCTRESOURCE = 488727124;
  13198. var IFCCONSTRUCTIONPRODUCTRESOURCETYPE = 1525564444;
  13199. var IFCCONSTRUCTIONRESOURCE = 2559216714;
  13200. var IFCCONSTRUCTIONRESOURCETYPE = 2574617495;
  13201. var IFCCONTEXT = 3419103109;
  13202. var IFCCONTEXTDEPENDENTUNIT = 3050246964;
  13203. var IFCCONTROL = 3293443760;
  13204. var IFCCONTROLLER = 25142252;
  13205. var IFCCONTROLLERTYPE = 578613899;
  13206. var IFCCONVERSIONBASEDUNIT = 2889183280;
  13207. var IFCCONVERSIONBASEDUNITWITHOFFSET = 2713554722;
  13208. var IFCCOOLEDBEAM = 4136498852;
  13209. var IFCCOOLEDBEAMTYPE = 335055490;
  13210. var IFCCOOLINGTOWER = 3640358203;
  13211. var IFCCOOLINGTOWERTYPE = 2954562838;
  13212. var IFCCOORDINATEOPERATION = 1785450214;
  13213. var IFCCOORDINATEREFERENCESYSTEM = 1466758467;
  13214. var IFCCOSTITEM = 3895139033;
  13215. var IFCCOSTSCHEDULE = 1419761937;
  13216. var IFCCOSTVALUE = 602808272;
  13217. var IFCCOVERING = 1973544240;
  13218. var IFCCOVERINGTYPE = 1916426348;
  13219. var IFCCREWRESOURCE = 3295246426;
  13220. var IFCCREWRESOURCETYPE = 1815067380;
  13221. var IFCCSGPRIMITIVE3D = 2506170314;
  13222. var IFCCSGSOLID = 2147822146;
  13223. var IFCCURRENCYRELATIONSHIP = 539742890;
  13224. var IFCCURTAINWALL = 3495092785;
  13225. var IFCCURTAINWALLTYPE = 1457835157;
  13226. var IFCCURVE = 2601014836;
  13227. var IFCCURVEBOUNDEDPLANE = 2827736869;
  13228. var IFCCURVEBOUNDEDSURFACE = 2629017746;
  13229. var IFCCURVESEGMENT2D = 1186437898;
  13230. var IFCCURVESTYLE = 3800577675;
  13231. var IFCCURVESTYLEFONT = 1105321065;
  13232. var IFCCURVESTYLEFONTANDSCALING = 2367409068;
  13233. var IFCCURVESTYLEFONTPATTERN = 3510044353;
  13234. var IFCCYLINDRICALSURFACE = 1213902940;
  13235. var IFCDAMPER = 4074379575;
  13236. var IFCDAMPERTYPE = 3961806047;
  13237. var IFCDEEPFOUNDATION = 3426335179;
  13238. var IFCDEEPFOUNDATIONTYPE = 1306400036;
  13239. var IFCDERIVEDPROFILEDEF = 3632507154;
  13240. var IFCDERIVEDUNIT = 1765591967;
  13241. var IFCDERIVEDUNITELEMENT = 1045800335;
  13242. var IFCDIMENSIONALEXPONENTS = 2949456006;
  13243. var IFCDIRECTION = 32440307;
  13244. var IFCDISCRETEACCESSORY = 1335981549;
  13245. var IFCDISCRETEACCESSORYTYPE = 2635815018;
  13246. var IFCDISTANCEEXPRESSION = 1945343521;
  13247. var IFCDISTRIBUTIONCHAMBERELEMENT = 1052013943;
  13248. var IFCDISTRIBUTIONCHAMBERELEMENTTYPE = 1599208980;
  13249. var IFCDISTRIBUTIONCIRCUIT = 562808652;
  13250. var IFCDISTRIBUTIONCONTROLELEMENT = 1062813311;
  13251. var IFCDISTRIBUTIONCONTROLELEMENTTYPE = 2063403501;
  13252. var IFCDISTRIBUTIONELEMENT = 1945004755;
  13253. var IFCDISTRIBUTIONELEMENTTYPE = 3256556792;
  13254. var IFCDISTRIBUTIONFLOWELEMENT = 3040386961;
  13255. var IFCDISTRIBUTIONFLOWELEMENTTYPE = 3849074793;
  13256. var IFCDISTRIBUTIONPORT = 3041715199;
  13257. var IFCDISTRIBUTIONSYSTEM = 3205830791;
  13258. var IFCDOCUMENTINFORMATION = 1154170062;
  13259. var IFCDOCUMENTINFORMATIONRELATIONSHIP = 770865208;
  13260. var IFCDOCUMENTREFERENCE = 3732053477;
  13261. var IFCDOOR = 395920057;
  13262. var IFCDOORLININGPROPERTIES = 2963535650;
  13263. var IFCDOORPANELPROPERTIES = 1714330368;
  13264. var IFCDOORSTANDARDCASE = 3242481149;
  13265. var IFCDOORSTYLE = 526551008;
  13266. var IFCDOORTYPE = 2323601079;
  13267. var IFCDRAUGHTINGPREDEFINEDCOLOUR = 445594917;
  13268. var IFCDRAUGHTINGPREDEFINEDCURVEFONT = 4006246654;
  13269. var IFCDUCTFITTING = 342316401;
  13270. var IFCDUCTFITTINGTYPE = 869906466;
  13271. var IFCDUCTSEGMENT = 3518393246;
  13272. var IFCDUCTSEGMENTTYPE = 3760055223;
  13273. var IFCDUCTSILENCER = 1360408905;
  13274. var IFCDUCTSILENCERTYPE = 2030761528;
  13275. var IFCEDGE = 3900360178;
  13276. var IFCEDGECURVE = 476780140;
  13277. var IFCEDGELOOP = 1472233963;
  13278. var IFCELECTRICAPPLIANCE = 1904799276;
  13279. var IFCELECTRICAPPLIANCETYPE = 663422040;
  13280. var IFCELECTRICDISTRIBUTIONBOARD = 862014818;
  13281. var IFCELECTRICDISTRIBUTIONBOARDTYPE = 2417008758;
  13282. var IFCELECTRICFLOWSTORAGEDEVICE = 3310460725;
  13283. var IFCELECTRICFLOWSTORAGEDEVICETYPE = 3277789161;
  13284. var IFCELECTRICGENERATOR = 264262732;
  13285. var IFCELECTRICGENERATORTYPE = 1534661035;
  13286. var IFCELECTRICMOTOR = 402227799;
  13287. var IFCELECTRICMOTORTYPE = 1217240411;
  13288. var IFCELECTRICTIMECONTROL = 1003880860;
  13289. var IFCELECTRICTIMECONTROLTYPE = 712377611;
  13290. var IFCELEMENT = 1758889154;
  13291. var IFCELEMENTASSEMBLY = 4123344466;
  13292. var IFCELEMENTASSEMBLYTYPE = 2397081782;
  13293. var IFCELEMENTCOMPONENT = 1623761950;
  13294. var IFCELEMENTCOMPONENTTYPE = 2590856083;
  13295. var IFCELEMENTQUANTITY = 1883228015;
  13296. var IFCELEMENTTYPE = 339256511;
  13297. var IFCELEMENTARYSURFACE = 2777663545;
  13298. var IFCELLIPSE = 1704287377;
  13299. var IFCELLIPSEPROFILEDEF = 2835456948;
  13300. var IFCENERGYCONVERSIONDEVICE = 1658829314;
  13301. var IFCENERGYCONVERSIONDEVICETYPE = 2107101300;
  13302. var IFCENGINE = 2814081492;
  13303. var IFCENGINETYPE = 132023988;
  13304. var IFCEVAPORATIVECOOLER = 3747195512;
  13305. var IFCEVAPORATIVECOOLERTYPE = 3174744832;
  13306. var IFCEVAPORATOR = 484807127;
  13307. var IFCEVAPORATORTYPE = 3390157468;
  13308. var IFCEVENT = 4148101412;
  13309. var IFCEVENTTIME = 211053100;
  13310. var IFCEVENTTYPE = 4024345920;
  13311. var IFCEXTENDEDPROPERTIES = 297599258;
  13312. var IFCEXTERNALINFORMATION = 4294318154;
  13313. var IFCEXTERNALREFERENCE = 3200245327;
  13314. var IFCEXTERNALREFERENCERELATIONSHIP = 1437805879;
  13315. var IFCEXTERNALSPATIALELEMENT = 1209101575;
  13316. var IFCEXTERNALSPATIALSTRUCTUREELEMENT = 2853485674;
  13317. var IFCEXTERNALLYDEFINEDHATCHSTYLE = 2242383968;
  13318. var IFCEXTERNALLYDEFINEDSURFACESTYLE = 1040185647;
  13319. var IFCEXTERNALLYDEFINEDTEXTFONT = 3548104201;
  13320. var IFCEXTRUDEDAREASOLID = 477187591;
  13321. var IFCEXTRUDEDAREASOLIDTAPERED = 2804161546;
  13322. var IFCFACE = 2556980723;
  13323. var IFCFACEBASEDSURFACEMODEL = 2047409740;
  13324. var IFCFACEBOUND = 1809719519;
  13325. var IFCFACEOUTERBOUND = 803316827;
  13326. var IFCFACESURFACE = 3008276851;
  13327. var IFCFACETEDBREP = 807026263;
  13328. var IFCFACETEDBREPWITHVOIDS = 3737207727;
  13329. var IFCFACILITY = 24185140;
  13330. var IFCFACILITYPART = 1310830890;
  13331. var IFCFAILURECONNECTIONCONDITION = 4219587988;
  13332. var IFCFAN = 3415622556;
  13333. var IFCFANTYPE = 346874300;
  13334. var IFCFASTENER = 647756555;
  13335. var IFCFASTENERTYPE = 2489546625;
  13336. var IFCFEATUREELEMENT = 2827207264;
  13337. var IFCFEATUREELEMENTADDITION = 2143335405;
  13338. var IFCFEATUREELEMENTSUBTRACTION = 1287392070;
  13339. var IFCFILLAREASTYLE = 738692330;
  13340. var IFCFILLAREASTYLEHATCHING = 374418227;
  13341. var IFCFILLAREASTYLETILES = 315944413;
  13342. var IFCFILTER = 819412036;
  13343. var IFCFILTERTYPE = 1810631287;
  13344. var IFCFIRESUPPRESSIONTERMINAL = 1426591983;
  13345. var IFCFIRESUPPRESSIONTERMINALTYPE = 4222183408;
  13346. var IFCFIXEDREFERENCESWEPTAREASOLID = 2652556860;
  13347. var IFCFLOWCONTROLLER = 2058353004;
  13348. var IFCFLOWCONTROLLERTYPE = 3907093117;
  13349. var IFCFLOWFITTING = 4278956645;
  13350. var IFCFLOWFITTINGTYPE = 3198132628;
  13351. var IFCFLOWINSTRUMENT = 182646315;
  13352. var IFCFLOWINSTRUMENTTYPE = 4037862832;
  13353. var IFCFLOWMETER = 2188021234;
  13354. var IFCFLOWMETERTYPE = 3815607619;
  13355. var IFCFLOWMOVINGDEVICE = 3132237377;
  13356. var IFCFLOWMOVINGDEVICETYPE = 1482959167;
  13357. var IFCFLOWSEGMENT = 987401354;
  13358. var IFCFLOWSEGMENTTYPE = 1834744321;
  13359. var IFCFLOWSTORAGEDEVICE = 707683696;
  13360. var IFCFLOWSTORAGEDEVICETYPE = 1339347760;
  13361. var IFCFLOWTERMINAL = 2223149337;
  13362. var IFCFLOWTERMINALTYPE = 2297155007;
  13363. var IFCFLOWTREATMENTDEVICE = 3508470533;
  13364. var IFCFLOWTREATMENTDEVICETYPE = 3009222698;
  13365. var IFCFOOTING = 900683007;
  13366. var IFCFOOTINGTYPE = 1893162501;
  13367. var IFCFURNISHINGELEMENT = 263784265;
  13368. var IFCFURNISHINGELEMENTTYPE = 4238390223;
  13369. var IFCFURNITURE = 1509553395;
  13370. var IFCFURNITURETYPE = 1268542332;
  13371. var IFCGEOGRAPHICELEMENT = 3493046030;
  13372. var IFCGEOGRAPHICELEMENTTYPE = 4095422895;
  13373. var IFCGEOMETRICCURVESET = 987898635;
  13374. var IFCGEOMETRICREPRESENTATIONCONTEXT = 3448662350;
  13375. var IFCGEOMETRICREPRESENTATIONITEM = 2453401579;
  13376. var IFCGEOMETRICREPRESENTATIONSUBCONTEXT = 4142052618;
  13377. var IFCGEOMETRICSET = 3590301190;
  13378. var IFCGRID = 3009204131;
  13379. var IFCGRIDAXIS = 852622518;
  13380. var IFCGRIDPLACEMENT = 178086475;
  13381. var IFCGROUP = 2706460486;
  13382. var IFCHALFSPACESOLID = 812098782;
  13383. var IFCHEATEXCHANGER = 3319311131;
  13384. var IFCHEATEXCHANGERTYPE = 1251058090;
  13385. var IFCHUMIDIFIER = 2068733104;
  13386. var IFCHUMIDIFIERTYPE = 1806887404;
  13387. var IFCISHAPEPROFILEDEF = 1484403080;
  13388. var IFCIMAGETEXTURE = 3905492369;
  13389. var IFCINDEXEDCOLOURMAP = 3570813810;
  13390. var IFCINDEXEDPOLYCURVE = 2571569899;
  13391. var IFCINDEXEDPOLYGONALFACE = 178912537;
  13392. var IFCINDEXEDPOLYGONALFACEWITHVOIDS = 2294589976;
  13393. var IFCINDEXEDTEXTUREMAP = 1437953363;
  13394. var IFCINDEXEDTRIANGLETEXTUREMAP = 2133299955;
  13395. var IFCINTERCEPTOR = 4175244083;
  13396. var IFCINTERCEPTORTYPE = 3946677679;
  13397. var IFCINTERSECTIONCURVE = 3113134337;
  13398. var IFCINVENTORY = 2391368822;
  13399. var IFCIRREGULARTIMESERIES = 3741457305;
  13400. var IFCIRREGULARTIMESERIESVALUE = 3020489413;
  13401. var IFCJUNCTIONBOX = 2176052936;
  13402. var IFCJUNCTIONBOXTYPE = 4288270099;
  13403. var IFCLSHAPEPROFILEDEF = 572779678;
  13404. var IFCLABORRESOURCE = 3827777499;
  13405. var IFCLABORRESOURCETYPE = 428585644;
  13406. var IFCLAGTIME = 1585845231;
  13407. var IFCLAMP = 76236018;
  13408. var IFCLAMPTYPE = 1051575348;
  13409. var IFCLIBRARYINFORMATION = 2655187982;
  13410. var IFCLIBRARYREFERENCE = 3452421091;
  13411. var IFCLIGHTDISTRIBUTIONDATA = 4162380809;
  13412. var IFCLIGHTFIXTURE = 629592764;
  13413. var IFCLIGHTFIXTURETYPE = 1161773419;
  13414. var IFCLIGHTINTENSITYDISTRIBUTION = 1566485204;
  13415. var IFCLIGHTSOURCE = 1402838566;
  13416. var IFCLIGHTSOURCEAMBIENT = 125510826;
  13417. var IFCLIGHTSOURCEDIRECTIONAL = 2604431987;
  13418. var IFCLIGHTSOURCEGONIOMETRIC = 4266656042;
  13419. var IFCLIGHTSOURCEPOSITIONAL = 1520743889;
  13420. var IFCLIGHTSOURCESPOT = 3422422726;
  13421. var IFCLINE = 1281925730;
  13422. var IFCLINESEGMENT2D = 3092502836;
  13423. var IFCLINEARPLACEMENT = 388784114;
  13424. var IFCLINEARPOSITIONINGELEMENT = 1154579445;
  13425. var IFCLOCALPLACEMENT = 2624227202;
  13426. var IFCLOOP = 1008929658;
  13427. var IFCMANIFOLDSOLIDBREP = 1425443689;
  13428. var IFCMAPCONVERSION = 3057273783;
  13429. var IFCMAPPEDITEM = 2347385850;
  13430. var IFCMATERIAL = 1838606355;
  13431. var IFCMATERIALCLASSIFICATIONRELATIONSHIP = 1847130766;
  13432. var IFCMATERIALCONSTITUENT = 3708119e3;
  13433. var IFCMATERIALCONSTITUENTSET = 2852063980;
  13434. var IFCMATERIALDEFINITION = 760658860;
  13435. var IFCMATERIALDEFINITIONREPRESENTATION = 2022407955;
  13436. var IFCMATERIALLAYER = 248100487;
  13437. var IFCMATERIALLAYERSET = 3303938423;
  13438. var IFCMATERIALLAYERSETUSAGE = 1303795690;
  13439. var IFCMATERIALLAYERWITHOFFSETS = 1847252529;
  13440. var IFCMATERIALLIST = 2199411900;
  13441. var IFCMATERIALPROFILE = 2235152071;
  13442. var IFCMATERIALPROFILESET = 164193824;
  13443. var IFCMATERIALPROFILESETUSAGE = 3079605661;
  13444. var IFCMATERIALPROFILESETUSAGETAPERING = 3404854881;
  13445. var IFCMATERIALPROFILEWITHOFFSETS = 552965576;
  13446. var IFCMATERIALPROPERTIES = 3265635763;
  13447. var IFCMATERIALRELATIONSHIP = 853536259;
  13448. var IFCMATERIALUSAGEDEFINITION = 1507914824;
  13449. var IFCMEASUREWITHUNIT = 2597039031;
  13450. var IFCMECHANICALFASTENER = 377706215;
  13451. var IFCMECHANICALFASTENERTYPE = 2108223431;
  13452. var IFCMEDICALDEVICE = 1437502449;
  13453. var IFCMEDICALDEVICETYPE = 1114901282;
  13454. var IFCMEMBER = 1073191201;
  13455. var IFCMEMBERSTANDARDCASE = 1911478936;
  13456. var IFCMEMBERTYPE = 3181161470;
  13457. var IFCMETRIC = 3368373690;
  13458. var IFCMIRROREDPROFILEDEF = 2998442950;
  13459. var IFCMONETARYUNIT = 2706619895;
  13460. var IFCMOTORCONNECTION = 2474470126;
  13461. var IFCMOTORCONNECTIONTYPE = 977012517;
  13462. var IFCNAMEDUNIT = 1918398963;
  13463. var IFCOBJECT = 3888040117;
  13464. var IFCOBJECTDEFINITION = 219451334;
  13465. var IFCOBJECTPLACEMENT = 3701648758;
  13466. var IFCOBJECTIVE = 2251480897;
  13467. var IFCOCCUPANT = 4143007308;
  13468. var IFCOFFSETCURVE = 590820931;
  13469. var IFCOFFSETCURVE2D = 3388369263;
  13470. var IFCOFFSETCURVE3D = 3505215534;
  13471. var IFCOFFSETCURVEBYDISTANCES = 2485787929;
  13472. var IFCOPENSHELL = 2665983363;
  13473. var IFCOPENINGELEMENT = 3588315303;
  13474. var IFCOPENINGSTANDARDCASE = 3079942009;
  13475. var IFCORGANIZATION = 4251960020;
  13476. var IFCORGANIZATIONRELATIONSHIP = 1411181986;
  13477. var IFCORIENTATIONEXPRESSION = 643959842;
  13478. var IFCORIENTEDEDGE = 1029017970;
  13479. var IFCOUTERBOUNDARYCURVE = 144952367;
  13480. var IFCOUTLET = 3694346114;
  13481. var IFCOUTLETTYPE = 2837617999;
  13482. var IFCOWNERHISTORY = 1207048766;
  13483. var IFCPARAMETERIZEDPROFILEDEF = 2529465313;
  13484. var IFCPATH = 2519244187;
  13485. var IFCPCURVE = 1682466193;
  13486. var IFCPERFORMANCEHISTORY = 2382730787;
  13487. var IFCPERMEABLECOVERINGPROPERTIES = 3566463478;
  13488. var IFCPERMIT = 3327091369;
  13489. var IFCPERSON = 2077209135;
  13490. var IFCPERSONANDORGANIZATION = 101040310;
  13491. var IFCPHYSICALCOMPLEXQUANTITY = 3021840470;
  13492. var IFCPHYSICALQUANTITY = 2483315170;
  13493. var IFCPHYSICALSIMPLEQUANTITY = 2226359599;
  13494. var IFCPILE = 1687234759;
  13495. var IFCPILETYPE = 1158309216;
  13496. var IFCPIPEFITTING = 310824031;
  13497. var IFCPIPEFITTINGTYPE = 804291784;
  13498. var IFCPIPESEGMENT = 3612865200;
  13499. var IFCPIPESEGMENTTYPE = 4231323485;
  13500. var IFCPIXELTEXTURE = 597895409;
  13501. var IFCPLACEMENT = 2004835150;
  13502. var IFCPLANARBOX = 603570806;
  13503. var IFCPLANAREXTENT = 1663979128;
  13504. var IFCPLANE = 220341763;
  13505. var IFCPLATE = 3171933400;
  13506. var IFCPLATESTANDARDCASE = 1156407060;
  13507. var IFCPLATETYPE = 4017108033;
  13508. var IFCPOINT = 2067069095;
  13509. var IFCPOINTONCURVE = 4022376103;
  13510. var IFCPOINTONSURFACE = 1423911732;
  13511. var IFCPOLYLOOP = 2924175390;
  13512. var IFCPOLYGONALBOUNDEDHALFSPACE = 2775532180;
  13513. var IFCPOLYGONALFACESET = 2839578677;
  13514. var IFCPOLYLINE = 3724593414;
  13515. var IFCPORT = 3740093272;
  13516. var IFCPOSITIONINGELEMENT = 1946335990;
  13517. var IFCPOSTALADDRESS = 3355820592;
  13518. var IFCPREDEFINEDCOLOUR = 759155922;
  13519. var IFCPREDEFINEDCURVEFONT = 2559016684;
  13520. var IFCPREDEFINEDITEM = 3727388367;
  13521. var IFCPREDEFINEDPROPERTIES = 3778827333;
  13522. var IFCPREDEFINEDPROPERTYSET = 3967405729;
  13523. var IFCPREDEFINEDTEXTFONT = 1775413392;
  13524. var IFCPRESENTATIONITEM = 677532197;
  13525. var IFCPRESENTATIONLAYERASSIGNMENT = 2022622350;
  13526. var IFCPRESENTATIONLAYERWITHSTYLE = 1304840413;
  13527. var IFCPRESENTATIONSTYLE = 3119450353;
  13528. var IFCPRESENTATIONSTYLEASSIGNMENT = 2417041796;
  13529. var IFCPROCEDURE = 2744685151;
  13530. var IFCPROCEDURETYPE = 569719735;
  13531. var IFCPROCESS = 2945172077;
  13532. var IFCPRODUCT = 4208778838;
  13533. var IFCPRODUCTDEFINITIONSHAPE = 673634403;
  13534. var IFCPRODUCTREPRESENTATION = 2095639259;
  13535. var IFCPROFILEDEF = 3958567839;
  13536. var IFCPROFILEPROPERTIES = 2802850158;
  13537. var IFCPROJECT = 103090709;
  13538. var IFCPROJECTLIBRARY = 653396225;
  13539. var IFCPROJECTORDER = 2904328755;
  13540. var IFCPROJECTEDCRS = 3843373140;
  13541. var IFCPROJECTIONELEMENT = 3651124850;
  13542. var IFCPROPERTY = 2598011224;
  13543. var IFCPROPERTYABSTRACTION = 986844984;
  13544. var IFCPROPERTYBOUNDEDVALUE = 871118103;
  13545. var IFCPROPERTYDEFINITION = 1680319473;
  13546. var IFCPROPERTYDEPENDENCYRELATIONSHIP = 148025276;
  13547. var IFCPROPERTYENUMERATEDVALUE = 4166981789;
  13548. var IFCPROPERTYENUMERATION = 3710013099;
  13549. var IFCPROPERTYLISTVALUE = 2752243245;
  13550. var IFCPROPERTYREFERENCEVALUE = 941946838;
  13551. var IFCPROPERTYSET = 1451395588;
  13552. var IFCPROPERTYSETDEFINITION = 3357820518;
  13553. var IFCPROPERTYSETTEMPLATE = 492091185;
  13554. var IFCPROPERTYSINGLEVALUE = 3650150729;
  13555. var IFCPROPERTYTABLEVALUE = 110355661;
  13556. var IFCPROPERTYTEMPLATE = 3521284610;
  13557. var IFCPROPERTYTEMPLATEDEFINITION = 1482703590;
  13558. var IFCPROTECTIVEDEVICE = 738039164;
  13559. var IFCPROTECTIVEDEVICETRIPPINGUNIT = 2295281155;
  13560. var IFCPROTECTIVEDEVICETRIPPINGUNITTYPE = 655969474;
  13561. var IFCPROTECTIVEDEVICETYPE = 1842657554;
  13562. var IFCPROXY = 3219374653;
  13563. var IFCPUMP = 90941305;
  13564. var IFCPUMPTYPE = 2250791053;
  13565. var IFCQUANTITYAREA = 2044713172;
  13566. var IFCQUANTITYCOUNT = 2093928680;
  13567. var IFCQUANTITYLENGTH = 931644368;
  13568. var IFCQUANTITYSET = 2090586900;
  13569. var IFCQUANTITYTIME = 3252649465;
  13570. var IFCQUANTITYVOLUME = 2405470396;
  13571. var IFCQUANTITYWEIGHT = 825690147;
  13572. var IFCRAILING = 2262370178;
  13573. var IFCRAILINGTYPE = 2893384427;
  13574. var IFCRAMP = 3024970846;
  13575. var IFCRAMPFLIGHT = 3283111854;
  13576. var IFCRAMPFLIGHTTYPE = 2324767716;
  13577. var IFCRAMPTYPE = 1469900589;
  13578. var IFCRATIONALBSPLINECURVEWITHKNOTS = 1232101972;
  13579. var IFCRATIONALBSPLINESURFACEWITHKNOTS = 683857671;
  13580. var IFCRECTANGLEHOLLOWPROFILEDEF = 2770003689;
  13581. var IFCRECTANGLEPROFILEDEF = 3615266464;
  13582. var IFCRECTANGULARPYRAMID = 2798486643;
  13583. var IFCRECTANGULARTRIMMEDSURFACE = 3454111270;
  13584. var IFCRECURRENCEPATTERN = 3915482550;
  13585. var IFCREFERENCE = 2433181523;
  13586. var IFCREFERENT = 4021432810;
  13587. var IFCREGULARTIMESERIES = 3413951693;
  13588. var IFCREINFORCEMENTBARPROPERTIES = 1580146022;
  13589. var IFCREINFORCEMENTDEFINITIONPROPERTIES = 3765753017;
  13590. var IFCREINFORCINGBAR = 979691226;
  13591. var IFCREINFORCINGBARTYPE = 2572171363;
  13592. var IFCREINFORCINGELEMENT = 3027567501;
  13593. var IFCREINFORCINGELEMENTTYPE = 964333572;
  13594. var IFCREINFORCINGMESH = 2320036040;
  13595. var IFCREINFORCINGMESHTYPE = 2310774935;
  13596. var IFCRELAGGREGATES = 160246688;
  13597. var IFCRELASSIGNS = 3939117080;
  13598. var IFCRELASSIGNSTOACTOR = 1683148259;
  13599. var IFCRELASSIGNSTOCONTROL = 2495723537;
  13600. var IFCRELASSIGNSTOGROUP = 1307041759;
  13601. var IFCRELASSIGNSTOGROUPBYFACTOR = 1027710054;
  13602. var IFCRELASSIGNSTOPROCESS = 4278684876;
  13603. var IFCRELASSIGNSTOPRODUCT = 2857406711;
  13604. var IFCRELASSIGNSTORESOURCE = 205026976;
  13605. var IFCRELASSOCIATES = 1865459582;
  13606. var IFCRELASSOCIATESAPPROVAL = 4095574036;
  13607. var IFCRELASSOCIATESCLASSIFICATION = 919958153;
  13608. var IFCRELASSOCIATESCONSTRAINT = 2728634034;
  13609. var IFCRELASSOCIATESDOCUMENT = 982818633;
  13610. var IFCRELASSOCIATESLIBRARY = 3840914261;
  13611. var IFCRELASSOCIATESMATERIAL = 2655215786;
  13612. var IFCRELCONNECTS = 826625072;
  13613. var IFCRELCONNECTSELEMENTS = 1204542856;
  13614. var IFCRELCONNECTSPATHELEMENTS = 3945020480;
  13615. var IFCRELCONNECTSPORTTOELEMENT = 4201705270;
  13616. var IFCRELCONNECTSPORTS = 3190031847;
  13617. var IFCRELCONNECTSSTRUCTURALACTIVITY = 2127690289;
  13618. var IFCRELCONNECTSSTRUCTURALMEMBER = 1638771189;
  13619. var IFCRELCONNECTSWITHECCENTRICITY = 504942748;
  13620. var IFCRELCONNECTSWITHREALIZINGELEMENTS = 3678494232;
  13621. var IFCRELCONTAINEDINSPATIALSTRUCTURE = 3242617779;
  13622. var IFCRELCOVERSBLDGELEMENTS = 886880790;
  13623. var IFCRELCOVERSSPACES = 2802773753;
  13624. var IFCRELDECLARES = 2565941209;
  13625. var IFCRELDECOMPOSES = 2551354335;
  13626. var IFCRELDEFINES = 693640335;
  13627. var IFCRELDEFINESBYOBJECT = 1462361463;
  13628. var IFCRELDEFINESBYPROPERTIES = 4186316022;
  13629. var IFCRELDEFINESBYTEMPLATE = 307848117;
  13630. var IFCRELDEFINESBYTYPE = 781010003;
  13631. var IFCRELFILLSELEMENT = 3940055652;
  13632. var IFCRELFLOWCONTROLELEMENTS = 279856033;
  13633. var IFCRELINTERFERESELEMENTS = 427948657;
  13634. var IFCRELNESTS = 3268803585;
  13635. var IFCRELPOSITIONS = 1441486842;
  13636. var IFCRELPROJECTSELEMENT = 750771296;
  13637. var IFCRELREFERENCEDINSPATIALSTRUCTURE = 1245217292;
  13638. var IFCRELSEQUENCE = 4122056220;
  13639. var IFCRELSERVICESBUILDINGS = 366585022;
  13640. var IFCRELSPACEBOUNDARY = 3451746338;
  13641. var IFCRELSPACEBOUNDARY1STLEVEL = 3523091289;
  13642. var IFCRELSPACEBOUNDARY2NDLEVEL = 1521410863;
  13643. var IFCRELVOIDSELEMENT = 1401173127;
  13644. var IFCRELATIONSHIP = 478536968;
  13645. var IFCREPARAMETRISEDCOMPOSITECURVESEGMENT = 816062949;
  13646. var IFCREPRESENTATION = 1076942058;
  13647. var IFCREPRESENTATIONCONTEXT = 3377609919;
  13648. var IFCREPRESENTATIONITEM = 3008791417;
  13649. var IFCREPRESENTATIONMAP = 1660063152;
  13650. var IFCRESOURCE = 2914609552;
  13651. var IFCRESOURCEAPPROVALRELATIONSHIP = 2943643501;
  13652. var IFCRESOURCECONSTRAINTRELATIONSHIP = 1608871552;
  13653. var IFCRESOURCELEVELRELATIONSHIP = 2439245199;
  13654. var IFCRESOURCETIME = 1042787934;
  13655. var IFCREVOLVEDAREASOLID = 1856042241;
  13656. var IFCREVOLVEDAREASOLIDTAPERED = 3243963512;
  13657. var IFCRIGHTCIRCULARCONE = 4158566097;
  13658. var IFCRIGHTCIRCULARCYLINDER = 3626867408;
  13659. var IFCROOF = 2016517767;
  13660. var IFCROOFTYPE = 2781568857;
  13661. var IFCROOT = 2341007311;
  13662. var IFCROUNDEDRECTANGLEPROFILEDEF = 2778083089;
  13663. var IFCSIUNIT = 448429030;
  13664. var IFCSANITARYTERMINAL = 3053780830;
  13665. var IFCSANITARYTERMINALTYPE = 1768891740;
  13666. var IFCSCHEDULINGTIME = 1054537805;
  13667. var IFCSEAMCURVE = 2157484638;
  13668. var IFCSECTIONPROPERTIES = 2042790032;
  13669. var IFCSECTIONREINFORCEMENTPROPERTIES = 4165799628;
  13670. var IFCSECTIONEDSOLID = 1862484736;
  13671. var IFCSECTIONEDSOLIDHORIZONTAL = 1290935644;
  13672. var IFCSECTIONEDSPINE = 1509187699;
  13673. var IFCSENSOR = 4086658281;
  13674. var IFCSENSORTYPE = 1783015770;
  13675. var IFCSHADINGDEVICE = 1329646415;
  13676. var IFCSHADINGDEVICETYPE = 4074543187;
  13677. var IFCSHAPEASPECT = 867548509;
  13678. var IFCSHAPEMODEL = 3982875396;
  13679. var IFCSHAPEREPRESENTATION = 4240577450;
  13680. var IFCSHELLBASEDSURFACEMODEL = 4124623270;
  13681. var IFCSIMPLEPROPERTY = 3692461612;
  13682. var IFCSIMPLEPROPERTYTEMPLATE = 3663146110;
  13683. var IFCSITE = 4097777520;
  13684. var IFCSLAB = 1529196076;
  13685. var IFCSLABELEMENTEDCASE = 3127900445;
  13686. var IFCSLABSTANDARDCASE = 3027962421;
  13687. var IFCSLABTYPE = 2533589738;
  13688. var IFCSLIPPAGECONNECTIONCONDITION = 2609359061;
  13689. var IFCSOLARDEVICE = 3420628829;
  13690. var IFCSOLARDEVICETYPE = 1072016465;
  13691. var IFCSOLIDMODEL = 723233188;
  13692. var IFCSPACE = 3856911033;
  13693. var IFCSPACEHEATER = 1999602285;
  13694. var IFCSPACEHEATERTYPE = 1305183839;
  13695. var IFCSPACETYPE = 3812236995;
  13696. var IFCSPATIALELEMENT = 1412071761;
  13697. var IFCSPATIALELEMENTTYPE = 710998568;
  13698. var IFCSPATIALSTRUCTUREELEMENT = 2706606064;
  13699. var IFCSPATIALSTRUCTUREELEMENTTYPE = 3893378262;
  13700. var IFCSPATIALZONE = 463610769;
  13701. var IFCSPATIALZONETYPE = 2481509218;
  13702. var IFCSPHERE = 451544542;
  13703. var IFCSPHERICALSURFACE = 4015995234;
  13704. var IFCSTACKTERMINAL = 1404847402;
  13705. var IFCSTACKTERMINALTYPE = 3112655638;
  13706. var IFCSTAIR = 331165859;
  13707. var IFCSTAIRFLIGHT = 4252922144;
  13708. var IFCSTAIRFLIGHTTYPE = 1039846685;
  13709. var IFCSTAIRTYPE = 338393293;
  13710. var IFCSTRUCTURALACTION = 682877961;
  13711. var IFCSTRUCTURALACTIVITY = 3544373492;
  13712. var IFCSTRUCTURALANALYSISMODEL = 2515109513;
  13713. var IFCSTRUCTURALCONNECTION = 1179482911;
  13714. var IFCSTRUCTURALCONNECTIONCONDITION = 2273995522;
  13715. var IFCSTRUCTURALCURVEACTION = 1004757350;
  13716. var IFCSTRUCTURALCURVECONNECTION = 4243806635;
  13717. var IFCSTRUCTURALCURVEMEMBER = 214636428;
  13718. var IFCSTRUCTURALCURVEMEMBERVARYING = 2445595289;
  13719. var IFCSTRUCTURALCURVEREACTION = 2757150158;
  13720. var IFCSTRUCTURALITEM = 3136571912;
  13721. var IFCSTRUCTURALLINEARACTION = 1807405624;
  13722. var IFCSTRUCTURALLOAD = 2162789131;
  13723. var IFCSTRUCTURALLOADCASE = 385403989;
  13724. var IFCSTRUCTURALLOADCONFIGURATION = 3478079324;
  13725. var IFCSTRUCTURALLOADGROUP = 1252848954;
  13726. var IFCSTRUCTURALLOADLINEARFORCE = 1595516126;
  13727. var IFCSTRUCTURALLOADORRESULT = 609421318;
  13728. var IFCSTRUCTURALLOADPLANARFORCE = 2668620305;
  13729. var IFCSTRUCTURALLOADSINGLEDISPLACEMENT = 2473145415;
  13730. var IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION = 1973038258;
  13731. var IFCSTRUCTURALLOADSINGLEFORCE = 1597423693;
  13732. var IFCSTRUCTURALLOADSINGLEFORCEWARPING = 1190533807;
  13733. var IFCSTRUCTURALLOADSTATIC = 2525727697;
  13734. var IFCSTRUCTURALLOADTEMPERATURE = 3408363356;
  13735. var IFCSTRUCTURALMEMBER = 530289379;
  13736. var IFCSTRUCTURALPLANARACTION = 1621171031;
  13737. var IFCSTRUCTURALPOINTACTION = 2082059205;
  13738. var IFCSTRUCTURALPOINTCONNECTION = 734778138;
  13739. var IFCSTRUCTURALPOINTREACTION = 1235345126;
  13740. var IFCSTRUCTURALREACTION = 3689010777;
  13741. var IFCSTRUCTURALRESULTGROUP = 2986769608;
  13742. var IFCSTRUCTURALSURFACEACTION = 3657597509;
  13743. var IFCSTRUCTURALSURFACECONNECTION = 1975003073;
  13744. var IFCSTRUCTURALSURFACEMEMBER = 3979015343;
  13745. var IFCSTRUCTURALSURFACEMEMBERVARYING = 2218152070;
  13746. var IFCSTRUCTURALSURFACEREACTION = 603775116;
  13747. var IFCSTYLEMODEL = 2830218821;
  13748. var IFCSTYLEDITEM = 3958052878;
  13749. var IFCSTYLEDREPRESENTATION = 3049322572;
  13750. var IFCSUBCONTRACTRESOURCE = 148013059;
  13751. var IFCSUBCONTRACTRESOURCETYPE = 4095615324;
  13752. var IFCSUBEDGE = 2233826070;
  13753. var IFCSURFACE = 2513912981;
  13754. var IFCSURFACECURVE = 699246055;
  13755. var IFCSURFACECURVESWEPTAREASOLID = 2028607225;
  13756. var IFCSURFACEFEATURE = 3101698114;
  13757. var IFCSURFACEOFLINEAREXTRUSION = 2809605785;
  13758. var IFCSURFACEOFREVOLUTION = 4124788165;
  13759. var IFCSURFACEREINFORCEMENTAREA = 2934153892;
  13760. var IFCSURFACESTYLE = 1300840506;
  13761. var IFCSURFACESTYLELIGHTING = 3303107099;
  13762. var IFCSURFACESTYLEREFRACTION = 1607154358;
  13763. var IFCSURFACESTYLERENDERING = 1878645084;
  13764. var IFCSURFACESTYLESHADING = 846575682;
  13765. var IFCSURFACESTYLEWITHTEXTURES = 1351298697;
  13766. var IFCSURFACETEXTURE = 626085974;
  13767. var IFCSWEPTAREASOLID = 2247615214;
  13768. var IFCSWEPTDISKSOLID = 1260650574;
  13769. var IFCSWEPTDISKSOLIDPOLYGONAL = 1096409881;
  13770. var IFCSWEPTSURFACE = 230924584;
  13771. var IFCSWITCHINGDEVICE = 1162798199;
  13772. var IFCSWITCHINGDEVICETYPE = 2315554128;
  13773. var IFCSYSTEM = 2254336722;
  13774. var IFCSYSTEMFURNITUREELEMENT = 413509423;
  13775. var IFCSYSTEMFURNITUREELEMENTTYPE = 1580310250;
  13776. var IFCTSHAPEPROFILEDEF = 3071757647;
  13777. var IFCTABLE = 985171141;
  13778. var IFCTABLECOLUMN = 2043862942;
  13779. var IFCTABLEROW = 531007025;
  13780. var IFCTANK = 812556717;
  13781. var IFCTANKTYPE = 5716631;
  13782. var IFCTASK = 3473067441;
  13783. var IFCTASKTIME = 1549132990;
  13784. var IFCTASKTIMERECURRING = 2771591690;
  13785. var IFCTASKTYPE = 3206491090;
  13786. var IFCTELECOMADDRESS = 912023232;
  13787. var IFCTENDON = 3824725483;
  13788. var IFCTENDONANCHOR = 2347447852;
  13789. var IFCTENDONANCHORTYPE = 3081323446;
  13790. var IFCTENDONCONDUIT = 3663046924;
  13791. var IFCTENDONCONDUITTYPE = 2281632017;
  13792. var IFCTENDONTYPE = 2415094496;
  13793. var IFCTESSELLATEDFACESET = 2387106220;
  13794. var IFCTESSELLATEDITEM = 901063453;
  13795. var IFCTEXTLITERAL = 4282788508;
  13796. var IFCTEXTLITERALWITHEXTENT = 3124975700;
  13797. var IFCTEXTSTYLE = 1447204868;
  13798. var IFCTEXTSTYLEFONTMODEL = 1983826977;
  13799. var IFCTEXTSTYLEFORDEFINEDFONT = 2636378356;
  13800. var IFCTEXTSTYLETEXTMODEL = 1640371178;
  13801. var IFCTEXTURECOORDINATE = 280115917;
  13802. var IFCTEXTURECOORDINATEGENERATOR = 1742049831;
  13803. var IFCTEXTUREMAP = 2552916305;
  13804. var IFCTEXTUREVERTEX = 1210645708;
  13805. var IFCTEXTUREVERTEXLIST = 3611470254;
  13806. var IFCTIMEPERIOD = 1199560280;
  13807. var IFCTIMESERIES = 3101149627;
  13808. var IFCTIMESERIESVALUE = 581633288;
  13809. var IFCTOPOLOGICALREPRESENTATIONITEM = 1377556343;
  13810. var IFCTOPOLOGYREPRESENTATION = 1735638870;
  13811. var IFCTOROIDALSURFACE = 1935646853;
  13812. var IFCTRANSFORMER = 3825984169;
  13813. var IFCTRANSFORMERTYPE = 1692211062;
  13814. var IFCTRANSITIONCURVESEGMENT2D = 2595432518;
  13815. var IFCTRANSPORTELEMENT = 1620046519;
  13816. var IFCTRANSPORTELEMENTTYPE = 2097647324;
  13817. var IFCTRAPEZIUMPROFILEDEF = 2715220739;
  13818. var IFCTRIANGULATEDFACESET = 2916149573;
  13819. var IFCTRIANGULATEDIRREGULARNETWORK = 1229763772;
  13820. var IFCTRIMMEDCURVE = 3593883385;
  13821. var IFCTUBEBUNDLE = 3026737570;
  13822. var IFCTUBEBUNDLETYPE = 1600972822;
  13823. var IFCTYPEOBJECT = 1628702193;
  13824. var IFCTYPEPROCESS = 3736923433;
  13825. var IFCTYPEPRODUCT = 2347495698;
  13826. var IFCTYPERESOURCE = 3698973494;
  13827. var IFCUSHAPEPROFILEDEF = 427810014;
  13828. var IFCUNITASSIGNMENT = 180925521;
  13829. var IFCUNITARYCONTROLELEMENT = 630975310;
  13830. var IFCUNITARYCONTROLELEMENTTYPE = 3179687236;
  13831. var IFCUNITARYEQUIPMENT = 4292641817;
  13832. var IFCUNITARYEQUIPMENTTYPE = 1911125066;
  13833. var IFCVALVE = 4207607924;
  13834. var IFCVALVETYPE = 728799441;
  13835. var IFCVECTOR = 1417489154;
  13836. var IFCVERTEX = 2799835756;
  13837. var IFCVERTEXLOOP = 2759199220;
  13838. var IFCVERTEXPOINT = 1907098498;
  13839. var IFCVIBRATIONDAMPER = 1530820697;
  13840. var IFCVIBRATIONDAMPERTYPE = 3956297820;
  13841. var IFCVIBRATIONISOLATOR = 2391383451;
  13842. var IFCVIBRATIONISOLATORTYPE = 3313531582;
  13843. var IFCVIRTUALELEMENT = 2769231204;
  13844. var IFCVIRTUALGRIDINTERSECTION = 891718957;
  13845. var IFCVOIDINGFEATURE = 926996030;
  13846. var IFCWALL = 2391406946;
  13847. var IFCWALLELEMENTEDCASE = 4156078855;
  13848. var IFCWALLSTANDARDCASE = 3512223829;
  13849. var IFCWALLTYPE = 1898987631;
  13850. var IFCWASTETERMINAL = 4237592921;
  13851. var IFCWASTETERMINALTYPE = 1133259667;
  13852. var IFCWINDOW = 3304561284;
  13853. var IFCWINDOWLININGPROPERTIES = 336235671;
  13854. var IFCWINDOWPANELPROPERTIES = 512836454;
  13855. var IFCWINDOWSTANDARDCASE = 486154966;
  13856. var IFCWINDOWSTYLE = 1299126871;
  13857. var IFCWINDOWTYPE = 4009809668;
  13858. var IFCWORKCALENDAR = 4088093105;
  13859. var IFCWORKCONTROL = 1028945134;
  13860. var IFCWORKPLAN = 4218914973;
  13861. var IFCWORKSCHEDULE = 3342526732;
  13862. var IFCWORKTIME = 1236880293;
  13863. var IFCZSHAPEPROFILEDEF = 2543172580;
  13864. var IFCZONE = 1033361043;
  13865. var IfcElements = [
  13866. IFCACTUATOR,
  13867. IFCAIRTERMINAL,
  13868. IFCAIRTERMINALBOX,
  13869. IFCAIRTOAIRHEATRECOVERY,
  13870. IFCALARM,
  13871. IFCALIGNMENT,
  13872. IFCANNOTATION,
  13873. IFCAUDIOVISUALAPPLIANCE,
  13874. IFCBEAM,
  13875. IFCBEAMSTANDARDCASE,
  13876. IFCBEARING,
  13877. IFCBOILER,
  13878. IFCBRIDGE,
  13879. IFCBRIDGEPART,
  13880. IFCBUILDING,
  13881. IFCBUILDINGELEMENT,
  13882. IFCBUILDINGELEMENTPART,
  13883. IFCBUILDINGELEMENTPROXY,
  13884. IFCBUILDINGSTOREY,
  13885. IFCBURNER,
  13886. IFCCABLECARRIERFITTING,
  13887. IFCCABLECARRIERSEGMENT,
  13888. IFCCABLEFITTING,
  13889. IFCCABLESEGMENT,
  13890. IFCCAISSONFOUNDATION,
  13891. IFCCHILLER,
  13892. IFCCHIMNEY,
  13893. IFCCIVILELEMENT,
  13894. IFCCOIL,
  13895. IFCCOLUMN,
  13896. IFCCOLUMNSTANDARDCASE,
  13897. IFCCOMMUNICATIONSAPPLIANCE,
  13898. IFCCOMPRESSOR,
  13899. IFCCONDENSER,
  13900. IFCCONTROLLER,
  13901. IFCCOOLEDBEAM,
  13902. IFCCOOLINGTOWER,
  13903. IFCCOVERING,
  13904. IFCCURTAINWALL,
  13905. IFCDAMPER,
  13906. IFCDEEPFOUNDATION,
  13907. IFCDISCRETEACCESSORY,
  13908. IFCDISTRIBUTIONCHAMBERELEMENT,
  13909. IFCDISTRIBUTIONCONTROLELEMENT,
  13910. IFCDISTRIBUTIONELEMENT,
  13911. IFCDISTRIBUTIONFLOWELEMENT,
  13912. IFCDISTRIBUTIONPORT,
  13913. IFCDOOR,
  13914. IFCDOORSTANDARDCASE,
  13915. IFCDUCTFITTING,
  13916. IFCDUCTSEGMENT,
  13917. IFCDUCTSILENCER,
  13918. IFCELECTRICAPPLIANCE,
  13919. IFCELECTRICDISTRIBUTIONBOARD,
  13920. IFCELECTRICFLOWSTORAGEDEVICE,
  13921. IFCELECTRICGENERATOR,
  13922. IFCELECTRICMOTOR,
  13923. IFCELECTRICTIMECONTROL,
  13924. IFCELEMENT,
  13925. IFCELEMENTASSEMBLY,
  13926. IFCELEMENTCOMPONENT,
  13927. IFCENERGYCONVERSIONDEVICE,
  13928. IFCENGINE,
  13929. IFCEVAPORATIVECOOLER,
  13930. IFCEVAPORATOR,
  13931. IFCEXTERNALSPATIALELEMENT,
  13932. IFCEXTERNALSPATIALSTRUCTUREELEMENT,
  13933. IFCFACILITY,
  13934. IFCFACILITYPART,
  13935. IFCFAN,
  13936. IFCFASTENER,
  13937. IFCFEATUREELEMENT,
  13938. IFCFEATUREELEMENTADDITION,
  13939. IFCFEATUREELEMENTSUBTRACTION,
  13940. IFCFILTER,
  13941. IFCFIRESUPPRESSIONTERMINAL,
  13942. IFCFLOWCONTROLLER,
  13943. IFCFLOWFITTING,
  13944. IFCFLOWINSTRUMENT,
  13945. IFCFLOWMETER,
  13946. IFCFLOWMOVINGDEVICE,
  13947. IFCFLOWSEGMENT,
  13948. IFCFLOWSTORAGEDEVICE,
  13949. IFCFLOWTERMINAL,
  13950. IFCFLOWTREATMENTDEVICE,
  13951. IFCFOOTING,
  13952. IFCFURNISHINGELEMENT,
  13953. IFCFURNITURE,
  13954. IFCGEOGRAPHICELEMENT,
  13955. IFCGRID,
  13956. IFCHEATEXCHANGER,
  13957. IFCHUMIDIFIER,
  13958. IFCINTERCEPTOR,
  13959. IFCJUNCTIONBOX,
  13960. IFCLAMP,
  13961. IFCLIGHTFIXTURE,
  13962. IFCLINEARPOSITIONINGELEMENT,
  13963. IFCMECHANICALFASTENER,
  13964. IFCMEDICALDEVICE,
  13965. IFCMEMBER,
  13966. IFCMEMBERSTANDARDCASE,
  13967. IFCMOTORCONNECTION,
  13968. IFCOPENINGELEMENT,
  13969. IFCOPENINGSTANDARDCASE,
  13970. IFCOUTLET,
  13971. IFCPILE,
  13972. IFCPIPEFITTING,
  13973. IFCPIPESEGMENT,
  13974. IFCPLATE,
  13975. IFCPLATESTANDARDCASE,
  13976. IFCPORT,
  13977. IFCPOSITIONINGELEMENT,
  13978. IFCPROJECTIONELEMENT,
  13979. IFCPROTECTIVEDEVICE,
  13980. IFCPROTECTIVEDEVICETRIPPINGUNIT,
  13981. IFCPROXY,
  13982. IFCPUMP,
  13983. IFCRAILING,
  13984. IFCRAMP,
  13985. IFCRAMPFLIGHT,
  13986. IFCREFERENT,
  13987. IFCREINFORCINGBAR,
  13988. IFCREINFORCINGELEMENT,
  13989. IFCREINFORCINGMESH,
  13990. IFCROOF,
  13991. IFCSANITARYTERMINAL,
  13992. IFCSENSOR,
  13993. IFCSHADINGDEVICE,
  13994. IFCSITE,
  13995. IFCSLAB,
  13996. IFCSLABELEMENTEDCASE,
  13997. IFCSLABSTANDARDCASE,
  13998. IFCSOLARDEVICE,
  13999. IFCSPACE,
  14000. IFCSPACEHEATER,
  14001. IFCSPATIALELEMENT,
  14002. IFCSPATIALSTRUCTUREELEMENT,
  14003. IFCSPATIALZONE,
  14004. IFCSTACKTERMINAL,
  14005. IFCSTAIR,
  14006. IFCSTAIRFLIGHT,
  14007. IFCSTRUCTURALACTION,
  14008. IFCSTRUCTURALACTIVITY,
  14009. IFCSTRUCTURALCONNECTION,
  14010. IFCSTRUCTURALCURVEACTION,
  14011. IFCSTRUCTURALCURVECONNECTION,
  14012. IFCSTRUCTURALCURVEMEMBER,
  14013. IFCSTRUCTURALCURVEMEMBERVARYING,
  14014. IFCSTRUCTURALCURVEREACTION,
  14015. IFCSTRUCTURALITEM,
  14016. IFCSTRUCTURALLINEARACTION,
  14017. IFCSTRUCTURALMEMBER,
  14018. IFCSTRUCTURALPLANARACTION,
  14019. IFCSTRUCTURALPOINTACTION,
  14020. IFCSTRUCTURALPOINTCONNECTION,
  14021. IFCSTRUCTURALPOINTREACTION,
  14022. IFCSTRUCTURALREACTION,
  14023. IFCSTRUCTURALSURFACEACTION,
  14024. IFCSTRUCTURALSURFACECONNECTION,
  14025. IFCSTRUCTURALSURFACEMEMBER,
  14026. IFCSTRUCTURALSURFACEMEMBERVARYING,
  14027. IFCSTRUCTURALSURFACEREACTION,
  14028. IFCSURFACEFEATURE,
  14029. IFCSWITCHINGDEVICE,
  14030. IFCSYSTEMFURNITUREELEMENT,
  14031. IFCTANK,
  14032. IFCTENDON,
  14033. IFCTENDONANCHOR,
  14034. IFCTENDONCONDUIT,
  14035. IFCTRANSFORMER,
  14036. IFCTRANSPORTELEMENT,
  14037. IFCTUBEBUNDLE,
  14038. IFCUNITARYCONTROLELEMENT,
  14039. IFCUNITARYEQUIPMENT,
  14040. IFCVALVE,
  14041. IFCVIBRATIONDAMPER,
  14042. IFCVIBRATIONISOLATOR,
  14043. IFCVIRTUALELEMENT,
  14044. IFCVOIDINGFEATURE,
  14045. IFCWALL,
  14046. IFCWALLELEMENTEDCASE,
  14047. IFCWALLSTANDARDCASE,
  14048. IFCWASTETERMINAL,
  14049. IFCWINDOW,
  14050. IFCWINDOWSTANDARDCASE
  14051. ];
  14052. // dist/ifc2x4_helper.ts
  14053. var FromRawLineData = {};
  14054. FromRawLineData[IFCACTIONREQUEST] = (d) => {
  14055. return IfcActionRequest.FromTape(d.ID, d.type, d.arguments);
  14056. };
  14057. FromRawLineData[IFCACTOR] = (d) => {
  14058. return IfcActor.FromTape(d.ID, d.type, d.arguments);
  14059. };
  14060. FromRawLineData[IFCACTORROLE] = (d) => {
  14061. return IfcActorRole.FromTape(d.ID, d.type, d.arguments);
  14062. };
  14063. FromRawLineData[IFCACTUATOR] = (d) => {
  14064. return IfcActuator.FromTape(d.ID, d.type, d.arguments);
  14065. };
  14066. FromRawLineData[IFCACTUATORTYPE] = (d) => {
  14067. return IfcActuatorType.FromTape(d.ID, d.type, d.arguments);
  14068. };
  14069. FromRawLineData[IFCADDRESS] = (d) => {
  14070. return IfcAddress.FromTape(d.ID, d.type, d.arguments);
  14071. };
  14072. FromRawLineData[IFCADVANCEDBREP] = (d) => {
  14073. return IfcAdvancedBrep.FromTape(d.ID, d.type, d.arguments);
  14074. };
  14075. FromRawLineData[IFCADVANCEDBREPWITHVOIDS] = (d) => {
  14076. return IfcAdvancedBrepWithVoids.FromTape(d.ID, d.type, d.arguments);
  14077. };
  14078. FromRawLineData[IFCADVANCEDFACE] = (d) => {
  14079. return IfcAdvancedFace.FromTape(d.ID, d.type, d.arguments);
  14080. };
  14081. FromRawLineData[IFCAIRTERMINAL] = (d) => {
  14082. return IfcAirTerminal.FromTape(d.ID, d.type, d.arguments);
  14083. };
  14084. FromRawLineData[IFCAIRTERMINALBOX] = (d) => {
  14085. return IfcAirTerminalBox.FromTape(d.ID, d.type, d.arguments);
  14086. };
  14087. FromRawLineData[IFCAIRTERMINALBOXTYPE] = (d) => {
  14088. return IfcAirTerminalBoxType.FromTape(d.ID, d.type, d.arguments);
  14089. };
  14090. FromRawLineData[IFCAIRTERMINALTYPE] = (d) => {
  14091. return IfcAirTerminalType.FromTape(d.ID, d.type, d.arguments);
  14092. };
  14093. FromRawLineData[IFCAIRTOAIRHEATRECOVERY] = (d) => {
  14094. return IfcAirToAirHeatRecovery.FromTape(d.ID, d.type, d.arguments);
  14095. };
  14096. FromRawLineData[IFCAIRTOAIRHEATRECOVERYTYPE] = (d) => {
  14097. return IfcAirToAirHeatRecoveryType.FromTape(d.ID, d.type, d.arguments);
  14098. };
  14099. FromRawLineData[IFCALARM] = (d) => {
  14100. return IfcAlarm.FromTape(d.ID, d.type, d.arguments);
  14101. };
  14102. FromRawLineData[IFCALARMTYPE] = (d) => {
  14103. return IfcAlarmType.FromTape(d.ID, d.type, d.arguments);
  14104. };
  14105. FromRawLineData[IFCALIGNMENT] = (d) => {
  14106. return IfcAlignment.FromTape(d.ID, d.type, d.arguments);
  14107. };
  14108. FromRawLineData[IFCALIGNMENT2DHORIZONTAL] = (d) => {
  14109. return IfcAlignment2DHorizontal.FromTape(d.ID, d.type, d.arguments);
  14110. };
  14111. FromRawLineData[IFCALIGNMENT2DHORIZONTALSEGMENT] = (d) => {
  14112. return IfcAlignment2DHorizontalSegment.FromTape(d.ID, d.type, d.arguments);
  14113. };
  14114. FromRawLineData[IFCALIGNMENT2DSEGMENT] = (d) => {
  14115. return IfcAlignment2DSegment.FromTape(d.ID, d.type, d.arguments);
  14116. };
  14117. FromRawLineData[IFCALIGNMENT2DVERSEGCIRCULARARC] = (d) => {
  14118. return IfcAlignment2DVerSegCircularArc.FromTape(d.ID, d.type, d.arguments);
  14119. };
  14120. FromRawLineData[IFCALIGNMENT2DVERSEGLINE] = (d) => {
  14121. return IfcAlignment2DVerSegLine.FromTape(d.ID, d.type, d.arguments);
  14122. };
  14123. FromRawLineData[IFCALIGNMENT2DVERSEGPARABOLICARC] = (d) => {
  14124. return IfcAlignment2DVerSegParabolicArc.FromTape(d.ID, d.type, d.arguments);
  14125. };
  14126. FromRawLineData[IFCALIGNMENT2DVERTICAL] = (d) => {
  14127. return IfcAlignment2DVertical.FromTape(d.ID, d.type, d.arguments);
  14128. };
  14129. FromRawLineData[IFCALIGNMENT2DVERTICALSEGMENT] = (d) => {
  14130. return IfcAlignment2DVerticalSegment.FromTape(d.ID, d.type, d.arguments);
  14131. };
  14132. FromRawLineData[IFCALIGNMENTCURVE] = (d) => {
  14133. return IfcAlignmentCurve.FromTape(d.ID, d.type, d.arguments);
  14134. };
  14135. FromRawLineData[IFCANNOTATION] = (d) => {
  14136. return IfcAnnotation.FromTape(d.ID, d.type, d.arguments);
  14137. };
  14138. FromRawLineData[IFCANNOTATIONFILLAREA] = (d) => {
  14139. return IfcAnnotationFillArea.FromTape(d.ID, d.type, d.arguments);
  14140. };
  14141. FromRawLineData[IFCAPPLICATION] = (d) => {
  14142. return IfcApplication.FromTape(d.ID, d.type, d.arguments);
  14143. };
  14144. FromRawLineData[IFCAPPLIEDVALUE] = (d) => {
  14145. return IfcAppliedValue.FromTape(d.ID, d.type, d.arguments);
  14146. };
  14147. FromRawLineData[IFCAPPROVAL] = (d) => {
  14148. return IfcApproval.FromTape(d.ID, d.type, d.arguments);
  14149. };
  14150. FromRawLineData[IFCAPPROVALRELATIONSHIP] = (d) => {
  14151. return IfcApprovalRelationship.FromTape(d.ID, d.type, d.arguments);
  14152. };
  14153. FromRawLineData[IFCARBITRARYCLOSEDPROFILEDEF] = (d) => {
  14154. return IfcArbitraryClosedProfileDef.FromTape(d.ID, d.type, d.arguments);
  14155. };
  14156. FromRawLineData[IFCARBITRARYOPENPROFILEDEF] = (d) => {
  14157. return IfcArbitraryOpenProfileDef.FromTape(d.ID, d.type, d.arguments);
  14158. };
  14159. FromRawLineData[IFCARBITRARYPROFILEDEFWITHVOIDS] = (d) => {
  14160. return IfcArbitraryProfileDefWithVoids.FromTape(d.ID, d.type, d.arguments);
  14161. };
  14162. FromRawLineData[IFCASSET] = (d) => {
  14163. return IfcAsset.FromTape(d.ID, d.type, d.arguments);
  14164. };
  14165. FromRawLineData[IFCASYMMETRICISHAPEPROFILEDEF] = (d) => {
  14166. return IfcAsymmetricIShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  14167. };
  14168. FromRawLineData[IFCAUDIOVISUALAPPLIANCE] = (d) => {
  14169. return IfcAudioVisualAppliance.FromTape(d.ID, d.type, d.arguments);
  14170. };
  14171. FromRawLineData[IFCAUDIOVISUALAPPLIANCETYPE] = (d) => {
  14172. return IfcAudioVisualApplianceType.FromTape(d.ID, d.type, d.arguments);
  14173. };
  14174. FromRawLineData[IFCAXIS1PLACEMENT] = (d) => {
  14175. return IfcAxis1Placement.FromTape(d.ID, d.type, d.arguments);
  14176. };
  14177. FromRawLineData[IFCAXIS2PLACEMENT2D] = (d) => {
  14178. return IfcAxis2Placement2D.FromTape(d.ID, d.type, d.arguments);
  14179. };
  14180. FromRawLineData[IFCAXIS2PLACEMENT3D] = (d) => {
  14181. return IfcAxis2Placement3D.FromTape(d.ID, d.type, d.arguments);
  14182. };
  14183. FromRawLineData[IFCBSPLINECURVE] = (d) => {
  14184. return IfcBSplineCurve.FromTape(d.ID, d.type, d.arguments);
  14185. };
  14186. FromRawLineData[IFCBSPLINECURVEWITHKNOTS] = (d) => {
  14187. return IfcBSplineCurveWithKnots.FromTape(d.ID, d.type, d.arguments);
  14188. };
  14189. FromRawLineData[IFCBSPLINESURFACE] = (d) => {
  14190. return IfcBSplineSurface.FromTape(d.ID, d.type, d.arguments);
  14191. };
  14192. FromRawLineData[IFCBSPLINESURFACEWITHKNOTS] = (d) => {
  14193. return IfcBSplineSurfaceWithKnots.FromTape(d.ID, d.type, d.arguments);
  14194. };
  14195. FromRawLineData[IFCBEAM] = (d) => {
  14196. return IfcBeam.FromTape(d.ID, d.type, d.arguments);
  14197. };
  14198. FromRawLineData[IFCBEAMSTANDARDCASE] = (d) => {
  14199. return IfcBeamStandardCase.FromTape(d.ID, d.type, d.arguments);
  14200. };
  14201. FromRawLineData[IFCBEAMTYPE] = (d) => {
  14202. return IfcBeamType.FromTape(d.ID, d.type, d.arguments);
  14203. };
  14204. FromRawLineData[IFCBEARING] = (d) => {
  14205. return IfcBearing.FromTape(d.ID, d.type, d.arguments);
  14206. };
  14207. FromRawLineData[IFCBEARINGTYPE] = (d) => {
  14208. return IfcBearingType.FromTape(d.ID, d.type, d.arguments);
  14209. };
  14210. FromRawLineData[IFCBLOBTEXTURE] = (d) => {
  14211. return IfcBlobTexture.FromTape(d.ID, d.type, d.arguments);
  14212. };
  14213. FromRawLineData[IFCBLOCK] = (d) => {
  14214. return IfcBlock.FromTape(d.ID, d.type, d.arguments);
  14215. };
  14216. FromRawLineData[IFCBOILER] = (d) => {
  14217. return IfcBoiler.FromTape(d.ID, d.type, d.arguments);
  14218. };
  14219. FromRawLineData[IFCBOILERTYPE] = (d) => {
  14220. return IfcBoilerType.FromTape(d.ID, d.type, d.arguments);
  14221. };
  14222. FromRawLineData[IFCBOOLEANCLIPPINGRESULT] = (d) => {
  14223. return IfcBooleanClippingResult.FromTape(d.ID, d.type, d.arguments);
  14224. };
  14225. FromRawLineData[IFCBOOLEANRESULT] = (d) => {
  14226. return IfcBooleanResult.FromTape(d.ID, d.type, d.arguments);
  14227. };
  14228. FromRawLineData[IFCBOUNDARYCONDITION] = (d) => {
  14229. return IfcBoundaryCondition.FromTape(d.ID, d.type, d.arguments);
  14230. };
  14231. FromRawLineData[IFCBOUNDARYCURVE] = (d) => {
  14232. return IfcBoundaryCurve.FromTape(d.ID, d.type, d.arguments);
  14233. };
  14234. FromRawLineData[IFCBOUNDARYEDGECONDITION] = (d) => {
  14235. return IfcBoundaryEdgeCondition.FromTape(d.ID, d.type, d.arguments);
  14236. };
  14237. FromRawLineData[IFCBOUNDARYFACECONDITION] = (d) => {
  14238. return IfcBoundaryFaceCondition.FromTape(d.ID, d.type, d.arguments);
  14239. };
  14240. FromRawLineData[IFCBOUNDARYNODECONDITION] = (d) => {
  14241. return IfcBoundaryNodeCondition.FromTape(d.ID, d.type, d.arguments);
  14242. };
  14243. FromRawLineData[IFCBOUNDARYNODECONDITIONWARPING] = (d) => {
  14244. return IfcBoundaryNodeConditionWarping.FromTape(d.ID, d.type, d.arguments);
  14245. };
  14246. FromRawLineData[IFCBOUNDEDCURVE] = (d) => {
  14247. return IfcBoundedCurve.FromTape(d.ID, d.type, d.arguments);
  14248. };
  14249. FromRawLineData[IFCBOUNDEDSURFACE] = (d) => {
  14250. return IfcBoundedSurface.FromTape(d.ID, d.type, d.arguments);
  14251. };
  14252. FromRawLineData[IFCBOUNDINGBOX] = (d) => {
  14253. return IfcBoundingBox.FromTape(d.ID, d.type, d.arguments);
  14254. };
  14255. FromRawLineData[IFCBOXEDHALFSPACE] = (d) => {
  14256. return IfcBoxedHalfSpace.FromTape(d.ID, d.type, d.arguments);
  14257. };
  14258. FromRawLineData[IFCBRIDGE] = (d) => {
  14259. return IfcBridge.FromTape(d.ID, d.type, d.arguments);
  14260. };
  14261. FromRawLineData[IFCBRIDGEPART] = (d) => {
  14262. return IfcBridgePart.FromTape(d.ID, d.type, d.arguments);
  14263. };
  14264. FromRawLineData[IFCBUILDING] = (d) => {
  14265. return IfcBuilding.FromTape(d.ID, d.type, d.arguments);
  14266. };
  14267. FromRawLineData[IFCBUILDINGELEMENT] = (d) => {
  14268. return IfcBuildingElement.FromTape(d.ID, d.type, d.arguments);
  14269. };
  14270. FromRawLineData[IFCBUILDINGELEMENTPART] = (d) => {
  14271. return IfcBuildingElementPart.FromTape(d.ID, d.type, d.arguments);
  14272. };
  14273. FromRawLineData[IFCBUILDINGELEMENTPARTTYPE] = (d) => {
  14274. return IfcBuildingElementPartType.FromTape(d.ID, d.type, d.arguments);
  14275. };
  14276. FromRawLineData[IFCBUILDINGELEMENTPROXY] = (d) => {
  14277. return IfcBuildingElementProxy.FromTape(d.ID, d.type, d.arguments);
  14278. };
  14279. FromRawLineData[IFCBUILDINGELEMENTPROXYTYPE] = (d) => {
  14280. return IfcBuildingElementProxyType.FromTape(d.ID, d.type, d.arguments);
  14281. };
  14282. FromRawLineData[IFCBUILDINGELEMENTTYPE] = (d) => {
  14283. return IfcBuildingElementType.FromTape(d.ID, d.type, d.arguments);
  14284. };
  14285. FromRawLineData[IFCBUILDINGSTOREY] = (d) => {
  14286. return IfcBuildingStorey.FromTape(d.ID, d.type, d.arguments);
  14287. };
  14288. FromRawLineData[IFCBUILDINGSYSTEM] = (d) => {
  14289. return IfcBuildingSystem.FromTape(d.ID, d.type, d.arguments);
  14290. };
  14291. FromRawLineData[IFCBURNER] = (d) => {
  14292. return IfcBurner.FromTape(d.ID, d.type, d.arguments);
  14293. };
  14294. FromRawLineData[IFCBURNERTYPE] = (d) => {
  14295. return IfcBurnerType.FromTape(d.ID, d.type, d.arguments);
  14296. };
  14297. FromRawLineData[IFCCSHAPEPROFILEDEF] = (d) => {
  14298. return IfcCShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  14299. };
  14300. FromRawLineData[IFCCABLECARRIERFITTING] = (d) => {
  14301. return IfcCableCarrierFitting.FromTape(d.ID, d.type, d.arguments);
  14302. };
  14303. FromRawLineData[IFCCABLECARRIERFITTINGTYPE] = (d) => {
  14304. return IfcCableCarrierFittingType.FromTape(d.ID, d.type, d.arguments);
  14305. };
  14306. FromRawLineData[IFCCABLECARRIERSEGMENT] = (d) => {
  14307. return IfcCableCarrierSegment.FromTape(d.ID, d.type, d.arguments);
  14308. };
  14309. FromRawLineData[IFCCABLECARRIERSEGMENTTYPE] = (d) => {
  14310. return IfcCableCarrierSegmentType.FromTape(d.ID, d.type, d.arguments);
  14311. };
  14312. FromRawLineData[IFCCABLEFITTING] = (d) => {
  14313. return IfcCableFitting.FromTape(d.ID, d.type, d.arguments);
  14314. };
  14315. FromRawLineData[IFCCABLEFITTINGTYPE] = (d) => {
  14316. return IfcCableFittingType.FromTape(d.ID, d.type, d.arguments);
  14317. };
  14318. FromRawLineData[IFCCABLESEGMENT] = (d) => {
  14319. return IfcCableSegment.FromTape(d.ID, d.type, d.arguments);
  14320. };
  14321. FromRawLineData[IFCCABLESEGMENTTYPE] = (d) => {
  14322. return IfcCableSegmentType.FromTape(d.ID, d.type, d.arguments);
  14323. };
  14324. FromRawLineData[IFCCAISSONFOUNDATION] = (d) => {
  14325. return IfcCaissonFoundation.FromTape(d.ID, d.type, d.arguments);
  14326. };
  14327. FromRawLineData[IFCCAISSONFOUNDATIONTYPE] = (d) => {
  14328. return IfcCaissonFoundationType.FromTape(d.ID, d.type, d.arguments);
  14329. };
  14330. FromRawLineData[IFCCARTESIANPOINT] = (d) => {
  14331. return IfcCartesianPoint.FromTape(d.ID, d.type, d.arguments);
  14332. };
  14333. FromRawLineData[IFCCARTESIANPOINTLIST] = (d) => {
  14334. return IfcCartesianPointList.FromTape(d.ID, d.type, d.arguments);
  14335. };
  14336. FromRawLineData[IFCCARTESIANPOINTLIST2D] = (d) => {
  14337. return IfcCartesianPointList2D.FromTape(d.ID, d.type, d.arguments);
  14338. };
  14339. FromRawLineData[IFCCARTESIANPOINTLIST3D] = (d) => {
  14340. return IfcCartesianPointList3D.FromTape(d.ID, d.type, d.arguments);
  14341. };
  14342. FromRawLineData[IFCCARTESIANTRANSFORMATIONOPERATOR] = (d) => {
  14343. return IfcCartesianTransformationOperator.FromTape(d.ID, d.type, d.arguments);
  14344. };
  14345. FromRawLineData[IFCCARTESIANTRANSFORMATIONOPERATOR2D] = (d) => {
  14346. return IfcCartesianTransformationOperator2D.FromTape(d.ID, d.type, d.arguments);
  14347. };
  14348. FromRawLineData[IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM] = (d) => {
  14349. return IfcCartesianTransformationOperator2DnonUniform.FromTape(d.ID, d.type, d.arguments);
  14350. };
  14351. FromRawLineData[IFCCARTESIANTRANSFORMATIONOPERATOR3D] = (d) => {
  14352. return IfcCartesianTransformationOperator3D.FromTape(d.ID, d.type, d.arguments);
  14353. };
  14354. FromRawLineData[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM] = (d) => {
  14355. return IfcCartesianTransformationOperator3DnonUniform.FromTape(d.ID, d.type, d.arguments);
  14356. };
  14357. FromRawLineData[IFCCENTERLINEPROFILEDEF] = (d) => {
  14358. return IfcCenterLineProfileDef.FromTape(d.ID, d.type, d.arguments);
  14359. };
  14360. FromRawLineData[IFCCHILLER] = (d) => {
  14361. return IfcChiller.FromTape(d.ID, d.type, d.arguments);
  14362. };
  14363. FromRawLineData[IFCCHILLERTYPE] = (d) => {
  14364. return IfcChillerType.FromTape(d.ID, d.type, d.arguments);
  14365. };
  14366. FromRawLineData[IFCCHIMNEY] = (d) => {
  14367. return IfcChimney.FromTape(d.ID, d.type, d.arguments);
  14368. };
  14369. FromRawLineData[IFCCHIMNEYTYPE] = (d) => {
  14370. return IfcChimneyType.FromTape(d.ID, d.type, d.arguments);
  14371. };
  14372. FromRawLineData[IFCCIRCLE] = (d) => {
  14373. return IfcCircle.FromTape(d.ID, d.type, d.arguments);
  14374. };
  14375. FromRawLineData[IFCCIRCLEHOLLOWPROFILEDEF] = (d) => {
  14376. return IfcCircleHollowProfileDef.FromTape(d.ID, d.type, d.arguments);
  14377. };
  14378. FromRawLineData[IFCCIRCLEPROFILEDEF] = (d) => {
  14379. return IfcCircleProfileDef.FromTape(d.ID, d.type, d.arguments);
  14380. };
  14381. FromRawLineData[IFCCIRCULARARCSEGMENT2D] = (d) => {
  14382. return IfcCircularArcSegment2D.FromTape(d.ID, d.type, d.arguments);
  14383. };
  14384. FromRawLineData[IFCCIVILELEMENT] = (d) => {
  14385. return IfcCivilElement.FromTape(d.ID, d.type, d.arguments);
  14386. };
  14387. FromRawLineData[IFCCIVILELEMENTTYPE] = (d) => {
  14388. return IfcCivilElementType.FromTape(d.ID, d.type, d.arguments);
  14389. };
  14390. FromRawLineData[IFCCLASSIFICATION] = (d) => {
  14391. return IfcClassification.FromTape(d.ID, d.type, d.arguments);
  14392. };
  14393. FromRawLineData[IFCCLASSIFICATIONREFERENCE] = (d) => {
  14394. return IfcClassificationReference.FromTape(d.ID, d.type, d.arguments);
  14395. };
  14396. FromRawLineData[IFCCLOSEDSHELL] = (d) => {
  14397. return IfcClosedShell.FromTape(d.ID, d.type, d.arguments);
  14398. };
  14399. FromRawLineData[IFCCOIL] = (d) => {
  14400. return IfcCoil.FromTape(d.ID, d.type, d.arguments);
  14401. };
  14402. FromRawLineData[IFCCOILTYPE] = (d) => {
  14403. return IfcCoilType.FromTape(d.ID, d.type, d.arguments);
  14404. };
  14405. FromRawLineData[IFCCOLOURRGB] = (d) => {
  14406. return IfcColourRgb.FromTape(d.ID, d.type, d.arguments);
  14407. };
  14408. FromRawLineData[IFCCOLOURRGBLIST] = (d) => {
  14409. return IfcColourRgbList.FromTape(d.ID, d.type, d.arguments);
  14410. };
  14411. FromRawLineData[IFCCOLOURSPECIFICATION] = (d) => {
  14412. return IfcColourSpecification.FromTape(d.ID, d.type, d.arguments);
  14413. };
  14414. FromRawLineData[IFCCOLUMN] = (d) => {
  14415. return IfcColumn.FromTape(d.ID, d.type, d.arguments);
  14416. };
  14417. FromRawLineData[IFCCOLUMNSTANDARDCASE] = (d) => {
  14418. return IfcColumnStandardCase.FromTape(d.ID, d.type, d.arguments);
  14419. };
  14420. FromRawLineData[IFCCOLUMNTYPE] = (d) => {
  14421. return IfcColumnType.FromTape(d.ID, d.type, d.arguments);
  14422. };
  14423. FromRawLineData[IFCCOMMUNICATIONSAPPLIANCE] = (d) => {
  14424. return IfcCommunicationsAppliance.FromTape(d.ID, d.type, d.arguments);
  14425. };
  14426. FromRawLineData[IFCCOMMUNICATIONSAPPLIANCETYPE] = (d) => {
  14427. return IfcCommunicationsApplianceType.FromTape(d.ID, d.type, d.arguments);
  14428. };
  14429. FromRawLineData[IFCCOMPLEXPROPERTY] = (d) => {
  14430. return IfcComplexProperty.FromTape(d.ID, d.type, d.arguments);
  14431. };
  14432. FromRawLineData[IFCCOMPLEXPROPERTYTEMPLATE] = (d) => {
  14433. return IfcComplexPropertyTemplate.FromTape(d.ID, d.type, d.arguments);
  14434. };
  14435. FromRawLineData[IFCCOMPOSITECURVE] = (d) => {
  14436. return IfcCompositeCurve.FromTape(d.ID, d.type, d.arguments);
  14437. };
  14438. FromRawLineData[IFCCOMPOSITECURVEONSURFACE] = (d) => {
  14439. return IfcCompositeCurveOnSurface.FromTape(d.ID, d.type, d.arguments);
  14440. };
  14441. FromRawLineData[IFCCOMPOSITECURVESEGMENT] = (d) => {
  14442. return IfcCompositeCurveSegment.FromTape(d.ID, d.type, d.arguments);
  14443. };
  14444. FromRawLineData[IFCCOMPOSITEPROFILEDEF] = (d) => {
  14445. return IfcCompositeProfileDef.FromTape(d.ID, d.type, d.arguments);
  14446. };
  14447. FromRawLineData[IFCCOMPRESSOR] = (d) => {
  14448. return IfcCompressor.FromTape(d.ID, d.type, d.arguments);
  14449. };
  14450. FromRawLineData[IFCCOMPRESSORTYPE] = (d) => {
  14451. return IfcCompressorType.FromTape(d.ID, d.type, d.arguments);
  14452. };
  14453. FromRawLineData[IFCCONDENSER] = (d) => {
  14454. return IfcCondenser.FromTape(d.ID, d.type, d.arguments);
  14455. };
  14456. FromRawLineData[IFCCONDENSERTYPE] = (d) => {
  14457. return IfcCondenserType.FromTape(d.ID, d.type, d.arguments);
  14458. };
  14459. FromRawLineData[IFCCONIC] = (d) => {
  14460. return IfcConic.FromTape(d.ID, d.type, d.arguments);
  14461. };
  14462. FromRawLineData[IFCCONNECTEDFACESET] = (d) => {
  14463. return IfcConnectedFaceSet.FromTape(d.ID, d.type, d.arguments);
  14464. };
  14465. FromRawLineData[IFCCONNECTIONCURVEGEOMETRY] = (d) => {
  14466. return IfcConnectionCurveGeometry.FromTape(d.ID, d.type, d.arguments);
  14467. };
  14468. FromRawLineData[IFCCONNECTIONGEOMETRY] = (d) => {
  14469. return IfcConnectionGeometry.FromTape(d.ID, d.type, d.arguments);
  14470. };
  14471. FromRawLineData[IFCCONNECTIONPOINTECCENTRICITY] = (d) => {
  14472. return IfcConnectionPointEccentricity.FromTape(d.ID, d.type, d.arguments);
  14473. };
  14474. FromRawLineData[IFCCONNECTIONPOINTGEOMETRY] = (d) => {
  14475. return IfcConnectionPointGeometry.FromTape(d.ID, d.type, d.arguments);
  14476. };
  14477. FromRawLineData[IFCCONNECTIONSURFACEGEOMETRY] = (d) => {
  14478. return IfcConnectionSurfaceGeometry.FromTape(d.ID, d.type, d.arguments);
  14479. };
  14480. FromRawLineData[IFCCONNECTIONVOLUMEGEOMETRY] = (d) => {
  14481. return IfcConnectionVolumeGeometry.FromTape(d.ID, d.type, d.arguments);
  14482. };
  14483. FromRawLineData[IFCCONSTRAINT] = (d) => {
  14484. return IfcConstraint.FromTape(d.ID, d.type, d.arguments);
  14485. };
  14486. FromRawLineData[IFCCONSTRUCTIONEQUIPMENTRESOURCE] = (d) => {
  14487. return IfcConstructionEquipmentResource.FromTape(d.ID, d.type, d.arguments);
  14488. };
  14489. FromRawLineData[IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE] = (d) => {
  14490. return IfcConstructionEquipmentResourceType.FromTape(d.ID, d.type, d.arguments);
  14491. };
  14492. FromRawLineData[IFCCONSTRUCTIONMATERIALRESOURCE] = (d) => {
  14493. return IfcConstructionMaterialResource.FromTape(d.ID, d.type, d.arguments);
  14494. };
  14495. FromRawLineData[IFCCONSTRUCTIONMATERIALRESOURCETYPE] = (d) => {
  14496. return IfcConstructionMaterialResourceType.FromTape(d.ID, d.type, d.arguments);
  14497. };
  14498. FromRawLineData[IFCCONSTRUCTIONPRODUCTRESOURCE] = (d) => {
  14499. return IfcConstructionProductResource.FromTape(d.ID, d.type, d.arguments);
  14500. };
  14501. FromRawLineData[IFCCONSTRUCTIONPRODUCTRESOURCETYPE] = (d) => {
  14502. return IfcConstructionProductResourceType.FromTape(d.ID, d.type, d.arguments);
  14503. };
  14504. FromRawLineData[IFCCONSTRUCTIONRESOURCE] = (d) => {
  14505. return IfcConstructionResource.FromTape(d.ID, d.type, d.arguments);
  14506. };
  14507. FromRawLineData[IFCCONSTRUCTIONRESOURCETYPE] = (d) => {
  14508. return IfcConstructionResourceType.FromTape(d.ID, d.type, d.arguments);
  14509. };
  14510. FromRawLineData[IFCCONTEXT] = (d) => {
  14511. return IfcContext.FromTape(d.ID, d.type, d.arguments);
  14512. };
  14513. FromRawLineData[IFCCONTEXTDEPENDENTUNIT] = (d) => {
  14514. return IfcContextDependentUnit.FromTape(d.ID, d.type, d.arguments);
  14515. };
  14516. FromRawLineData[IFCCONTROL] = (d) => {
  14517. return IfcControl.FromTape(d.ID, d.type, d.arguments);
  14518. };
  14519. FromRawLineData[IFCCONTROLLER] = (d) => {
  14520. return IfcController.FromTape(d.ID, d.type, d.arguments);
  14521. };
  14522. FromRawLineData[IFCCONTROLLERTYPE] = (d) => {
  14523. return IfcControllerType.FromTape(d.ID, d.type, d.arguments);
  14524. };
  14525. FromRawLineData[IFCCONVERSIONBASEDUNIT] = (d) => {
  14526. return IfcConversionBasedUnit.FromTape(d.ID, d.type, d.arguments);
  14527. };
  14528. FromRawLineData[IFCCONVERSIONBASEDUNITWITHOFFSET] = (d) => {
  14529. return IfcConversionBasedUnitWithOffset.FromTape(d.ID, d.type, d.arguments);
  14530. };
  14531. FromRawLineData[IFCCOOLEDBEAM] = (d) => {
  14532. return IfcCooledBeam.FromTape(d.ID, d.type, d.arguments);
  14533. };
  14534. FromRawLineData[IFCCOOLEDBEAMTYPE] = (d) => {
  14535. return IfcCooledBeamType.FromTape(d.ID, d.type, d.arguments);
  14536. };
  14537. FromRawLineData[IFCCOOLINGTOWER] = (d) => {
  14538. return IfcCoolingTower.FromTape(d.ID, d.type, d.arguments);
  14539. };
  14540. FromRawLineData[IFCCOOLINGTOWERTYPE] = (d) => {
  14541. return IfcCoolingTowerType.FromTape(d.ID, d.type, d.arguments);
  14542. };
  14543. FromRawLineData[IFCCOORDINATEOPERATION] = (d) => {
  14544. return IfcCoordinateOperation.FromTape(d.ID, d.type, d.arguments);
  14545. };
  14546. FromRawLineData[IFCCOORDINATEREFERENCESYSTEM] = (d) => {
  14547. return IfcCoordinateReferenceSystem.FromTape(d.ID, d.type, d.arguments);
  14548. };
  14549. FromRawLineData[IFCCOSTITEM] = (d) => {
  14550. return IfcCostItem.FromTape(d.ID, d.type, d.arguments);
  14551. };
  14552. FromRawLineData[IFCCOSTSCHEDULE] = (d) => {
  14553. return IfcCostSchedule.FromTape(d.ID, d.type, d.arguments);
  14554. };
  14555. FromRawLineData[IFCCOSTVALUE] = (d) => {
  14556. return IfcCostValue.FromTape(d.ID, d.type, d.arguments);
  14557. };
  14558. FromRawLineData[IFCCOVERING] = (d) => {
  14559. return IfcCovering.FromTape(d.ID, d.type, d.arguments);
  14560. };
  14561. FromRawLineData[IFCCOVERINGTYPE] = (d) => {
  14562. return IfcCoveringType.FromTape(d.ID, d.type, d.arguments);
  14563. };
  14564. FromRawLineData[IFCCREWRESOURCE] = (d) => {
  14565. return IfcCrewResource.FromTape(d.ID, d.type, d.arguments);
  14566. };
  14567. FromRawLineData[IFCCREWRESOURCETYPE] = (d) => {
  14568. return IfcCrewResourceType.FromTape(d.ID, d.type, d.arguments);
  14569. };
  14570. FromRawLineData[IFCCSGPRIMITIVE3D] = (d) => {
  14571. return IfcCsgPrimitive3D.FromTape(d.ID, d.type, d.arguments);
  14572. };
  14573. FromRawLineData[IFCCSGSOLID] = (d) => {
  14574. return IfcCsgSolid.FromTape(d.ID, d.type, d.arguments);
  14575. };
  14576. FromRawLineData[IFCCURRENCYRELATIONSHIP] = (d) => {
  14577. return IfcCurrencyRelationship.FromTape(d.ID, d.type, d.arguments);
  14578. };
  14579. FromRawLineData[IFCCURTAINWALL] = (d) => {
  14580. return IfcCurtainWall.FromTape(d.ID, d.type, d.arguments);
  14581. };
  14582. FromRawLineData[IFCCURTAINWALLTYPE] = (d) => {
  14583. return IfcCurtainWallType.FromTape(d.ID, d.type, d.arguments);
  14584. };
  14585. FromRawLineData[IFCCURVE] = (d) => {
  14586. return IfcCurve.FromTape(d.ID, d.type, d.arguments);
  14587. };
  14588. FromRawLineData[IFCCURVEBOUNDEDPLANE] = (d) => {
  14589. return IfcCurveBoundedPlane.FromTape(d.ID, d.type, d.arguments);
  14590. };
  14591. FromRawLineData[IFCCURVEBOUNDEDSURFACE] = (d) => {
  14592. return IfcCurveBoundedSurface.FromTape(d.ID, d.type, d.arguments);
  14593. };
  14594. FromRawLineData[IFCCURVESEGMENT2D] = (d) => {
  14595. return IfcCurveSegment2D.FromTape(d.ID, d.type, d.arguments);
  14596. };
  14597. FromRawLineData[IFCCURVESTYLE] = (d) => {
  14598. return IfcCurveStyle.FromTape(d.ID, d.type, d.arguments);
  14599. };
  14600. FromRawLineData[IFCCURVESTYLEFONT] = (d) => {
  14601. return IfcCurveStyleFont.FromTape(d.ID, d.type, d.arguments);
  14602. };
  14603. FromRawLineData[IFCCURVESTYLEFONTANDSCALING] = (d) => {
  14604. return IfcCurveStyleFontAndScaling.FromTape(d.ID, d.type, d.arguments);
  14605. };
  14606. FromRawLineData[IFCCURVESTYLEFONTPATTERN] = (d) => {
  14607. return IfcCurveStyleFontPattern.FromTape(d.ID, d.type, d.arguments);
  14608. };
  14609. FromRawLineData[IFCCYLINDRICALSURFACE] = (d) => {
  14610. return IfcCylindricalSurface.FromTape(d.ID, d.type, d.arguments);
  14611. };
  14612. FromRawLineData[IFCDAMPER] = (d) => {
  14613. return IfcDamper.FromTape(d.ID, d.type, d.arguments);
  14614. };
  14615. FromRawLineData[IFCDAMPERTYPE] = (d) => {
  14616. return IfcDamperType.FromTape(d.ID, d.type, d.arguments);
  14617. };
  14618. FromRawLineData[IFCDEEPFOUNDATION] = (d) => {
  14619. return IfcDeepFoundation.FromTape(d.ID, d.type, d.arguments);
  14620. };
  14621. FromRawLineData[IFCDEEPFOUNDATIONTYPE] = (d) => {
  14622. return IfcDeepFoundationType.FromTape(d.ID, d.type, d.arguments);
  14623. };
  14624. FromRawLineData[IFCDERIVEDPROFILEDEF] = (d) => {
  14625. return IfcDerivedProfileDef.FromTape(d.ID, d.type, d.arguments);
  14626. };
  14627. FromRawLineData[IFCDERIVEDUNIT] = (d) => {
  14628. return IfcDerivedUnit.FromTape(d.ID, d.type, d.arguments);
  14629. };
  14630. FromRawLineData[IFCDERIVEDUNITELEMENT] = (d) => {
  14631. return IfcDerivedUnitElement.FromTape(d.ID, d.type, d.arguments);
  14632. };
  14633. FromRawLineData[IFCDIMENSIONALEXPONENTS] = (d) => {
  14634. return IfcDimensionalExponents.FromTape(d.ID, d.type, d.arguments);
  14635. };
  14636. FromRawLineData[IFCDIRECTION] = (d) => {
  14637. return IfcDirection.FromTape(d.ID, d.type, d.arguments);
  14638. };
  14639. FromRawLineData[IFCDISCRETEACCESSORY] = (d) => {
  14640. return IfcDiscreteAccessory.FromTape(d.ID, d.type, d.arguments);
  14641. };
  14642. FromRawLineData[IFCDISCRETEACCESSORYTYPE] = (d) => {
  14643. return IfcDiscreteAccessoryType.FromTape(d.ID, d.type, d.arguments);
  14644. };
  14645. FromRawLineData[IFCDISTANCEEXPRESSION] = (d) => {
  14646. return IfcDistanceExpression.FromTape(d.ID, d.type, d.arguments);
  14647. };
  14648. FromRawLineData[IFCDISTRIBUTIONCHAMBERELEMENT] = (d) => {
  14649. return IfcDistributionChamberElement.FromTape(d.ID, d.type, d.arguments);
  14650. };
  14651. FromRawLineData[IFCDISTRIBUTIONCHAMBERELEMENTTYPE] = (d) => {
  14652. return IfcDistributionChamberElementType.FromTape(d.ID, d.type, d.arguments);
  14653. };
  14654. FromRawLineData[IFCDISTRIBUTIONCIRCUIT] = (d) => {
  14655. return IfcDistributionCircuit.FromTape(d.ID, d.type, d.arguments);
  14656. };
  14657. FromRawLineData[IFCDISTRIBUTIONCONTROLELEMENT] = (d) => {
  14658. return IfcDistributionControlElement.FromTape(d.ID, d.type, d.arguments);
  14659. };
  14660. FromRawLineData[IFCDISTRIBUTIONCONTROLELEMENTTYPE] = (d) => {
  14661. return IfcDistributionControlElementType.FromTape(d.ID, d.type, d.arguments);
  14662. };
  14663. FromRawLineData[IFCDISTRIBUTIONELEMENT] = (d) => {
  14664. return IfcDistributionElement.FromTape(d.ID, d.type, d.arguments);
  14665. };
  14666. FromRawLineData[IFCDISTRIBUTIONELEMENTTYPE] = (d) => {
  14667. return IfcDistributionElementType.FromTape(d.ID, d.type, d.arguments);
  14668. };
  14669. FromRawLineData[IFCDISTRIBUTIONFLOWELEMENT] = (d) => {
  14670. return IfcDistributionFlowElement.FromTape(d.ID, d.type, d.arguments);
  14671. };
  14672. FromRawLineData[IFCDISTRIBUTIONFLOWELEMENTTYPE] = (d) => {
  14673. return IfcDistributionFlowElementType.FromTape(d.ID, d.type, d.arguments);
  14674. };
  14675. FromRawLineData[IFCDISTRIBUTIONPORT] = (d) => {
  14676. return IfcDistributionPort.FromTape(d.ID, d.type, d.arguments);
  14677. };
  14678. FromRawLineData[IFCDISTRIBUTIONSYSTEM] = (d) => {
  14679. return IfcDistributionSystem.FromTape(d.ID, d.type, d.arguments);
  14680. };
  14681. FromRawLineData[IFCDOCUMENTINFORMATION] = (d) => {
  14682. return IfcDocumentInformation.FromTape(d.ID, d.type, d.arguments);
  14683. };
  14684. FromRawLineData[IFCDOCUMENTINFORMATIONRELATIONSHIP] = (d) => {
  14685. return IfcDocumentInformationRelationship.FromTape(d.ID, d.type, d.arguments);
  14686. };
  14687. FromRawLineData[IFCDOCUMENTREFERENCE] = (d) => {
  14688. return IfcDocumentReference.FromTape(d.ID, d.type, d.arguments);
  14689. };
  14690. FromRawLineData[IFCDOOR] = (d) => {
  14691. return IfcDoor.FromTape(d.ID, d.type, d.arguments);
  14692. };
  14693. FromRawLineData[IFCDOORLININGPROPERTIES] = (d) => {
  14694. return IfcDoorLiningProperties.FromTape(d.ID, d.type, d.arguments);
  14695. };
  14696. FromRawLineData[IFCDOORPANELPROPERTIES] = (d) => {
  14697. return IfcDoorPanelProperties.FromTape(d.ID, d.type, d.arguments);
  14698. };
  14699. FromRawLineData[IFCDOORSTANDARDCASE] = (d) => {
  14700. return IfcDoorStandardCase.FromTape(d.ID, d.type, d.arguments);
  14701. };
  14702. FromRawLineData[IFCDOORSTYLE] = (d) => {
  14703. return IfcDoorStyle.FromTape(d.ID, d.type, d.arguments);
  14704. };
  14705. FromRawLineData[IFCDOORTYPE] = (d) => {
  14706. return IfcDoorType.FromTape(d.ID, d.type, d.arguments);
  14707. };
  14708. FromRawLineData[IFCDRAUGHTINGPREDEFINEDCOLOUR] = (d) => {
  14709. return IfcDraughtingPreDefinedColour.FromTape(d.ID, d.type, d.arguments);
  14710. };
  14711. FromRawLineData[IFCDRAUGHTINGPREDEFINEDCURVEFONT] = (d) => {
  14712. return IfcDraughtingPreDefinedCurveFont.FromTape(d.ID, d.type, d.arguments);
  14713. };
  14714. FromRawLineData[IFCDUCTFITTING] = (d) => {
  14715. return IfcDuctFitting.FromTape(d.ID, d.type, d.arguments);
  14716. };
  14717. FromRawLineData[IFCDUCTFITTINGTYPE] = (d) => {
  14718. return IfcDuctFittingType.FromTape(d.ID, d.type, d.arguments);
  14719. };
  14720. FromRawLineData[IFCDUCTSEGMENT] = (d) => {
  14721. return IfcDuctSegment.FromTape(d.ID, d.type, d.arguments);
  14722. };
  14723. FromRawLineData[IFCDUCTSEGMENTTYPE] = (d) => {
  14724. return IfcDuctSegmentType.FromTape(d.ID, d.type, d.arguments);
  14725. };
  14726. FromRawLineData[IFCDUCTSILENCER] = (d) => {
  14727. return IfcDuctSilencer.FromTape(d.ID, d.type, d.arguments);
  14728. };
  14729. FromRawLineData[IFCDUCTSILENCERTYPE] = (d) => {
  14730. return IfcDuctSilencerType.FromTape(d.ID, d.type, d.arguments);
  14731. };
  14732. FromRawLineData[IFCEDGE] = (d) => {
  14733. return IfcEdge.FromTape(d.ID, d.type, d.arguments);
  14734. };
  14735. FromRawLineData[IFCEDGECURVE] = (d) => {
  14736. return IfcEdgeCurve.FromTape(d.ID, d.type, d.arguments);
  14737. };
  14738. FromRawLineData[IFCEDGELOOP] = (d) => {
  14739. return IfcEdgeLoop.FromTape(d.ID, d.type, d.arguments);
  14740. };
  14741. FromRawLineData[IFCELECTRICAPPLIANCE] = (d) => {
  14742. return IfcElectricAppliance.FromTape(d.ID, d.type, d.arguments);
  14743. };
  14744. FromRawLineData[IFCELECTRICAPPLIANCETYPE] = (d) => {
  14745. return IfcElectricApplianceType.FromTape(d.ID, d.type, d.arguments);
  14746. };
  14747. FromRawLineData[IFCELECTRICDISTRIBUTIONBOARD] = (d) => {
  14748. return IfcElectricDistributionBoard.FromTape(d.ID, d.type, d.arguments);
  14749. };
  14750. FromRawLineData[IFCELECTRICDISTRIBUTIONBOARDTYPE] = (d) => {
  14751. return IfcElectricDistributionBoardType.FromTape(d.ID, d.type, d.arguments);
  14752. };
  14753. FromRawLineData[IFCELECTRICFLOWSTORAGEDEVICE] = (d) => {
  14754. return IfcElectricFlowStorageDevice.FromTape(d.ID, d.type, d.arguments);
  14755. };
  14756. FromRawLineData[IFCELECTRICFLOWSTORAGEDEVICETYPE] = (d) => {
  14757. return IfcElectricFlowStorageDeviceType.FromTape(d.ID, d.type, d.arguments);
  14758. };
  14759. FromRawLineData[IFCELECTRICGENERATOR] = (d) => {
  14760. return IfcElectricGenerator.FromTape(d.ID, d.type, d.arguments);
  14761. };
  14762. FromRawLineData[IFCELECTRICGENERATORTYPE] = (d) => {
  14763. return IfcElectricGeneratorType.FromTape(d.ID, d.type, d.arguments);
  14764. };
  14765. FromRawLineData[IFCELECTRICMOTOR] = (d) => {
  14766. return IfcElectricMotor.FromTape(d.ID, d.type, d.arguments);
  14767. };
  14768. FromRawLineData[IFCELECTRICMOTORTYPE] = (d) => {
  14769. return IfcElectricMotorType.FromTape(d.ID, d.type, d.arguments);
  14770. };
  14771. FromRawLineData[IFCELECTRICTIMECONTROL] = (d) => {
  14772. return IfcElectricTimeControl.FromTape(d.ID, d.type, d.arguments);
  14773. };
  14774. FromRawLineData[IFCELECTRICTIMECONTROLTYPE] = (d) => {
  14775. return IfcElectricTimeControlType.FromTape(d.ID, d.type, d.arguments);
  14776. };
  14777. FromRawLineData[IFCELEMENT] = (d) => {
  14778. return IfcElement.FromTape(d.ID, d.type, d.arguments);
  14779. };
  14780. FromRawLineData[IFCELEMENTASSEMBLY] = (d) => {
  14781. return IfcElementAssembly.FromTape(d.ID, d.type, d.arguments);
  14782. };
  14783. FromRawLineData[IFCELEMENTASSEMBLYTYPE] = (d) => {
  14784. return IfcElementAssemblyType.FromTape(d.ID, d.type, d.arguments);
  14785. };
  14786. FromRawLineData[IFCELEMENTCOMPONENT] = (d) => {
  14787. return IfcElementComponent.FromTape(d.ID, d.type, d.arguments);
  14788. };
  14789. FromRawLineData[IFCELEMENTCOMPONENTTYPE] = (d) => {
  14790. return IfcElementComponentType.FromTape(d.ID, d.type, d.arguments);
  14791. };
  14792. FromRawLineData[IFCELEMENTQUANTITY] = (d) => {
  14793. return IfcElementQuantity.FromTape(d.ID, d.type, d.arguments);
  14794. };
  14795. FromRawLineData[IFCELEMENTTYPE] = (d) => {
  14796. return IfcElementType.FromTape(d.ID, d.type, d.arguments);
  14797. };
  14798. FromRawLineData[IFCELEMENTARYSURFACE] = (d) => {
  14799. return IfcElementarySurface.FromTape(d.ID, d.type, d.arguments);
  14800. };
  14801. FromRawLineData[IFCELLIPSE] = (d) => {
  14802. return IfcEllipse.FromTape(d.ID, d.type, d.arguments);
  14803. };
  14804. FromRawLineData[IFCELLIPSEPROFILEDEF] = (d) => {
  14805. return IfcEllipseProfileDef.FromTape(d.ID, d.type, d.arguments);
  14806. };
  14807. FromRawLineData[IFCENERGYCONVERSIONDEVICE] = (d) => {
  14808. return IfcEnergyConversionDevice.FromTape(d.ID, d.type, d.arguments);
  14809. };
  14810. FromRawLineData[IFCENERGYCONVERSIONDEVICETYPE] = (d) => {
  14811. return IfcEnergyConversionDeviceType.FromTape(d.ID, d.type, d.arguments);
  14812. };
  14813. FromRawLineData[IFCENGINE] = (d) => {
  14814. return IfcEngine.FromTape(d.ID, d.type, d.arguments);
  14815. };
  14816. FromRawLineData[IFCENGINETYPE] = (d) => {
  14817. return IfcEngineType.FromTape(d.ID, d.type, d.arguments);
  14818. };
  14819. FromRawLineData[IFCEVAPORATIVECOOLER] = (d) => {
  14820. return IfcEvaporativeCooler.FromTape(d.ID, d.type, d.arguments);
  14821. };
  14822. FromRawLineData[IFCEVAPORATIVECOOLERTYPE] = (d) => {
  14823. return IfcEvaporativeCoolerType.FromTape(d.ID, d.type, d.arguments);
  14824. };
  14825. FromRawLineData[IFCEVAPORATOR] = (d) => {
  14826. return IfcEvaporator.FromTape(d.ID, d.type, d.arguments);
  14827. };
  14828. FromRawLineData[IFCEVAPORATORTYPE] = (d) => {
  14829. return IfcEvaporatorType.FromTape(d.ID, d.type, d.arguments);
  14830. };
  14831. FromRawLineData[IFCEVENT] = (d) => {
  14832. return IfcEvent.FromTape(d.ID, d.type, d.arguments);
  14833. };
  14834. FromRawLineData[IFCEVENTTIME] = (d) => {
  14835. return IfcEventTime.FromTape(d.ID, d.type, d.arguments);
  14836. };
  14837. FromRawLineData[IFCEVENTTYPE] = (d) => {
  14838. return IfcEventType.FromTape(d.ID, d.type, d.arguments);
  14839. };
  14840. FromRawLineData[IFCEXTENDEDPROPERTIES] = (d) => {
  14841. return IfcExtendedProperties.FromTape(d.ID, d.type, d.arguments);
  14842. };
  14843. FromRawLineData[IFCEXTERNALINFORMATION] = (d) => {
  14844. return IfcExternalInformation.FromTape(d.ID, d.type, d.arguments);
  14845. };
  14846. FromRawLineData[IFCEXTERNALREFERENCE] = (d) => {
  14847. return IfcExternalReference.FromTape(d.ID, d.type, d.arguments);
  14848. };
  14849. FromRawLineData[IFCEXTERNALREFERENCERELATIONSHIP] = (d) => {
  14850. return IfcExternalReferenceRelationship.FromTape(d.ID, d.type, d.arguments);
  14851. };
  14852. FromRawLineData[IFCEXTERNALSPATIALELEMENT] = (d) => {
  14853. return IfcExternalSpatialElement.FromTape(d.ID, d.type, d.arguments);
  14854. };
  14855. FromRawLineData[IFCEXTERNALSPATIALSTRUCTUREELEMENT] = (d) => {
  14856. return IfcExternalSpatialStructureElement.FromTape(d.ID, d.type, d.arguments);
  14857. };
  14858. FromRawLineData[IFCEXTERNALLYDEFINEDHATCHSTYLE] = (d) => {
  14859. return IfcExternallyDefinedHatchStyle.FromTape(d.ID, d.type, d.arguments);
  14860. };
  14861. FromRawLineData[IFCEXTERNALLYDEFINEDSURFACESTYLE] = (d) => {
  14862. return IfcExternallyDefinedSurfaceStyle.FromTape(d.ID, d.type, d.arguments);
  14863. };
  14864. FromRawLineData[IFCEXTERNALLYDEFINEDTEXTFONT] = (d) => {
  14865. return IfcExternallyDefinedTextFont.FromTape(d.ID, d.type, d.arguments);
  14866. };
  14867. FromRawLineData[IFCEXTRUDEDAREASOLID] = (d) => {
  14868. return IfcExtrudedAreaSolid.FromTape(d.ID, d.type, d.arguments);
  14869. };
  14870. FromRawLineData[IFCEXTRUDEDAREASOLIDTAPERED] = (d) => {
  14871. return IfcExtrudedAreaSolidTapered.FromTape(d.ID, d.type, d.arguments);
  14872. };
  14873. FromRawLineData[IFCFACE] = (d) => {
  14874. return IfcFace.FromTape(d.ID, d.type, d.arguments);
  14875. };
  14876. FromRawLineData[IFCFACEBASEDSURFACEMODEL] = (d) => {
  14877. return IfcFaceBasedSurfaceModel.FromTape(d.ID, d.type, d.arguments);
  14878. };
  14879. FromRawLineData[IFCFACEBOUND] = (d) => {
  14880. return IfcFaceBound.FromTape(d.ID, d.type, d.arguments);
  14881. };
  14882. FromRawLineData[IFCFACEOUTERBOUND] = (d) => {
  14883. return IfcFaceOuterBound.FromTape(d.ID, d.type, d.arguments);
  14884. };
  14885. FromRawLineData[IFCFACESURFACE] = (d) => {
  14886. return IfcFaceSurface.FromTape(d.ID, d.type, d.arguments);
  14887. };
  14888. FromRawLineData[IFCFACETEDBREP] = (d) => {
  14889. return IfcFacetedBrep.FromTape(d.ID, d.type, d.arguments);
  14890. };
  14891. FromRawLineData[IFCFACETEDBREPWITHVOIDS] = (d) => {
  14892. return IfcFacetedBrepWithVoids.FromTape(d.ID, d.type, d.arguments);
  14893. };
  14894. FromRawLineData[IFCFACILITY] = (d) => {
  14895. return IfcFacility.FromTape(d.ID, d.type, d.arguments);
  14896. };
  14897. FromRawLineData[IFCFACILITYPART] = (d) => {
  14898. return IfcFacilityPart.FromTape(d.ID, d.type, d.arguments);
  14899. };
  14900. FromRawLineData[IFCFAILURECONNECTIONCONDITION] = (d) => {
  14901. return IfcFailureConnectionCondition.FromTape(d.ID, d.type, d.arguments);
  14902. };
  14903. FromRawLineData[IFCFAN] = (d) => {
  14904. return IfcFan.FromTape(d.ID, d.type, d.arguments);
  14905. };
  14906. FromRawLineData[IFCFANTYPE] = (d) => {
  14907. return IfcFanType.FromTape(d.ID, d.type, d.arguments);
  14908. };
  14909. FromRawLineData[IFCFASTENER] = (d) => {
  14910. return IfcFastener.FromTape(d.ID, d.type, d.arguments);
  14911. };
  14912. FromRawLineData[IFCFASTENERTYPE] = (d) => {
  14913. return IfcFastenerType.FromTape(d.ID, d.type, d.arguments);
  14914. };
  14915. FromRawLineData[IFCFEATUREELEMENT] = (d) => {
  14916. return IfcFeatureElement.FromTape(d.ID, d.type, d.arguments);
  14917. };
  14918. FromRawLineData[IFCFEATUREELEMENTADDITION] = (d) => {
  14919. return IfcFeatureElementAddition.FromTape(d.ID, d.type, d.arguments);
  14920. };
  14921. FromRawLineData[IFCFEATUREELEMENTSUBTRACTION] = (d) => {
  14922. return IfcFeatureElementSubtraction.FromTape(d.ID, d.type, d.arguments);
  14923. };
  14924. FromRawLineData[IFCFILLAREASTYLE] = (d) => {
  14925. return IfcFillAreaStyle.FromTape(d.ID, d.type, d.arguments);
  14926. };
  14927. FromRawLineData[IFCFILLAREASTYLEHATCHING] = (d) => {
  14928. return IfcFillAreaStyleHatching.FromTape(d.ID, d.type, d.arguments);
  14929. };
  14930. FromRawLineData[IFCFILLAREASTYLETILES] = (d) => {
  14931. return IfcFillAreaStyleTiles.FromTape(d.ID, d.type, d.arguments);
  14932. };
  14933. FromRawLineData[IFCFILTER] = (d) => {
  14934. return IfcFilter.FromTape(d.ID, d.type, d.arguments);
  14935. };
  14936. FromRawLineData[IFCFILTERTYPE] = (d) => {
  14937. return IfcFilterType.FromTape(d.ID, d.type, d.arguments);
  14938. };
  14939. FromRawLineData[IFCFIRESUPPRESSIONTERMINAL] = (d) => {
  14940. return IfcFireSuppressionTerminal.FromTape(d.ID, d.type, d.arguments);
  14941. };
  14942. FromRawLineData[IFCFIRESUPPRESSIONTERMINALTYPE] = (d) => {
  14943. return IfcFireSuppressionTerminalType.FromTape(d.ID, d.type, d.arguments);
  14944. };
  14945. FromRawLineData[IFCFIXEDREFERENCESWEPTAREASOLID] = (d) => {
  14946. return IfcFixedReferenceSweptAreaSolid.FromTape(d.ID, d.type, d.arguments);
  14947. };
  14948. FromRawLineData[IFCFLOWCONTROLLER] = (d) => {
  14949. return IfcFlowController.FromTape(d.ID, d.type, d.arguments);
  14950. };
  14951. FromRawLineData[IFCFLOWCONTROLLERTYPE] = (d) => {
  14952. return IfcFlowControllerType.FromTape(d.ID, d.type, d.arguments);
  14953. };
  14954. FromRawLineData[IFCFLOWFITTING] = (d) => {
  14955. return IfcFlowFitting.FromTape(d.ID, d.type, d.arguments);
  14956. };
  14957. FromRawLineData[IFCFLOWFITTINGTYPE] = (d) => {
  14958. return IfcFlowFittingType.FromTape(d.ID, d.type, d.arguments);
  14959. };
  14960. FromRawLineData[IFCFLOWINSTRUMENT] = (d) => {
  14961. return IfcFlowInstrument.FromTape(d.ID, d.type, d.arguments);
  14962. };
  14963. FromRawLineData[IFCFLOWINSTRUMENTTYPE] = (d) => {
  14964. return IfcFlowInstrumentType.FromTape(d.ID, d.type, d.arguments);
  14965. };
  14966. FromRawLineData[IFCFLOWMETER] = (d) => {
  14967. return IfcFlowMeter.FromTape(d.ID, d.type, d.arguments);
  14968. };
  14969. FromRawLineData[IFCFLOWMETERTYPE] = (d) => {
  14970. return IfcFlowMeterType.FromTape(d.ID, d.type, d.arguments);
  14971. };
  14972. FromRawLineData[IFCFLOWMOVINGDEVICE] = (d) => {
  14973. return IfcFlowMovingDevice.FromTape(d.ID, d.type, d.arguments);
  14974. };
  14975. FromRawLineData[IFCFLOWMOVINGDEVICETYPE] = (d) => {
  14976. return IfcFlowMovingDeviceType.FromTape(d.ID, d.type, d.arguments);
  14977. };
  14978. FromRawLineData[IFCFLOWSEGMENT] = (d) => {
  14979. return IfcFlowSegment.FromTape(d.ID, d.type, d.arguments);
  14980. };
  14981. FromRawLineData[IFCFLOWSEGMENTTYPE] = (d) => {
  14982. return IfcFlowSegmentType.FromTape(d.ID, d.type, d.arguments);
  14983. };
  14984. FromRawLineData[IFCFLOWSTORAGEDEVICE] = (d) => {
  14985. return IfcFlowStorageDevice.FromTape(d.ID, d.type, d.arguments);
  14986. };
  14987. FromRawLineData[IFCFLOWSTORAGEDEVICETYPE] = (d) => {
  14988. return IfcFlowStorageDeviceType.FromTape(d.ID, d.type, d.arguments);
  14989. };
  14990. FromRawLineData[IFCFLOWTERMINAL] = (d) => {
  14991. return IfcFlowTerminal.FromTape(d.ID, d.type, d.arguments);
  14992. };
  14993. FromRawLineData[IFCFLOWTERMINALTYPE] = (d) => {
  14994. return IfcFlowTerminalType.FromTape(d.ID, d.type, d.arguments);
  14995. };
  14996. FromRawLineData[IFCFLOWTREATMENTDEVICE] = (d) => {
  14997. return IfcFlowTreatmentDevice.FromTape(d.ID, d.type, d.arguments);
  14998. };
  14999. FromRawLineData[IFCFLOWTREATMENTDEVICETYPE] = (d) => {
  15000. return IfcFlowTreatmentDeviceType.FromTape(d.ID, d.type, d.arguments);
  15001. };
  15002. FromRawLineData[IFCFOOTING] = (d) => {
  15003. return IfcFooting.FromTape(d.ID, d.type, d.arguments);
  15004. };
  15005. FromRawLineData[IFCFOOTINGTYPE] = (d) => {
  15006. return IfcFootingType.FromTape(d.ID, d.type, d.arguments);
  15007. };
  15008. FromRawLineData[IFCFURNISHINGELEMENT] = (d) => {
  15009. return IfcFurnishingElement.FromTape(d.ID, d.type, d.arguments);
  15010. };
  15011. FromRawLineData[IFCFURNISHINGELEMENTTYPE] = (d) => {
  15012. return IfcFurnishingElementType.FromTape(d.ID, d.type, d.arguments);
  15013. };
  15014. FromRawLineData[IFCFURNITURE] = (d) => {
  15015. return IfcFurniture.FromTape(d.ID, d.type, d.arguments);
  15016. };
  15017. FromRawLineData[IFCFURNITURETYPE] = (d) => {
  15018. return IfcFurnitureType.FromTape(d.ID, d.type, d.arguments);
  15019. };
  15020. FromRawLineData[IFCGEOGRAPHICELEMENT] = (d) => {
  15021. return IfcGeographicElement.FromTape(d.ID, d.type, d.arguments);
  15022. };
  15023. FromRawLineData[IFCGEOGRAPHICELEMENTTYPE] = (d) => {
  15024. return IfcGeographicElementType.FromTape(d.ID, d.type, d.arguments);
  15025. };
  15026. FromRawLineData[IFCGEOMETRICCURVESET] = (d) => {
  15027. return IfcGeometricCurveSet.FromTape(d.ID, d.type, d.arguments);
  15028. };
  15029. FromRawLineData[IFCGEOMETRICREPRESENTATIONCONTEXT] = (d) => {
  15030. return IfcGeometricRepresentationContext.FromTape(d.ID, d.type, d.arguments);
  15031. };
  15032. FromRawLineData[IFCGEOMETRICREPRESENTATIONITEM] = (d) => {
  15033. return IfcGeometricRepresentationItem.FromTape(d.ID, d.type, d.arguments);
  15034. };
  15035. FromRawLineData[IFCGEOMETRICREPRESENTATIONSUBCONTEXT] = (d) => {
  15036. return IfcGeometricRepresentationSubContext.FromTape(d.ID, d.type, d.arguments);
  15037. };
  15038. FromRawLineData[IFCGEOMETRICSET] = (d) => {
  15039. return IfcGeometricSet.FromTape(d.ID, d.type, d.arguments);
  15040. };
  15041. FromRawLineData[IFCGRID] = (d) => {
  15042. return IfcGrid.FromTape(d.ID, d.type, d.arguments);
  15043. };
  15044. FromRawLineData[IFCGRIDAXIS] = (d) => {
  15045. return IfcGridAxis.FromTape(d.ID, d.type, d.arguments);
  15046. };
  15047. FromRawLineData[IFCGRIDPLACEMENT] = (d) => {
  15048. return IfcGridPlacement.FromTape(d.ID, d.type, d.arguments);
  15049. };
  15050. FromRawLineData[IFCGROUP] = (d) => {
  15051. return IfcGroup.FromTape(d.ID, d.type, d.arguments);
  15052. };
  15053. FromRawLineData[IFCHALFSPACESOLID] = (d) => {
  15054. return IfcHalfSpaceSolid.FromTape(d.ID, d.type, d.arguments);
  15055. };
  15056. FromRawLineData[IFCHEATEXCHANGER] = (d) => {
  15057. return IfcHeatExchanger.FromTape(d.ID, d.type, d.arguments);
  15058. };
  15059. FromRawLineData[IFCHEATEXCHANGERTYPE] = (d) => {
  15060. return IfcHeatExchangerType.FromTape(d.ID, d.type, d.arguments);
  15061. };
  15062. FromRawLineData[IFCHUMIDIFIER] = (d) => {
  15063. return IfcHumidifier.FromTape(d.ID, d.type, d.arguments);
  15064. };
  15065. FromRawLineData[IFCHUMIDIFIERTYPE] = (d) => {
  15066. return IfcHumidifierType.FromTape(d.ID, d.type, d.arguments);
  15067. };
  15068. FromRawLineData[IFCISHAPEPROFILEDEF] = (d) => {
  15069. return IfcIShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  15070. };
  15071. FromRawLineData[IFCIMAGETEXTURE] = (d) => {
  15072. return IfcImageTexture.FromTape(d.ID, d.type, d.arguments);
  15073. };
  15074. FromRawLineData[IFCINDEXEDCOLOURMAP] = (d) => {
  15075. return IfcIndexedColourMap.FromTape(d.ID, d.type, d.arguments);
  15076. };
  15077. FromRawLineData[IFCINDEXEDPOLYCURVE] = (d) => {
  15078. return IfcIndexedPolyCurve.FromTape(d.ID, d.type, d.arguments);
  15079. };
  15080. FromRawLineData[IFCINDEXEDPOLYGONALFACE] = (d) => {
  15081. return IfcIndexedPolygonalFace.FromTape(d.ID, d.type, d.arguments);
  15082. };
  15083. FromRawLineData[IFCINDEXEDPOLYGONALFACEWITHVOIDS] = (d) => {
  15084. return IfcIndexedPolygonalFaceWithVoids.FromTape(d.ID, d.type, d.arguments);
  15085. };
  15086. FromRawLineData[IFCINDEXEDTEXTUREMAP] = (d) => {
  15087. return IfcIndexedTextureMap.FromTape(d.ID, d.type, d.arguments);
  15088. };
  15089. FromRawLineData[IFCINDEXEDTRIANGLETEXTUREMAP] = (d) => {
  15090. return IfcIndexedTriangleTextureMap.FromTape(d.ID, d.type, d.arguments);
  15091. };
  15092. FromRawLineData[IFCINTERCEPTOR] = (d) => {
  15093. return IfcInterceptor.FromTape(d.ID, d.type, d.arguments);
  15094. };
  15095. FromRawLineData[IFCINTERCEPTORTYPE] = (d) => {
  15096. return IfcInterceptorType.FromTape(d.ID, d.type, d.arguments);
  15097. };
  15098. FromRawLineData[IFCINTERSECTIONCURVE] = (d) => {
  15099. return IfcIntersectionCurve.FromTape(d.ID, d.type, d.arguments);
  15100. };
  15101. FromRawLineData[IFCINVENTORY] = (d) => {
  15102. return IfcInventory.FromTape(d.ID, d.type, d.arguments);
  15103. };
  15104. FromRawLineData[IFCIRREGULARTIMESERIES] = (d) => {
  15105. return IfcIrregularTimeSeries.FromTape(d.ID, d.type, d.arguments);
  15106. };
  15107. FromRawLineData[IFCIRREGULARTIMESERIESVALUE] = (d) => {
  15108. return IfcIrregularTimeSeriesValue.FromTape(d.ID, d.type, d.arguments);
  15109. };
  15110. FromRawLineData[IFCJUNCTIONBOX] = (d) => {
  15111. return IfcJunctionBox.FromTape(d.ID, d.type, d.arguments);
  15112. };
  15113. FromRawLineData[IFCJUNCTIONBOXTYPE] = (d) => {
  15114. return IfcJunctionBoxType.FromTape(d.ID, d.type, d.arguments);
  15115. };
  15116. FromRawLineData[IFCLSHAPEPROFILEDEF] = (d) => {
  15117. return IfcLShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  15118. };
  15119. FromRawLineData[IFCLABORRESOURCE] = (d) => {
  15120. return IfcLaborResource.FromTape(d.ID, d.type, d.arguments);
  15121. };
  15122. FromRawLineData[IFCLABORRESOURCETYPE] = (d) => {
  15123. return IfcLaborResourceType.FromTape(d.ID, d.type, d.arguments);
  15124. };
  15125. FromRawLineData[IFCLAGTIME] = (d) => {
  15126. return IfcLagTime.FromTape(d.ID, d.type, d.arguments);
  15127. };
  15128. FromRawLineData[IFCLAMP] = (d) => {
  15129. return IfcLamp.FromTape(d.ID, d.type, d.arguments);
  15130. };
  15131. FromRawLineData[IFCLAMPTYPE] = (d) => {
  15132. return IfcLampType.FromTape(d.ID, d.type, d.arguments);
  15133. };
  15134. FromRawLineData[IFCLIBRARYINFORMATION] = (d) => {
  15135. return IfcLibraryInformation.FromTape(d.ID, d.type, d.arguments);
  15136. };
  15137. FromRawLineData[IFCLIBRARYREFERENCE] = (d) => {
  15138. return IfcLibraryReference.FromTape(d.ID, d.type, d.arguments);
  15139. };
  15140. FromRawLineData[IFCLIGHTDISTRIBUTIONDATA] = (d) => {
  15141. return IfcLightDistributionData.FromTape(d.ID, d.type, d.arguments);
  15142. };
  15143. FromRawLineData[IFCLIGHTFIXTURE] = (d) => {
  15144. return IfcLightFixture.FromTape(d.ID, d.type, d.arguments);
  15145. };
  15146. FromRawLineData[IFCLIGHTFIXTURETYPE] = (d) => {
  15147. return IfcLightFixtureType.FromTape(d.ID, d.type, d.arguments);
  15148. };
  15149. FromRawLineData[IFCLIGHTINTENSITYDISTRIBUTION] = (d) => {
  15150. return IfcLightIntensityDistribution.FromTape(d.ID, d.type, d.arguments);
  15151. };
  15152. FromRawLineData[IFCLIGHTSOURCE] = (d) => {
  15153. return IfcLightSource.FromTape(d.ID, d.type, d.arguments);
  15154. };
  15155. FromRawLineData[IFCLIGHTSOURCEAMBIENT] = (d) => {
  15156. return IfcLightSourceAmbient.FromTape(d.ID, d.type, d.arguments);
  15157. };
  15158. FromRawLineData[IFCLIGHTSOURCEDIRECTIONAL] = (d) => {
  15159. return IfcLightSourceDirectional.FromTape(d.ID, d.type, d.arguments);
  15160. };
  15161. FromRawLineData[IFCLIGHTSOURCEGONIOMETRIC] = (d) => {
  15162. return IfcLightSourceGoniometric.FromTape(d.ID, d.type, d.arguments);
  15163. };
  15164. FromRawLineData[IFCLIGHTSOURCEPOSITIONAL] = (d) => {
  15165. return IfcLightSourcePositional.FromTape(d.ID, d.type, d.arguments);
  15166. };
  15167. FromRawLineData[IFCLIGHTSOURCESPOT] = (d) => {
  15168. return IfcLightSourceSpot.FromTape(d.ID, d.type, d.arguments);
  15169. };
  15170. FromRawLineData[IFCLINE] = (d) => {
  15171. return IfcLine.FromTape(d.ID, d.type, d.arguments);
  15172. };
  15173. FromRawLineData[IFCLINESEGMENT2D] = (d) => {
  15174. return IfcLineSegment2D.FromTape(d.ID, d.type, d.arguments);
  15175. };
  15176. FromRawLineData[IFCLINEARPLACEMENT] = (d) => {
  15177. return IfcLinearPlacement.FromTape(d.ID, d.type, d.arguments);
  15178. };
  15179. FromRawLineData[IFCLINEARPOSITIONINGELEMENT] = (d) => {
  15180. return IfcLinearPositioningElement.FromTape(d.ID, d.type, d.arguments);
  15181. };
  15182. FromRawLineData[IFCLOCALPLACEMENT] = (d) => {
  15183. return IfcLocalPlacement.FromTape(d.ID, d.type, d.arguments);
  15184. };
  15185. FromRawLineData[IFCLOOP] = (d) => {
  15186. return IfcLoop.FromTape(d.ID, d.type, d.arguments);
  15187. };
  15188. FromRawLineData[IFCMANIFOLDSOLIDBREP] = (d) => {
  15189. return IfcManifoldSolidBrep.FromTape(d.ID, d.type, d.arguments);
  15190. };
  15191. FromRawLineData[IFCMAPCONVERSION] = (d) => {
  15192. return IfcMapConversion.FromTape(d.ID, d.type, d.arguments);
  15193. };
  15194. FromRawLineData[IFCMAPPEDITEM] = (d) => {
  15195. return IfcMappedItem.FromTape(d.ID, d.type, d.arguments);
  15196. };
  15197. FromRawLineData[IFCMATERIAL] = (d) => {
  15198. return IfcMaterial.FromTape(d.ID, d.type, d.arguments);
  15199. };
  15200. FromRawLineData[IFCMATERIALCLASSIFICATIONRELATIONSHIP] = (d) => {
  15201. return IfcMaterialClassificationRelationship.FromTape(d.ID, d.type, d.arguments);
  15202. };
  15203. FromRawLineData[IFCMATERIALCONSTITUENT] = (d) => {
  15204. return IfcMaterialConstituent.FromTape(d.ID, d.type, d.arguments);
  15205. };
  15206. FromRawLineData[IFCMATERIALCONSTITUENTSET] = (d) => {
  15207. return IfcMaterialConstituentSet.FromTape(d.ID, d.type, d.arguments);
  15208. };
  15209. FromRawLineData[IFCMATERIALDEFINITION] = (d) => {
  15210. return IfcMaterialDefinition.FromTape(d.ID, d.type, d.arguments);
  15211. };
  15212. FromRawLineData[IFCMATERIALDEFINITIONREPRESENTATION] = (d) => {
  15213. return IfcMaterialDefinitionRepresentation.FromTape(d.ID, d.type, d.arguments);
  15214. };
  15215. FromRawLineData[IFCMATERIALLAYER] = (d) => {
  15216. return IfcMaterialLayer.FromTape(d.ID, d.type, d.arguments);
  15217. };
  15218. FromRawLineData[IFCMATERIALLAYERSET] = (d) => {
  15219. return IfcMaterialLayerSet.FromTape(d.ID, d.type, d.arguments);
  15220. };
  15221. FromRawLineData[IFCMATERIALLAYERSETUSAGE] = (d) => {
  15222. return IfcMaterialLayerSetUsage.FromTape(d.ID, d.type, d.arguments);
  15223. };
  15224. FromRawLineData[IFCMATERIALLAYERWITHOFFSETS] = (d) => {
  15225. return IfcMaterialLayerWithOffsets.FromTape(d.ID, d.type, d.arguments);
  15226. };
  15227. FromRawLineData[IFCMATERIALLIST] = (d) => {
  15228. return IfcMaterialList.FromTape(d.ID, d.type, d.arguments);
  15229. };
  15230. FromRawLineData[IFCMATERIALPROFILE] = (d) => {
  15231. return IfcMaterialProfile.FromTape(d.ID, d.type, d.arguments);
  15232. };
  15233. FromRawLineData[IFCMATERIALPROFILESET] = (d) => {
  15234. return IfcMaterialProfileSet.FromTape(d.ID, d.type, d.arguments);
  15235. };
  15236. FromRawLineData[IFCMATERIALPROFILESETUSAGE] = (d) => {
  15237. return IfcMaterialProfileSetUsage.FromTape(d.ID, d.type, d.arguments);
  15238. };
  15239. FromRawLineData[IFCMATERIALPROFILESETUSAGETAPERING] = (d) => {
  15240. return IfcMaterialProfileSetUsageTapering.FromTape(d.ID, d.type, d.arguments);
  15241. };
  15242. FromRawLineData[IFCMATERIALPROFILEWITHOFFSETS] = (d) => {
  15243. return IfcMaterialProfileWithOffsets.FromTape(d.ID, d.type, d.arguments);
  15244. };
  15245. FromRawLineData[IFCMATERIALPROPERTIES] = (d) => {
  15246. return IfcMaterialProperties.FromTape(d.ID, d.type, d.arguments);
  15247. };
  15248. FromRawLineData[IFCMATERIALRELATIONSHIP] = (d) => {
  15249. return IfcMaterialRelationship.FromTape(d.ID, d.type, d.arguments);
  15250. };
  15251. FromRawLineData[IFCMATERIALUSAGEDEFINITION] = (d) => {
  15252. return IfcMaterialUsageDefinition.FromTape(d.ID, d.type, d.arguments);
  15253. };
  15254. FromRawLineData[IFCMEASUREWITHUNIT] = (d) => {
  15255. return IfcMeasureWithUnit.FromTape(d.ID, d.type, d.arguments);
  15256. };
  15257. FromRawLineData[IFCMECHANICALFASTENER] = (d) => {
  15258. return IfcMechanicalFastener.FromTape(d.ID, d.type, d.arguments);
  15259. };
  15260. FromRawLineData[IFCMECHANICALFASTENERTYPE] = (d) => {
  15261. return IfcMechanicalFastenerType.FromTape(d.ID, d.type, d.arguments);
  15262. };
  15263. FromRawLineData[IFCMEDICALDEVICE] = (d) => {
  15264. return IfcMedicalDevice.FromTape(d.ID, d.type, d.arguments);
  15265. };
  15266. FromRawLineData[IFCMEDICALDEVICETYPE] = (d) => {
  15267. return IfcMedicalDeviceType.FromTape(d.ID, d.type, d.arguments);
  15268. };
  15269. FromRawLineData[IFCMEMBER] = (d) => {
  15270. return IfcMember.FromTape(d.ID, d.type, d.arguments);
  15271. };
  15272. FromRawLineData[IFCMEMBERSTANDARDCASE] = (d) => {
  15273. return IfcMemberStandardCase.FromTape(d.ID, d.type, d.arguments);
  15274. };
  15275. FromRawLineData[IFCMEMBERTYPE] = (d) => {
  15276. return IfcMemberType.FromTape(d.ID, d.type, d.arguments);
  15277. };
  15278. FromRawLineData[IFCMETRIC] = (d) => {
  15279. return IfcMetric.FromTape(d.ID, d.type, d.arguments);
  15280. };
  15281. FromRawLineData[IFCMIRROREDPROFILEDEF] = (d) => {
  15282. return IfcMirroredProfileDef.FromTape(d.ID, d.type, d.arguments);
  15283. };
  15284. FromRawLineData[IFCMONETARYUNIT] = (d) => {
  15285. return IfcMonetaryUnit.FromTape(d.ID, d.type, d.arguments);
  15286. };
  15287. FromRawLineData[IFCMOTORCONNECTION] = (d) => {
  15288. return IfcMotorConnection.FromTape(d.ID, d.type, d.arguments);
  15289. };
  15290. FromRawLineData[IFCMOTORCONNECTIONTYPE] = (d) => {
  15291. return IfcMotorConnectionType.FromTape(d.ID, d.type, d.arguments);
  15292. };
  15293. FromRawLineData[IFCNAMEDUNIT] = (d) => {
  15294. return IfcNamedUnit.FromTape(d.ID, d.type, d.arguments);
  15295. };
  15296. FromRawLineData[IFCOBJECT] = (d) => {
  15297. return IfcObject.FromTape(d.ID, d.type, d.arguments);
  15298. };
  15299. FromRawLineData[IFCOBJECTDEFINITION] = (d) => {
  15300. return IfcObjectDefinition.FromTape(d.ID, d.type, d.arguments);
  15301. };
  15302. FromRawLineData[IFCOBJECTPLACEMENT] = (d) => {
  15303. return IfcObjectPlacement.FromTape(d.ID, d.type, d.arguments);
  15304. };
  15305. FromRawLineData[IFCOBJECTIVE] = (d) => {
  15306. return IfcObjective.FromTape(d.ID, d.type, d.arguments);
  15307. };
  15308. FromRawLineData[IFCOCCUPANT] = (d) => {
  15309. return IfcOccupant.FromTape(d.ID, d.type, d.arguments);
  15310. };
  15311. FromRawLineData[IFCOFFSETCURVE] = (d) => {
  15312. return IfcOffsetCurve.FromTape(d.ID, d.type, d.arguments);
  15313. };
  15314. FromRawLineData[IFCOFFSETCURVE2D] = (d) => {
  15315. return IfcOffsetCurve2D.FromTape(d.ID, d.type, d.arguments);
  15316. };
  15317. FromRawLineData[IFCOFFSETCURVE3D] = (d) => {
  15318. return IfcOffsetCurve3D.FromTape(d.ID, d.type, d.arguments);
  15319. };
  15320. FromRawLineData[IFCOFFSETCURVEBYDISTANCES] = (d) => {
  15321. return IfcOffsetCurveByDistances.FromTape(d.ID, d.type, d.arguments);
  15322. };
  15323. FromRawLineData[IFCOPENSHELL] = (d) => {
  15324. return IfcOpenShell.FromTape(d.ID, d.type, d.arguments);
  15325. };
  15326. FromRawLineData[IFCOPENINGELEMENT] = (d) => {
  15327. return IfcOpeningElement.FromTape(d.ID, d.type, d.arguments);
  15328. };
  15329. FromRawLineData[IFCOPENINGSTANDARDCASE] = (d) => {
  15330. return IfcOpeningStandardCase.FromTape(d.ID, d.type, d.arguments);
  15331. };
  15332. FromRawLineData[IFCORGANIZATION] = (d) => {
  15333. return IfcOrganization.FromTape(d.ID, d.type, d.arguments);
  15334. };
  15335. FromRawLineData[IFCORGANIZATIONRELATIONSHIP] = (d) => {
  15336. return IfcOrganizationRelationship.FromTape(d.ID, d.type, d.arguments);
  15337. };
  15338. FromRawLineData[IFCORIENTATIONEXPRESSION] = (d) => {
  15339. return IfcOrientationExpression.FromTape(d.ID, d.type, d.arguments);
  15340. };
  15341. FromRawLineData[IFCORIENTEDEDGE] = (d) => {
  15342. return IfcOrientedEdge.FromTape(d.ID, d.type, d.arguments);
  15343. };
  15344. FromRawLineData[IFCOUTERBOUNDARYCURVE] = (d) => {
  15345. return IfcOuterBoundaryCurve.FromTape(d.ID, d.type, d.arguments);
  15346. };
  15347. FromRawLineData[IFCOUTLET] = (d) => {
  15348. return IfcOutlet.FromTape(d.ID, d.type, d.arguments);
  15349. };
  15350. FromRawLineData[IFCOUTLETTYPE] = (d) => {
  15351. return IfcOutletType.FromTape(d.ID, d.type, d.arguments);
  15352. };
  15353. FromRawLineData[IFCOWNERHISTORY] = (d) => {
  15354. return IfcOwnerHistory.FromTape(d.ID, d.type, d.arguments);
  15355. };
  15356. FromRawLineData[IFCPARAMETERIZEDPROFILEDEF] = (d) => {
  15357. return IfcParameterizedProfileDef.FromTape(d.ID, d.type, d.arguments);
  15358. };
  15359. FromRawLineData[IFCPATH] = (d) => {
  15360. return IfcPath.FromTape(d.ID, d.type, d.arguments);
  15361. };
  15362. FromRawLineData[IFCPCURVE] = (d) => {
  15363. return IfcPcurve.FromTape(d.ID, d.type, d.arguments);
  15364. };
  15365. FromRawLineData[IFCPERFORMANCEHISTORY] = (d) => {
  15366. return IfcPerformanceHistory.FromTape(d.ID, d.type, d.arguments);
  15367. };
  15368. FromRawLineData[IFCPERMEABLECOVERINGPROPERTIES] = (d) => {
  15369. return IfcPermeableCoveringProperties.FromTape(d.ID, d.type, d.arguments);
  15370. };
  15371. FromRawLineData[IFCPERMIT] = (d) => {
  15372. return IfcPermit.FromTape(d.ID, d.type, d.arguments);
  15373. };
  15374. FromRawLineData[IFCPERSON] = (d) => {
  15375. return IfcPerson.FromTape(d.ID, d.type, d.arguments);
  15376. };
  15377. FromRawLineData[IFCPERSONANDORGANIZATION] = (d) => {
  15378. return IfcPersonAndOrganization.FromTape(d.ID, d.type, d.arguments);
  15379. };
  15380. FromRawLineData[IFCPHYSICALCOMPLEXQUANTITY] = (d) => {
  15381. return IfcPhysicalComplexQuantity.FromTape(d.ID, d.type, d.arguments);
  15382. };
  15383. FromRawLineData[IFCPHYSICALQUANTITY] = (d) => {
  15384. return IfcPhysicalQuantity.FromTape(d.ID, d.type, d.arguments);
  15385. };
  15386. FromRawLineData[IFCPHYSICALSIMPLEQUANTITY] = (d) => {
  15387. return IfcPhysicalSimpleQuantity.FromTape(d.ID, d.type, d.arguments);
  15388. };
  15389. FromRawLineData[IFCPILE] = (d) => {
  15390. return IfcPile.FromTape(d.ID, d.type, d.arguments);
  15391. };
  15392. FromRawLineData[IFCPILETYPE] = (d) => {
  15393. return IfcPileType.FromTape(d.ID, d.type, d.arguments);
  15394. };
  15395. FromRawLineData[IFCPIPEFITTING] = (d) => {
  15396. return IfcPipeFitting.FromTape(d.ID, d.type, d.arguments);
  15397. };
  15398. FromRawLineData[IFCPIPEFITTINGTYPE] = (d) => {
  15399. return IfcPipeFittingType.FromTape(d.ID, d.type, d.arguments);
  15400. };
  15401. FromRawLineData[IFCPIPESEGMENT] = (d) => {
  15402. return IfcPipeSegment.FromTape(d.ID, d.type, d.arguments);
  15403. };
  15404. FromRawLineData[IFCPIPESEGMENTTYPE] = (d) => {
  15405. return IfcPipeSegmentType.FromTape(d.ID, d.type, d.arguments);
  15406. };
  15407. FromRawLineData[IFCPIXELTEXTURE] = (d) => {
  15408. return IfcPixelTexture.FromTape(d.ID, d.type, d.arguments);
  15409. };
  15410. FromRawLineData[IFCPLACEMENT] = (d) => {
  15411. return IfcPlacement.FromTape(d.ID, d.type, d.arguments);
  15412. };
  15413. FromRawLineData[IFCPLANARBOX] = (d) => {
  15414. return IfcPlanarBox.FromTape(d.ID, d.type, d.arguments);
  15415. };
  15416. FromRawLineData[IFCPLANAREXTENT] = (d) => {
  15417. return IfcPlanarExtent.FromTape(d.ID, d.type, d.arguments);
  15418. };
  15419. FromRawLineData[IFCPLANE] = (d) => {
  15420. return IfcPlane.FromTape(d.ID, d.type, d.arguments);
  15421. };
  15422. FromRawLineData[IFCPLATE] = (d) => {
  15423. return IfcPlate.FromTape(d.ID, d.type, d.arguments);
  15424. };
  15425. FromRawLineData[IFCPLATESTANDARDCASE] = (d) => {
  15426. return IfcPlateStandardCase.FromTape(d.ID, d.type, d.arguments);
  15427. };
  15428. FromRawLineData[IFCPLATETYPE] = (d) => {
  15429. return IfcPlateType.FromTape(d.ID, d.type, d.arguments);
  15430. };
  15431. FromRawLineData[IFCPOINT] = (d) => {
  15432. return IfcPoint.FromTape(d.ID, d.type, d.arguments);
  15433. };
  15434. FromRawLineData[IFCPOINTONCURVE] = (d) => {
  15435. return IfcPointOnCurve.FromTape(d.ID, d.type, d.arguments);
  15436. };
  15437. FromRawLineData[IFCPOINTONSURFACE] = (d) => {
  15438. return IfcPointOnSurface.FromTape(d.ID, d.type, d.arguments);
  15439. };
  15440. FromRawLineData[IFCPOLYLOOP] = (d) => {
  15441. return IfcPolyLoop.FromTape(d.ID, d.type, d.arguments);
  15442. };
  15443. FromRawLineData[IFCPOLYGONALBOUNDEDHALFSPACE] = (d) => {
  15444. return IfcPolygonalBoundedHalfSpace.FromTape(d.ID, d.type, d.arguments);
  15445. };
  15446. FromRawLineData[IFCPOLYGONALFACESET] = (d) => {
  15447. return IfcPolygonalFaceSet.FromTape(d.ID, d.type, d.arguments);
  15448. };
  15449. FromRawLineData[IFCPOLYLINE] = (d) => {
  15450. return IfcPolyline.FromTape(d.ID, d.type, d.arguments);
  15451. };
  15452. FromRawLineData[IFCPORT] = (d) => {
  15453. return IfcPort.FromTape(d.ID, d.type, d.arguments);
  15454. };
  15455. FromRawLineData[IFCPOSITIONINGELEMENT] = (d) => {
  15456. return IfcPositioningElement.FromTape(d.ID, d.type, d.arguments);
  15457. };
  15458. FromRawLineData[IFCPOSTALADDRESS] = (d) => {
  15459. return IfcPostalAddress.FromTape(d.ID, d.type, d.arguments);
  15460. };
  15461. FromRawLineData[IFCPREDEFINEDCOLOUR] = (d) => {
  15462. return IfcPreDefinedColour.FromTape(d.ID, d.type, d.arguments);
  15463. };
  15464. FromRawLineData[IFCPREDEFINEDCURVEFONT] = (d) => {
  15465. return IfcPreDefinedCurveFont.FromTape(d.ID, d.type, d.arguments);
  15466. };
  15467. FromRawLineData[IFCPREDEFINEDITEM] = (d) => {
  15468. return IfcPreDefinedItem.FromTape(d.ID, d.type, d.arguments);
  15469. };
  15470. FromRawLineData[IFCPREDEFINEDPROPERTIES] = (d) => {
  15471. return IfcPreDefinedProperties.FromTape(d.ID, d.type, d.arguments);
  15472. };
  15473. FromRawLineData[IFCPREDEFINEDPROPERTYSET] = (d) => {
  15474. return IfcPreDefinedPropertySet.FromTape(d.ID, d.type, d.arguments);
  15475. };
  15476. FromRawLineData[IFCPREDEFINEDTEXTFONT] = (d) => {
  15477. return IfcPreDefinedTextFont.FromTape(d.ID, d.type, d.arguments);
  15478. };
  15479. FromRawLineData[IFCPRESENTATIONITEM] = (d) => {
  15480. return IfcPresentationItem.FromTape(d.ID, d.type, d.arguments);
  15481. };
  15482. FromRawLineData[IFCPRESENTATIONLAYERASSIGNMENT] = (d) => {
  15483. return IfcPresentationLayerAssignment.FromTape(d.ID, d.type, d.arguments);
  15484. };
  15485. FromRawLineData[IFCPRESENTATIONLAYERWITHSTYLE] = (d) => {
  15486. return IfcPresentationLayerWithStyle.FromTape(d.ID, d.type, d.arguments);
  15487. };
  15488. FromRawLineData[IFCPRESENTATIONSTYLE] = (d) => {
  15489. return IfcPresentationStyle.FromTape(d.ID, d.type, d.arguments);
  15490. };
  15491. FromRawLineData[IFCPRESENTATIONSTYLEASSIGNMENT] = (d) => {
  15492. return IfcPresentationStyleAssignment.FromTape(d.ID, d.type, d.arguments);
  15493. };
  15494. FromRawLineData[IFCPROCEDURE] = (d) => {
  15495. return IfcProcedure.FromTape(d.ID, d.type, d.arguments);
  15496. };
  15497. FromRawLineData[IFCPROCEDURETYPE] = (d) => {
  15498. return IfcProcedureType.FromTape(d.ID, d.type, d.arguments);
  15499. };
  15500. FromRawLineData[IFCPROCESS] = (d) => {
  15501. return IfcProcess.FromTape(d.ID, d.type, d.arguments);
  15502. };
  15503. FromRawLineData[IFCPRODUCT] = (d) => {
  15504. return IfcProduct.FromTape(d.ID, d.type, d.arguments);
  15505. };
  15506. FromRawLineData[IFCPRODUCTDEFINITIONSHAPE] = (d) => {
  15507. return IfcProductDefinitionShape.FromTape(d.ID, d.type, d.arguments);
  15508. };
  15509. FromRawLineData[IFCPRODUCTREPRESENTATION] = (d) => {
  15510. return IfcProductRepresentation.FromTape(d.ID, d.type, d.arguments);
  15511. };
  15512. FromRawLineData[IFCPROFILEDEF] = (d) => {
  15513. return IfcProfileDef.FromTape(d.ID, d.type, d.arguments);
  15514. };
  15515. FromRawLineData[IFCPROFILEPROPERTIES] = (d) => {
  15516. return IfcProfileProperties.FromTape(d.ID, d.type, d.arguments);
  15517. };
  15518. FromRawLineData[IFCPROJECT] = (d) => {
  15519. return IfcProject.FromTape(d.ID, d.type, d.arguments);
  15520. };
  15521. FromRawLineData[IFCPROJECTLIBRARY] = (d) => {
  15522. return IfcProjectLibrary.FromTape(d.ID, d.type, d.arguments);
  15523. };
  15524. FromRawLineData[IFCPROJECTORDER] = (d) => {
  15525. return IfcProjectOrder.FromTape(d.ID, d.type, d.arguments);
  15526. };
  15527. FromRawLineData[IFCPROJECTEDCRS] = (d) => {
  15528. return IfcProjectedCRS.FromTape(d.ID, d.type, d.arguments);
  15529. };
  15530. FromRawLineData[IFCPROJECTIONELEMENT] = (d) => {
  15531. return IfcProjectionElement.FromTape(d.ID, d.type, d.arguments);
  15532. };
  15533. FromRawLineData[IFCPROPERTY] = (d) => {
  15534. return IfcProperty.FromTape(d.ID, d.type, d.arguments);
  15535. };
  15536. FromRawLineData[IFCPROPERTYABSTRACTION] = (d) => {
  15537. return IfcPropertyAbstraction.FromTape(d.ID, d.type, d.arguments);
  15538. };
  15539. FromRawLineData[IFCPROPERTYBOUNDEDVALUE] = (d) => {
  15540. return IfcPropertyBoundedValue.FromTape(d.ID, d.type, d.arguments);
  15541. };
  15542. FromRawLineData[IFCPROPERTYDEFINITION] = (d) => {
  15543. return IfcPropertyDefinition.FromTape(d.ID, d.type, d.arguments);
  15544. };
  15545. FromRawLineData[IFCPROPERTYDEPENDENCYRELATIONSHIP] = (d) => {
  15546. return IfcPropertyDependencyRelationship.FromTape(d.ID, d.type, d.arguments);
  15547. };
  15548. FromRawLineData[IFCPROPERTYENUMERATEDVALUE] = (d) => {
  15549. return IfcPropertyEnumeratedValue.FromTape(d.ID, d.type, d.arguments);
  15550. };
  15551. FromRawLineData[IFCPROPERTYENUMERATION] = (d) => {
  15552. return IfcPropertyEnumeration.FromTape(d.ID, d.type, d.arguments);
  15553. };
  15554. FromRawLineData[IFCPROPERTYLISTVALUE] = (d) => {
  15555. return IfcPropertyListValue.FromTape(d.ID, d.type, d.arguments);
  15556. };
  15557. FromRawLineData[IFCPROPERTYREFERENCEVALUE] = (d) => {
  15558. return IfcPropertyReferenceValue.FromTape(d.ID, d.type, d.arguments);
  15559. };
  15560. FromRawLineData[IFCPROPERTYSET] = (d) => {
  15561. return IfcPropertySet.FromTape(d.ID, d.type, d.arguments);
  15562. };
  15563. FromRawLineData[IFCPROPERTYSETDEFINITION] = (d) => {
  15564. return IfcPropertySetDefinition.FromTape(d.ID, d.type, d.arguments);
  15565. };
  15566. FromRawLineData[IFCPROPERTYSETTEMPLATE] = (d) => {
  15567. return IfcPropertySetTemplate.FromTape(d.ID, d.type, d.arguments);
  15568. };
  15569. FromRawLineData[IFCPROPERTYSINGLEVALUE] = (d) => {
  15570. return IfcPropertySingleValue.FromTape(d.ID, d.type, d.arguments);
  15571. };
  15572. FromRawLineData[IFCPROPERTYTABLEVALUE] = (d) => {
  15573. return IfcPropertyTableValue.FromTape(d.ID, d.type, d.arguments);
  15574. };
  15575. FromRawLineData[IFCPROPERTYTEMPLATE] = (d) => {
  15576. return IfcPropertyTemplate.FromTape(d.ID, d.type, d.arguments);
  15577. };
  15578. FromRawLineData[IFCPROPERTYTEMPLATEDEFINITION] = (d) => {
  15579. return IfcPropertyTemplateDefinition.FromTape(d.ID, d.type, d.arguments);
  15580. };
  15581. FromRawLineData[IFCPROTECTIVEDEVICE] = (d) => {
  15582. return IfcProtectiveDevice.FromTape(d.ID, d.type, d.arguments);
  15583. };
  15584. FromRawLineData[IFCPROTECTIVEDEVICETRIPPINGUNIT] = (d) => {
  15585. return IfcProtectiveDeviceTrippingUnit.FromTape(d.ID, d.type, d.arguments);
  15586. };
  15587. FromRawLineData[IFCPROTECTIVEDEVICETRIPPINGUNITTYPE] = (d) => {
  15588. return IfcProtectiveDeviceTrippingUnitType.FromTape(d.ID, d.type, d.arguments);
  15589. };
  15590. FromRawLineData[IFCPROTECTIVEDEVICETYPE] = (d) => {
  15591. return IfcProtectiveDeviceType.FromTape(d.ID, d.type, d.arguments);
  15592. };
  15593. FromRawLineData[IFCPROXY] = (d) => {
  15594. return IfcProxy.FromTape(d.ID, d.type, d.arguments);
  15595. };
  15596. FromRawLineData[IFCPUMP] = (d) => {
  15597. return IfcPump.FromTape(d.ID, d.type, d.arguments);
  15598. };
  15599. FromRawLineData[IFCPUMPTYPE] = (d) => {
  15600. return IfcPumpType.FromTape(d.ID, d.type, d.arguments);
  15601. };
  15602. FromRawLineData[IFCQUANTITYAREA] = (d) => {
  15603. return IfcQuantityArea.FromTape(d.ID, d.type, d.arguments);
  15604. };
  15605. FromRawLineData[IFCQUANTITYCOUNT] = (d) => {
  15606. return IfcQuantityCount.FromTape(d.ID, d.type, d.arguments);
  15607. };
  15608. FromRawLineData[IFCQUANTITYLENGTH] = (d) => {
  15609. return IfcQuantityLength.FromTape(d.ID, d.type, d.arguments);
  15610. };
  15611. FromRawLineData[IFCQUANTITYSET] = (d) => {
  15612. return IfcQuantitySet.FromTape(d.ID, d.type, d.arguments);
  15613. };
  15614. FromRawLineData[IFCQUANTITYTIME] = (d) => {
  15615. return IfcQuantityTime.FromTape(d.ID, d.type, d.arguments);
  15616. };
  15617. FromRawLineData[IFCQUANTITYVOLUME] = (d) => {
  15618. return IfcQuantityVolume.FromTape(d.ID, d.type, d.arguments);
  15619. };
  15620. FromRawLineData[IFCQUANTITYWEIGHT] = (d) => {
  15621. return IfcQuantityWeight.FromTape(d.ID, d.type, d.arguments);
  15622. };
  15623. FromRawLineData[IFCRAILING] = (d) => {
  15624. return IfcRailing.FromTape(d.ID, d.type, d.arguments);
  15625. };
  15626. FromRawLineData[IFCRAILINGTYPE] = (d) => {
  15627. return IfcRailingType.FromTape(d.ID, d.type, d.arguments);
  15628. };
  15629. FromRawLineData[IFCRAMP] = (d) => {
  15630. return IfcRamp.FromTape(d.ID, d.type, d.arguments);
  15631. };
  15632. FromRawLineData[IFCRAMPFLIGHT] = (d) => {
  15633. return IfcRampFlight.FromTape(d.ID, d.type, d.arguments);
  15634. };
  15635. FromRawLineData[IFCRAMPFLIGHTTYPE] = (d) => {
  15636. return IfcRampFlightType.FromTape(d.ID, d.type, d.arguments);
  15637. };
  15638. FromRawLineData[IFCRAMPTYPE] = (d) => {
  15639. return IfcRampType.FromTape(d.ID, d.type, d.arguments);
  15640. };
  15641. FromRawLineData[IFCRATIONALBSPLINECURVEWITHKNOTS] = (d) => {
  15642. return IfcRationalBSplineCurveWithKnots.FromTape(d.ID, d.type, d.arguments);
  15643. };
  15644. FromRawLineData[IFCRATIONALBSPLINESURFACEWITHKNOTS] = (d) => {
  15645. return IfcRationalBSplineSurfaceWithKnots.FromTape(d.ID, d.type, d.arguments);
  15646. };
  15647. FromRawLineData[IFCRECTANGLEHOLLOWPROFILEDEF] = (d) => {
  15648. return IfcRectangleHollowProfileDef.FromTape(d.ID, d.type, d.arguments);
  15649. };
  15650. FromRawLineData[IFCRECTANGLEPROFILEDEF] = (d) => {
  15651. return IfcRectangleProfileDef.FromTape(d.ID, d.type, d.arguments);
  15652. };
  15653. FromRawLineData[IFCRECTANGULARPYRAMID] = (d) => {
  15654. return IfcRectangularPyramid.FromTape(d.ID, d.type, d.arguments);
  15655. };
  15656. FromRawLineData[IFCRECTANGULARTRIMMEDSURFACE] = (d) => {
  15657. return IfcRectangularTrimmedSurface.FromTape(d.ID, d.type, d.arguments);
  15658. };
  15659. FromRawLineData[IFCRECURRENCEPATTERN] = (d) => {
  15660. return IfcRecurrencePattern.FromTape(d.ID, d.type, d.arguments);
  15661. };
  15662. FromRawLineData[IFCREFERENCE] = (d) => {
  15663. return IfcReference.FromTape(d.ID, d.type, d.arguments);
  15664. };
  15665. FromRawLineData[IFCREFERENT] = (d) => {
  15666. return IfcReferent.FromTape(d.ID, d.type, d.arguments);
  15667. };
  15668. FromRawLineData[IFCREGULARTIMESERIES] = (d) => {
  15669. return IfcRegularTimeSeries.FromTape(d.ID, d.type, d.arguments);
  15670. };
  15671. FromRawLineData[IFCREINFORCEMENTBARPROPERTIES] = (d) => {
  15672. return IfcReinforcementBarProperties.FromTape(d.ID, d.type, d.arguments);
  15673. };
  15674. FromRawLineData[IFCREINFORCEMENTDEFINITIONPROPERTIES] = (d) => {
  15675. return IfcReinforcementDefinitionProperties.FromTape(d.ID, d.type, d.arguments);
  15676. };
  15677. FromRawLineData[IFCREINFORCINGBAR] = (d) => {
  15678. return IfcReinforcingBar.FromTape(d.ID, d.type, d.arguments);
  15679. };
  15680. FromRawLineData[IFCREINFORCINGBARTYPE] = (d) => {
  15681. return IfcReinforcingBarType.FromTape(d.ID, d.type, d.arguments);
  15682. };
  15683. FromRawLineData[IFCREINFORCINGELEMENT] = (d) => {
  15684. return IfcReinforcingElement.FromTape(d.ID, d.type, d.arguments);
  15685. };
  15686. FromRawLineData[IFCREINFORCINGELEMENTTYPE] = (d) => {
  15687. return IfcReinforcingElementType.FromTape(d.ID, d.type, d.arguments);
  15688. };
  15689. FromRawLineData[IFCREINFORCINGMESH] = (d) => {
  15690. return IfcReinforcingMesh.FromTape(d.ID, d.type, d.arguments);
  15691. };
  15692. FromRawLineData[IFCREINFORCINGMESHTYPE] = (d) => {
  15693. return IfcReinforcingMeshType.FromTape(d.ID, d.type, d.arguments);
  15694. };
  15695. FromRawLineData[IFCRELAGGREGATES] = (d) => {
  15696. return IfcRelAggregates.FromTape(d.ID, d.type, d.arguments);
  15697. };
  15698. FromRawLineData[IFCRELASSIGNS] = (d) => {
  15699. return IfcRelAssigns.FromTape(d.ID, d.type, d.arguments);
  15700. };
  15701. FromRawLineData[IFCRELASSIGNSTOACTOR] = (d) => {
  15702. return IfcRelAssignsToActor.FromTape(d.ID, d.type, d.arguments);
  15703. };
  15704. FromRawLineData[IFCRELASSIGNSTOCONTROL] = (d) => {
  15705. return IfcRelAssignsToControl.FromTape(d.ID, d.type, d.arguments);
  15706. };
  15707. FromRawLineData[IFCRELASSIGNSTOGROUP] = (d) => {
  15708. return IfcRelAssignsToGroup.FromTape(d.ID, d.type, d.arguments);
  15709. };
  15710. FromRawLineData[IFCRELASSIGNSTOGROUPBYFACTOR] = (d) => {
  15711. return IfcRelAssignsToGroupByFactor.FromTape(d.ID, d.type, d.arguments);
  15712. };
  15713. FromRawLineData[IFCRELASSIGNSTOPROCESS] = (d) => {
  15714. return IfcRelAssignsToProcess.FromTape(d.ID, d.type, d.arguments);
  15715. };
  15716. FromRawLineData[IFCRELASSIGNSTOPRODUCT] = (d) => {
  15717. return IfcRelAssignsToProduct.FromTape(d.ID, d.type, d.arguments);
  15718. };
  15719. FromRawLineData[IFCRELASSIGNSTORESOURCE] = (d) => {
  15720. return IfcRelAssignsToResource.FromTape(d.ID, d.type, d.arguments);
  15721. };
  15722. FromRawLineData[IFCRELASSOCIATES] = (d) => {
  15723. return IfcRelAssociates.FromTape(d.ID, d.type, d.arguments);
  15724. };
  15725. FromRawLineData[IFCRELASSOCIATESAPPROVAL] = (d) => {
  15726. return IfcRelAssociatesApproval.FromTape(d.ID, d.type, d.arguments);
  15727. };
  15728. FromRawLineData[IFCRELASSOCIATESCLASSIFICATION] = (d) => {
  15729. return IfcRelAssociatesClassification.FromTape(d.ID, d.type, d.arguments);
  15730. };
  15731. FromRawLineData[IFCRELASSOCIATESCONSTRAINT] = (d) => {
  15732. return IfcRelAssociatesConstraint.FromTape(d.ID, d.type, d.arguments);
  15733. };
  15734. FromRawLineData[IFCRELASSOCIATESDOCUMENT] = (d) => {
  15735. return IfcRelAssociatesDocument.FromTape(d.ID, d.type, d.arguments);
  15736. };
  15737. FromRawLineData[IFCRELASSOCIATESLIBRARY] = (d) => {
  15738. return IfcRelAssociatesLibrary.FromTape(d.ID, d.type, d.arguments);
  15739. };
  15740. FromRawLineData[IFCRELASSOCIATESMATERIAL] = (d) => {
  15741. return IfcRelAssociatesMaterial.FromTape(d.ID, d.type, d.arguments);
  15742. };
  15743. FromRawLineData[IFCRELCONNECTS] = (d) => {
  15744. return IfcRelConnects.FromTape(d.ID, d.type, d.arguments);
  15745. };
  15746. FromRawLineData[IFCRELCONNECTSELEMENTS] = (d) => {
  15747. return IfcRelConnectsElements.FromTape(d.ID, d.type, d.arguments);
  15748. };
  15749. FromRawLineData[IFCRELCONNECTSPATHELEMENTS] = (d) => {
  15750. return IfcRelConnectsPathElements.FromTape(d.ID, d.type, d.arguments);
  15751. };
  15752. FromRawLineData[IFCRELCONNECTSPORTTOELEMENT] = (d) => {
  15753. return IfcRelConnectsPortToElement.FromTape(d.ID, d.type, d.arguments);
  15754. };
  15755. FromRawLineData[IFCRELCONNECTSPORTS] = (d) => {
  15756. return IfcRelConnectsPorts.FromTape(d.ID, d.type, d.arguments);
  15757. };
  15758. FromRawLineData[IFCRELCONNECTSSTRUCTURALACTIVITY] = (d) => {
  15759. return IfcRelConnectsStructuralActivity.FromTape(d.ID, d.type, d.arguments);
  15760. };
  15761. FromRawLineData[IFCRELCONNECTSSTRUCTURALMEMBER] = (d) => {
  15762. return IfcRelConnectsStructuralMember.FromTape(d.ID, d.type, d.arguments);
  15763. };
  15764. FromRawLineData[IFCRELCONNECTSWITHECCENTRICITY] = (d) => {
  15765. return IfcRelConnectsWithEccentricity.FromTape(d.ID, d.type, d.arguments);
  15766. };
  15767. FromRawLineData[IFCRELCONNECTSWITHREALIZINGELEMENTS] = (d) => {
  15768. return IfcRelConnectsWithRealizingElements.FromTape(d.ID, d.type, d.arguments);
  15769. };
  15770. FromRawLineData[IFCRELCONTAINEDINSPATIALSTRUCTURE] = (d) => {
  15771. return IfcRelContainedInSpatialStructure.FromTape(d.ID, d.type, d.arguments);
  15772. };
  15773. FromRawLineData[IFCRELCOVERSBLDGELEMENTS] = (d) => {
  15774. return IfcRelCoversBldgElements.FromTape(d.ID, d.type, d.arguments);
  15775. };
  15776. FromRawLineData[IFCRELCOVERSSPACES] = (d) => {
  15777. return IfcRelCoversSpaces.FromTape(d.ID, d.type, d.arguments);
  15778. };
  15779. FromRawLineData[IFCRELDECLARES] = (d) => {
  15780. return IfcRelDeclares.FromTape(d.ID, d.type, d.arguments);
  15781. };
  15782. FromRawLineData[IFCRELDECOMPOSES] = (d) => {
  15783. return IfcRelDecomposes.FromTape(d.ID, d.type, d.arguments);
  15784. };
  15785. FromRawLineData[IFCRELDEFINES] = (d) => {
  15786. return IfcRelDefines.FromTape(d.ID, d.type, d.arguments);
  15787. };
  15788. FromRawLineData[IFCRELDEFINESBYOBJECT] = (d) => {
  15789. return IfcRelDefinesByObject.FromTape(d.ID, d.type, d.arguments);
  15790. };
  15791. FromRawLineData[IFCRELDEFINESBYPROPERTIES] = (d) => {
  15792. return IfcRelDefinesByProperties.FromTape(d.ID, d.type, d.arguments);
  15793. };
  15794. FromRawLineData[IFCRELDEFINESBYTEMPLATE] = (d) => {
  15795. return IfcRelDefinesByTemplate.FromTape(d.ID, d.type, d.arguments);
  15796. };
  15797. FromRawLineData[IFCRELDEFINESBYTYPE] = (d) => {
  15798. return IfcRelDefinesByType.FromTape(d.ID, d.type, d.arguments);
  15799. };
  15800. FromRawLineData[IFCRELFILLSELEMENT] = (d) => {
  15801. return IfcRelFillsElement.FromTape(d.ID, d.type, d.arguments);
  15802. };
  15803. FromRawLineData[IFCRELFLOWCONTROLELEMENTS] = (d) => {
  15804. return IfcRelFlowControlElements.FromTape(d.ID, d.type, d.arguments);
  15805. };
  15806. FromRawLineData[IFCRELINTERFERESELEMENTS] = (d) => {
  15807. return IfcRelInterferesElements.FromTape(d.ID, d.type, d.arguments);
  15808. };
  15809. FromRawLineData[IFCRELNESTS] = (d) => {
  15810. return IfcRelNests.FromTape(d.ID, d.type, d.arguments);
  15811. };
  15812. FromRawLineData[IFCRELPOSITIONS] = (d) => {
  15813. return IfcRelPositions.FromTape(d.ID, d.type, d.arguments);
  15814. };
  15815. FromRawLineData[IFCRELPROJECTSELEMENT] = (d) => {
  15816. return IfcRelProjectsElement.FromTape(d.ID, d.type, d.arguments);
  15817. };
  15818. FromRawLineData[IFCRELREFERENCEDINSPATIALSTRUCTURE] = (d) => {
  15819. return IfcRelReferencedInSpatialStructure.FromTape(d.ID, d.type, d.arguments);
  15820. };
  15821. FromRawLineData[IFCRELSEQUENCE] = (d) => {
  15822. return IfcRelSequence.FromTape(d.ID, d.type, d.arguments);
  15823. };
  15824. FromRawLineData[IFCRELSERVICESBUILDINGS] = (d) => {
  15825. return IfcRelServicesBuildings.FromTape(d.ID, d.type, d.arguments);
  15826. };
  15827. FromRawLineData[IFCRELSPACEBOUNDARY] = (d) => {
  15828. return IfcRelSpaceBoundary.FromTape(d.ID, d.type, d.arguments);
  15829. };
  15830. FromRawLineData[IFCRELSPACEBOUNDARY1STLEVEL] = (d) => {
  15831. return IfcRelSpaceBoundary1stLevel.FromTape(d.ID, d.type, d.arguments);
  15832. };
  15833. FromRawLineData[IFCRELSPACEBOUNDARY2NDLEVEL] = (d) => {
  15834. return IfcRelSpaceBoundary2ndLevel.FromTape(d.ID, d.type, d.arguments);
  15835. };
  15836. FromRawLineData[IFCRELVOIDSELEMENT] = (d) => {
  15837. return IfcRelVoidsElement.FromTape(d.ID, d.type, d.arguments);
  15838. };
  15839. FromRawLineData[IFCRELATIONSHIP] = (d) => {
  15840. return IfcRelationship.FromTape(d.ID, d.type, d.arguments);
  15841. };
  15842. FromRawLineData[IFCREPARAMETRISEDCOMPOSITECURVESEGMENT] = (d) => {
  15843. return IfcReparametrisedCompositeCurveSegment.FromTape(d.ID, d.type, d.arguments);
  15844. };
  15845. FromRawLineData[IFCREPRESENTATION] = (d) => {
  15846. return IfcRepresentation.FromTape(d.ID, d.type, d.arguments);
  15847. };
  15848. FromRawLineData[IFCREPRESENTATIONCONTEXT] = (d) => {
  15849. return IfcRepresentationContext.FromTape(d.ID, d.type, d.arguments);
  15850. };
  15851. FromRawLineData[IFCREPRESENTATIONITEM] = (d) => {
  15852. return IfcRepresentationItem.FromTape(d.ID, d.type, d.arguments);
  15853. };
  15854. FromRawLineData[IFCREPRESENTATIONMAP] = (d) => {
  15855. return IfcRepresentationMap.FromTape(d.ID, d.type, d.arguments);
  15856. };
  15857. FromRawLineData[IFCRESOURCE] = (d) => {
  15858. return IfcResource.FromTape(d.ID, d.type, d.arguments);
  15859. };
  15860. FromRawLineData[IFCRESOURCEAPPROVALRELATIONSHIP] = (d) => {
  15861. return IfcResourceApprovalRelationship.FromTape(d.ID, d.type, d.arguments);
  15862. };
  15863. FromRawLineData[IFCRESOURCECONSTRAINTRELATIONSHIP] = (d) => {
  15864. return IfcResourceConstraintRelationship.FromTape(d.ID, d.type, d.arguments);
  15865. };
  15866. FromRawLineData[IFCRESOURCELEVELRELATIONSHIP] = (d) => {
  15867. return IfcResourceLevelRelationship.FromTape(d.ID, d.type, d.arguments);
  15868. };
  15869. FromRawLineData[IFCRESOURCETIME] = (d) => {
  15870. return IfcResourceTime.FromTape(d.ID, d.type, d.arguments);
  15871. };
  15872. FromRawLineData[IFCREVOLVEDAREASOLID] = (d) => {
  15873. return IfcRevolvedAreaSolid.FromTape(d.ID, d.type, d.arguments);
  15874. };
  15875. FromRawLineData[IFCREVOLVEDAREASOLIDTAPERED] = (d) => {
  15876. return IfcRevolvedAreaSolidTapered.FromTape(d.ID, d.type, d.arguments);
  15877. };
  15878. FromRawLineData[IFCRIGHTCIRCULARCONE] = (d) => {
  15879. return IfcRightCircularCone.FromTape(d.ID, d.type, d.arguments);
  15880. };
  15881. FromRawLineData[IFCRIGHTCIRCULARCYLINDER] = (d) => {
  15882. return IfcRightCircularCylinder.FromTape(d.ID, d.type, d.arguments);
  15883. };
  15884. FromRawLineData[IFCROOF] = (d) => {
  15885. return IfcRoof.FromTape(d.ID, d.type, d.arguments);
  15886. };
  15887. FromRawLineData[IFCROOFTYPE] = (d) => {
  15888. return IfcRoofType.FromTape(d.ID, d.type, d.arguments);
  15889. };
  15890. FromRawLineData[IFCROOT] = (d) => {
  15891. return IfcRoot.FromTape(d.ID, d.type, d.arguments);
  15892. };
  15893. FromRawLineData[IFCROUNDEDRECTANGLEPROFILEDEF] = (d) => {
  15894. return IfcRoundedRectangleProfileDef.FromTape(d.ID, d.type, d.arguments);
  15895. };
  15896. FromRawLineData[IFCSIUNIT] = (d) => {
  15897. return IfcSIUnit.FromTape(d.ID, d.type, d.arguments);
  15898. };
  15899. FromRawLineData[IFCSANITARYTERMINAL] = (d) => {
  15900. return IfcSanitaryTerminal.FromTape(d.ID, d.type, d.arguments);
  15901. };
  15902. FromRawLineData[IFCSANITARYTERMINALTYPE] = (d) => {
  15903. return IfcSanitaryTerminalType.FromTape(d.ID, d.type, d.arguments);
  15904. };
  15905. FromRawLineData[IFCSCHEDULINGTIME] = (d) => {
  15906. return IfcSchedulingTime.FromTape(d.ID, d.type, d.arguments);
  15907. };
  15908. FromRawLineData[IFCSEAMCURVE] = (d) => {
  15909. return IfcSeamCurve.FromTape(d.ID, d.type, d.arguments);
  15910. };
  15911. FromRawLineData[IFCSECTIONPROPERTIES] = (d) => {
  15912. return IfcSectionProperties.FromTape(d.ID, d.type, d.arguments);
  15913. };
  15914. FromRawLineData[IFCSECTIONREINFORCEMENTPROPERTIES] = (d) => {
  15915. return IfcSectionReinforcementProperties.FromTape(d.ID, d.type, d.arguments);
  15916. };
  15917. FromRawLineData[IFCSECTIONEDSOLID] = (d) => {
  15918. return IfcSectionedSolid.FromTape(d.ID, d.type, d.arguments);
  15919. };
  15920. FromRawLineData[IFCSECTIONEDSOLIDHORIZONTAL] = (d) => {
  15921. return IfcSectionedSolidHorizontal.FromTape(d.ID, d.type, d.arguments);
  15922. };
  15923. FromRawLineData[IFCSECTIONEDSPINE] = (d) => {
  15924. return IfcSectionedSpine.FromTape(d.ID, d.type, d.arguments);
  15925. };
  15926. FromRawLineData[IFCSENSOR] = (d) => {
  15927. return IfcSensor.FromTape(d.ID, d.type, d.arguments);
  15928. };
  15929. FromRawLineData[IFCSENSORTYPE] = (d) => {
  15930. return IfcSensorType.FromTape(d.ID, d.type, d.arguments);
  15931. };
  15932. FromRawLineData[IFCSHADINGDEVICE] = (d) => {
  15933. return IfcShadingDevice.FromTape(d.ID, d.type, d.arguments);
  15934. };
  15935. FromRawLineData[IFCSHADINGDEVICETYPE] = (d) => {
  15936. return IfcShadingDeviceType.FromTape(d.ID, d.type, d.arguments);
  15937. };
  15938. FromRawLineData[IFCSHAPEASPECT] = (d) => {
  15939. return IfcShapeAspect.FromTape(d.ID, d.type, d.arguments);
  15940. };
  15941. FromRawLineData[IFCSHAPEMODEL] = (d) => {
  15942. return IfcShapeModel.FromTape(d.ID, d.type, d.arguments);
  15943. };
  15944. FromRawLineData[IFCSHAPEREPRESENTATION] = (d) => {
  15945. return IfcShapeRepresentation.FromTape(d.ID, d.type, d.arguments);
  15946. };
  15947. FromRawLineData[IFCSHELLBASEDSURFACEMODEL] = (d) => {
  15948. return IfcShellBasedSurfaceModel.FromTape(d.ID, d.type, d.arguments);
  15949. };
  15950. FromRawLineData[IFCSIMPLEPROPERTY] = (d) => {
  15951. return IfcSimpleProperty.FromTape(d.ID, d.type, d.arguments);
  15952. };
  15953. FromRawLineData[IFCSIMPLEPROPERTYTEMPLATE] = (d) => {
  15954. return IfcSimplePropertyTemplate.FromTape(d.ID, d.type, d.arguments);
  15955. };
  15956. FromRawLineData[IFCSITE] = (d) => {
  15957. return IfcSite.FromTape(d.ID, d.type, d.arguments);
  15958. };
  15959. FromRawLineData[IFCSLAB] = (d) => {
  15960. return IfcSlab.FromTape(d.ID, d.type, d.arguments);
  15961. };
  15962. FromRawLineData[IFCSLABELEMENTEDCASE] = (d) => {
  15963. return IfcSlabElementedCase.FromTape(d.ID, d.type, d.arguments);
  15964. };
  15965. FromRawLineData[IFCSLABSTANDARDCASE] = (d) => {
  15966. return IfcSlabStandardCase.FromTape(d.ID, d.type, d.arguments);
  15967. };
  15968. FromRawLineData[IFCSLABTYPE] = (d) => {
  15969. return IfcSlabType.FromTape(d.ID, d.type, d.arguments);
  15970. };
  15971. FromRawLineData[IFCSLIPPAGECONNECTIONCONDITION] = (d) => {
  15972. return IfcSlippageConnectionCondition.FromTape(d.ID, d.type, d.arguments);
  15973. };
  15974. FromRawLineData[IFCSOLARDEVICE] = (d) => {
  15975. return IfcSolarDevice.FromTape(d.ID, d.type, d.arguments);
  15976. };
  15977. FromRawLineData[IFCSOLARDEVICETYPE] = (d) => {
  15978. return IfcSolarDeviceType.FromTape(d.ID, d.type, d.arguments);
  15979. };
  15980. FromRawLineData[IFCSOLIDMODEL] = (d) => {
  15981. return IfcSolidModel.FromTape(d.ID, d.type, d.arguments);
  15982. };
  15983. FromRawLineData[IFCSPACE] = (d) => {
  15984. return IfcSpace.FromTape(d.ID, d.type, d.arguments);
  15985. };
  15986. FromRawLineData[IFCSPACEHEATER] = (d) => {
  15987. return IfcSpaceHeater.FromTape(d.ID, d.type, d.arguments);
  15988. };
  15989. FromRawLineData[IFCSPACEHEATERTYPE] = (d) => {
  15990. return IfcSpaceHeaterType.FromTape(d.ID, d.type, d.arguments);
  15991. };
  15992. FromRawLineData[IFCSPACETYPE] = (d) => {
  15993. return IfcSpaceType.FromTape(d.ID, d.type, d.arguments);
  15994. };
  15995. FromRawLineData[IFCSPATIALELEMENT] = (d) => {
  15996. return IfcSpatialElement.FromTape(d.ID, d.type, d.arguments);
  15997. };
  15998. FromRawLineData[IFCSPATIALELEMENTTYPE] = (d) => {
  15999. return IfcSpatialElementType.FromTape(d.ID, d.type, d.arguments);
  16000. };
  16001. FromRawLineData[IFCSPATIALSTRUCTUREELEMENT] = (d) => {
  16002. return IfcSpatialStructureElement.FromTape(d.ID, d.type, d.arguments);
  16003. };
  16004. FromRawLineData[IFCSPATIALSTRUCTUREELEMENTTYPE] = (d) => {
  16005. return IfcSpatialStructureElementType.FromTape(d.ID, d.type, d.arguments);
  16006. };
  16007. FromRawLineData[IFCSPATIALZONE] = (d) => {
  16008. return IfcSpatialZone.FromTape(d.ID, d.type, d.arguments);
  16009. };
  16010. FromRawLineData[IFCSPATIALZONETYPE] = (d) => {
  16011. return IfcSpatialZoneType.FromTape(d.ID, d.type, d.arguments);
  16012. };
  16013. FromRawLineData[IFCSPHERE] = (d) => {
  16014. return IfcSphere.FromTape(d.ID, d.type, d.arguments);
  16015. };
  16016. FromRawLineData[IFCSPHERICALSURFACE] = (d) => {
  16017. return IfcSphericalSurface.FromTape(d.ID, d.type, d.arguments);
  16018. };
  16019. FromRawLineData[IFCSTACKTERMINAL] = (d) => {
  16020. return IfcStackTerminal.FromTape(d.ID, d.type, d.arguments);
  16021. };
  16022. FromRawLineData[IFCSTACKTERMINALTYPE] = (d) => {
  16023. return IfcStackTerminalType.FromTape(d.ID, d.type, d.arguments);
  16024. };
  16025. FromRawLineData[IFCSTAIR] = (d) => {
  16026. return IfcStair.FromTape(d.ID, d.type, d.arguments);
  16027. };
  16028. FromRawLineData[IFCSTAIRFLIGHT] = (d) => {
  16029. return IfcStairFlight.FromTape(d.ID, d.type, d.arguments);
  16030. };
  16031. FromRawLineData[IFCSTAIRFLIGHTTYPE] = (d) => {
  16032. return IfcStairFlightType.FromTape(d.ID, d.type, d.arguments);
  16033. };
  16034. FromRawLineData[IFCSTAIRTYPE] = (d) => {
  16035. return IfcStairType.FromTape(d.ID, d.type, d.arguments);
  16036. };
  16037. FromRawLineData[IFCSTRUCTURALACTION] = (d) => {
  16038. return IfcStructuralAction.FromTape(d.ID, d.type, d.arguments);
  16039. };
  16040. FromRawLineData[IFCSTRUCTURALACTIVITY] = (d) => {
  16041. return IfcStructuralActivity.FromTape(d.ID, d.type, d.arguments);
  16042. };
  16043. FromRawLineData[IFCSTRUCTURALANALYSISMODEL] = (d) => {
  16044. return IfcStructuralAnalysisModel.FromTape(d.ID, d.type, d.arguments);
  16045. };
  16046. FromRawLineData[IFCSTRUCTURALCONNECTION] = (d) => {
  16047. return IfcStructuralConnection.FromTape(d.ID, d.type, d.arguments);
  16048. };
  16049. FromRawLineData[IFCSTRUCTURALCONNECTIONCONDITION] = (d) => {
  16050. return IfcStructuralConnectionCondition.FromTape(d.ID, d.type, d.arguments);
  16051. };
  16052. FromRawLineData[IFCSTRUCTURALCURVEACTION] = (d) => {
  16053. return IfcStructuralCurveAction.FromTape(d.ID, d.type, d.arguments);
  16054. };
  16055. FromRawLineData[IFCSTRUCTURALCURVECONNECTION] = (d) => {
  16056. return IfcStructuralCurveConnection.FromTape(d.ID, d.type, d.arguments);
  16057. };
  16058. FromRawLineData[IFCSTRUCTURALCURVEMEMBER] = (d) => {
  16059. return IfcStructuralCurveMember.FromTape(d.ID, d.type, d.arguments);
  16060. };
  16061. FromRawLineData[IFCSTRUCTURALCURVEMEMBERVARYING] = (d) => {
  16062. return IfcStructuralCurveMemberVarying.FromTape(d.ID, d.type, d.arguments);
  16063. };
  16064. FromRawLineData[IFCSTRUCTURALCURVEREACTION] = (d) => {
  16065. return IfcStructuralCurveReaction.FromTape(d.ID, d.type, d.arguments);
  16066. };
  16067. FromRawLineData[IFCSTRUCTURALITEM] = (d) => {
  16068. return IfcStructuralItem.FromTape(d.ID, d.type, d.arguments);
  16069. };
  16070. FromRawLineData[IFCSTRUCTURALLINEARACTION] = (d) => {
  16071. return IfcStructuralLinearAction.FromTape(d.ID, d.type, d.arguments);
  16072. };
  16073. FromRawLineData[IFCSTRUCTURALLOAD] = (d) => {
  16074. return IfcStructuralLoad.FromTape(d.ID, d.type, d.arguments);
  16075. };
  16076. FromRawLineData[IFCSTRUCTURALLOADCASE] = (d) => {
  16077. return IfcStructuralLoadCase.FromTape(d.ID, d.type, d.arguments);
  16078. };
  16079. FromRawLineData[IFCSTRUCTURALLOADCONFIGURATION] = (d) => {
  16080. return IfcStructuralLoadConfiguration.FromTape(d.ID, d.type, d.arguments);
  16081. };
  16082. FromRawLineData[IFCSTRUCTURALLOADGROUP] = (d) => {
  16083. return IfcStructuralLoadGroup.FromTape(d.ID, d.type, d.arguments);
  16084. };
  16085. FromRawLineData[IFCSTRUCTURALLOADLINEARFORCE] = (d) => {
  16086. return IfcStructuralLoadLinearForce.FromTape(d.ID, d.type, d.arguments);
  16087. };
  16088. FromRawLineData[IFCSTRUCTURALLOADORRESULT] = (d) => {
  16089. return IfcStructuralLoadOrResult.FromTape(d.ID, d.type, d.arguments);
  16090. };
  16091. FromRawLineData[IFCSTRUCTURALLOADPLANARFORCE] = (d) => {
  16092. return IfcStructuralLoadPlanarForce.FromTape(d.ID, d.type, d.arguments);
  16093. };
  16094. FromRawLineData[IFCSTRUCTURALLOADSINGLEDISPLACEMENT] = (d) => {
  16095. return IfcStructuralLoadSingleDisplacement.FromTape(d.ID, d.type, d.arguments);
  16096. };
  16097. FromRawLineData[IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION] = (d) => {
  16098. return IfcStructuralLoadSingleDisplacementDistortion.FromTape(d.ID, d.type, d.arguments);
  16099. };
  16100. FromRawLineData[IFCSTRUCTURALLOADSINGLEFORCE] = (d) => {
  16101. return IfcStructuralLoadSingleForce.FromTape(d.ID, d.type, d.arguments);
  16102. };
  16103. FromRawLineData[IFCSTRUCTURALLOADSINGLEFORCEWARPING] = (d) => {
  16104. return IfcStructuralLoadSingleForceWarping.FromTape(d.ID, d.type, d.arguments);
  16105. };
  16106. FromRawLineData[IFCSTRUCTURALLOADSTATIC] = (d) => {
  16107. return IfcStructuralLoadStatic.FromTape(d.ID, d.type, d.arguments);
  16108. };
  16109. FromRawLineData[IFCSTRUCTURALLOADTEMPERATURE] = (d) => {
  16110. return IfcStructuralLoadTemperature.FromTape(d.ID, d.type, d.arguments);
  16111. };
  16112. FromRawLineData[IFCSTRUCTURALMEMBER] = (d) => {
  16113. return IfcStructuralMember.FromTape(d.ID, d.type, d.arguments);
  16114. };
  16115. FromRawLineData[IFCSTRUCTURALPLANARACTION] = (d) => {
  16116. return IfcStructuralPlanarAction.FromTape(d.ID, d.type, d.arguments);
  16117. };
  16118. FromRawLineData[IFCSTRUCTURALPOINTACTION] = (d) => {
  16119. return IfcStructuralPointAction.FromTape(d.ID, d.type, d.arguments);
  16120. };
  16121. FromRawLineData[IFCSTRUCTURALPOINTCONNECTION] = (d) => {
  16122. return IfcStructuralPointConnection.FromTape(d.ID, d.type, d.arguments);
  16123. };
  16124. FromRawLineData[IFCSTRUCTURALPOINTREACTION] = (d) => {
  16125. return IfcStructuralPointReaction.FromTape(d.ID, d.type, d.arguments);
  16126. };
  16127. FromRawLineData[IFCSTRUCTURALREACTION] = (d) => {
  16128. return IfcStructuralReaction.FromTape(d.ID, d.type, d.arguments);
  16129. };
  16130. FromRawLineData[IFCSTRUCTURALRESULTGROUP] = (d) => {
  16131. return IfcStructuralResultGroup.FromTape(d.ID, d.type, d.arguments);
  16132. };
  16133. FromRawLineData[IFCSTRUCTURALSURFACEACTION] = (d) => {
  16134. return IfcStructuralSurfaceAction.FromTape(d.ID, d.type, d.arguments);
  16135. };
  16136. FromRawLineData[IFCSTRUCTURALSURFACECONNECTION] = (d) => {
  16137. return IfcStructuralSurfaceConnection.FromTape(d.ID, d.type, d.arguments);
  16138. };
  16139. FromRawLineData[IFCSTRUCTURALSURFACEMEMBER] = (d) => {
  16140. return IfcStructuralSurfaceMember.FromTape(d.ID, d.type, d.arguments);
  16141. };
  16142. FromRawLineData[IFCSTRUCTURALSURFACEMEMBERVARYING] = (d) => {
  16143. return IfcStructuralSurfaceMemberVarying.FromTape(d.ID, d.type, d.arguments);
  16144. };
  16145. FromRawLineData[IFCSTRUCTURALSURFACEREACTION] = (d) => {
  16146. return IfcStructuralSurfaceReaction.FromTape(d.ID, d.type, d.arguments);
  16147. };
  16148. FromRawLineData[IFCSTYLEMODEL] = (d) => {
  16149. return IfcStyleModel.FromTape(d.ID, d.type, d.arguments);
  16150. };
  16151. FromRawLineData[IFCSTYLEDITEM] = (d) => {
  16152. return IfcStyledItem.FromTape(d.ID, d.type, d.arguments);
  16153. };
  16154. FromRawLineData[IFCSTYLEDREPRESENTATION] = (d) => {
  16155. return IfcStyledRepresentation.FromTape(d.ID, d.type, d.arguments);
  16156. };
  16157. FromRawLineData[IFCSUBCONTRACTRESOURCE] = (d) => {
  16158. return IfcSubContractResource.FromTape(d.ID, d.type, d.arguments);
  16159. };
  16160. FromRawLineData[IFCSUBCONTRACTRESOURCETYPE] = (d) => {
  16161. return IfcSubContractResourceType.FromTape(d.ID, d.type, d.arguments);
  16162. };
  16163. FromRawLineData[IFCSUBEDGE] = (d) => {
  16164. return IfcSubedge.FromTape(d.ID, d.type, d.arguments);
  16165. };
  16166. FromRawLineData[IFCSURFACE] = (d) => {
  16167. return IfcSurface.FromTape(d.ID, d.type, d.arguments);
  16168. };
  16169. FromRawLineData[IFCSURFACECURVE] = (d) => {
  16170. return IfcSurfaceCurve.FromTape(d.ID, d.type, d.arguments);
  16171. };
  16172. FromRawLineData[IFCSURFACECURVESWEPTAREASOLID] = (d) => {
  16173. return IfcSurfaceCurveSweptAreaSolid.FromTape(d.ID, d.type, d.arguments);
  16174. };
  16175. FromRawLineData[IFCSURFACEFEATURE] = (d) => {
  16176. return IfcSurfaceFeature.FromTape(d.ID, d.type, d.arguments);
  16177. };
  16178. FromRawLineData[IFCSURFACEOFLINEAREXTRUSION] = (d) => {
  16179. return IfcSurfaceOfLinearExtrusion.FromTape(d.ID, d.type, d.arguments);
  16180. };
  16181. FromRawLineData[IFCSURFACEOFREVOLUTION] = (d) => {
  16182. return IfcSurfaceOfRevolution.FromTape(d.ID, d.type, d.arguments);
  16183. };
  16184. FromRawLineData[IFCSURFACEREINFORCEMENTAREA] = (d) => {
  16185. return IfcSurfaceReinforcementArea.FromTape(d.ID, d.type, d.arguments);
  16186. };
  16187. FromRawLineData[IFCSURFACESTYLE] = (d) => {
  16188. return IfcSurfaceStyle.FromTape(d.ID, d.type, d.arguments);
  16189. };
  16190. FromRawLineData[IFCSURFACESTYLELIGHTING] = (d) => {
  16191. return IfcSurfaceStyleLighting.FromTape(d.ID, d.type, d.arguments);
  16192. };
  16193. FromRawLineData[IFCSURFACESTYLEREFRACTION] = (d) => {
  16194. return IfcSurfaceStyleRefraction.FromTape(d.ID, d.type, d.arguments);
  16195. };
  16196. FromRawLineData[IFCSURFACESTYLERENDERING] = (d) => {
  16197. return IfcSurfaceStyleRendering.FromTape(d.ID, d.type, d.arguments);
  16198. };
  16199. FromRawLineData[IFCSURFACESTYLESHADING] = (d) => {
  16200. return IfcSurfaceStyleShading.FromTape(d.ID, d.type, d.arguments);
  16201. };
  16202. FromRawLineData[IFCSURFACESTYLEWITHTEXTURES] = (d) => {
  16203. return IfcSurfaceStyleWithTextures.FromTape(d.ID, d.type, d.arguments);
  16204. };
  16205. FromRawLineData[IFCSURFACETEXTURE] = (d) => {
  16206. return IfcSurfaceTexture.FromTape(d.ID, d.type, d.arguments);
  16207. };
  16208. FromRawLineData[IFCSWEPTAREASOLID] = (d) => {
  16209. return IfcSweptAreaSolid.FromTape(d.ID, d.type, d.arguments);
  16210. };
  16211. FromRawLineData[IFCSWEPTDISKSOLID] = (d) => {
  16212. return IfcSweptDiskSolid.FromTape(d.ID, d.type, d.arguments);
  16213. };
  16214. FromRawLineData[IFCSWEPTDISKSOLIDPOLYGONAL] = (d) => {
  16215. return IfcSweptDiskSolidPolygonal.FromTape(d.ID, d.type, d.arguments);
  16216. };
  16217. FromRawLineData[IFCSWEPTSURFACE] = (d) => {
  16218. return IfcSweptSurface.FromTape(d.ID, d.type, d.arguments);
  16219. };
  16220. FromRawLineData[IFCSWITCHINGDEVICE] = (d) => {
  16221. return IfcSwitchingDevice.FromTape(d.ID, d.type, d.arguments);
  16222. };
  16223. FromRawLineData[IFCSWITCHINGDEVICETYPE] = (d) => {
  16224. return IfcSwitchingDeviceType.FromTape(d.ID, d.type, d.arguments);
  16225. };
  16226. FromRawLineData[IFCSYSTEM] = (d) => {
  16227. return IfcSystem.FromTape(d.ID, d.type, d.arguments);
  16228. };
  16229. FromRawLineData[IFCSYSTEMFURNITUREELEMENT] = (d) => {
  16230. return IfcSystemFurnitureElement.FromTape(d.ID, d.type, d.arguments);
  16231. };
  16232. FromRawLineData[IFCSYSTEMFURNITUREELEMENTTYPE] = (d) => {
  16233. return IfcSystemFurnitureElementType.FromTape(d.ID, d.type, d.arguments);
  16234. };
  16235. FromRawLineData[IFCTSHAPEPROFILEDEF] = (d) => {
  16236. return IfcTShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  16237. };
  16238. FromRawLineData[IFCTABLE] = (d) => {
  16239. return IfcTable.FromTape(d.ID, d.type, d.arguments);
  16240. };
  16241. FromRawLineData[IFCTABLECOLUMN] = (d) => {
  16242. return IfcTableColumn.FromTape(d.ID, d.type, d.arguments);
  16243. };
  16244. FromRawLineData[IFCTABLEROW] = (d) => {
  16245. return IfcTableRow.FromTape(d.ID, d.type, d.arguments);
  16246. };
  16247. FromRawLineData[IFCTANK] = (d) => {
  16248. return IfcTank.FromTape(d.ID, d.type, d.arguments);
  16249. };
  16250. FromRawLineData[IFCTANKTYPE] = (d) => {
  16251. return IfcTankType.FromTape(d.ID, d.type, d.arguments);
  16252. };
  16253. FromRawLineData[IFCTASK] = (d) => {
  16254. return IfcTask.FromTape(d.ID, d.type, d.arguments);
  16255. };
  16256. FromRawLineData[IFCTASKTIME] = (d) => {
  16257. return IfcTaskTime.FromTape(d.ID, d.type, d.arguments);
  16258. };
  16259. FromRawLineData[IFCTASKTIMERECURRING] = (d) => {
  16260. return IfcTaskTimeRecurring.FromTape(d.ID, d.type, d.arguments);
  16261. };
  16262. FromRawLineData[IFCTASKTYPE] = (d) => {
  16263. return IfcTaskType.FromTape(d.ID, d.type, d.arguments);
  16264. };
  16265. FromRawLineData[IFCTELECOMADDRESS] = (d) => {
  16266. return IfcTelecomAddress.FromTape(d.ID, d.type, d.arguments);
  16267. };
  16268. FromRawLineData[IFCTENDON] = (d) => {
  16269. return IfcTendon.FromTape(d.ID, d.type, d.arguments);
  16270. };
  16271. FromRawLineData[IFCTENDONANCHOR] = (d) => {
  16272. return IfcTendonAnchor.FromTape(d.ID, d.type, d.arguments);
  16273. };
  16274. FromRawLineData[IFCTENDONANCHORTYPE] = (d) => {
  16275. return IfcTendonAnchorType.FromTape(d.ID, d.type, d.arguments);
  16276. };
  16277. FromRawLineData[IFCTENDONCONDUIT] = (d) => {
  16278. return IfcTendonConduit.FromTape(d.ID, d.type, d.arguments);
  16279. };
  16280. FromRawLineData[IFCTENDONCONDUITTYPE] = (d) => {
  16281. return IfcTendonConduitType.FromTape(d.ID, d.type, d.arguments);
  16282. };
  16283. FromRawLineData[IFCTENDONTYPE] = (d) => {
  16284. return IfcTendonType.FromTape(d.ID, d.type, d.arguments);
  16285. };
  16286. FromRawLineData[IFCTESSELLATEDFACESET] = (d) => {
  16287. return IfcTessellatedFaceSet.FromTape(d.ID, d.type, d.arguments);
  16288. };
  16289. FromRawLineData[IFCTESSELLATEDITEM] = (d) => {
  16290. return IfcTessellatedItem.FromTape(d.ID, d.type, d.arguments);
  16291. };
  16292. FromRawLineData[IFCTEXTLITERAL] = (d) => {
  16293. return IfcTextLiteral.FromTape(d.ID, d.type, d.arguments);
  16294. };
  16295. FromRawLineData[IFCTEXTLITERALWITHEXTENT] = (d) => {
  16296. return IfcTextLiteralWithExtent.FromTape(d.ID, d.type, d.arguments);
  16297. };
  16298. FromRawLineData[IFCTEXTSTYLE] = (d) => {
  16299. return IfcTextStyle.FromTape(d.ID, d.type, d.arguments);
  16300. };
  16301. FromRawLineData[IFCTEXTSTYLEFONTMODEL] = (d) => {
  16302. return IfcTextStyleFontModel.FromTape(d.ID, d.type, d.arguments);
  16303. };
  16304. FromRawLineData[IFCTEXTSTYLEFORDEFINEDFONT] = (d) => {
  16305. return IfcTextStyleForDefinedFont.FromTape(d.ID, d.type, d.arguments);
  16306. };
  16307. FromRawLineData[IFCTEXTSTYLETEXTMODEL] = (d) => {
  16308. return IfcTextStyleTextModel.FromTape(d.ID, d.type, d.arguments);
  16309. };
  16310. FromRawLineData[IFCTEXTURECOORDINATE] = (d) => {
  16311. return IfcTextureCoordinate.FromTape(d.ID, d.type, d.arguments);
  16312. };
  16313. FromRawLineData[IFCTEXTURECOORDINATEGENERATOR] = (d) => {
  16314. return IfcTextureCoordinateGenerator.FromTape(d.ID, d.type, d.arguments);
  16315. };
  16316. FromRawLineData[IFCTEXTUREMAP] = (d) => {
  16317. return IfcTextureMap.FromTape(d.ID, d.type, d.arguments);
  16318. };
  16319. FromRawLineData[IFCTEXTUREVERTEX] = (d) => {
  16320. return IfcTextureVertex.FromTape(d.ID, d.type, d.arguments);
  16321. };
  16322. FromRawLineData[IFCTEXTUREVERTEXLIST] = (d) => {
  16323. return IfcTextureVertexList.FromTape(d.ID, d.type, d.arguments);
  16324. };
  16325. FromRawLineData[IFCTIMEPERIOD] = (d) => {
  16326. return IfcTimePeriod.FromTape(d.ID, d.type, d.arguments);
  16327. };
  16328. FromRawLineData[IFCTIMESERIES] = (d) => {
  16329. return IfcTimeSeries.FromTape(d.ID, d.type, d.arguments);
  16330. };
  16331. FromRawLineData[IFCTIMESERIESVALUE] = (d) => {
  16332. return IfcTimeSeriesValue.FromTape(d.ID, d.type, d.arguments);
  16333. };
  16334. FromRawLineData[IFCTOPOLOGICALREPRESENTATIONITEM] = (d) => {
  16335. return IfcTopologicalRepresentationItem.FromTape(d.ID, d.type, d.arguments);
  16336. };
  16337. FromRawLineData[IFCTOPOLOGYREPRESENTATION] = (d) => {
  16338. return IfcTopologyRepresentation.FromTape(d.ID, d.type, d.arguments);
  16339. };
  16340. FromRawLineData[IFCTOROIDALSURFACE] = (d) => {
  16341. return IfcToroidalSurface.FromTape(d.ID, d.type, d.arguments);
  16342. };
  16343. FromRawLineData[IFCTRANSFORMER] = (d) => {
  16344. return IfcTransformer.FromTape(d.ID, d.type, d.arguments);
  16345. };
  16346. FromRawLineData[IFCTRANSFORMERTYPE] = (d) => {
  16347. return IfcTransformerType.FromTape(d.ID, d.type, d.arguments);
  16348. };
  16349. FromRawLineData[IFCTRANSITIONCURVESEGMENT2D] = (d) => {
  16350. return IfcTransitionCurveSegment2D.FromTape(d.ID, d.type, d.arguments);
  16351. };
  16352. FromRawLineData[IFCTRANSPORTELEMENT] = (d) => {
  16353. return IfcTransportElement.FromTape(d.ID, d.type, d.arguments);
  16354. };
  16355. FromRawLineData[IFCTRANSPORTELEMENTTYPE] = (d) => {
  16356. return IfcTransportElementType.FromTape(d.ID, d.type, d.arguments);
  16357. };
  16358. FromRawLineData[IFCTRAPEZIUMPROFILEDEF] = (d) => {
  16359. return IfcTrapeziumProfileDef.FromTape(d.ID, d.type, d.arguments);
  16360. };
  16361. FromRawLineData[IFCTRIANGULATEDFACESET] = (d) => {
  16362. return IfcTriangulatedFaceSet.FromTape(d.ID, d.type, d.arguments);
  16363. };
  16364. FromRawLineData[IFCTRIANGULATEDIRREGULARNETWORK] = (d) => {
  16365. return IfcTriangulatedIrregularNetwork.FromTape(d.ID, d.type, d.arguments);
  16366. };
  16367. FromRawLineData[IFCTRIMMEDCURVE] = (d) => {
  16368. return IfcTrimmedCurve.FromTape(d.ID, d.type, d.arguments);
  16369. };
  16370. FromRawLineData[IFCTUBEBUNDLE] = (d) => {
  16371. return IfcTubeBundle.FromTape(d.ID, d.type, d.arguments);
  16372. };
  16373. FromRawLineData[IFCTUBEBUNDLETYPE] = (d) => {
  16374. return IfcTubeBundleType.FromTape(d.ID, d.type, d.arguments);
  16375. };
  16376. FromRawLineData[IFCTYPEOBJECT] = (d) => {
  16377. return IfcTypeObject.FromTape(d.ID, d.type, d.arguments);
  16378. };
  16379. FromRawLineData[IFCTYPEPROCESS] = (d) => {
  16380. return IfcTypeProcess.FromTape(d.ID, d.type, d.arguments);
  16381. };
  16382. FromRawLineData[IFCTYPEPRODUCT] = (d) => {
  16383. return IfcTypeProduct.FromTape(d.ID, d.type, d.arguments);
  16384. };
  16385. FromRawLineData[IFCTYPERESOURCE] = (d) => {
  16386. return IfcTypeResource.FromTape(d.ID, d.type, d.arguments);
  16387. };
  16388. FromRawLineData[IFCUSHAPEPROFILEDEF] = (d) => {
  16389. return IfcUShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  16390. };
  16391. FromRawLineData[IFCUNITASSIGNMENT] = (d) => {
  16392. return IfcUnitAssignment.FromTape(d.ID, d.type, d.arguments);
  16393. };
  16394. FromRawLineData[IFCUNITARYCONTROLELEMENT] = (d) => {
  16395. return IfcUnitaryControlElement.FromTape(d.ID, d.type, d.arguments);
  16396. };
  16397. FromRawLineData[IFCUNITARYCONTROLELEMENTTYPE] = (d) => {
  16398. return IfcUnitaryControlElementType.FromTape(d.ID, d.type, d.arguments);
  16399. };
  16400. FromRawLineData[IFCUNITARYEQUIPMENT] = (d) => {
  16401. return IfcUnitaryEquipment.FromTape(d.ID, d.type, d.arguments);
  16402. };
  16403. FromRawLineData[IFCUNITARYEQUIPMENTTYPE] = (d) => {
  16404. return IfcUnitaryEquipmentType.FromTape(d.ID, d.type, d.arguments);
  16405. };
  16406. FromRawLineData[IFCVALVE] = (d) => {
  16407. return IfcValve.FromTape(d.ID, d.type, d.arguments);
  16408. };
  16409. FromRawLineData[IFCVALVETYPE] = (d) => {
  16410. return IfcValveType.FromTape(d.ID, d.type, d.arguments);
  16411. };
  16412. FromRawLineData[IFCVECTOR] = (d) => {
  16413. return IfcVector.FromTape(d.ID, d.type, d.arguments);
  16414. };
  16415. FromRawLineData[IFCVERTEX] = (d) => {
  16416. return IfcVertex.FromTape(d.ID, d.type, d.arguments);
  16417. };
  16418. FromRawLineData[IFCVERTEXLOOP] = (d) => {
  16419. return IfcVertexLoop.FromTape(d.ID, d.type, d.arguments);
  16420. };
  16421. FromRawLineData[IFCVERTEXPOINT] = (d) => {
  16422. return IfcVertexPoint.FromTape(d.ID, d.type, d.arguments);
  16423. };
  16424. FromRawLineData[IFCVIBRATIONDAMPER] = (d) => {
  16425. return IfcVibrationDamper.FromTape(d.ID, d.type, d.arguments);
  16426. };
  16427. FromRawLineData[IFCVIBRATIONDAMPERTYPE] = (d) => {
  16428. return IfcVibrationDamperType.FromTape(d.ID, d.type, d.arguments);
  16429. };
  16430. FromRawLineData[IFCVIBRATIONISOLATOR] = (d) => {
  16431. return IfcVibrationIsolator.FromTape(d.ID, d.type, d.arguments);
  16432. };
  16433. FromRawLineData[IFCVIBRATIONISOLATORTYPE] = (d) => {
  16434. return IfcVibrationIsolatorType.FromTape(d.ID, d.type, d.arguments);
  16435. };
  16436. FromRawLineData[IFCVIRTUALELEMENT] = (d) => {
  16437. return IfcVirtualElement.FromTape(d.ID, d.type, d.arguments);
  16438. };
  16439. FromRawLineData[IFCVIRTUALGRIDINTERSECTION] = (d) => {
  16440. return IfcVirtualGridIntersection.FromTape(d.ID, d.type, d.arguments);
  16441. };
  16442. FromRawLineData[IFCVOIDINGFEATURE] = (d) => {
  16443. return IfcVoidingFeature.FromTape(d.ID, d.type, d.arguments);
  16444. };
  16445. FromRawLineData[IFCWALL] = (d) => {
  16446. return IfcWall.FromTape(d.ID, d.type, d.arguments);
  16447. };
  16448. FromRawLineData[IFCWALLELEMENTEDCASE] = (d) => {
  16449. return IfcWallElementedCase.FromTape(d.ID, d.type, d.arguments);
  16450. };
  16451. FromRawLineData[IFCWALLSTANDARDCASE] = (d) => {
  16452. return IfcWallStandardCase.FromTape(d.ID, d.type, d.arguments);
  16453. };
  16454. FromRawLineData[IFCWALLTYPE] = (d) => {
  16455. return IfcWallType.FromTape(d.ID, d.type, d.arguments);
  16456. };
  16457. FromRawLineData[IFCWASTETERMINAL] = (d) => {
  16458. return IfcWasteTerminal.FromTape(d.ID, d.type, d.arguments);
  16459. };
  16460. FromRawLineData[IFCWASTETERMINALTYPE] = (d) => {
  16461. return IfcWasteTerminalType.FromTape(d.ID, d.type, d.arguments);
  16462. };
  16463. FromRawLineData[IFCWINDOW] = (d) => {
  16464. return IfcWindow.FromTape(d.ID, d.type, d.arguments);
  16465. };
  16466. FromRawLineData[IFCWINDOWLININGPROPERTIES] = (d) => {
  16467. return IfcWindowLiningProperties.FromTape(d.ID, d.type, d.arguments);
  16468. };
  16469. FromRawLineData[IFCWINDOWPANELPROPERTIES] = (d) => {
  16470. return IfcWindowPanelProperties.FromTape(d.ID, d.type, d.arguments);
  16471. };
  16472. FromRawLineData[IFCWINDOWSTANDARDCASE] = (d) => {
  16473. return IfcWindowStandardCase.FromTape(d.ID, d.type, d.arguments);
  16474. };
  16475. FromRawLineData[IFCWINDOWSTYLE] = (d) => {
  16476. return IfcWindowStyle.FromTape(d.ID, d.type, d.arguments);
  16477. };
  16478. FromRawLineData[IFCWINDOWTYPE] = (d) => {
  16479. return IfcWindowType.FromTape(d.ID, d.type, d.arguments);
  16480. };
  16481. FromRawLineData[IFCWORKCALENDAR] = (d) => {
  16482. return IfcWorkCalendar.FromTape(d.ID, d.type, d.arguments);
  16483. };
  16484. FromRawLineData[IFCWORKCONTROL] = (d) => {
  16485. return IfcWorkControl.FromTape(d.ID, d.type, d.arguments);
  16486. };
  16487. FromRawLineData[IFCWORKPLAN] = (d) => {
  16488. return IfcWorkPlan.FromTape(d.ID, d.type, d.arguments);
  16489. };
  16490. FromRawLineData[IFCWORKSCHEDULE] = (d) => {
  16491. return IfcWorkSchedule.FromTape(d.ID, d.type, d.arguments);
  16492. };
  16493. FromRawLineData[IFCWORKTIME] = (d) => {
  16494. return IfcWorkTime.FromTape(d.ID, d.type, d.arguments);
  16495. };
  16496. FromRawLineData[IFCZSHAPEPROFILEDEF] = (d) => {
  16497. return IfcZShapeProfileDef.FromTape(d.ID, d.type, d.arguments);
  16498. };
  16499. FromRawLineData[IFCZONE] = (d) => {
  16500. return IfcZone.FromTape(d.ID, d.type, d.arguments);
  16501. };
  16502. var Handle = class {
  16503. constructor(id) {
  16504. this.value = id;
  16505. }
  16506. toTape(args) {
  16507. args.push({ type: 5, value: this.value });
  16508. }
  16509. };
  16510. function Value(type, value) {
  16511. return { t: type, v: value };
  16512. }
  16513. var IfcAbsorbedDoseMeasure = class {
  16514. constructor(v) {
  16515. this.value = v;
  16516. }
  16517. };
  16518. var IfcAccelerationMeasure = class {
  16519. constructor(v) {
  16520. this.value = v;
  16521. }
  16522. };
  16523. var IfcAmountOfSubstanceMeasure = class {
  16524. constructor(v) {
  16525. this.value = v;
  16526. }
  16527. };
  16528. var IfcAngularVelocityMeasure = class {
  16529. constructor(v) {
  16530. this.value = v;
  16531. }
  16532. };
  16533. var IfcAreaDensityMeasure = class {
  16534. constructor(v) {
  16535. this.value = v;
  16536. }
  16537. };
  16538. var IfcAreaMeasure = class {
  16539. constructor(v) {
  16540. this.value = v;
  16541. }
  16542. };
  16543. var IfcBinary = class {
  16544. constructor(v) {
  16545. this.value = v;
  16546. }
  16547. };
  16548. var IfcBoolean = class {
  16549. constructor(v) {
  16550. this.value = v;
  16551. }
  16552. };
  16553. var IfcBoxAlignment = class {
  16554. constructor(v) {
  16555. this.value = v;
  16556. }
  16557. };
  16558. var IfcCardinalPointReference = class {
  16559. constructor(v) {
  16560. this.value = v;
  16561. }
  16562. };
  16563. var IfcContextDependentMeasure = class {
  16564. constructor(v) {
  16565. this.value = v;
  16566. }
  16567. };
  16568. var IfcCountMeasure = class {
  16569. constructor(v) {
  16570. this.value = v;
  16571. }
  16572. };
  16573. var IfcCurvatureMeasure = class {
  16574. constructor(v) {
  16575. this.value = v;
  16576. }
  16577. };
  16578. var IfcDate = class {
  16579. constructor(v) {
  16580. this.value = v;
  16581. }
  16582. };
  16583. var IfcDateTime = class {
  16584. constructor(v) {
  16585. this.value = v;
  16586. }
  16587. };
  16588. var IfcDayInMonthNumber = class {
  16589. constructor(v) {
  16590. this.value = v;
  16591. }
  16592. };
  16593. var IfcDayInWeekNumber = class {
  16594. constructor(v) {
  16595. this.value = v;
  16596. }
  16597. };
  16598. var IfcDescriptiveMeasure = class {
  16599. constructor(v) {
  16600. this.value = v;
  16601. }
  16602. };
  16603. var IfcDimensionCount = class {
  16604. constructor(v) {
  16605. this.value = v;
  16606. }
  16607. };
  16608. var IfcDoseEquivalentMeasure = class {
  16609. constructor(v) {
  16610. this.value = v;
  16611. }
  16612. };
  16613. var IfcDuration = class {
  16614. constructor(v) {
  16615. this.value = v;
  16616. }
  16617. };
  16618. var IfcDynamicViscosityMeasure = class {
  16619. constructor(v) {
  16620. this.value = v;
  16621. }
  16622. };
  16623. var IfcElectricCapacitanceMeasure = class {
  16624. constructor(v) {
  16625. this.value = v;
  16626. }
  16627. };
  16628. var IfcElectricChargeMeasure = class {
  16629. constructor(v) {
  16630. this.value = v;
  16631. }
  16632. };
  16633. var IfcElectricConductanceMeasure = class {
  16634. constructor(v) {
  16635. this.value = v;
  16636. }
  16637. };
  16638. var IfcElectricCurrentMeasure = class {
  16639. constructor(v) {
  16640. this.value = v;
  16641. }
  16642. };
  16643. var IfcElectricResistanceMeasure = class {
  16644. constructor(v) {
  16645. this.value = v;
  16646. }
  16647. };
  16648. var IfcElectricVoltageMeasure = class {
  16649. constructor(v) {
  16650. this.value = v;
  16651. }
  16652. };
  16653. var IfcEnergyMeasure = class {
  16654. constructor(v) {
  16655. this.value = v;
  16656. }
  16657. };
  16658. var IfcFontStyle = class {
  16659. constructor(v) {
  16660. this.value = v;
  16661. }
  16662. };
  16663. var IfcFontVariant = class {
  16664. constructor(v) {
  16665. this.value = v;
  16666. }
  16667. };
  16668. var IfcFontWeight = class {
  16669. constructor(v) {
  16670. this.value = v;
  16671. }
  16672. };
  16673. var IfcForceMeasure = class {
  16674. constructor(v) {
  16675. this.value = v;
  16676. }
  16677. };
  16678. var IfcFrequencyMeasure = class {
  16679. constructor(v) {
  16680. this.value = v;
  16681. }
  16682. };
  16683. var IfcGloballyUniqueId = class {
  16684. constructor(v) {
  16685. this.value = v;
  16686. }
  16687. };
  16688. var IfcHeatFluxDensityMeasure = class {
  16689. constructor(v) {
  16690. this.value = v;
  16691. }
  16692. };
  16693. var IfcHeatingValueMeasure = class {
  16694. constructor(v) {
  16695. this.value = v;
  16696. }
  16697. };
  16698. var IfcIdentifier = class {
  16699. constructor(v) {
  16700. this.value = v;
  16701. }
  16702. };
  16703. var IfcIlluminanceMeasure = class {
  16704. constructor(v) {
  16705. this.value = v;
  16706. }
  16707. };
  16708. var IfcInductanceMeasure = class {
  16709. constructor(v) {
  16710. this.value = v;
  16711. }
  16712. };
  16713. var IfcInteger = class {
  16714. constructor(v) {
  16715. this.value = v;
  16716. }
  16717. };
  16718. var IfcIntegerCountRateMeasure = class {
  16719. constructor(v) {
  16720. this.value = v;
  16721. }
  16722. };
  16723. var IfcIonConcentrationMeasure = class {
  16724. constructor(v) {
  16725. this.value = v;
  16726. }
  16727. };
  16728. var IfcIsothermalMoistureCapacityMeasure = class {
  16729. constructor(v) {
  16730. this.value = v;
  16731. }
  16732. };
  16733. var IfcKinematicViscosityMeasure = class {
  16734. constructor(v) {
  16735. this.value = v;
  16736. }
  16737. };
  16738. var IfcLabel = class {
  16739. constructor(v) {
  16740. this.value = v;
  16741. }
  16742. };
  16743. var IfcLanguageId = class {
  16744. constructor(v) {
  16745. this.value = v;
  16746. }
  16747. };
  16748. var IfcLengthMeasure = class {
  16749. constructor(v) {
  16750. this.value = v;
  16751. }
  16752. };
  16753. var IfcLinearForceMeasure = class {
  16754. constructor(v) {
  16755. this.value = v;
  16756. }
  16757. };
  16758. var IfcLinearMomentMeasure = class {
  16759. constructor(v) {
  16760. this.value = v;
  16761. }
  16762. };
  16763. var IfcLinearStiffnessMeasure = class {
  16764. constructor(v) {
  16765. this.value = v;
  16766. }
  16767. };
  16768. var IfcLinearVelocityMeasure = class {
  16769. constructor(v) {
  16770. this.value = v;
  16771. }
  16772. };
  16773. var IfcLogical = class {
  16774. constructor(v) {
  16775. this.value = v;
  16776. }
  16777. };
  16778. var IfcLuminousFluxMeasure = class {
  16779. constructor(v) {
  16780. this.value = v;
  16781. }
  16782. };
  16783. var IfcLuminousIntensityDistributionMeasure = class {
  16784. constructor(v) {
  16785. this.value = v;
  16786. }
  16787. };
  16788. var IfcLuminousIntensityMeasure = class {
  16789. constructor(v) {
  16790. this.value = v;
  16791. }
  16792. };
  16793. var IfcMagneticFluxDensityMeasure = class {
  16794. constructor(v) {
  16795. this.value = v;
  16796. }
  16797. };
  16798. var IfcMagneticFluxMeasure = class {
  16799. constructor(v) {
  16800. this.value = v;
  16801. }
  16802. };
  16803. var IfcMassDensityMeasure = class {
  16804. constructor(v) {
  16805. this.value = v;
  16806. }
  16807. };
  16808. var IfcMassFlowRateMeasure = class {
  16809. constructor(v) {
  16810. this.value = v;
  16811. }
  16812. };
  16813. var IfcMassMeasure = class {
  16814. constructor(v) {
  16815. this.value = v;
  16816. }
  16817. };
  16818. var IfcMassPerLengthMeasure = class {
  16819. constructor(v) {
  16820. this.value = v;
  16821. }
  16822. };
  16823. var IfcModulusOfElasticityMeasure = class {
  16824. constructor(v) {
  16825. this.value = v;
  16826. }
  16827. };
  16828. var IfcModulusOfLinearSubgradeReactionMeasure = class {
  16829. constructor(v) {
  16830. this.value = v;
  16831. }
  16832. };
  16833. var IfcModulusOfRotationalSubgradeReactionMeasure = class {
  16834. constructor(v) {
  16835. this.value = v;
  16836. }
  16837. };
  16838. var IfcModulusOfSubgradeReactionMeasure = class {
  16839. constructor(v) {
  16840. this.value = v;
  16841. }
  16842. };
  16843. var IfcMoistureDiffusivityMeasure = class {
  16844. constructor(v) {
  16845. this.value = v;
  16846. }
  16847. };
  16848. var IfcMolecularWeightMeasure = class {
  16849. constructor(v) {
  16850. this.value = v;
  16851. }
  16852. };
  16853. var IfcMomentOfInertiaMeasure = class {
  16854. constructor(v) {
  16855. this.value = v;
  16856. }
  16857. };
  16858. var IfcMonetaryMeasure = class {
  16859. constructor(v) {
  16860. this.value = v;
  16861. }
  16862. };
  16863. var IfcMonthInYearNumber = class {
  16864. constructor(v) {
  16865. this.value = v;
  16866. }
  16867. };
  16868. var IfcNonNegativeLengthMeasure = class {
  16869. constructor(v) {
  16870. this.value = v;
  16871. }
  16872. };
  16873. var IfcNormalisedRatioMeasure = class {
  16874. constructor(v) {
  16875. this.value = v;
  16876. }
  16877. };
  16878. var IfcNumericMeasure = class {
  16879. constructor(v) {
  16880. this.value = v;
  16881. }
  16882. };
  16883. var IfcPHMeasure = class {
  16884. constructor(v) {
  16885. this.value = v;
  16886. }
  16887. };
  16888. var IfcParameterValue = class {
  16889. constructor(v) {
  16890. this.value = v;
  16891. }
  16892. };
  16893. var IfcPlanarForceMeasure = class {
  16894. constructor(v) {
  16895. this.value = v;
  16896. }
  16897. };
  16898. var IfcPlaneAngleMeasure = class {
  16899. constructor(v) {
  16900. this.value = v;
  16901. }
  16902. };
  16903. var IfcPositiveInteger = class {
  16904. constructor(v) {
  16905. this.value = v;
  16906. }
  16907. };
  16908. var IfcPositiveLengthMeasure = class {
  16909. constructor(v) {
  16910. this.value = v;
  16911. }
  16912. };
  16913. var IfcPositivePlaneAngleMeasure = class {
  16914. constructor(v) {
  16915. this.value = v;
  16916. }
  16917. };
  16918. var IfcPositiveRatioMeasure = class {
  16919. constructor(v) {
  16920. this.value = v;
  16921. }
  16922. };
  16923. var IfcPowerMeasure = class {
  16924. constructor(v) {
  16925. this.value = v;
  16926. }
  16927. };
  16928. var IfcPresentableText = class {
  16929. constructor(v) {
  16930. this.value = v;
  16931. }
  16932. };
  16933. var IfcPressureMeasure = class {
  16934. constructor(v) {
  16935. this.value = v;
  16936. }
  16937. };
  16938. var IfcRadioActivityMeasure = class {
  16939. constructor(v) {
  16940. this.value = v;
  16941. }
  16942. };
  16943. var IfcRatioMeasure = class {
  16944. constructor(v) {
  16945. this.value = v;
  16946. }
  16947. };
  16948. var IfcReal = class {
  16949. constructor(v) {
  16950. this.value = v;
  16951. }
  16952. };
  16953. var IfcRotationalFrequencyMeasure = class {
  16954. constructor(v) {
  16955. this.value = v;
  16956. }
  16957. };
  16958. var IfcRotationalMassMeasure = class {
  16959. constructor(v) {
  16960. this.value = v;
  16961. }
  16962. };
  16963. var IfcRotationalStiffnessMeasure = class {
  16964. constructor(v) {
  16965. this.value = v;
  16966. }
  16967. };
  16968. var IfcSectionModulusMeasure = class {
  16969. constructor(v) {
  16970. this.value = v;
  16971. }
  16972. };
  16973. var IfcSectionalAreaIntegralMeasure = class {
  16974. constructor(v) {
  16975. this.value = v;
  16976. }
  16977. };
  16978. var IfcShearModulusMeasure = class {
  16979. constructor(v) {
  16980. this.value = v;
  16981. }
  16982. };
  16983. var IfcSolidAngleMeasure = class {
  16984. constructor(v) {
  16985. this.value = v;
  16986. }
  16987. };
  16988. var IfcSoundPowerLevelMeasure = class {
  16989. constructor(v) {
  16990. this.value = v;
  16991. }
  16992. };
  16993. var IfcSoundPowerMeasure = class {
  16994. constructor(v) {
  16995. this.value = v;
  16996. }
  16997. };
  16998. var IfcSoundPressureLevelMeasure = class {
  16999. constructor(v) {
  17000. this.value = v;
  17001. }
  17002. };
  17003. var IfcSoundPressureMeasure = class {
  17004. constructor(v) {
  17005. this.value = v;
  17006. }
  17007. };
  17008. var IfcSpecificHeatCapacityMeasure = class {
  17009. constructor(v) {
  17010. this.value = v;
  17011. }
  17012. };
  17013. var IfcSpecularExponent = class {
  17014. constructor(v) {
  17015. this.value = v;
  17016. }
  17017. };
  17018. var IfcSpecularRoughness = class {
  17019. constructor(v) {
  17020. this.value = v;
  17021. }
  17022. };
  17023. var IfcTemperatureGradientMeasure = class {
  17024. constructor(v) {
  17025. this.value = v;
  17026. }
  17027. };
  17028. var IfcTemperatureRateOfChangeMeasure = class {
  17029. constructor(v) {
  17030. this.value = v;
  17031. }
  17032. };
  17033. var IfcText = class {
  17034. constructor(v) {
  17035. this.value = v;
  17036. }
  17037. };
  17038. var IfcTextAlignment = class {
  17039. constructor(v) {
  17040. this.value = v;
  17041. }
  17042. };
  17043. var IfcTextDecoration = class {
  17044. constructor(v) {
  17045. this.value = v;
  17046. }
  17047. };
  17048. var IfcTextFontName = class {
  17049. constructor(v) {
  17050. this.value = v;
  17051. }
  17052. };
  17053. var IfcTextTransformation = class {
  17054. constructor(v) {
  17055. this.value = v;
  17056. }
  17057. };
  17058. var IfcThermalAdmittanceMeasure = class {
  17059. constructor(v) {
  17060. this.value = v;
  17061. }
  17062. };
  17063. var IfcThermalConductivityMeasure = class {
  17064. constructor(v) {
  17065. this.value = v;
  17066. }
  17067. };
  17068. var IfcThermalExpansionCoefficientMeasure = class {
  17069. constructor(v) {
  17070. this.value = v;
  17071. }
  17072. };
  17073. var IfcThermalResistanceMeasure = class {
  17074. constructor(v) {
  17075. this.value = v;
  17076. }
  17077. };
  17078. var IfcThermalTransmittanceMeasure = class {
  17079. constructor(v) {
  17080. this.value = v;
  17081. }
  17082. };
  17083. var IfcThermodynamicTemperatureMeasure = class {
  17084. constructor(v) {
  17085. this.value = v;
  17086. }
  17087. };
  17088. var IfcTime = class {
  17089. constructor(v) {
  17090. this.value = v;
  17091. }
  17092. };
  17093. var IfcTimeMeasure = class {
  17094. constructor(v) {
  17095. this.value = v;
  17096. }
  17097. };
  17098. var IfcTimeStamp = class {
  17099. constructor(v) {
  17100. this.value = v;
  17101. }
  17102. };
  17103. var IfcTorqueMeasure = class {
  17104. constructor(v) {
  17105. this.value = v;
  17106. }
  17107. };
  17108. var IfcURIReference = class {
  17109. constructor(v) {
  17110. this.value = v;
  17111. }
  17112. };
  17113. var IfcVaporPermeabilityMeasure = class {
  17114. constructor(v) {
  17115. this.value = v;
  17116. }
  17117. };
  17118. var IfcVolumeMeasure = class {
  17119. constructor(v) {
  17120. this.value = v;
  17121. }
  17122. };
  17123. var IfcVolumetricFlowRateMeasure = class {
  17124. constructor(v) {
  17125. this.value = v;
  17126. }
  17127. };
  17128. var IfcWarpingConstantMeasure = class {
  17129. constructor(v) {
  17130. this.value = v;
  17131. }
  17132. };
  17133. var IfcWarpingMomentMeasure = class {
  17134. constructor(v) {
  17135. this.value = v;
  17136. }
  17137. };
  17138. var IfcActionRequestTypeEnum = class {
  17139. constructor(v) {
  17140. this.value = v;
  17141. }
  17142. };
  17143. IfcActionRequestTypeEnum.EMAIL = "EMAIL";
  17144. IfcActionRequestTypeEnum.FAX = "FAX";
  17145. IfcActionRequestTypeEnum.PHONE = "PHONE";
  17146. IfcActionRequestTypeEnum.POST = "POST";
  17147. IfcActionRequestTypeEnum.VERBAL = "VERBAL";
  17148. IfcActionRequestTypeEnum.USERDEFINED = "USERDEFINED";
  17149. IfcActionRequestTypeEnum.NOTDEFINED = "NOTDEFINED";
  17150. var IfcActionSourceTypeEnum = class {
  17151. constructor(v) {
  17152. this.value = v;
  17153. }
  17154. };
  17155. IfcActionSourceTypeEnum.DEAD_LOAD_G = "DEAD_LOAD_G";
  17156. IfcActionSourceTypeEnum.COMPLETION_G1 = "COMPLETION_G1";
  17157. IfcActionSourceTypeEnum.LIVE_LOAD_Q = "LIVE_LOAD_Q";
  17158. IfcActionSourceTypeEnum.SNOW_S = "SNOW_S";
  17159. IfcActionSourceTypeEnum.WIND_W = "WIND_W";
  17160. IfcActionSourceTypeEnum.PRESTRESSING_P = "PRESTRESSING_P";
  17161. IfcActionSourceTypeEnum.SETTLEMENT_U = "SETTLEMENT_U";
  17162. IfcActionSourceTypeEnum.TEMPERATURE_T = "TEMPERATURE_T";
  17163. IfcActionSourceTypeEnum.EARTHQUAKE_E = "EARTHQUAKE_E";
  17164. IfcActionSourceTypeEnum.FIRE = "FIRE";
  17165. IfcActionSourceTypeEnum.IMPULSE = "IMPULSE";
  17166. IfcActionSourceTypeEnum.IMPACT = "IMPACT";
  17167. IfcActionSourceTypeEnum.TRANSPORT = "TRANSPORT";
  17168. IfcActionSourceTypeEnum.ERECTION = "ERECTION";
  17169. IfcActionSourceTypeEnum.PROPPING = "PROPPING";
  17170. IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = "SYSTEM_IMPERFECTION";
  17171. IfcActionSourceTypeEnum.SHRINKAGE = "SHRINKAGE";
  17172. IfcActionSourceTypeEnum.CREEP = "CREEP";
  17173. IfcActionSourceTypeEnum.LACK_OF_FIT = "LACK_OF_FIT";
  17174. IfcActionSourceTypeEnum.BUOYANCY = "BUOYANCY";
  17175. IfcActionSourceTypeEnum.ICE = "ICE";
  17176. IfcActionSourceTypeEnum.CURRENT = "CURRENT";
  17177. IfcActionSourceTypeEnum.WAVE = "WAVE";
  17178. IfcActionSourceTypeEnum.RAIN = "RAIN";
  17179. IfcActionSourceTypeEnum.BRAKES = "BRAKES";
  17180. IfcActionSourceTypeEnum.USERDEFINED = "USERDEFINED";
  17181. IfcActionSourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17182. var IfcActionTypeEnum = class {
  17183. constructor(v) {
  17184. this.value = v;
  17185. }
  17186. };
  17187. IfcActionTypeEnum.PERMANENT_G = "PERMANENT_G";
  17188. IfcActionTypeEnum.VARIABLE_Q = "VARIABLE_Q";
  17189. IfcActionTypeEnum.EXTRAORDINARY_A = "EXTRAORDINARY_A";
  17190. IfcActionTypeEnum.USERDEFINED = "USERDEFINED";
  17191. IfcActionTypeEnum.NOTDEFINED = "NOTDEFINED";
  17192. var IfcActuatorTypeEnum = class {
  17193. constructor(v) {
  17194. this.value = v;
  17195. }
  17196. };
  17197. IfcActuatorTypeEnum.ELECTRICACTUATOR = "ELECTRICACTUATOR";
  17198. IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = "HANDOPERATEDACTUATOR";
  17199. IfcActuatorTypeEnum.HYDRAULICACTUATOR = "HYDRAULICACTUATOR";
  17200. IfcActuatorTypeEnum.PNEUMATICACTUATOR = "PNEUMATICACTUATOR";
  17201. IfcActuatorTypeEnum.THERMOSTATICACTUATOR = "THERMOSTATICACTUATOR";
  17202. IfcActuatorTypeEnum.USERDEFINED = "USERDEFINED";
  17203. IfcActuatorTypeEnum.NOTDEFINED = "NOTDEFINED";
  17204. var IfcAddressTypeEnum = class {
  17205. constructor(v) {
  17206. this.value = v;
  17207. }
  17208. };
  17209. IfcAddressTypeEnum.OFFICE = "OFFICE";
  17210. IfcAddressTypeEnum.SITE = "SITE";
  17211. IfcAddressTypeEnum.HOME = "HOME";
  17212. IfcAddressTypeEnum.DISTRIBUTIONPOINT = "DISTRIBUTIONPOINT";
  17213. IfcAddressTypeEnum.USERDEFINED = "USERDEFINED";
  17214. var IfcAirTerminalBoxTypeEnum = class {
  17215. constructor(v) {
  17216. this.value = v;
  17217. }
  17218. };
  17219. IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = "CONSTANTFLOW";
  17220. IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = "VARIABLEFLOWPRESSUREDEPENDANT";
  17221. IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = "VARIABLEFLOWPRESSUREINDEPENDANT";
  17222. IfcAirTerminalBoxTypeEnum.USERDEFINED = "USERDEFINED";
  17223. IfcAirTerminalBoxTypeEnum.NOTDEFINED = "NOTDEFINED";
  17224. var IfcAirTerminalTypeEnum = class {
  17225. constructor(v) {
  17226. this.value = v;
  17227. }
  17228. };
  17229. IfcAirTerminalTypeEnum.DIFFUSER = "DIFFUSER";
  17230. IfcAirTerminalTypeEnum.GRILLE = "GRILLE";
  17231. IfcAirTerminalTypeEnum.LOUVRE = "LOUVRE";
  17232. IfcAirTerminalTypeEnum.REGISTER = "REGISTER";
  17233. IfcAirTerminalTypeEnum.USERDEFINED = "USERDEFINED";
  17234. IfcAirTerminalTypeEnum.NOTDEFINED = "NOTDEFINED";
  17235. var IfcAirToAirHeatRecoveryTypeEnum = class {
  17236. constructor(v) {
  17237. this.value = v;
  17238. }
  17239. };
  17240. IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = "FIXEDPLATECOUNTERFLOWEXCHANGER";
  17241. IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = "FIXEDPLATECROSSFLOWEXCHANGER";
  17242. IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = "FIXEDPLATEPARALLELFLOWEXCHANGER";
  17243. IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = "ROTARYWHEEL";
  17244. IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = "RUNAROUNDCOILLOOP";
  17245. IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = "HEATPIPE";
  17246. IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = "TWINTOWERENTHALPYRECOVERYLOOPS";
  17247. IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS";
  17248. IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = "THERMOSIPHONCOILTYPEHEATEXCHANGERS";
  17249. IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = "USERDEFINED";
  17250. IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = "NOTDEFINED";
  17251. var IfcAlarmTypeEnum = class {
  17252. constructor(v) {
  17253. this.value = v;
  17254. }
  17255. };
  17256. IfcAlarmTypeEnum.BELL = "BELL";
  17257. IfcAlarmTypeEnum.BREAKGLASSBUTTON = "BREAKGLASSBUTTON";
  17258. IfcAlarmTypeEnum.LIGHT = "LIGHT";
  17259. IfcAlarmTypeEnum.MANUALPULLBOX = "MANUALPULLBOX";
  17260. IfcAlarmTypeEnum.SIREN = "SIREN";
  17261. IfcAlarmTypeEnum.WHISTLE = "WHISTLE";
  17262. IfcAlarmTypeEnum.USERDEFINED = "USERDEFINED";
  17263. IfcAlarmTypeEnum.NOTDEFINED = "NOTDEFINED";
  17264. var IfcAlignmentTypeEnum = class {
  17265. constructor(v) {
  17266. this.value = v;
  17267. }
  17268. };
  17269. IfcAlignmentTypeEnum.USERDEFINED = "USERDEFINED";
  17270. IfcAlignmentTypeEnum.NOTDEFINED = "NOTDEFINED";
  17271. var IfcAnalysisModelTypeEnum = class {
  17272. constructor(v) {
  17273. this.value = v;
  17274. }
  17275. };
  17276. IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = "IN_PLANE_LOADING_2D";
  17277. IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = "OUT_PLANE_LOADING_2D";
  17278. IfcAnalysisModelTypeEnum.LOADING_3D = "LOADING_3D";
  17279. IfcAnalysisModelTypeEnum.USERDEFINED = "USERDEFINED";
  17280. IfcAnalysisModelTypeEnum.NOTDEFINED = "NOTDEFINED";
  17281. var IfcAnalysisTheoryTypeEnum = class {
  17282. constructor(v) {
  17283. this.value = v;
  17284. }
  17285. };
  17286. IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = "FIRST_ORDER_THEORY";
  17287. IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = "SECOND_ORDER_THEORY";
  17288. IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = "THIRD_ORDER_THEORY";
  17289. IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = "FULL_NONLINEAR_THEORY";
  17290. IfcAnalysisTheoryTypeEnum.USERDEFINED = "USERDEFINED";
  17291. IfcAnalysisTheoryTypeEnum.NOTDEFINED = "NOTDEFINED";
  17292. var IfcArithmeticOperatorEnum = class {
  17293. constructor(v) {
  17294. this.value = v;
  17295. }
  17296. };
  17297. IfcArithmeticOperatorEnum.ADD = "ADD";
  17298. IfcArithmeticOperatorEnum.DIVIDE = "DIVIDE";
  17299. IfcArithmeticOperatorEnum.MULTIPLY = "MULTIPLY";
  17300. IfcArithmeticOperatorEnum.SUBTRACT = "SUBTRACT";
  17301. var IfcAssemblyPlaceEnum = class {
  17302. constructor(v) {
  17303. this.value = v;
  17304. }
  17305. };
  17306. IfcAssemblyPlaceEnum.SITE = "SITE";
  17307. IfcAssemblyPlaceEnum.FACTORY = "FACTORY";
  17308. IfcAssemblyPlaceEnum.NOTDEFINED = "NOTDEFINED";
  17309. var IfcAudioVisualApplianceTypeEnum = class {
  17310. constructor(v) {
  17311. this.value = v;
  17312. }
  17313. };
  17314. IfcAudioVisualApplianceTypeEnum.AMPLIFIER = "AMPLIFIER";
  17315. IfcAudioVisualApplianceTypeEnum.CAMERA = "CAMERA";
  17316. IfcAudioVisualApplianceTypeEnum.DISPLAY = "DISPLAY";
  17317. IfcAudioVisualApplianceTypeEnum.MICROPHONE = "MICROPHONE";
  17318. IfcAudioVisualApplianceTypeEnum.PLAYER = "PLAYER";
  17319. IfcAudioVisualApplianceTypeEnum.PROJECTOR = "PROJECTOR";
  17320. IfcAudioVisualApplianceTypeEnum.RECEIVER = "RECEIVER";
  17321. IfcAudioVisualApplianceTypeEnum.SPEAKER = "SPEAKER";
  17322. IfcAudioVisualApplianceTypeEnum.SWITCHER = "SWITCHER";
  17323. IfcAudioVisualApplianceTypeEnum.TELEPHONE = "TELEPHONE";
  17324. IfcAudioVisualApplianceTypeEnum.TUNER = "TUNER";
  17325. IfcAudioVisualApplianceTypeEnum.USERDEFINED = "USERDEFINED";
  17326. IfcAudioVisualApplianceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17327. var IfcBSplineCurveForm = class {
  17328. constructor(v) {
  17329. this.value = v;
  17330. }
  17331. };
  17332. IfcBSplineCurveForm.POLYLINE_FORM = "POLYLINE_FORM";
  17333. IfcBSplineCurveForm.CIRCULAR_ARC = "CIRCULAR_ARC";
  17334. IfcBSplineCurveForm.ELLIPTIC_ARC = "ELLIPTIC_ARC";
  17335. IfcBSplineCurveForm.PARABOLIC_ARC = "PARABOLIC_ARC";
  17336. IfcBSplineCurveForm.HYPERBOLIC_ARC = "HYPERBOLIC_ARC";
  17337. IfcBSplineCurveForm.UNSPECIFIED = "UNSPECIFIED";
  17338. var IfcBSplineSurfaceForm = class {
  17339. constructor(v) {
  17340. this.value = v;
  17341. }
  17342. };
  17343. IfcBSplineSurfaceForm.PLANE_SURF = "PLANE_SURF";
  17344. IfcBSplineSurfaceForm.CYLINDRICAL_SURF = "CYLINDRICAL_SURF";
  17345. IfcBSplineSurfaceForm.CONICAL_SURF = "CONICAL_SURF";
  17346. IfcBSplineSurfaceForm.SPHERICAL_SURF = "SPHERICAL_SURF";
  17347. IfcBSplineSurfaceForm.TOROIDAL_SURF = "TOROIDAL_SURF";
  17348. IfcBSplineSurfaceForm.SURF_OF_REVOLUTION = "SURF_OF_REVOLUTION";
  17349. IfcBSplineSurfaceForm.RULED_SURF = "RULED_SURF";
  17350. IfcBSplineSurfaceForm.GENERALISED_CONE = "GENERALISED_CONE";
  17351. IfcBSplineSurfaceForm.QUADRIC_SURF = "QUADRIC_SURF";
  17352. IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION = "SURF_OF_LINEAR_EXTRUSION";
  17353. IfcBSplineSurfaceForm.UNSPECIFIED = "UNSPECIFIED";
  17354. var IfcBeamTypeEnum = class {
  17355. constructor(v) {
  17356. this.value = v;
  17357. }
  17358. };
  17359. IfcBeamTypeEnum.BEAM = "BEAM";
  17360. IfcBeamTypeEnum.JOIST = "JOIST";
  17361. IfcBeamTypeEnum.HOLLOWCORE = "HOLLOWCORE";
  17362. IfcBeamTypeEnum.LINTEL = "LINTEL";
  17363. IfcBeamTypeEnum.SPANDREL = "SPANDREL";
  17364. IfcBeamTypeEnum.T_BEAM = "T_BEAM";
  17365. IfcBeamTypeEnum.GIRDER_SEGMENT = "GIRDER_SEGMENT";
  17366. IfcBeamTypeEnum.DIAPHRAGM = "DIAPHRAGM";
  17367. IfcBeamTypeEnum.PIERCAP = "PIERCAP";
  17368. IfcBeamTypeEnum.HATSTONE = "HATSTONE";
  17369. IfcBeamTypeEnum.CORNICE = "CORNICE";
  17370. IfcBeamTypeEnum.EDGEBEAM = "EDGEBEAM";
  17371. IfcBeamTypeEnum.USERDEFINED = "USERDEFINED";
  17372. IfcBeamTypeEnum.NOTDEFINED = "NOTDEFINED";
  17373. var IfcBearingTypeDisplacementEnum = class {
  17374. constructor(v) {
  17375. this.value = v;
  17376. }
  17377. };
  17378. IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT = "FIXED_MOVEMENT";
  17379. IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL = "GUIDED_LONGITUDINAL";
  17380. IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL = "GUIDED_TRANSVERSAL";
  17381. IfcBearingTypeDisplacementEnum.FREE_MOVEMENT = "FREE_MOVEMENT";
  17382. IfcBearingTypeDisplacementEnum.NOTDEFINED = "NOTDEFINED";
  17383. var IfcBearingTypeEnum = class {
  17384. constructor(v) {
  17385. this.value = v;
  17386. }
  17387. };
  17388. IfcBearingTypeEnum.CYLINDRICAL = "CYLINDRICAL";
  17389. IfcBearingTypeEnum.SPHERICAL = "SPHERICAL";
  17390. IfcBearingTypeEnum.ELASTOMERIC = "ELASTOMERIC";
  17391. IfcBearingTypeEnum.POT = "POT";
  17392. IfcBearingTypeEnum.GUIDE = "GUIDE";
  17393. IfcBearingTypeEnum.ROCKER = "ROCKER";
  17394. IfcBearingTypeEnum.ROLLER = "ROLLER";
  17395. IfcBearingTypeEnum.DISK = "DISK";
  17396. IfcBearingTypeEnum.USERDEFINED = "USERDEFINED";
  17397. IfcBearingTypeEnum.NOTDEFINED = "NOTDEFINED";
  17398. var IfcBenchmarkEnum = class {
  17399. constructor(v) {
  17400. this.value = v;
  17401. }
  17402. };
  17403. IfcBenchmarkEnum.GREATERTHAN = "GREATERTHAN";
  17404. IfcBenchmarkEnum.GREATERTHANOREQUALTO = "GREATERTHANOREQUALTO";
  17405. IfcBenchmarkEnum.LESSTHAN = "LESSTHAN";
  17406. IfcBenchmarkEnum.LESSTHANOREQUALTO = "LESSTHANOREQUALTO";
  17407. IfcBenchmarkEnum.EQUALTO = "EQUALTO";
  17408. IfcBenchmarkEnum.NOTEQUALTO = "NOTEQUALTO";
  17409. IfcBenchmarkEnum.INCLUDES = "INCLUDES";
  17410. IfcBenchmarkEnum.NOTINCLUDES = "NOTINCLUDES";
  17411. IfcBenchmarkEnum.INCLUDEDIN = "INCLUDEDIN";
  17412. IfcBenchmarkEnum.NOTINCLUDEDIN = "NOTINCLUDEDIN";
  17413. var IfcBoilerTypeEnum = class {
  17414. constructor(v) {
  17415. this.value = v;
  17416. }
  17417. };
  17418. IfcBoilerTypeEnum.WATER = "WATER";
  17419. IfcBoilerTypeEnum.STEAM = "STEAM";
  17420. IfcBoilerTypeEnum.USERDEFINED = "USERDEFINED";
  17421. IfcBoilerTypeEnum.NOTDEFINED = "NOTDEFINED";
  17422. var IfcBooleanOperator = class {
  17423. constructor(v) {
  17424. this.value = v;
  17425. }
  17426. };
  17427. IfcBooleanOperator.UNION = "UNION";
  17428. IfcBooleanOperator.INTERSECTION = "INTERSECTION";
  17429. IfcBooleanOperator.DIFFERENCE = "DIFFERENCE";
  17430. var IfcBridgePartTypeEnum = class {
  17431. constructor(v) {
  17432. this.value = v;
  17433. }
  17434. };
  17435. IfcBridgePartTypeEnum.ABUTMENT = "ABUTMENT";
  17436. IfcBridgePartTypeEnum.DECK = "DECK";
  17437. IfcBridgePartTypeEnum.DECK_SEGMENT = "DECK_SEGMENT";
  17438. IfcBridgePartTypeEnum.FOUNDATION = "FOUNDATION";
  17439. IfcBridgePartTypeEnum.PIER = "PIER";
  17440. IfcBridgePartTypeEnum.PIER_SEGMENT = "PIER_SEGMENT";
  17441. IfcBridgePartTypeEnum.PYLON = "PYLON";
  17442. IfcBridgePartTypeEnum.SUBSTRUCTURE = "SUBSTRUCTURE";
  17443. IfcBridgePartTypeEnum.SUPERSTRUCTURE = "SUPERSTRUCTURE";
  17444. IfcBridgePartTypeEnum.SURFACESTRUCTURE = "SURFACESTRUCTURE";
  17445. IfcBridgePartTypeEnum.USERDEFINED = "USERDEFINED";
  17446. IfcBridgePartTypeEnum.NOTDEFINED = "NOTDEFINED";
  17447. var IfcBridgeTypeEnum = class {
  17448. constructor(v) {
  17449. this.value = v;
  17450. }
  17451. };
  17452. IfcBridgeTypeEnum.ARCHED = "ARCHED";
  17453. IfcBridgeTypeEnum.CABLE_STAYED = "CABLE_STAYED";
  17454. IfcBridgeTypeEnum.CANTILEVER = "CANTILEVER";
  17455. IfcBridgeTypeEnum.CULVERT = "CULVERT";
  17456. IfcBridgeTypeEnum.FRAMEWORK = "FRAMEWORK";
  17457. IfcBridgeTypeEnum.GIRDER = "GIRDER";
  17458. IfcBridgeTypeEnum.SUSPENSION = "SUSPENSION";
  17459. IfcBridgeTypeEnum.TRUSS = "TRUSS";
  17460. IfcBridgeTypeEnum.USERDEFINED = "USERDEFINED";
  17461. IfcBridgeTypeEnum.NOTDEFINED = "NOTDEFINED";
  17462. var IfcBuildingElementPartTypeEnum = class {
  17463. constructor(v) {
  17464. this.value = v;
  17465. }
  17466. };
  17467. IfcBuildingElementPartTypeEnum.INSULATION = "INSULATION";
  17468. IfcBuildingElementPartTypeEnum.PRECASTPANEL = "PRECASTPANEL";
  17469. IfcBuildingElementPartTypeEnum.APRON = "APRON";
  17470. IfcBuildingElementPartTypeEnum.USERDEFINED = "USERDEFINED";
  17471. IfcBuildingElementPartTypeEnum.NOTDEFINED = "NOTDEFINED";
  17472. var IfcBuildingElementProxyTypeEnum = class {
  17473. constructor(v) {
  17474. this.value = v;
  17475. }
  17476. };
  17477. IfcBuildingElementProxyTypeEnum.COMPLEX = "COMPLEX";
  17478. IfcBuildingElementProxyTypeEnum.ELEMENT = "ELEMENT";
  17479. IfcBuildingElementProxyTypeEnum.PARTIAL = "PARTIAL";
  17480. IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID = "PROVISIONFORVOID";
  17481. IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE = "PROVISIONFORSPACE";
  17482. IfcBuildingElementProxyTypeEnum.USERDEFINED = "USERDEFINED";
  17483. IfcBuildingElementProxyTypeEnum.NOTDEFINED = "NOTDEFINED";
  17484. var IfcBuildingSystemTypeEnum = class {
  17485. constructor(v) {
  17486. this.value = v;
  17487. }
  17488. };
  17489. IfcBuildingSystemTypeEnum.FENESTRATION = "FENESTRATION";
  17490. IfcBuildingSystemTypeEnum.FOUNDATION = "FOUNDATION";
  17491. IfcBuildingSystemTypeEnum.LOADBEARING = "LOADBEARING";
  17492. IfcBuildingSystemTypeEnum.OUTERSHELL = "OUTERSHELL";
  17493. IfcBuildingSystemTypeEnum.SHADING = "SHADING";
  17494. IfcBuildingSystemTypeEnum.TRANSPORT = "TRANSPORT";
  17495. IfcBuildingSystemTypeEnum.REINFORCING = "REINFORCING";
  17496. IfcBuildingSystemTypeEnum.PRESTRESSING = "PRESTRESSING";
  17497. IfcBuildingSystemTypeEnum.USERDEFINED = "USERDEFINED";
  17498. IfcBuildingSystemTypeEnum.NOTDEFINED = "NOTDEFINED";
  17499. var IfcBurnerTypeEnum = class {
  17500. constructor(v) {
  17501. this.value = v;
  17502. }
  17503. };
  17504. IfcBurnerTypeEnum.USERDEFINED = "USERDEFINED";
  17505. IfcBurnerTypeEnum.NOTDEFINED = "NOTDEFINED";
  17506. var IfcCableCarrierFittingTypeEnum = class {
  17507. constructor(v) {
  17508. this.value = v;
  17509. }
  17510. };
  17511. IfcCableCarrierFittingTypeEnum.BEND = "BEND";
  17512. IfcCableCarrierFittingTypeEnum.CROSS = "CROSS";
  17513. IfcCableCarrierFittingTypeEnum.REDUCER = "REDUCER";
  17514. IfcCableCarrierFittingTypeEnum.TEE = "TEE";
  17515. IfcCableCarrierFittingTypeEnum.USERDEFINED = "USERDEFINED";
  17516. IfcCableCarrierFittingTypeEnum.NOTDEFINED = "NOTDEFINED";
  17517. var IfcCableCarrierSegmentTypeEnum = class {
  17518. constructor(v) {
  17519. this.value = v;
  17520. }
  17521. };
  17522. IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = "CABLELADDERSEGMENT";
  17523. IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = "CABLETRAYSEGMENT";
  17524. IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = "CABLETRUNKINGSEGMENT";
  17525. IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = "CONDUITSEGMENT";
  17526. IfcCableCarrierSegmentTypeEnum.USERDEFINED = "USERDEFINED";
  17527. IfcCableCarrierSegmentTypeEnum.NOTDEFINED = "NOTDEFINED";
  17528. var IfcCableFittingTypeEnum = class {
  17529. constructor(v) {
  17530. this.value = v;
  17531. }
  17532. };
  17533. IfcCableFittingTypeEnum.CONNECTOR = "CONNECTOR";
  17534. IfcCableFittingTypeEnum.ENTRY = "ENTRY";
  17535. IfcCableFittingTypeEnum.EXIT = "EXIT";
  17536. IfcCableFittingTypeEnum.JUNCTION = "JUNCTION";
  17537. IfcCableFittingTypeEnum.TRANSITION = "TRANSITION";
  17538. IfcCableFittingTypeEnum.USERDEFINED = "USERDEFINED";
  17539. IfcCableFittingTypeEnum.NOTDEFINED = "NOTDEFINED";
  17540. var IfcCableSegmentTypeEnum = class {
  17541. constructor(v) {
  17542. this.value = v;
  17543. }
  17544. };
  17545. IfcCableSegmentTypeEnum.BUSBARSEGMENT = "BUSBARSEGMENT";
  17546. IfcCableSegmentTypeEnum.CABLESEGMENT = "CABLESEGMENT";
  17547. IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = "CONDUCTORSEGMENT";
  17548. IfcCableSegmentTypeEnum.CORESEGMENT = "CORESEGMENT";
  17549. IfcCableSegmentTypeEnum.USERDEFINED = "USERDEFINED";
  17550. IfcCableSegmentTypeEnum.NOTDEFINED = "NOTDEFINED";
  17551. var IfcCaissonFoundationTypeEnum = class {
  17552. constructor(v) {
  17553. this.value = v;
  17554. }
  17555. };
  17556. IfcCaissonFoundationTypeEnum.WELL = "WELL";
  17557. IfcCaissonFoundationTypeEnum.CAISSON = "CAISSON";
  17558. IfcCaissonFoundationTypeEnum.USERDEFINED = "USERDEFINED";
  17559. IfcCaissonFoundationTypeEnum.NOTDEFINED = "NOTDEFINED";
  17560. var IfcChangeActionEnum = class {
  17561. constructor(v) {
  17562. this.value = v;
  17563. }
  17564. };
  17565. IfcChangeActionEnum.NOCHANGE = "NOCHANGE";
  17566. IfcChangeActionEnum.MODIFIED = "MODIFIED";
  17567. IfcChangeActionEnum.ADDED = "ADDED";
  17568. IfcChangeActionEnum.DELETED = "DELETED";
  17569. IfcChangeActionEnum.NOTDEFINED = "NOTDEFINED";
  17570. var IfcChillerTypeEnum = class {
  17571. constructor(v) {
  17572. this.value = v;
  17573. }
  17574. };
  17575. IfcChillerTypeEnum.AIRCOOLED = "AIRCOOLED";
  17576. IfcChillerTypeEnum.WATERCOOLED = "WATERCOOLED";
  17577. IfcChillerTypeEnum.HEATRECOVERY = "HEATRECOVERY";
  17578. IfcChillerTypeEnum.USERDEFINED = "USERDEFINED";
  17579. IfcChillerTypeEnum.NOTDEFINED = "NOTDEFINED";
  17580. var IfcChimneyTypeEnum = class {
  17581. constructor(v) {
  17582. this.value = v;
  17583. }
  17584. };
  17585. IfcChimneyTypeEnum.USERDEFINED = "USERDEFINED";
  17586. IfcChimneyTypeEnum.NOTDEFINED = "NOTDEFINED";
  17587. var IfcCoilTypeEnum = class {
  17588. constructor(v) {
  17589. this.value = v;
  17590. }
  17591. };
  17592. IfcCoilTypeEnum.DXCOOLINGCOIL = "DXCOOLINGCOIL";
  17593. IfcCoilTypeEnum.ELECTRICHEATINGCOIL = "ELECTRICHEATINGCOIL";
  17594. IfcCoilTypeEnum.GASHEATINGCOIL = "GASHEATINGCOIL";
  17595. IfcCoilTypeEnum.HYDRONICCOIL = "HYDRONICCOIL";
  17596. IfcCoilTypeEnum.STEAMHEATINGCOIL = "STEAMHEATINGCOIL";
  17597. IfcCoilTypeEnum.WATERCOOLINGCOIL = "WATERCOOLINGCOIL";
  17598. IfcCoilTypeEnum.WATERHEATINGCOIL = "WATERHEATINGCOIL";
  17599. IfcCoilTypeEnum.USERDEFINED = "USERDEFINED";
  17600. IfcCoilTypeEnum.NOTDEFINED = "NOTDEFINED";
  17601. var IfcColumnTypeEnum = class {
  17602. constructor(v) {
  17603. this.value = v;
  17604. }
  17605. };
  17606. IfcColumnTypeEnum.COLUMN = "COLUMN";
  17607. IfcColumnTypeEnum.PILASTER = "PILASTER";
  17608. IfcColumnTypeEnum.PIERSTEM = "PIERSTEM";
  17609. IfcColumnTypeEnum.PIERSTEM_SEGMENT = "PIERSTEM_SEGMENT";
  17610. IfcColumnTypeEnum.STANDCOLUMN = "STANDCOLUMN";
  17611. IfcColumnTypeEnum.USERDEFINED = "USERDEFINED";
  17612. IfcColumnTypeEnum.NOTDEFINED = "NOTDEFINED";
  17613. var IfcCommunicationsApplianceTypeEnum = class {
  17614. constructor(v) {
  17615. this.value = v;
  17616. }
  17617. };
  17618. IfcCommunicationsApplianceTypeEnum.ANTENNA = "ANTENNA";
  17619. IfcCommunicationsApplianceTypeEnum.COMPUTER = "COMPUTER";
  17620. IfcCommunicationsApplianceTypeEnum.FAX = "FAX";
  17621. IfcCommunicationsApplianceTypeEnum.GATEWAY = "GATEWAY";
  17622. IfcCommunicationsApplianceTypeEnum.MODEM = "MODEM";
  17623. IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE = "NETWORKAPPLIANCE";
  17624. IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE = "NETWORKBRIDGE";
  17625. IfcCommunicationsApplianceTypeEnum.NETWORKHUB = "NETWORKHUB";
  17626. IfcCommunicationsApplianceTypeEnum.PRINTER = "PRINTER";
  17627. IfcCommunicationsApplianceTypeEnum.REPEATER = "REPEATER";
  17628. IfcCommunicationsApplianceTypeEnum.ROUTER = "ROUTER";
  17629. IfcCommunicationsApplianceTypeEnum.SCANNER = "SCANNER";
  17630. IfcCommunicationsApplianceTypeEnum.USERDEFINED = "USERDEFINED";
  17631. IfcCommunicationsApplianceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17632. var IfcComplexPropertyTemplateTypeEnum = class {
  17633. constructor(v) {
  17634. this.value = v;
  17635. }
  17636. };
  17637. IfcComplexPropertyTemplateTypeEnum.P_COMPLEX = "P_COMPLEX";
  17638. IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX = "Q_COMPLEX";
  17639. var IfcCompressorTypeEnum = class {
  17640. constructor(v) {
  17641. this.value = v;
  17642. }
  17643. };
  17644. IfcCompressorTypeEnum.DYNAMIC = "DYNAMIC";
  17645. IfcCompressorTypeEnum.RECIPROCATING = "RECIPROCATING";
  17646. IfcCompressorTypeEnum.ROTARY = "ROTARY";
  17647. IfcCompressorTypeEnum.SCROLL = "SCROLL";
  17648. IfcCompressorTypeEnum.TROCHOIDAL = "TROCHOIDAL";
  17649. IfcCompressorTypeEnum.SINGLESTAGE = "SINGLESTAGE";
  17650. IfcCompressorTypeEnum.BOOSTER = "BOOSTER";
  17651. IfcCompressorTypeEnum.OPENTYPE = "OPENTYPE";
  17652. IfcCompressorTypeEnum.HERMETIC = "HERMETIC";
  17653. IfcCompressorTypeEnum.SEMIHERMETIC = "SEMIHERMETIC";
  17654. IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = "WELDEDSHELLHERMETIC";
  17655. IfcCompressorTypeEnum.ROLLINGPISTON = "ROLLINGPISTON";
  17656. IfcCompressorTypeEnum.ROTARYVANE = "ROTARYVANE";
  17657. IfcCompressorTypeEnum.SINGLESCREW = "SINGLESCREW";
  17658. IfcCompressorTypeEnum.TWINSCREW = "TWINSCREW";
  17659. IfcCompressorTypeEnum.USERDEFINED = "USERDEFINED";
  17660. IfcCompressorTypeEnum.NOTDEFINED = "NOTDEFINED";
  17661. var IfcCondenserTypeEnum = class {
  17662. constructor(v) {
  17663. this.value = v;
  17664. }
  17665. };
  17666. IfcCondenserTypeEnum.AIRCOOLED = "AIRCOOLED";
  17667. IfcCondenserTypeEnum.EVAPORATIVECOOLED = "EVAPORATIVECOOLED";
  17668. IfcCondenserTypeEnum.WATERCOOLED = "WATERCOOLED";
  17669. IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = "WATERCOOLEDBRAZEDPLATE";
  17670. IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = "WATERCOOLEDSHELLCOIL";
  17671. IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = "WATERCOOLEDSHELLTUBE";
  17672. IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = "WATERCOOLEDTUBEINTUBE";
  17673. IfcCondenserTypeEnum.USERDEFINED = "USERDEFINED";
  17674. IfcCondenserTypeEnum.NOTDEFINED = "NOTDEFINED";
  17675. var IfcConnectionTypeEnum = class {
  17676. constructor(v) {
  17677. this.value = v;
  17678. }
  17679. };
  17680. IfcConnectionTypeEnum.ATPATH = "ATPATH";
  17681. IfcConnectionTypeEnum.ATSTART = "ATSTART";
  17682. IfcConnectionTypeEnum.ATEND = "ATEND";
  17683. IfcConnectionTypeEnum.NOTDEFINED = "NOTDEFINED";
  17684. var IfcConstraintEnum = class {
  17685. constructor(v) {
  17686. this.value = v;
  17687. }
  17688. };
  17689. IfcConstraintEnum.HARD = "HARD";
  17690. IfcConstraintEnum.SOFT = "SOFT";
  17691. IfcConstraintEnum.ADVISORY = "ADVISORY";
  17692. IfcConstraintEnum.USERDEFINED = "USERDEFINED";
  17693. IfcConstraintEnum.NOTDEFINED = "NOTDEFINED";
  17694. var IfcConstructionEquipmentResourceTypeEnum = class {
  17695. constructor(v) {
  17696. this.value = v;
  17697. }
  17698. };
  17699. IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING = "DEMOLISHING";
  17700. IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING = "EARTHMOVING";
  17701. IfcConstructionEquipmentResourceTypeEnum.ERECTING = "ERECTING";
  17702. IfcConstructionEquipmentResourceTypeEnum.HEATING = "HEATING";
  17703. IfcConstructionEquipmentResourceTypeEnum.LIGHTING = "LIGHTING";
  17704. IfcConstructionEquipmentResourceTypeEnum.PAVING = "PAVING";
  17705. IfcConstructionEquipmentResourceTypeEnum.PUMPING = "PUMPING";
  17706. IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING = "TRANSPORTING";
  17707. IfcConstructionEquipmentResourceTypeEnum.USERDEFINED = "USERDEFINED";
  17708. IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17709. var IfcConstructionMaterialResourceTypeEnum = class {
  17710. constructor(v) {
  17711. this.value = v;
  17712. }
  17713. };
  17714. IfcConstructionMaterialResourceTypeEnum.AGGREGATES = "AGGREGATES";
  17715. IfcConstructionMaterialResourceTypeEnum.CONCRETE = "CONCRETE";
  17716. IfcConstructionMaterialResourceTypeEnum.DRYWALL = "DRYWALL";
  17717. IfcConstructionMaterialResourceTypeEnum.FUEL = "FUEL";
  17718. IfcConstructionMaterialResourceTypeEnum.GYPSUM = "GYPSUM";
  17719. IfcConstructionMaterialResourceTypeEnum.MASONRY = "MASONRY";
  17720. IfcConstructionMaterialResourceTypeEnum.METAL = "METAL";
  17721. IfcConstructionMaterialResourceTypeEnum.PLASTIC = "PLASTIC";
  17722. IfcConstructionMaterialResourceTypeEnum.WOOD = "WOOD";
  17723. IfcConstructionMaterialResourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17724. IfcConstructionMaterialResourceTypeEnum.USERDEFINED = "USERDEFINED";
  17725. var IfcConstructionProductResourceTypeEnum = class {
  17726. constructor(v) {
  17727. this.value = v;
  17728. }
  17729. };
  17730. IfcConstructionProductResourceTypeEnum.ASSEMBLY = "ASSEMBLY";
  17731. IfcConstructionProductResourceTypeEnum.FORMWORK = "FORMWORK";
  17732. IfcConstructionProductResourceTypeEnum.USERDEFINED = "USERDEFINED";
  17733. IfcConstructionProductResourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17734. var IfcControllerTypeEnum = class {
  17735. constructor(v) {
  17736. this.value = v;
  17737. }
  17738. };
  17739. IfcControllerTypeEnum.FLOATING = "FLOATING";
  17740. IfcControllerTypeEnum.PROGRAMMABLE = "PROGRAMMABLE";
  17741. IfcControllerTypeEnum.PROPORTIONAL = "PROPORTIONAL";
  17742. IfcControllerTypeEnum.MULTIPOSITION = "MULTIPOSITION";
  17743. IfcControllerTypeEnum.TWOPOSITION = "TWOPOSITION";
  17744. IfcControllerTypeEnum.USERDEFINED = "USERDEFINED";
  17745. IfcControllerTypeEnum.NOTDEFINED = "NOTDEFINED";
  17746. var IfcCooledBeamTypeEnum = class {
  17747. constructor(v) {
  17748. this.value = v;
  17749. }
  17750. };
  17751. IfcCooledBeamTypeEnum.ACTIVE = "ACTIVE";
  17752. IfcCooledBeamTypeEnum.PASSIVE = "PASSIVE";
  17753. IfcCooledBeamTypeEnum.USERDEFINED = "USERDEFINED";
  17754. IfcCooledBeamTypeEnum.NOTDEFINED = "NOTDEFINED";
  17755. var IfcCoolingTowerTypeEnum = class {
  17756. constructor(v) {
  17757. this.value = v;
  17758. }
  17759. };
  17760. IfcCoolingTowerTypeEnum.NATURALDRAFT = "NATURALDRAFT";
  17761. IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = "MECHANICALINDUCEDDRAFT";
  17762. IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = "MECHANICALFORCEDDRAFT";
  17763. IfcCoolingTowerTypeEnum.USERDEFINED = "USERDEFINED";
  17764. IfcCoolingTowerTypeEnum.NOTDEFINED = "NOTDEFINED";
  17765. var IfcCostItemTypeEnum = class {
  17766. constructor(v) {
  17767. this.value = v;
  17768. }
  17769. };
  17770. IfcCostItemTypeEnum.USERDEFINED = "USERDEFINED";
  17771. IfcCostItemTypeEnum.NOTDEFINED = "NOTDEFINED";
  17772. var IfcCostScheduleTypeEnum = class {
  17773. constructor(v) {
  17774. this.value = v;
  17775. }
  17776. };
  17777. IfcCostScheduleTypeEnum.BUDGET = "BUDGET";
  17778. IfcCostScheduleTypeEnum.COSTPLAN = "COSTPLAN";
  17779. IfcCostScheduleTypeEnum.ESTIMATE = "ESTIMATE";
  17780. IfcCostScheduleTypeEnum.TENDER = "TENDER";
  17781. IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = "PRICEDBILLOFQUANTITIES";
  17782. IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = "UNPRICEDBILLOFQUANTITIES";
  17783. IfcCostScheduleTypeEnum.SCHEDULEOFRATES = "SCHEDULEOFRATES";
  17784. IfcCostScheduleTypeEnum.USERDEFINED = "USERDEFINED";
  17785. IfcCostScheduleTypeEnum.NOTDEFINED = "NOTDEFINED";
  17786. var IfcCoveringTypeEnum = class {
  17787. constructor(v) {
  17788. this.value = v;
  17789. }
  17790. };
  17791. IfcCoveringTypeEnum.CEILING = "CEILING";
  17792. IfcCoveringTypeEnum.FLOORING = "FLOORING";
  17793. IfcCoveringTypeEnum.CLADDING = "CLADDING";
  17794. IfcCoveringTypeEnum.ROOFING = "ROOFING";
  17795. IfcCoveringTypeEnum.MOLDING = "MOLDING";
  17796. IfcCoveringTypeEnum.SKIRTINGBOARD = "SKIRTINGBOARD";
  17797. IfcCoveringTypeEnum.INSULATION = "INSULATION";
  17798. IfcCoveringTypeEnum.MEMBRANE = "MEMBRANE";
  17799. IfcCoveringTypeEnum.SLEEVING = "SLEEVING";
  17800. IfcCoveringTypeEnum.WRAPPING = "WRAPPING";
  17801. IfcCoveringTypeEnum.COPING = "COPING";
  17802. IfcCoveringTypeEnum.USERDEFINED = "USERDEFINED";
  17803. IfcCoveringTypeEnum.NOTDEFINED = "NOTDEFINED";
  17804. var IfcCrewResourceTypeEnum = class {
  17805. constructor(v) {
  17806. this.value = v;
  17807. }
  17808. };
  17809. IfcCrewResourceTypeEnum.OFFICE = "OFFICE";
  17810. IfcCrewResourceTypeEnum.SITE = "SITE";
  17811. IfcCrewResourceTypeEnum.USERDEFINED = "USERDEFINED";
  17812. IfcCrewResourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  17813. var IfcCurtainWallTypeEnum = class {
  17814. constructor(v) {
  17815. this.value = v;
  17816. }
  17817. };
  17818. IfcCurtainWallTypeEnum.USERDEFINED = "USERDEFINED";
  17819. IfcCurtainWallTypeEnum.NOTDEFINED = "NOTDEFINED";
  17820. var IfcCurveInterpolationEnum = class {
  17821. constructor(v) {
  17822. this.value = v;
  17823. }
  17824. };
  17825. IfcCurveInterpolationEnum.LINEAR = "LINEAR";
  17826. IfcCurveInterpolationEnum.LOG_LINEAR = "LOG_LINEAR";
  17827. IfcCurveInterpolationEnum.LOG_LOG = "LOG_LOG";
  17828. IfcCurveInterpolationEnum.NOTDEFINED = "NOTDEFINED";
  17829. var IfcDamperTypeEnum = class {
  17830. constructor(v) {
  17831. this.value = v;
  17832. }
  17833. };
  17834. IfcDamperTypeEnum.BACKDRAFTDAMPER = "BACKDRAFTDAMPER";
  17835. IfcDamperTypeEnum.BALANCINGDAMPER = "BALANCINGDAMPER";
  17836. IfcDamperTypeEnum.BLASTDAMPER = "BLASTDAMPER";
  17837. IfcDamperTypeEnum.CONTROLDAMPER = "CONTROLDAMPER";
  17838. IfcDamperTypeEnum.FIREDAMPER = "FIREDAMPER";
  17839. IfcDamperTypeEnum.FIRESMOKEDAMPER = "FIRESMOKEDAMPER";
  17840. IfcDamperTypeEnum.FUMEHOODEXHAUST = "FUMEHOODEXHAUST";
  17841. IfcDamperTypeEnum.GRAVITYDAMPER = "GRAVITYDAMPER";
  17842. IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = "GRAVITYRELIEFDAMPER";
  17843. IfcDamperTypeEnum.RELIEFDAMPER = "RELIEFDAMPER";
  17844. IfcDamperTypeEnum.SMOKEDAMPER = "SMOKEDAMPER";
  17845. IfcDamperTypeEnum.USERDEFINED = "USERDEFINED";
  17846. IfcDamperTypeEnum.NOTDEFINED = "NOTDEFINED";
  17847. var IfcDataOriginEnum = class {
  17848. constructor(v) {
  17849. this.value = v;
  17850. }
  17851. };
  17852. IfcDataOriginEnum.MEASURED = "MEASURED";
  17853. IfcDataOriginEnum.PREDICTED = "PREDICTED";
  17854. IfcDataOriginEnum.SIMULATED = "SIMULATED";
  17855. IfcDataOriginEnum.USERDEFINED = "USERDEFINED";
  17856. IfcDataOriginEnum.NOTDEFINED = "NOTDEFINED";
  17857. var IfcDerivedUnitEnum = class {
  17858. constructor(v) {
  17859. this.value = v;
  17860. }
  17861. };
  17862. IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = "ANGULARVELOCITYUNIT";
  17863. IfcDerivedUnitEnum.AREADENSITYUNIT = "AREADENSITYUNIT";
  17864. IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = "COMPOUNDPLANEANGLEUNIT";
  17865. IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = "DYNAMICVISCOSITYUNIT";
  17866. IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = "HEATFLUXDENSITYUNIT";
  17867. IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = "INTEGERCOUNTRATEUNIT";
  17868. IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = "ISOTHERMALMOISTURECAPACITYUNIT";
  17869. IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = "KINEMATICVISCOSITYUNIT";
  17870. IfcDerivedUnitEnum.LINEARVELOCITYUNIT = "LINEARVELOCITYUNIT";
  17871. IfcDerivedUnitEnum.MASSDENSITYUNIT = "MASSDENSITYUNIT";
  17872. IfcDerivedUnitEnum.MASSFLOWRATEUNIT = "MASSFLOWRATEUNIT";
  17873. IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = "MOISTUREDIFFUSIVITYUNIT";
  17874. IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = "MOLECULARWEIGHTUNIT";
  17875. IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = "SPECIFICHEATCAPACITYUNIT";
  17876. IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = "THERMALADMITTANCEUNIT";
  17877. IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = "THERMALCONDUCTANCEUNIT";
  17878. IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = "THERMALRESISTANCEUNIT";
  17879. IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = "THERMALTRANSMITTANCEUNIT";
  17880. IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = "VAPORPERMEABILITYUNIT";
  17881. IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = "VOLUMETRICFLOWRATEUNIT";
  17882. IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = "ROTATIONALFREQUENCYUNIT";
  17883. IfcDerivedUnitEnum.TORQUEUNIT = "TORQUEUNIT";
  17884. IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = "MOMENTOFINERTIAUNIT";
  17885. IfcDerivedUnitEnum.LINEARMOMENTUNIT = "LINEARMOMENTUNIT";
  17886. IfcDerivedUnitEnum.LINEARFORCEUNIT = "LINEARFORCEUNIT";
  17887. IfcDerivedUnitEnum.PLANARFORCEUNIT = "PLANARFORCEUNIT";
  17888. IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = "MODULUSOFELASTICITYUNIT";
  17889. IfcDerivedUnitEnum.SHEARMODULUSUNIT = "SHEARMODULUSUNIT";
  17890. IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = "LINEARSTIFFNESSUNIT";
  17891. IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = "ROTATIONALSTIFFNESSUNIT";
  17892. IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = "MODULUSOFSUBGRADEREACTIONUNIT";
  17893. IfcDerivedUnitEnum.ACCELERATIONUNIT = "ACCELERATIONUNIT";
  17894. IfcDerivedUnitEnum.CURVATUREUNIT = "CURVATUREUNIT";
  17895. IfcDerivedUnitEnum.HEATINGVALUEUNIT = "HEATINGVALUEUNIT";
  17896. IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = "IONCONCENTRATIONUNIT";
  17897. IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = "LUMINOUSINTENSITYDISTRIBUTIONUNIT";
  17898. IfcDerivedUnitEnum.MASSPERLENGTHUNIT = "MASSPERLENGTHUNIT";
  17899. IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = "MODULUSOFLINEARSUBGRADEREACTIONUNIT";
  17900. IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT";
  17901. IfcDerivedUnitEnum.PHUNIT = "PHUNIT";
  17902. IfcDerivedUnitEnum.ROTATIONALMASSUNIT = "ROTATIONALMASSUNIT";
  17903. IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = "SECTIONAREAINTEGRALUNIT";
  17904. IfcDerivedUnitEnum.SECTIONMODULUSUNIT = "SECTIONMODULUSUNIT";
  17905. IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT = "SOUNDPOWERLEVELUNIT";
  17906. IfcDerivedUnitEnum.SOUNDPOWERUNIT = "SOUNDPOWERUNIT";
  17907. IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT = "SOUNDPRESSURELEVELUNIT";
  17908. IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = "SOUNDPRESSUREUNIT";
  17909. IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = "TEMPERATUREGRADIENTUNIT";
  17910. IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT = "TEMPERATURERATEOFCHANGEUNIT";
  17911. IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = "THERMALEXPANSIONCOEFFICIENTUNIT";
  17912. IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = "WARPINGCONSTANTUNIT";
  17913. IfcDerivedUnitEnum.WARPINGMOMENTUNIT = "WARPINGMOMENTUNIT";
  17914. IfcDerivedUnitEnum.USERDEFINED = "USERDEFINED";
  17915. var IfcDirectionSenseEnum = class {
  17916. constructor(v) {
  17917. this.value = v;
  17918. }
  17919. };
  17920. IfcDirectionSenseEnum.POSITIVE = "POSITIVE";
  17921. IfcDirectionSenseEnum.NEGATIVE = "NEGATIVE";
  17922. var IfcDiscreteAccessoryTypeEnum = class {
  17923. constructor(v) {
  17924. this.value = v;
  17925. }
  17926. };
  17927. IfcDiscreteAccessoryTypeEnum.ANCHORPLATE = "ANCHORPLATE";
  17928. IfcDiscreteAccessoryTypeEnum.BRACKET = "BRACKET";
  17929. IfcDiscreteAccessoryTypeEnum.SHOE = "SHOE";
  17930. IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE = "EXPANSION_JOINT_DEVICE";
  17931. IfcDiscreteAccessoryTypeEnum.USERDEFINED = "USERDEFINED";
  17932. IfcDiscreteAccessoryTypeEnum.NOTDEFINED = "NOTDEFINED";
  17933. var IfcDistributionChamberElementTypeEnum = class {
  17934. constructor(v) {
  17935. this.value = v;
  17936. }
  17937. };
  17938. IfcDistributionChamberElementTypeEnum.FORMEDDUCT = "FORMEDDUCT";
  17939. IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = "INSPECTIONCHAMBER";
  17940. IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = "INSPECTIONPIT";
  17941. IfcDistributionChamberElementTypeEnum.MANHOLE = "MANHOLE";
  17942. IfcDistributionChamberElementTypeEnum.METERCHAMBER = "METERCHAMBER";
  17943. IfcDistributionChamberElementTypeEnum.SUMP = "SUMP";
  17944. IfcDistributionChamberElementTypeEnum.TRENCH = "TRENCH";
  17945. IfcDistributionChamberElementTypeEnum.VALVECHAMBER = "VALVECHAMBER";
  17946. IfcDistributionChamberElementTypeEnum.USERDEFINED = "USERDEFINED";
  17947. IfcDistributionChamberElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  17948. var IfcDistributionPortTypeEnum = class {
  17949. constructor(v) {
  17950. this.value = v;
  17951. }
  17952. };
  17953. IfcDistributionPortTypeEnum.CABLE = "CABLE";
  17954. IfcDistributionPortTypeEnum.CABLECARRIER = "CABLECARRIER";
  17955. IfcDistributionPortTypeEnum.DUCT = "DUCT";
  17956. IfcDistributionPortTypeEnum.PIPE = "PIPE";
  17957. IfcDistributionPortTypeEnum.USERDEFINED = "USERDEFINED";
  17958. IfcDistributionPortTypeEnum.NOTDEFINED = "NOTDEFINED";
  17959. var IfcDistributionSystemEnum = class {
  17960. constructor(v) {
  17961. this.value = v;
  17962. }
  17963. };
  17964. IfcDistributionSystemEnum.AIRCONDITIONING = "AIRCONDITIONING";
  17965. IfcDistributionSystemEnum.AUDIOVISUAL = "AUDIOVISUAL";
  17966. IfcDistributionSystemEnum.CHEMICAL = "CHEMICAL";
  17967. IfcDistributionSystemEnum.CHILLEDWATER = "CHILLEDWATER";
  17968. IfcDistributionSystemEnum.COMMUNICATION = "COMMUNICATION";
  17969. IfcDistributionSystemEnum.COMPRESSEDAIR = "COMPRESSEDAIR";
  17970. IfcDistributionSystemEnum.CONDENSERWATER = "CONDENSERWATER";
  17971. IfcDistributionSystemEnum.CONTROL = "CONTROL";
  17972. IfcDistributionSystemEnum.CONVEYING = "CONVEYING";
  17973. IfcDistributionSystemEnum.DATA = "DATA";
  17974. IfcDistributionSystemEnum.DISPOSAL = "DISPOSAL";
  17975. IfcDistributionSystemEnum.DOMESTICCOLDWATER = "DOMESTICCOLDWATER";
  17976. IfcDistributionSystemEnum.DOMESTICHOTWATER = "DOMESTICHOTWATER";
  17977. IfcDistributionSystemEnum.DRAINAGE = "DRAINAGE";
  17978. IfcDistributionSystemEnum.EARTHING = "EARTHING";
  17979. IfcDistributionSystemEnum.ELECTRICAL = "ELECTRICAL";
  17980. IfcDistributionSystemEnum.ELECTROACOUSTIC = "ELECTROACOUSTIC";
  17981. IfcDistributionSystemEnum.EXHAUST = "EXHAUST";
  17982. IfcDistributionSystemEnum.FIREPROTECTION = "FIREPROTECTION";
  17983. IfcDistributionSystemEnum.FUEL = "FUEL";
  17984. IfcDistributionSystemEnum.GAS = "GAS";
  17985. IfcDistributionSystemEnum.HAZARDOUS = "HAZARDOUS";
  17986. IfcDistributionSystemEnum.HEATING = "HEATING";
  17987. IfcDistributionSystemEnum.LIGHTING = "LIGHTING";
  17988. IfcDistributionSystemEnum.LIGHTNINGPROTECTION = "LIGHTNINGPROTECTION";
  17989. IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE = "MUNICIPALSOLIDWASTE";
  17990. IfcDistributionSystemEnum.OIL = "OIL";
  17991. IfcDistributionSystemEnum.OPERATIONAL = "OPERATIONAL";
  17992. IfcDistributionSystemEnum.POWERGENERATION = "POWERGENERATION";
  17993. IfcDistributionSystemEnum.RAINWATER = "RAINWATER";
  17994. IfcDistributionSystemEnum.REFRIGERATION = "REFRIGERATION";
  17995. IfcDistributionSystemEnum.SECURITY = "SECURITY";
  17996. IfcDistributionSystemEnum.SEWAGE = "SEWAGE";
  17997. IfcDistributionSystemEnum.SIGNAL = "SIGNAL";
  17998. IfcDistributionSystemEnum.STORMWATER = "STORMWATER";
  17999. IfcDistributionSystemEnum.TELEPHONE = "TELEPHONE";
  18000. IfcDistributionSystemEnum.TV = "TV";
  18001. IfcDistributionSystemEnum.VACUUM = "VACUUM";
  18002. IfcDistributionSystemEnum.VENT = "VENT";
  18003. IfcDistributionSystemEnum.VENTILATION = "VENTILATION";
  18004. IfcDistributionSystemEnum.WASTEWATER = "WASTEWATER";
  18005. IfcDistributionSystemEnum.WATERSUPPLY = "WATERSUPPLY";
  18006. IfcDistributionSystemEnum.USERDEFINED = "USERDEFINED";
  18007. IfcDistributionSystemEnum.NOTDEFINED = "NOTDEFINED";
  18008. var IfcDocumentConfidentialityEnum = class {
  18009. constructor(v) {
  18010. this.value = v;
  18011. }
  18012. };
  18013. IfcDocumentConfidentialityEnum.PUBLIC = "PUBLIC";
  18014. IfcDocumentConfidentialityEnum.RESTRICTED = "RESTRICTED";
  18015. IfcDocumentConfidentialityEnum.CONFIDENTIAL = "CONFIDENTIAL";
  18016. IfcDocumentConfidentialityEnum.PERSONAL = "PERSONAL";
  18017. IfcDocumentConfidentialityEnum.USERDEFINED = "USERDEFINED";
  18018. IfcDocumentConfidentialityEnum.NOTDEFINED = "NOTDEFINED";
  18019. var IfcDocumentStatusEnum = class {
  18020. constructor(v) {
  18021. this.value = v;
  18022. }
  18023. };
  18024. IfcDocumentStatusEnum.DRAFT = "DRAFT";
  18025. IfcDocumentStatusEnum.FINALDRAFT = "FINALDRAFT";
  18026. IfcDocumentStatusEnum.FINAL = "FINAL";
  18027. IfcDocumentStatusEnum.REVISION = "REVISION";
  18028. IfcDocumentStatusEnum.NOTDEFINED = "NOTDEFINED";
  18029. var IfcDoorPanelOperationEnum = class {
  18030. constructor(v) {
  18031. this.value = v;
  18032. }
  18033. };
  18034. IfcDoorPanelOperationEnum.SWINGING = "SWINGING";
  18035. IfcDoorPanelOperationEnum.DOUBLE_ACTING = "DOUBLE_ACTING";
  18036. IfcDoorPanelOperationEnum.SLIDING = "SLIDING";
  18037. IfcDoorPanelOperationEnum.FOLDING = "FOLDING";
  18038. IfcDoorPanelOperationEnum.REVOLVING = "REVOLVING";
  18039. IfcDoorPanelOperationEnum.ROLLINGUP = "ROLLINGUP";
  18040. IfcDoorPanelOperationEnum.FIXEDPANEL = "FIXEDPANEL";
  18041. IfcDoorPanelOperationEnum.USERDEFINED = "USERDEFINED";
  18042. IfcDoorPanelOperationEnum.NOTDEFINED = "NOTDEFINED";
  18043. var IfcDoorPanelPositionEnum = class {
  18044. constructor(v) {
  18045. this.value = v;
  18046. }
  18047. };
  18048. IfcDoorPanelPositionEnum.LEFT = "LEFT";
  18049. IfcDoorPanelPositionEnum.MIDDLE = "MIDDLE";
  18050. IfcDoorPanelPositionEnum.RIGHT = "RIGHT";
  18051. IfcDoorPanelPositionEnum.NOTDEFINED = "NOTDEFINED";
  18052. var IfcDoorStyleConstructionEnum = class {
  18053. constructor(v) {
  18054. this.value = v;
  18055. }
  18056. };
  18057. IfcDoorStyleConstructionEnum.ALUMINIUM = "ALUMINIUM";
  18058. IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = "HIGH_GRADE_STEEL";
  18059. IfcDoorStyleConstructionEnum.STEEL = "STEEL";
  18060. IfcDoorStyleConstructionEnum.WOOD = "WOOD";
  18061. IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = "ALUMINIUM_WOOD";
  18062. IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = "ALUMINIUM_PLASTIC";
  18063. IfcDoorStyleConstructionEnum.PLASTIC = "PLASTIC";
  18064. IfcDoorStyleConstructionEnum.USERDEFINED = "USERDEFINED";
  18065. IfcDoorStyleConstructionEnum.NOTDEFINED = "NOTDEFINED";
  18066. var IfcDoorStyleOperationEnum = class {
  18067. constructor(v) {
  18068. this.value = v;
  18069. }
  18070. };
  18071. IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = "SINGLE_SWING_LEFT";
  18072. IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = "SINGLE_SWING_RIGHT";
  18073. IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = "DOUBLE_DOOR_SINGLE_SWING";
  18074. IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT";
  18075. IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT";
  18076. IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = "DOUBLE_SWING_LEFT";
  18077. IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = "DOUBLE_SWING_RIGHT";
  18078. IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = "DOUBLE_DOOR_DOUBLE_SWING";
  18079. IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = "SLIDING_TO_LEFT";
  18080. IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = "SLIDING_TO_RIGHT";
  18081. IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = "DOUBLE_DOOR_SLIDING";
  18082. IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = "FOLDING_TO_LEFT";
  18083. IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = "FOLDING_TO_RIGHT";
  18084. IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = "DOUBLE_DOOR_FOLDING";
  18085. IfcDoorStyleOperationEnum.REVOLVING = "REVOLVING";
  18086. IfcDoorStyleOperationEnum.ROLLINGUP = "ROLLINGUP";
  18087. IfcDoorStyleOperationEnum.USERDEFINED = "USERDEFINED";
  18088. IfcDoorStyleOperationEnum.NOTDEFINED = "NOTDEFINED";
  18089. var IfcDoorTypeEnum = class {
  18090. constructor(v) {
  18091. this.value = v;
  18092. }
  18093. };
  18094. IfcDoorTypeEnum.DOOR = "DOOR";
  18095. IfcDoorTypeEnum.GATE = "GATE";
  18096. IfcDoorTypeEnum.TRAPDOOR = "TRAPDOOR";
  18097. IfcDoorTypeEnum.USERDEFINED = "USERDEFINED";
  18098. IfcDoorTypeEnum.NOTDEFINED = "NOTDEFINED";
  18099. var IfcDoorTypeOperationEnum = class {
  18100. constructor(v) {
  18101. this.value = v;
  18102. }
  18103. };
  18104. IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT = "SINGLE_SWING_LEFT";
  18105. IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT = "SINGLE_SWING_RIGHT";
  18106. IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING = "DOUBLE_DOOR_SINGLE_SWING";
  18107. IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT";
  18108. IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT";
  18109. IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT = "DOUBLE_SWING_LEFT";
  18110. IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT = "DOUBLE_SWING_RIGHT";
  18111. IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = "DOUBLE_DOOR_DOUBLE_SWING";
  18112. IfcDoorTypeOperationEnum.SLIDING_TO_LEFT = "SLIDING_TO_LEFT";
  18113. IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT = "SLIDING_TO_RIGHT";
  18114. IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING = "DOUBLE_DOOR_SLIDING";
  18115. IfcDoorTypeOperationEnum.FOLDING_TO_LEFT = "FOLDING_TO_LEFT";
  18116. IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT = "FOLDING_TO_RIGHT";
  18117. IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING = "DOUBLE_DOOR_FOLDING";
  18118. IfcDoorTypeOperationEnum.REVOLVING = "REVOLVING";
  18119. IfcDoorTypeOperationEnum.ROLLINGUP = "ROLLINGUP";
  18120. IfcDoorTypeOperationEnum.SWING_FIXED_LEFT = "SWING_FIXED_LEFT";
  18121. IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT = "SWING_FIXED_RIGHT";
  18122. IfcDoorTypeOperationEnum.USERDEFINED = "USERDEFINED";
  18123. IfcDoorTypeOperationEnum.NOTDEFINED = "NOTDEFINED";
  18124. var IfcDuctFittingTypeEnum = class {
  18125. constructor(v) {
  18126. this.value = v;
  18127. }
  18128. };
  18129. IfcDuctFittingTypeEnum.BEND = "BEND";
  18130. IfcDuctFittingTypeEnum.CONNECTOR = "CONNECTOR";
  18131. IfcDuctFittingTypeEnum.ENTRY = "ENTRY";
  18132. IfcDuctFittingTypeEnum.EXIT = "EXIT";
  18133. IfcDuctFittingTypeEnum.JUNCTION = "JUNCTION";
  18134. IfcDuctFittingTypeEnum.OBSTRUCTION = "OBSTRUCTION";
  18135. IfcDuctFittingTypeEnum.TRANSITION = "TRANSITION";
  18136. IfcDuctFittingTypeEnum.USERDEFINED = "USERDEFINED";
  18137. IfcDuctFittingTypeEnum.NOTDEFINED = "NOTDEFINED";
  18138. var IfcDuctSegmentTypeEnum = class {
  18139. constructor(v) {
  18140. this.value = v;
  18141. }
  18142. };
  18143. IfcDuctSegmentTypeEnum.RIGIDSEGMENT = "RIGIDSEGMENT";
  18144. IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = "FLEXIBLESEGMENT";
  18145. IfcDuctSegmentTypeEnum.USERDEFINED = "USERDEFINED";
  18146. IfcDuctSegmentTypeEnum.NOTDEFINED = "NOTDEFINED";
  18147. var IfcDuctSilencerTypeEnum = class {
  18148. constructor(v) {
  18149. this.value = v;
  18150. }
  18151. };
  18152. IfcDuctSilencerTypeEnum.FLATOVAL = "FLATOVAL";
  18153. IfcDuctSilencerTypeEnum.RECTANGULAR = "RECTANGULAR";
  18154. IfcDuctSilencerTypeEnum.ROUND = "ROUND";
  18155. IfcDuctSilencerTypeEnum.USERDEFINED = "USERDEFINED";
  18156. IfcDuctSilencerTypeEnum.NOTDEFINED = "NOTDEFINED";
  18157. var IfcElectricApplianceTypeEnum = class {
  18158. constructor(v) {
  18159. this.value = v;
  18160. }
  18161. };
  18162. IfcElectricApplianceTypeEnum.DISHWASHER = "DISHWASHER";
  18163. IfcElectricApplianceTypeEnum.ELECTRICCOOKER = "ELECTRICCOOKER";
  18164. IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER = "FREESTANDINGELECTRICHEATER";
  18165. IfcElectricApplianceTypeEnum.FREESTANDINGFAN = "FREESTANDINGFAN";
  18166. IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER = "FREESTANDINGWATERHEATER";
  18167. IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER = "FREESTANDINGWATERCOOLER";
  18168. IfcElectricApplianceTypeEnum.FREEZER = "FREEZER";
  18169. IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = "FRIDGE_FREEZER";
  18170. IfcElectricApplianceTypeEnum.HANDDRYER = "HANDDRYER";
  18171. IfcElectricApplianceTypeEnum.KITCHENMACHINE = "KITCHENMACHINE";
  18172. IfcElectricApplianceTypeEnum.MICROWAVE = "MICROWAVE";
  18173. IfcElectricApplianceTypeEnum.PHOTOCOPIER = "PHOTOCOPIER";
  18174. IfcElectricApplianceTypeEnum.REFRIGERATOR = "REFRIGERATOR";
  18175. IfcElectricApplianceTypeEnum.TUMBLEDRYER = "TUMBLEDRYER";
  18176. IfcElectricApplianceTypeEnum.VENDINGMACHINE = "VENDINGMACHINE";
  18177. IfcElectricApplianceTypeEnum.WASHINGMACHINE = "WASHINGMACHINE";
  18178. IfcElectricApplianceTypeEnum.USERDEFINED = "USERDEFINED";
  18179. IfcElectricApplianceTypeEnum.NOTDEFINED = "NOTDEFINED";
  18180. var IfcElectricDistributionBoardTypeEnum = class {
  18181. constructor(v) {
  18182. this.value = v;
  18183. }
  18184. };
  18185. IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT = "CONSUMERUNIT";
  18186. IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD = "DISTRIBUTIONBOARD";
  18187. IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE = "MOTORCONTROLCENTRE";
  18188. IfcElectricDistributionBoardTypeEnum.SWITCHBOARD = "SWITCHBOARD";
  18189. IfcElectricDistributionBoardTypeEnum.USERDEFINED = "USERDEFINED";
  18190. IfcElectricDistributionBoardTypeEnum.NOTDEFINED = "NOTDEFINED";
  18191. var IfcElectricFlowStorageDeviceTypeEnum = class {
  18192. constructor(v) {
  18193. this.value = v;
  18194. }
  18195. };
  18196. IfcElectricFlowStorageDeviceTypeEnum.BATTERY = "BATTERY";
  18197. IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = "CAPACITORBANK";
  18198. IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = "HARMONICFILTER";
  18199. IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = "INDUCTORBANK";
  18200. IfcElectricFlowStorageDeviceTypeEnum.UPS = "UPS";
  18201. IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = "USERDEFINED";
  18202. IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = "NOTDEFINED";
  18203. var IfcElectricGeneratorTypeEnum = class {
  18204. constructor(v) {
  18205. this.value = v;
  18206. }
  18207. };
  18208. IfcElectricGeneratorTypeEnum.CHP = "CHP";
  18209. IfcElectricGeneratorTypeEnum.ENGINEGENERATOR = "ENGINEGENERATOR";
  18210. IfcElectricGeneratorTypeEnum.STANDALONE = "STANDALONE";
  18211. IfcElectricGeneratorTypeEnum.USERDEFINED = "USERDEFINED";
  18212. IfcElectricGeneratorTypeEnum.NOTDEFINED = "NOTDEFINED";
  18213. var IfcElectricMotorTypeEnum = class {
  18214. constructor(v) {
  18215. this.value = v;
  18216. }
  18217. };
  18218. IfcElectricMotorTypeEnum.DC = "DC";
  18219. IfcElectricMotorTypeEnum.INDUCTION = "INDUCTION";
  18220. IfcElectricMotorTypeEnum.POLYPHASE = "POLYPHASE";
  18221. IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = "RELUCTANCESYNCHRONOUS";
  18222. IfcElectricMotorTypeEnum.SYNCHRONOUS = "SYNCHRONOUS";
  18223. IfcElectricMotorTypeEnum.USERDEFINED = "USERDEFINED";
  18224. IfcElectricMotorTypeEnum.NOTDEFINED = "NOTDEFINED";
  18225. var IfcElectricTimeControlTypeEnum = class {
  18226. constructor(v) {
  18227. this.value = v;
  18228. }
  18229. };
  18230. IfcElectricTimeControlTypeEnum.TIMECLOCK = "TIMECLOCK";
  18231. IfcElectricTimeControlTypeEnum.TIMEDELAY = "TIMEDELAY";
  18232. IfcElectricTimeControlTypeEnum.RELAY = "RELAY";
  18233. IfcElectricTimeControlTypeEnum.USERDEFINED = "USERDEFINED";
  18234. IfcElectricTimeControlTypeEnum.NOTDEFINED = "NOTDEFINED";
  18235. var IfcElementAssemblyTypeEnum = class {
  18236. constructor(v) {
  18237. this.value = v;
  18238. }
  18239. };
  18240. IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = "ACCESSORY_ASSEMBLY";
  18241. IfcElementAssemblyTypeEnum.ARCH = "ARCH";
  18242. IfcElementAssemblyTypeEnum.BEAM_GRID = "BEAM_GRID";
  18243. IfcElementAssemblyTypeEnum.BRACED_FRAME = "BRACED_FRAME";
  18244. IfcElementAssemblyTypeEnum.GIRDER = "GIRDER";
  18245. IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = "REINFORCEMENT_UNIT";
  18246. IfcElementAssemblyTypeEnum.RIGID_FRAME = "RIGID_FRAME";
  18247. IfcElementAssemblyTypeEnum.SLAB_FIELD = "SLAB_FIELD";
  18248. IfcElementAssemblyTypeEnum.TRUSS = "TRUSS";
  18249. IfcElementAssemblyTypeEnum.ABUTMENT = "ABUTMENT";
  18250. IfcElementAssemblyTypeEnum.PIER = "PIER";
  18251. IfcElementAssemblyTypeEnum.PYLON = "PYLON";
  18252. IfcElementAssemblyTypeEnum.CROSS_BRACING = "CROSS_BRACING";
  18253. IfcElementAssemblyTypeEnum.DECK = "DECK";
  18254. IfcElementAssemblyTypeEnum.USERDEFINED = "USERDEFINED";
  18255. IfcElementAssemblyTypeEnum.NOTDEFINED = "NOTDEFINED";
  18256. var IfcElementCompositionEnum = class {
  18257. constructor(v) {
  18258. this.value = v;
  18259. }
  18260. };
  18261. IfcElementCompositionEnum.COMPLEX = "COMPLEX";
  18262. IfcElementCompositionEnum.ELEMENT = "ELEMENT";
  18263. IfcElementCompositionEnum.PARTIAL = "PARTIAL";
  18264. var IfcEngineTypeEnum = class {
  18265. constructor(v) {
  18266. this.value = v;
  18267. }
  18268. };
  18269. IfcEngineTypeEnum.EXTERNALCOMBUSTION = "EXTERNALCOMBUSTION";
  18270. IfcEngineTypeEnum.INTERNALCOMBUSTION = "INTERNALCOMBUSTION";
  18271. IfcEngineTypeEnum.USERDEFINED = "USERDEFINED";
  18272. IfcEngineTypeEnum.NOTDEFINED = "NOTDEFINED";
  18273. var IfcEvaporativeCoolerTypeEnum = class {
  18274. constructor(v) {
  18275. this.value = v;
  18276. }
  18277. };
  18278. IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER";
  18279. IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER";
  18280. IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER";
  18281. IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER";
  18282. IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = "DIRECTEVAPORATIVEAIRWASHER";
  18283. IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER";
  18284. IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = "INDIRECTEVAPORATIVEWETCOIL";
  18285. IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER";
  18286. IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = "INDIRECTDIRECTCOMBINATION";
  18287. IfcEvaporativeCoolerTypeEnum.USERDEFINED = "USERDEFINED";
  18288. IfcEvaporativeCoolerTypeEnum.NOTDEFINED = "NOTDEFINED";
  18289. var IfcEvaporatorTypeEnum = class {
  18290. constructor(v) {
  18291. this.value = v;
  18292. }
  18293. };
  18294. IfcEvaporatorTypeEnum.DIRECTEXPANSION = "DIRECTEXPANSION";
  18295. IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = "DIRECTEXPANSIONSHELLANDTUBE";
  18296. IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = "DIRECTEXPANSIONTUBEINTUBE";
  18297. IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = "DIRECTEXPANSIONBRAZEDPLATE";
  18298. IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = "FLOODEDSHELLANDTUBE";
  18299. IfcEvaporatorTypeEnum.SHELLANDCOIL = "SHELLANDCOIL";
  18300. IfcEvaporatorTypeEnum.USERDEFINED = "USERDEFINED";
  18301. IfcEvaporatorTypeEnum.NOTDEFINED = "NOTDEFINED";
  18302. var IfcEventTriggerTypeEnum = class {
  18303. constructor(v) {
  18304. this.value = v;
  18305. }
  18306. };
  18307. IfcEventTriggerTypeEnum.EVENTRULE = "EVENTRULE";
  18308. IfcEventTriggerTypeEnum.EVENTMESSAGE = "EVENTMESSAGE";
  18309. IfcEventTriggerTypeEnum.EVENTTIME = "EVENTTIME";
  18310. IfcEventTriggerTypeEnum.EVENTCOMPLEX = "EVENTCOMPLEX";
  18311. IfcEventTriggerTypeEnum.USERDEFINED = "USERDEFINED";
  18312. IfcEventTriggerTypeEnum.NOTDEFINED = "NOTDEFINED";
  18313. var IfcEventTypeEnum = class {
  18314. constructor(v) {
  18315. this.value = v;
  18316. }
  18317. };
  18318. IfcEventTypeEnum.STARTEVENT = "STARTEVENT";
  18319. IfcEventTypeEnum.ENDEVENT = "ENDEVENT";
  18320. IfcEventTypeEnum.INTERMEDIATEEVENT = "INTERMEDIATEEVENT";
  18321. IfcEventTypeEnum.USERDEFINED = "USERDEFINED";
  18322. IfcEventTypeEnum.NOTDEFINED = "NOTDEFINED";
  18323. var IfcExternalSpatialElementTypeEnum = class {
  18324. constructor(v) {
  18325. this.value = v;
  18326. }
  18327. };
  18328. IfcExternalSpatialElementTypeEnum.EXTERNAL = "EXTERNAL";
  18329. IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH = "EXTERNAL_EARTH";
  18330. IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER = "EXTERNAL_WATER";
  18331. IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE = "EXTERNAL_FIRE";
  18332. IfcExternalSpatialElementTypeEnum.USERDEFINED = "USERDEFINED";
  18333. IfcExternalSpatialElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  18334. var IfcFanTypeEnum = class {
  18335. constructor(v) {
  18336. this.value = v;
  18337. }
  18338. };
  18339. IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = "CENTRIFUGALFORWARDCURVED";
  18340. IfcFanTypeEnum.CENTRIFUGALRADIAL = "CENTRIFUGALRADIAL";
  18341. IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = "CENTRIFUGALBACKWARDINCLINEDCURVED";
  18342. IfcFanTypeEnum.CENTRIFUGALAIRFOIL = "CENTRIFUGALAIRFOIL";
  18343. IfcFanTypeEnum.TUBEAXIAL = "TUBEAXIAL";
  18344. IfcFanTypeEnum.VANEAXIAL = "VANEAXIAL";
  18345. IfcFanTypeEnum.PROPELLORAXIAL = "PROPELLORAXIAL";
  18346. IfcFanTypeEnum.USERDEFINED = "USERDEFINED";
  18347. IfcFanTypeEnum.NOTDEFINED = "NOTDEFINED";
  18348. var IfcFastenerTypeEnum = class {
  18349. constructor(v) {
  18350. this.value = v;
  18351. }
  18352. };
  18353. IfcFastenerTypeEnum.GLUE = "GLUE";
  18354. IfcFastenerTypeEnum.MORTAR = "MORTAR";
  18355. IfcFastenerTypeEnum.WELD = "WELD";
  18356. IfcFastenerTypeEnum.USERDEFINED = "USERDEFINED";
  18357. IfcFastenerTypeEnum.NOTDEFINED = "NOTDEFINED";
  18358. var IfcFilterTypeEnum = class {
  18359. constructor(v) {
  18360. this.value = v;
  18361. }
  18362. };
  18363. IfcFilterTypeEnum.AIRPARTICLEFILTER = "AIRPARTICLEFILTER";
  18364. IfcFilterTypeEnum.COMPRESSEDAIRFILTER = "COMPRESSEDAIRFILTER";
  18365. IfcFilterTypeEnum.ODORFILTER = "ODORFILTER";
  18366. IfcFilterTypeEnum.OILFILTER = "OILFILTER";
  18367. IfcFilterTypeEnum.STRAINER = "STRAINER";
  18368. IfcFilterTypeEnum.WATERFILTER = "WATERFILTER";
  18369. IfcFilterTypeEnum.USERDEFINED = "USERDEFINED";
  18370. IfcFilterTypeEnum.NOTDEFINED = "NOTDEFINED";
  18371. var IfcFireSuppressionTerminalTypeEnum = class {
  18372. constructor(v) {
  18373. this.value = v;
  18374. }
  18375. };
  18376. IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = "BREECHINGINLET";
  18377. IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = "FIREHYDRANT";
  18378. IfcFireSuppressionTerminalTypeEnum.HOSEREEL = "HOSEREEL";
  18379. IfcFireSuppressionTerminalTypeEnum.SPRINKLER = "SPRINKLER";
  18380. IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = "SPRINKLERDEFLECTOR";
  18381. IfcFireSuppressionTerminalTypeEnum.USERDEFINED = "USERDEFINED";
  18382. IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = "NOTDEFINED";
  18383. var IfcFlowDirectionEnum = class {
  18384. constructor(v) {
  18385. this.value = v;
  18386. }
  18387. };
  18388. IfcFlowDirectionEnum.SOURCE = "SOURCE";
  18389. IfcFlowDirectionEnum.SINK = "SINK";
  18390. IfcFlowDirectionEnum.SOURCEANDSINK = "SOURCEANDSINK";
  18391. IfcFlowDirectionEnum.NOTDEFINED = "NOTDEFINED";
  18392. var IfcFlowInstrumentTypeEnum = class {
  18393. constructor(v) {
  18394. this.value = v;
  18395. }
  18396. };
  18397. IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = "PRESSUREGAUGE";
  18398. IfcFlowInstrumentTypeEnum.THERMOMETER = "THERMOMETER";
  18399. IfcFlowInstrumentTypeEnum.AMMETER = "AMMETER";
  18400. IfcFlowInstrumentTypeEnum.FREQUENCYMETER = "FREQUENCYMETER";
  18401. IfcFlowInstrumentTypeEnum.POWERFACTORMETER = "POWERFACTORMETER";
  18402. IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = "PHASEANGLEMETER";
  18403. IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = "VOLTMETER_PEAK";
  18404. IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = "VOLTMETER_RMS";
  18405. IfcFlowInstrumentTypeEnum.USERDEFINED = "USERDEFINED";
  18406. IfcFlowInstrumentTypeEnum.NOTDEFINED = "NOTDEFINED";
  18407. var IfcFlowMeterTypeEnum = class {
  18408. constructor(v) {
  18409. this.value = v;
  18410. }
  18411. };
  18412. IfcFlowMeterTypeEnum.ENERGYMETER = "ENERGYMETER";
  18413. IfcFlowMeterTypeEnum.GASMETER = "GASMETER";
  18414. IfcFlowMeterTypeEnum.OILMETER = "OILMETER";
  18415. IfcFlowMeterTypeEnum.WATERMETER = "WATERMETER";
  18416. IfcFlowMeterTypeEnum.USERDEFINED = "USERDEFINED";
  18417. IfcFlowMeterTypeEnum.NOTDEFINED = "NOTDEFINED";
  18418. var IfcFootingTypeEnum = class {
  18419. constructor(v) {
  18420. this.value = v;
  18421. }
  18422. };
  18423. IfcFootingTypeEnum.CAISSON_FOUNDATION = "CAISSON_FOUNDATION";
  18424. IfcFootingTypeEnum.FOOTING_BEAM = "FOOTING_BEAM";
  18425. IfcFootingTypeEnum.PAD_FOOTING = "PAD_FOOTING";
  18426. IfcFootingTypeEnum.PILE_CAP = "PILE_CAP";
  18427. IfcFootingTypeEnum.STRIP_FOOTING = "STRIP_FOOTING";
  18428. IfcFootingTypeEnum.USERDEFINED = "USERDEFINED";
  18429. IfcFootingTypeEnum.NOTDEFINED = "NOTDEFINED";
  18430. var IfcFurnitureTypeEnum = class {
  18431. constructor(v) {
  18432. this.value = v;
  18433. }
  18434. };
  18435. IfcFurnitureTypeEnum.CHAIR = "CHAIR";
  18436. IfcFurnitureTypeEnum.TABLE = "TABLE";
  18437. IfcFurnitureTypeEnum.DESK = "DESK";
  18438. IfcFurnitureTypeEnum.BED = "BED";
  18439. IfcFurnitureTypeEnum.FILECABINET = "FILECABINET";
  18440. IfcFurnitureTypeEnum.SHELF = "SHELF";
  18441. IfcFurnitureTypeEnum.SOFA = "SOFA";
  18442. IfcFurnitureTypeEnum.USERDEFINED = "USERDEFINED";
  18443. IfcFurnitureTypeEnum.NOTDEFINED = "NOTDEFINED";
  18444. var IfcGeographicElementTypeEnum = class {
  18445. constructor(v) {
  18446. this.value = v;
  18447. }
  18448. };
  18449. IfcGeographicElementTypeEnum.TERRAIN = "TERRAIN";
  18450. IfcGeographicElementTypeEnum.SOIL_BORING_POINT = "SOIL_BORING_POINT";
  18451. IfcGeographicElementTypeEnum.USERDEFINED = "USERDEFINED";
  18452. IfcGeographicElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  18453. var IfcGeometricProjectionEnum = class {
  18454. constructor(v) {
  18455. this.value = v;
  18456. }
  18457. };
  18458. IfcGeometricProjectionEnum.GRAPH_VIEW = "GRAPH_VIEW";
  18459. IfcGeometricProjectionEnum.SKETCH_VIEW = "SKETCH_VIEW";
  18460. IfcGeometricProjectionEnum.MODEL_VIEW = "MODEL_VIEW";
  18461. IfcGeometricProjectionEnum.PLAN_VIEW = "PLAN_VIEW";
  18462. IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = "REFLECTED_PLAN_VIEW";
  18463. IfcGeometricProjectionEnum.SECTION_VIEW = "SECTION_VIEW";
  18464. IfcGeometricProjectionEnum.ELEVATION_VIEW = "ELEVATION_VIEW";
  18465. IfcGeometricProjectionEnum.USERDEFINED = "USERDEFINED";
  18466. IfcGeometricProjectionEnum.NOTDEFINED = "NOTDEFINED";
  18467. var IfcGlobalOrLocalEnum = class {
  18468. constructor(v) {
  18469. this.value = v;
  18470. }
  18471. };
  18472. IfcGlobalOrLocalEnum.GLOBAL_COORDS = "GLOBAL_COORDS";
  18473. IfcGlobalOrLocalEnum.LOCAL_COORDS = "LOCAL_COORDS";
  18474. var IfcGridTypeEnum = class {
  18475. constructor(v) {
  18476. this.value = v;
  18477. }
  18478. };
  18479. IfcGridTypeEnum.RECTANGULAR = "RECTANGULAR";
  18480. IfcGridTypeEnum.RADIAL = "RADIAL";
  18481. IfcGridTypeEnum.TRIANGULAR = "TRIANGULAR";
  18482. IfcGridTypeEnum.IRREGULAR = "IRREGULAR";
  18483. IfcGridTypeEnum.USERDEFINED = "USERDEFINED";
  18484. IfcGridTypeEnum.NOTDEFINED = "NOTDEFINED";
  18485. var IfcHeatExchangerTypeEnum = class {
  18486. constructor(v) {
  18487. this.value = v;
  18488. }
  18489. };
  18490. IfcHeatExchangerTypeEnum.PLATE = "PLATE";
  18491. IfcHeatExchangerTypeEnum.SHELLANDTUBE = "SHELLANDTUBE";
  18492. IfcHeatExchangerTypeEnum.USERDEFINED = "USERDEFINED";
  18493. IfcHeatExchangerTypeEnum.NOTDEFINED = "NOTDEFINED";
  18494. var IfcHumidifierTypeEnum = class {
  18495. constructor(v) {
  18496. this.value = v;
  18497. }
  18498. };
  18499. IfcHumidifierTypeEnum.STEAMINJECTION = "STEAMINJECTION";
  18500. IfcHumidifierTypeEnum.ADIABATICAIRWASHER = "ADIABATICAIRWASHER";
  18501. IfcHumidifierTypeEnum.ADIABATICPAN = "ADIABATICPAN";
  18502. IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = "ADIABATICWETTEDELEMENT";
  18503. IfcHumidifierTypeEnum.ADIABATICATOMIZING = "ADIABATICATOMIZING";
  18504. IfcHumidifierTypeEnum.ADIABATICULTRASONIC = "ADIABATICULTRASONIC";
  18505. IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = "ADIABATICRIGIDMEDIA";
  18506. IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = "ADIABATICCOMPRESSEDAIRNOZZLE";
  18507. IfcHumidifierTypeEnum.ASSISTEDELECTRIC = "ASSISTEDELECTRIC";
  18508. IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = "ASSISTEDNATURALGAS";
  18509. IfcHumidifierTypeEnum.ASSISTEDPROPANE = "ASSISTEDPROPANE";
  18510. IfcHumidifierTypeEnum.ASSISTEDBUTANE = "ASSISTEDBUTANE";
  18511. IfcHumidifierTypeEnum.ASSISTEDSTEAM = "ASSISTEDSTEAM";
  18512. IfcHumidifierTypeEnum.USERDEFINED = "USERDEFINED";
  18513. IfcHumidifierTypeEnum.NOTDEFINED = "NOTDEFINED";
  18514. var IfcInterceptorTypeEnum = class {
  18515. constructor(v) {
  18516. this.value = v;
  18517. }
  18518. };
  18519. IfcInterceptorTypeEnum.CYCLONIC = "CYCLONIC";
  18520. IfcInterceptorTypeEnum.GREASE = "GREASE";
  18521. IfcInterceptorTypeEnum.OIL = "OIL";
  18522. IfcInterceptorTypeEnum.PETROL = "PETROL";
  18523. IfcInterceptorTypeEnum.USERDEFINED = "USERDEFINED";
  18524. IfcInterceptorTypeEnum.NOTDEFINED = "NOTDEFINED";
  18525. var IfcInternalOrExternalEnum = class {
  18526. constructor(v) {
  18527. this.value = v;
  18528. }
  18529. };
  18530. IfcInternalOrExternalEnum.INTERNAL = "INTERNAL";
  18531. IfcInternalOrExternalEnum.EXTERNAL = "EXTERNAL";
  18532. IfcInternalOrExternalEnum.EXTERNAL_EARTH = "EXTERNAL_EARTH";
  18533. IfcInternalOrExternalEnum.EXTERNAL_WATER = "EXTERNAL_WATER";
  18534. IfcInternalOrExternalEnum.EXTERNAL_FIRE = "EXTERNAL_FIRE";
  18535. IfcInternalOrExternalEnum.NOTDEFINED = "NOTDEFINED";
  18536. var IfcInventoryTypeEnum = class {
  18537. constructor(v) {
  18538. this.value = v;
  18539. }
  18540. };
  18541. IfcInventoryTypeEnum.ASSETINVENTORY = "ASSETINVENTORY";
  18542. IfcInventoryTypeEnum.SPACEINVENTORY = "SPACEINVENTORY";
  18543. IfcInventoryTypeEnum.FURNITUREINVENTORY = "FURNITUREINVENTORY";
  18544. IfcInventoryTypeEnum.USERDEFINED = "USERDEFINED";
  18545. IfcInventoryTypeEnum.NOTDEFINED = "NOTDEFINED";
  18546. var IfcJunctionBoxTypeEnum = class {
  18547. constructor(v) {
  18548. this.value = v;
  18549. }
  18550. };
  18551. IfcJunctionBoxTypeEnum.DATA = "DATA";
  18552. IfcJunctionBoxTypeEnum.POWER = "POWER";
  18553. IfcJunctionBoxTypeEnum.USERDEFINED = "USERDEFINED";
  18554. IfcJunctionBoxTypeEnum.NOTDEFINED = "NOTDEFINED";
  18555. var IfcKnotType = class {
  18556. constructor(v) {
  18557. this.value = v;
  18558. }
  18559. };
  18560. IfcKnotType.UNIFORM_KNOTS = "UNIFORM_KNOTS";
  18561. IfcKnotType.QUASI_UNIFORM_KNOTS = "QUASI_UNIFORM_KNOTS";
  18562. IfcKnotType.PIECEWISE_BEZIER_KNOTS = "PIECEWISE_BEZIER_KNOTS";
  18563. IfcKnotType.UNSPECIFIED = "UNSPECIFIED";
  18564. var IfcLaborResourceTypeEnum = class {
  18565. constructor(v) {
  18566. this.value = v;
  18567. }
  18568. };
  18569. IfcLaborResourceTypeEnum.ADMINISTRATION = "ADMINISTRATION";
  18570. IfcLaborResourceTypeEnum.CARPENTRY = "CARPENTRY";
  18571. IfcLaborResourceTypeEnum.CLEANING = "CLEANING";
  18572. IfcLaborResourceTypeEnum.CONCRETE = "CONCRETE";
  18573. IfcLaborResourceTypeEnum.DRYWALL = "DRYWALL";
  18574. IfcLaborResourceTypeEnum.ELECTRIC = "ELECTRIC";
  18575. IfcLaborResourceTypeEnum.FINISHING = "FINISHING";
  18576. IfcLaborResourceTypeEnum.FLOORING = "FLOORING";
  18577. IfcLaborResourceTypeEnum.GENERAL = "GENERAL";
  18578. IfcLaborResourceTypeEnum.HVAC = "HVAC";
  18579. IfcLaborResourceTypeEnum.LANDSCAPING = "LANDSCAPING";
  18580. IfcLaborResourceTypeEnum.MASONRY = "MASONRY";
  18581. IfcLaborResourceTypeEnum.PAINTING = "PAINTING";
  18582. IfcLaborResourceTypeEnum.PAVING = "PAVING";
  18583. IfcLaborResourceTypeEnum.PLUMBING = "PLUMBING";
  18584. IfcLaborResourceTypeEnum.ROOFING = "ROOFING";
  18585. IfcLaborResourceTypeEnum.SITEGRADING = "SITEGRADING";
  18586. IfcLaborResourceTypeEnum.STEELWORK = "STEELWORK";
  18587. IfcLaborResourceTypeEnum.SURVEYING = "SURVEYING";
  18588. IfcLaborResourceTypeEnum.USERDEFINED = "USERDEFINED";
  18589. IfcLaborResourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  18590. var IfcLampTypeEnum = class {
  18591. constructor(v) {
  18592. this.value = v;
  18593. }
  18594. };
  18595. IfcLampTypeEnum.COMPACTFLUORESCENT = "COMPACTFLUORESCENT";
  18596. IfcLampTypeEnum.FLUORESCENT = "FLUORESCENT";
  18597. IfcLampTypeEnum.HALOGEN = "HALOGEN";
  18598. IfcLampTypeEnum.HIGHPRESSUREMERCURY = "HIGHPRESSUREMERCURY";
  18599. IfcLampTypeEnum.HIGHPRESSURESODIUM = "HIGHPRESSURESODIUM";
  18600. IfcLampTypeEnum.LED = "LED";
  18601. IfcLampTypeEnum.METALHALIDE = "METALHALIDE";
  18602. IfcLampTypeEnum.OLED = "OLED";
  18603. IfcLampTypeEnum.TUNGSTENFILAMENT = "TUNGSTENFILAMENT";
  18604. IfcLampTypeEnum.USERDEFINED = "USERDEFINED";
  18605. IfcLampTypeEnum.NOTDEFINED = "NOTDEFINED";
  18606. var IfcLayerSetDirectionEnum = class {
  18607. constructor(v) {
  18608. this.value = v;
  18609. }
  18610. };
  18611. IfcLayerSetDirectionEnum.AXIS1 = "AXIS1";
  18612. IfcLayerSetDirectionEnum.AXIS2 = "AXIS2";
  18613. IfcLayerSetDirectionEnum.AXIS3 = "AXIS3";
  18614. var IfcLightDistributionCurveEnum = class {
  18615. constructor(v) {
  18616. this.value = v;
  18617. }
  18618. };
  18619. IfcLightDistributionCurveEnum.TYPE_A = "TYPE_A";
  18620. IfcLightDistributionCurveEnum.TYPE_B = "TYPE_B";
  18621. IfcLightDistributionCurveEnum.TYPE_C = "TYPE_C";
  18622. IfcLightDistributionCurveEnum.NOTDEFINED = "NOTDEFINED";
  18623. var IfcLightEmissionSourceEnum = class {
  18624. constructor(v) {
  18625. this.value = v;
  18626. }
  18627. };
  18628. IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = "COMPACTFLUORESCENT";
  18629. IfcLightEmissionSourceEnum.FLUORESCENT = "FLUORESCENT";
  18630. IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = "HIGHPRESSUREMERCURY";
  18631. IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = "HIGHPRESSURESODIUM";
  18632. IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = "LIGHTEMITTINGDIODE";
  18633. IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = "LOWPRESSURESODIUM";
  18634. IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = "LOWVOLTAGEHALOGEN";
  18635. IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = "MAINVOLTAGEHALOGEN";
  18636. IfcLightEmissionSourceEnum.METALHALIDE = "METALHALIDE";
  18637. IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = "TUNGSTENFILAMENT";
  18638. IfcLightEmissionSourceEnum.NOTDEFINED = "NOTDEFINED";
  18639. var IfcLightFixtureTypeEnum = class {
  18640. constructor(v) {
  18641. this.value = v;
  18642. }
  18643. };
  18644. IfcLightFixtureTypeEnum.POINTSOURCE = "POINTSOURCE";
  18645. IfcLightFixtureTypeEnum.DIRECTIONSOURCE = "DIRECTIONSOURCE";
  18646. IfcLightFixtureTypeEnum.SECURITYLIGHTING = "SECURITYLIGHTING";
  18647. IfcLightFixtureTypeEnum.USERDEFINED = "USERDEFINED";
  18648. IfcLightFixtureTypeEnum.NOTDEFINED = "NOTDEFINED";
  18649. var IfcLoadGroupTypeEnum = class {
  18650. constructor(v) {
  18651. this.value = v;
  18652. }
  18653. };
  18654. IfcLoadGroupTypeEnum.LOAD_GROUP = "LOAD_GROUP";
  18655. IfcLoadGroupTypeEnum.LOAD_CASE = "LOAD_CASE";
  18656. IfcLoadGroupTypeEnum.LOAD_COMBINATION = "LOAD_COMBINATION";
  18657. IfcLoadGroupTypeEnum.USERDEFINED = "USERDEFINED";
  18658. IfcLoadGroupTypeEnum.NOTDEFINED = "NOTDEFINED";
  18659. var IfcLogicalOperatorEnum = class {
  18660. constructor(v) {
  18661. this.value = v;
  18662. }
  18663. };
  18664. IfcLogicalOperatorEnum.LOGICALAND = "LOGICALAND";
  18665. IfcLogicalOperatorEnum.LOGICALOR = "LOGICALOR";
  18666. IfcLogicalOperatorEnum.LOGICALXOR = "LOGICALXOR";
  18667. IfcLogicalOperatorEnum.LOGICALNOTAND = "LOGICALNOTAND";
  18668. IfcLogicalOperatorEnum.LOGICALNOTOR = "LOGICALNOTOR";
  18669. var IfcMechanicalFastenerTypeEnum = class {
  18670. constructor(v) {
  18671. this.value = v;
  18672. }
  18673. };
  18674. IfcMechanicalFastenerTypeEnum.ANCHORBOLT = "ANCHORBOLT";
  18675. IfcMechanicalFastenerTypeEnum.BOLT = "BOLT";
  18676. IfcMechanicalFastenerTypeEnum.DOWEL = "DOWEL";
  18677. IfcMechanicalFastenerTypeEnum.NAIL = "NAIL";
  18678. IfcMechanicalFastenerTypeEnum.NAILPLATE = "NAILPLATE";
  18679. IfcMechanicalFastenerTypeEnum.RIVET = "RIVET";
  18680. IfcMechanicalFastenerTypeEnum.SCREW = "SCREW";
  18681. IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR = "SHEARCONNECTOR";
  18682. IfcMechanicalFastenerTypeEnum.STAPLE = "STAPLE";
  18683. IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR = "STUDSHEARCONNECTOR";
  18684. IfcMechanicalFastenerTypeEnum.COUPLER = "COUPLER";
  18685. IfcMechanicalFastenerTypeEnum.USERDEFINED = "USERDEFINED";
  18686. IfcMechanicalFastenerTypeEnum.NOTDEFINED = "NOTDEFINED";
  18687. var IfcMedicalDeviceTypeEnum = class {
  18688. constructor(v) {
  18689. this.value = v;
  18690. }
  18691. };
  18692. IfcMedicalDeviceTypeEnum.AIRSTATION = "AIRSTATION";
  18693. IfcMedicalDeviceTypeEnum.FEEDAIRUNIT = "FEEDAIRUNIT";
  18694. IfcMedicalDeviceTypeEnum.OXYGENGENERATOR = "OXYGENGENERATOR";
  18695. IfcMedicalDeviceTypeEnum.OXYGENPLANT = "OXYGENPLANT";
  18696. IfcMedicalDeviceTypeEnum.VACUUMSTATION = "VACUUMSTATION";
  18697. IfcMedicalDeviceTypeEnum.USERDEFINED = "USERDEFINED";
  18698. IfcMedicalDeviceTypeEnum.NOTDEFINED = "NOTDEFINED";
  18699. var IfcMemberTypeEnum = class {
  18700. constructor(v) {
  18701. this.value = v;
  18702. }
  18703. };
  18704. IfcMemberTypeEnum.BRACE = "BRACE";
  18705. IfcMemberTypeEnum.CHORD = "CHORD";
  18706. IfcMemberTypeEnum.COLLAR = "COLLAR";
  18707. IfcMemberTypeEnum.MEMBER = "MEMBER";
  18708. IfcMemberTypeEnum.MULLION = "MULLION";
  18709. IfcMemberTypeEnum.PLATE = "PLATE";
  18710. IfcMemberTypeEnum.POST = "POST";
  18711. IfcMemberTypeEnum.PURLIN = "PURLIN";
  18712. IfcMemberTypeEnum.RAFTER = "RAFTER";
  18713. IfcMemberTypeEnum.STRINGER = "STRINGER";
  18714. IfcMemberTypeEnum.STRUT = "STRUT";
  18715. IfcMemberTypeEnum.STUD = "STUD";
  18716. IfcMemberTypeEnum.STIFFENING_RIB = "STIFFENING_RIB";
  18717. IfcMemberTypeEnum.ARCH_SEGMENT = "ARCH_SEGMENT";
  18718. IfcMemberTypeEnum.SUSPENSION_CABLE = "SUSPENSION_CABLE";
  18719. IfcMemberTypeEnum.SUSPENDER = "SUSPENDER";
  18720. IfcMemberTypeEnum.STAY_CABLE = "STAY_CABLE";
  18721. IfcMemberTypeEnum.USERDEFINED = "USERDEFINED";
  18722. IfcMemberTypeEnum.NOTDEFINED = "NOTDEFINED";
  18723. var IfcMotorConnectionTypeEnum = class {
  18724. constructor(v) {
  18725. this.value = v;
  18726. }
  18727. };
  18728. IfcMotorConnectionTypeEnum.BELTDRIVE = "BELTDRIVE";
  18729. IfcMotorConnectionTypeEnum.COUPLING = "COUPLING";
  18730. IfcMotorConnectionTypeEnum.DIRECTDRIVE = "DIRECTDRIVE";
  18731. IfcMotorConnectionTypeEnum.USERDEFINED = "USERDEFINED";
  18732. IfcMotorConnectionTypeEnum.NOTDEFINED = "NOTDEFINED";
  18733. var IfcNullStyle = class {
  18734. constructor(v) {
  18735. this.value = v;
  18736. }
  18737. };
  18738. IfcNullStyle.NULL = "NULL";
  18739. var IfcObjectTypeEnum = class {
  18740. constructor(v) {
  18741. this.value = v;
  18742. }
  18743. };
  18744. IfcObjectTypeEnum.PRODUCT = "PRODUCT";
  18745. IfcObjectTypeEnum.PROCESS = "PROCESS";
  18746. IfcObjectTypeEnum.CONTROL = "CONTROL";
  18747. IfcObjectTypeEnum.RESOURCE = "RESOURCE";
  18748. IfcObjectTypeEnum.ACTOR = "ACTOR";
  18749. IfcObjectTypeEnum.GROUP = "GROUP";
  18750. IfcObjectTypeEnum.PROJECT = "PROJECT";
  18751. IfcObjectTypeEnum.NOTDEFINED = "NOTDEFINED";
  18752. var IfcObjectiveEnum = class {
  18753. constructor(v) {
  18754. this.value = v;
  18755. }
  18756. };
  18757. IfcObjectiveEnum.CODECOMPLIANCE = "CODECOMPLIANCE";
  18758. IfcObjectiveEnum.CODEWAIVER = "CODEWAIVER";
  18759. IfcObjectiveEnum.DESIGNINTENT = "DESIGNINTENT";
  18760. IfcObjectiveEnum.EXTERNAL = "EXTERNAL";
  18761. IfcObjectiveEnum.HEALTHANDSAFETY = "HEALTHANDSAFETY";
  18762. IfcObjectiveEnum.MERGECONFLICT = "MERGECONFLICT";
  18763. IfcObjectiveEnum.MODELVIEW = "MODELVIEW";
  18764. IfcObjectiveEnum.PARAMETER = "PARAMETER";
  18765. IfcObjectiveEnum.REQUIREMENT = "REQUIREMENT";
  18766. IfcObjectiveEnum.SPECIFICATION = "SPECIFICATION";
  18767. IfcObjectiveEnum.TRIGGERCONDITION = "TRIGGERCONDITION";
  18768. IfcObjectiveEnum.USERDEFINED = "USERDEFINED";
  18769. IfcObjectiveEnum.NOTDEFINED = "NOTDEFINED";
  18770. var IfcOccupantTypeEnum = class {
  18771. constructor(v) {
  18772. this.value = v;
  18773. }
  18774. };
  18775. IfcOccupantTypeEnum.ASSIGNEE = "ASSIGNEE";
  18776. IfcOccupantTypeEnum.ASSIGNOR = "ASSIGNOR";
  18777. IfcOccupantTypeEnum.LESSEE = "LESSEE";
  18778. IfcOccupantTypeEnum.LESSOR = "LESSOR";
  18779. IfcOccupantTypeEnum.LETTINGAGENT = "LETTINGAGENT";
  18780. IfcOccupantTypeEnum.OWNER = "OWNER";
  18781. IfcOccupantTypeEnum.TENANT = "TENANT";
  18782. IfcOccupantTypeEnum.USERDEFINED = "USERDEFINED";
  18783. IfcOccupantTypeEnum.NOTDEFINED = "NOTDEFINED";
  18784. var IfcOpeningElementTypeEnum = class {
  18785. constructor(v) {
  18786. this.value = v;
  18787. }
  18788. };
  18789. IfcOpeningElementTypeEnum.OPENING = "OPENING";
  18790. IfcOpeningElementTypeEnum.RECESS = "RECESS";
  18791. IfcOpeningElementTypeEnum.USERDEFINED = "USERDEFINED";
  18792. IfcOpeningElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  18793. var IfcOutletTypeEnum = class {
  18794. constructor(v) {
  18795. this.value = v;
  18796. }
  18797. };
  18798. IfcOutletTypeEnum.AUDIOVISUALOUTLET = "AUDIOVISUALOUTLET";
  18799. IfcOutletTypeEnum.COMMUNICATIONSOUTLET = "COMMUNICATIONSOUTLET";
  18800. IfcOutletTypeEnum.POWEROUTLET = "POWEROUTLET";
  18801. IfcOutletTypeEnum.DATAOUTLET = "DATAOUTLET";
  18802. IfcOutletTypeEnum.TELEPHONEOUTLET = "TELEPHONEOUTLET";
  18803. IfcOutletTypeEnum.USERDEFINED = "USERDEFINED";
  18804. IfcOutletTypeEnum.NOTDEFINED = "NOTDEFINED";
  18805. var IfcPerformanceHistoryTypeEnum = class {
  18806. constructor(v) {
  18807. this.value = v;
  18808. }
  18809. };
  18810. IfcPerformanceHistoryTypeEnum.USERDEFINED = "USERDEFINED";
  18811. IfcPerformanceHistoryTypeEnum.NOTDEFINED = "NOTDEFINED";
  18812. var IfcPermeableCoveringOperationEnum = class {
  18813. constructor(v) {
  18814. this.value = v;
  18815. }
  18816. };
  18817. IfcPermeableCoveringOperationEnum.GRILL = "GRILL";
  18818. IfcPermeableCoveringOperationEnum.LOUVER = "LOUVER";
  18819. IfcPermeableCoveringOperationEnum.SCREEN = "SCREEN";
  18820. IfcPermeableCoveringOperationEnum.USERDEFINED = "USERDEFINED";
  18821. IfcPermeableCoveringOperationEnum.NOTDEFINED = "NOTDEFINED";
  18822. var IfcPermitTypeEnum = class {
  18823. constructor(v) {
  18824. this.value = v;
  18825. }
  18826. };
  18827. IfcPermitTypeEnum.ACCESS = "ACCESS";
  18828. IfcPermitTypeEnum.BUILDING = "BUILDING";
  18829. IfcPermitTypeEnum.WORK = "WORK";
  18830. IfcPermitTypeEnum.USERDEFINED = "USERDEFINED";
  18831. IfcPermitTypeEnum.NOTDEFINED = "NOTDEFINED";
  18832. var IfcPhysicalOrVirtualEnum = class {
  18833. constructor(v) {
  18834. this.value = v;
  18835. }
  18836. };
  18837. IfcPhysicalOrVirtualEnum.PHYSICAL = "PHYSICAL";
  18838. IfcPhysicalOrVirtualEnum.VIRTUAL = "VIRTUAL";
  18839. IfcPhysicalOrVirtualEnum.NOTDEFINED = "NOTDEFINED";
  18840. var IfcPileConstructionEnum = class {
  18841. constructor(v) {
  18842. this.value = v;
  18843. }
  18844. };
  18845. IfcPileConstructionEnum.CAST_IN_PLACE = "CAST_IN_PLACE";
  18846. IfcPileConstructionEnum.COMPOSITE = "COMPOSITE";
  18847. IfcPileConstructionEnum.PRECAST_CONCRETE = "PRECAST_CONCRETE";
  18848. IfcPileConstructionEnum.PREFAB_STEEL = "PREFAB_STEEL";
  18849. IfcPileConstructionEnum.USERDEFINED = "USERDEFINED";
  18850. IfcPileConstructionEnum.NOTDEFINED = "NOTDEFINED";
  18851. var IfcPileTypeEnum = class {
  18852. constructor(v) {
  18853. this.value = v;
  18854. }
  18855. };
  18856. IfcPileTypeEnum.BORED = "BORED";
  18857. IfcPileTypeEnum.DRIVEN = "DRIVEN";
  18858. IfcPileTypeEnum.JETGROUTING = "JETGROUTING";
  18859. IfcPileTypeEnum.COHESION = "COHESION";
  18860. IfcPileTypeEnum.FRICTION = "FRICTION";
  18861. IfcPileTypeEnum.SUPPORT = "SUPPORT";
  18862. IfcPileTypeEnum.USERDEFINED = "USERDEFINED";
  18863. IfcPileTypeEnum.NOTDEFINED = "NOTDEFINED";
  18864. var IfcPipeFittingTypeEnum = class {
  18865. constructor(v) {
  18866. this.value = v;
  18867. }
  18868. };
  18869. IfcPipeFittingTypeEnum.BEND = "BEND";
  18870. IfcPipeFittingTypeEnum.CONNECTOR = "CONNECTOR";
  18871. IfcPipeFittingTypeEnum.ENTRY = "ENTRY";
  18872. IfcPipeFittingTypeEnum.EXIT = "EXIT";
  18873. IfcPipeFittingTypeEnum.JUNCTION = "JUNCTION";
  18874. IfcPipeFittingTypeEnum.OBSTRUCTION = "OBSTRUCTION";
  18875. IfcPipeFittingTypeEnum.TRANSITION = "TRANSITION";
  18876. IfcPipeFittingTypeEnum.USERDEFINED = "USERDEFINED";
  18877. IfcPipeFittingTypeEnum.NOTDEFINED = "NOTDEFINED";
  18878. var IfcPipeSegmentTypeEnum = class {
  18879. constructor(v) {
  18880. this.value = v;
  18881. }
  18882. };
  18883. IfcPipeSegmentTypeEnum.CULVERT = "CULVERT";
  18884. IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = "FLEXIBLESEGMENT";
  18885. IfcPipeSegmentTypeEnum.RIGIDSEGMENT = "RIGIDSEGMENT";
  18886. IfcPipeSegmentTypeEnum.GUTTER = "GUTTER";
  18887. IfcPipeSegmentTypeEnum.SPOOL = "SPOOL";
  18888. IfcPipeSegmentTypeEnum.USERDEFINED = "USERDEFINED";
  18889. IfcPipeSegmentTypeEnum.NOTDEFINED = "NOTDEFINED";
  18890. var IfcPlateTypeEnum = class {
  18891. constructor(v) {
  18892. this.value = v;
  18893. }
  18894. };
  18895. IfcPlateTypeEnum.CURTAIN_PANEL = "CURTAIN_PANEL";
  18896. IfcPlateTypeEnum.SHEET = "SHEET";
  18897. IfcPlateTypeEnum.FLANGE_PLATE = "FLANGE_PLATE";
  18898. IfcPlateTypeEnum.WEB_PLATE = "WEB_PLATE";
  18899. IfcPlateTypeEnum.STIFFENER_PLATE = "STIFFENER_PLATE";
  18900. IfcPlateTypeEnum.GUSSET_PLATE = "GUSSET_PLATE";
  18901. IfcPlateTypeEnum.COVER_PLATE = "COVER_PLATE";
  18902. IfcPlateTypeEnum.SPLICE_PLATE = "SPLICE_PLATE";
  18903. IfcPlateTypeEnum.BASE_PLATE = "BASE_PLATE";
  18904. IfcPlateTypeEnum.USERDEFINED = "USERDEFINED";
  18905. IfcPlateTypeEnum.NOTDEFINED = "NOTDEFINED";
  18906. var IfcPreferredSurfaceCurveRepresentation = class {
  18907. constructor(v) {
  18908. this.value = v;
  18909. }
  18910. };
  18911. IfcPreferredSurfaceCurveRepresentation.CURVE3D = "CURVE3D";
  18912. IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 = "PCURVE_S1";
  18913. IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 = "PCURVE_S2";
  18914. var IfcProcedureTypeEnum = class {
  18915. constructor(v) {
  18916. this.value = v;
  18917. }
  18918. };
  18919. IfcProcedureTypeEnum.ADVICE_CAUTION = "ADVICE_CAUTION";
  18920. IfcProcedureTypeEnum.ADVICE_NOTE = "ADVICE_NOTE";
  18921. IfcProcedureTypeEnum.ADVICE_WARNING = "ADVICE_WARNING";
  18922. IfcProcedureTypeEnum.CALIBRATION = "CALIBRATION";
  18923. IfcProcedureTypeEnum.DIAGNOSTIC = "DIAGNOSTIC";
  18924. IfcProcedureTypeEnum.SHUTDOWN = "SHUTDOWN";
  18925. IfcProcedureTypeEnum.STARTUP = "STARTUP";
  18926. IfcProcedureTypeEnum.USERDEFINED = "USERDEFINED";
  18927. IfcProcedureTypeEnum.NOTDEFINED = "NOTDEFINED";
  18928. var IfcProfileTypeEnum = class {
  18929. constructor(v) {
  18930. this.value = v;
  18931. }
  18932. };
  18933. IfcProfileTypeEnum.CURVE = "CURVE";
  18934. IfcProfileTypeEnum.AREA = "AREA";
  18935. var IfcProjectOrderTypeEnum = class {
  18936. constructor(v) {
  18937. this.value = v;
  18938. }
  18939. };
  18940. IfcProjectOrderTypeEnum.CHANGEORDER = "CHANGEORDER";
  18941. IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = "MAINTENANCEWORKORDER";
  18942. IfcProjectOrderTypeEnum.MOVEORDER = "MOVEORDER";
  18943. IfcProjectOrderTypeEnum.PURCHASEORDER = "PURCHASEORDER";
  18944. IfcProjectOrderTypeEnum.WORKORDER = "WORKORDER";
  18945. IfcProjectOrderTypeEnum.USERDEFINED = "USERDEFINED";
  18946. IfcProjectOrderTypeEnum.NOTDEFINED = "NOTDEFINED";
  18947. var IfcProjectedOrTrueLengthEnum = class {
  18948. constructor(v) {
  18949. this.value = v;
  18950. }
  18951. };
  18952. IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = "PROJECTED_LENGTH";
  18953. IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = "TRUE_LENGTH";
  18954. var IfcProjectionElementTypeEnum = class {
  18955. constructor(v) {
  18956. this.value = v;
  18957. }
  18958. };
  18959. IfcProjectionElementTypeEnum.BLISTER = "BLISTER";
  18960. IfcProjectionElementTypeEnum.DEVIATOR = "DEVIATOR";
  18961. IfcProjectionElementTypeEnum.USERDEFINED = "USERDEFINED";
  18962. IfcProjectionElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  18963. var IfcPropertySetTemplateTypeEnum = class {
  18964. constructor(v) {
  18965. this.value = v;
  18966. }
  18967. };
  18968. IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY = "PSET_TYPEDRIVENONLY";
  18969. IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE = "PSET_TYPEDRIVENOVERRIDE";
  18970. IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN = "PSET_OCCURRENCEDRIVEN";
  18971. IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN = "PSET_PERFORMANCEDRIVEN";
  18972. IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY = "QTO_TYPEDRIVENONLY";
  18973. IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE = "QTO_TYPEDRIVENOVERRIDE";
  18974. IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN = "QTO_OCCURRENCEDRIVEN";
  18975. IfcPropertySetTemplateTypeEnum.NOTDEFINED = "NOTDEFINED";
  18976. var IfcProtectiveDeviceTrippingUnitTypeEnum = class {
  18977. constructor(v) {
  18978. this.value = v;
  18979. }
  18980. };
  18981. IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC = "ELECTRONIC";
  18982. IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC = "ELECTROMAGNETIC";
  18983. IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT = "RESIDUALCURRENT";
  18984. IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL = "THERMAL";
  18985. IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED = "USERDEFINED";
  18986. IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED = "NOTDEFINED";
  18987. var IfcProtectiveDeviceTypeEnum = class {
  18988. constructor(v) {
  18989. this.value = v;
  18990. }
  18991. };
  18992. IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = "CIRCUITBREAKER";
  18993. IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER = "EARTHLEAKAGECIRCUITBREAKER";
  18994. IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH = "EARTHINGSWITCH";
  18995. IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = "FUSEDISCONNECTOR";
  18996. IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = "RESIDUALCURRENTCIRCUITBREAKER";
  18997. IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = "RESIDUALCURRENTSWITCH";
  18998. IfcProtectiveDeviceTypeEnum.VARISTOR = "VARISTOR";
  18999. IfcProtectiveDeviceTypeEnum.USERDEFINED = "USERDEFINED";
  19000. IfcProtectiveDeviceTypeEnum.NOTDEFINED = "NOTDEFINED";
  19001. var IfcPumpTypeEnum = class {
  19002. constructor(v) {
  19003. this.value = v;
  19004. }
  19005. };
  19006. IfcPumpTypeEnum.CIRCULATOR = "CIRCULATOR";
  19007. IfcPumpTypeEnum.ENDSUCTION = "ENDSUCTION";
  19008. IfcPumpTypeEnum.SPLITCASE = "SPLITCASE";
  19009. IfcPumpTypeEnum.SUBMERSIBLEPUMP = "SUBMERSIBLEPUMP";
  19010. IfcPumpTypeEnum.SUMPPUMP = "SUMPPUMP";
  19011. IfcPumpTypeEnum.VERTICALINLINE = "VERTICALINLINE";
  19012. IfcPumpTypeEnum.VERTICALTURBINE = "VERTICALTURBINE";
  19013. IfcPumpTypeEnum.USERDEFINED = "USERDEFINED";
  19014. IfcPumpTypeEnum.NOTDEFINED = "NOTDEFINED";
  19015. var IfcRailingTypeEnum = class {
  19016. constructor(v) {
  19017. this.value = v;
  19018. }
  19019. };
  19020. IfcRailingTypeEnum.HANDRAIL = "HANDRAIL";
  19021. IfcRailingTypeEnum.GUARDRAIL = "GUARDRAIL";
  19022. IfcRailingTypeEnum.BALUSTRADE = "BALUSTRADE";
  19023. IfcRailingTypeEnum.USERDEFINED = "USERDEFINED";
  19024. IfcRailingTypeEnum.NOTDEFINED = "NOTDEFINED";
  19025. var IfcRampFlightTypeEnum = class {
  19026. constructor(v) {
  19027. this.value = v;
  19028. }
  19029. };
  19030. IfcRampFlightTypeEnum.STRAIGHT = "STRAIGHT";
  19031. IfcRampFlightTypeEnum.SPIRAL = "SPIRAL";
  19032. IfcRampFlightTypeEnum.USERDEFINED = "USERDEFINED";
  19033. IfcRampFlightTypeEnum.NOTDEFINED = "NOTDEFINED";
  19034. var IfcRampTypeEnum = class {
  19035. constructor(v) {
  19036. this.value = v;
  19037. }
  19038. };
  19039. IfcRampTypeEnum.STRAIGHT_RUN_RAMP = "STRAIGHT_RUN_RAMP";
  19040. IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = "TWO_STRAIGHT_RUN_RAMP";
  19041. IfcRampTypeEnum.QUARTER_TURN_RAMP = "QUARTER_TURN_RAMP";
  19042. IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = "TWO_QUARTER_TURN_RAMP";
  19043. IfcRampTypeEnum.HALF_TURN_RAMP = "HALF_TURN_RAMP";
  19044. IfcRampTypeEnum.SPIRAL_RAMP = "SPIRAL_RAMP";
  19045. IfcRampTypeEnum.USERDEFINED = "USERDEFINED";
  19046. IfcRampTypeEnum.NOTDEFINED = "NOTDEFINED";
  19047. var IfcRecurrenceTypeEnum = class {
  19048. constructor(v) {
  19049. this.value = v;
  19050. }
  19051. };
  19052. IfcRecurrenceTypeEnum.DAILY = "DAILY";
  19053. IfcRecurrenceTypeEnum.WEEKLY = "WEEKLY";
  19054. IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH = "MONTHLY_BY_DAY_OF_MONTH";
  19055. IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION = "MONTHLY_BY_POSITION";
  19056. IfcRecurrenceTypeEnum.BY_DAY_COUNT = "BY_DAY_COUNT";
  19057. IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT = "BY_WEEKDAY_COUNT";
  19058. IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH = "YEARLY_BY_DAY_OF_MONTH";
  19059. IfcRecurrenceTypeEnum.YEARLY_BY_POSITION = "YEARLY_BY_POSITION";
  19060. var IfcReferentTypeEnum = class {
  19061. constructor(v) {
  19062. this.value = v;
  19063. }
  19064. };
  19065. IfcReferentTypeEnum.KILOPOINT = "KILOPOINT";
  19066. IfcReferentTypeEnum.MILEPOINT = "MILEPOINT";
  19067. IfcReferentTypeEnum.STATION = "STATION";
  19068. IfcReferentTypeEnum.USERDEFINED = "USERDEFINED";
  19069. IfcReferentTypeEnum.NOTDEFINED = "NOTDEFINED";
  19070. var IfcReflectanceMethodEnum = class {
  19071. constructor(v) {
  19072. this.value = v;
  19073. }
  19074. };
  19075. IfcReflectanceMethodEnum.BLINN = "BLINN";
  19076. IfcReflectanceMethodEnum.FLAT = "FLAT";
  19077. IfcReflectanceMethodEnum.GLASS = "GLASS";
  19078. IfcReflectanceMethodEnum.MATT = "MATT";
  19079. IfcReflectanceMethodEnum.METAL = "METAL";
  19080. IfcReflectanceMethodEnum.MIRROR = "MIRROR";
  19081. IfcReflectanceMethodEnum.PHONG = "PHONG";
  19082. IfcReflectanceMethodEnum.PLASTIC = "PLASTIC";
  19083. IfcReflectanceMethodEnum.STRAUSS = "STRAUSS";
  19084. IfcReflectanceMethodEnum.NOTDEFINED = "NOTDEFINED";
  19085. var IfcReinforcingBarRoleEnum = class {
  19086. constructor(v) {
  19087. this.value = v;
  19088. }
  19089. };
  19090. IfcReinforcingBarRoleEnum.MAIN = "MAIN";
  19091. IfcReinforcingBarRoleEnum.SHEAR = "SHEAR";
  19092. IfcReinforcingBarRoleEnum.LIGATURE = "LIGATURE";
  19093. IfcReinforcingBarRoleEnum.STUD = "STUD";
  19094. IfcReinforcingBarRoleEnum.PUNCHING = "PUNCHING";
  19095. IfcReinforcingBarRoleEnum.EDGE = "EDGE";
  19096. IfcReinforcingBarRoleEnum.RING = "RING";
  19097. IfcReinforcingBarRoleEnum.ANCHORING = "ANCHORING";
  19098. IfcReinforcingBarRoleEnum.USERDEFINED = "USERDEFINED";
  19099. IfcReinforcingBarRoleEnum.NOTDEFINED = "NOTDEFINED";
  19100. var IfcReinforcingBarSurfaceEnum = class {
  19101. constructor(v) {
  19102. this.value = v;
  19103. }
  19104. };
  19105. IfcReinforcingBarSurfaceEnum.PLAIN = "PLAIN";
  19106. IfcReinforcingBarSurfaceEnum.TEXTURED = "TEXTURED";
  19107. var IfcReinforcingBarTypeEnum = class {
  19108. constructor(v) {
  19109. this.value = v;
  19110. }
  19111. };
  19112. IfcReinforcingBarTypeEnum.ANCHORING = "ANCHORING";
  19113. IfcReinforcingBarTypeEnum.EDGE = "EDGE";
  19114. IfcReinforcingBarTypeEnum.LIGATURE = "LIGATURE";
  19115. IfcReinforcingBarTypeEnum.MAIN = "MAIN";
  19116. IfcReinforcingBarTypeEnum.PUNCHING = "PUNCHING";
  19117. IfcReinforcingBarTypeEnum.RING = "RING";
  19118. IfcReinforcingBarTypeEnum.SHEAR = "SHEAR";
  19119. IfcReinforcingBarTypeEnum.STUD = "STUD";
  19120. IfcReinforcingBarTypeEnum.SPACEBAR = "SPACEBAR";
  19121. IfcReinforcingBarTypeEnum.USERDEFINED = "USERDEFINED";
  19122. IfcReinforcingBarTypeEnum.NOTDEFINED = "NOTDEFINED";
  19123. var IfcReinforcingMeshTypeEnum = class {
  19124. constructor(v) {
  19125. this.value = v;
  19126. }
  19127. };
  19128. IfcReinforcingMeshTypeEnum.USERDEFINED = "USERDEFINED";
  19129. IfcReinforcingMeshTypeEnum.NOTDEFINED = "NOTDEFINED";
  19130. var IfcRoleEnum = class {
  19131. constructor(v) {
  19132. this.value = v;
  19133. }
  19134. };
  19135. IfcRoleEnum.SUPPLIER = "SUPPLIER";
  19136. IfcRoleEnum.MANUFACTURER = "MANUFACTURER";
  19137. IfcRoleEnum.CONTRACTOR = "CONTRACTOR";
  19138. IfcRoleEnum.SUBCONTRACTOR = "SUBCONTRACTOR";
  19139. IfcRoleEnum.ARCHITECT = "ARCHITECT";
  19140. IfcRoleEnum.STRUCTURALENGINEER = "STRUCTURALENGINEER";
  19141. IfcRoleEnum.COSTENGINEER = "COSTENGINEER";
  19142. IfcRoleEnum.CLIENT = "CLIENT";
  19143. IfcRoleEnum.BUILDINGOWNER = "BUILDINGOWNER";
  19144. IfcRoleEnum.BUILDINGOPERATOR = "BUILDINGOPERATOR";
  19145. IfcRoleEnum.MECHANICALENGINEER = "MECHANICALENGINEER";
  19146. IfcRoleEnum.ELECTRICALENGINEER = "ELECTRICALENGINEER";
  19147. IfcRoleEnum.PROJECTMANAGER = "PROJECTMANAGER";
  19148. IfcRoleEnum.FACILITIESMANAGER = "FACILITIESMANAGER";
  19149. IfcRoleEnum.CIVILENGINEER = "CIVILENGINEER";
  19150. IfcRoleEnum.COMMISSIONINGENGINEER = "COMMISSIONINGENGINEER";
  19151. IfcRoleEnum.ENGINEER = "ENGINEER";
  19152. IfcRoleEnum.OWNER = "OWNER";
  19153. IfcRoleEnum.CONSULTANT = "CONSULTANT";
  19154. IfcRoleEnum.CONSTRUCTIONMANAGER = "CONSTRUCTIONMANAGER";
  19155. IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = "FIELDCONSTRUCTIONMANAGER";
  19156. IfcRoleEnum.RESELLER = "RESELLER";
  19157. IfcRoleEnum.USERDEFINED = "USERDEFINED";
  19158. var IfcRoofTypeEnum = class {
  19159. constructor(v) {
  19160. this.value = v;
  19161. }
  19162. };
  19163. IfcRoofTypeEnum.FLAT_ROOF = "FLAT_ROOF";
  19164. IfcRoofTypeEnum.SHED_ROOF = "SHED_ROOF";
  19165. IfcRoofTypeEnum.GABLE_ROOF = "GABLE_ROOF";
  19166. IfcRoofTypeEnum.HIP_ROOF = "HIP_ROOF";
  19167. IfcRoofTypeEnum.HIPPED_GABLE_ROOF = "HIPPED_GABLE_ROOF";
  19168. IfcRoofTypeEnum.GAMBREL_ROOF = "GAMBREL_ROOF";
  19169. IfcRoofTypeEnum.MANSARD_ROOF = "MANSARD_ROOF";
  19170. IfcRoofTypeEnum.BARREL_ROOF = "BARREL_ROOF";
  19171. IfcRoofTypeEnum.RAINBOW_ROOF = "RAINBOW_ROOF";
  19172. IfcRoofTypeEnum.BUTTERFLY_ROOF = "BUTTERFLY_ROOF";
  19173. IfcRoofTypeEnum.PAVILION_ROOF = "PAVILION_ROOF";
  19174. IfcRoofTypeEnum.DOME_ROOF = "DOME_ROOF";
  19175. IfcRoofTypeEnum.FREEFORM = "FREEFORM";
  19176. IfcRoofTypeEnum.USERDEFINED = "USERDEFINED";
  19177. IfcRoofTypeEnum.NOTDEFINED = "NOTDEFINED";
  19178. var IfcSIPrefix = class {
  19179. constructor(v) {
  19180. this.value = v;
  19181. }
  19182. };
  19183. IfcSIPrefix.EXA = "EXA";
  19184. IfcSIPrefix.PETA = "PETA";
  19185. IfcSIPrefix.TERA = "TERA";
  19186. IfcSIPrefix.GIGA = "GIGA";
  19187. IfcSIPrefix.MEGA = "MEGA";
  19188. IfcSIPrefix.KILO = "KILO";
  19189. IfcSIPrefix.HECTO = "HECTO";
  19190. IfcSIPrefix.DECA = "DECA";
  19191. IfcSIPrefix.DECI = "DECI";
  19192. IfcSIPrefix.CENTI = "CENTI";
  19193. IfcSIPrefix.MILLI = "MILLI";
  19194. IfcSIPrefix.MICRO = "MICRO";
  19195. IfcSIPrefix.NANO = "NANO";
  19196. IfcSIPrefix.PICO = "PICO";
  19197. IfcSIPrefix.FEMTO = "FEMTO";
  19198. IfcSIPrefix.ATTO = "ATTO";
  19199. var IfcSIUnitName = class {
  19200. constructor(v) {
  19201. this.value = v;
  19202. }
  19203. };
  19204. IfcSIUnitName.AMPERE = "AMPERE";
  19205. IfcSIUnitName.BECQUEREL = "BECQUEREL";
  19206. IfcSIUnitName.CANDELA = "CANDELA";
  19207. IfcSIUnitName.COULOMB = "COULOMB";
  19208. IfcSIUnitName.CUBIC_METRE = "CUBIC_METRE";
  19209. IfcSIUnitName.DEGREE_CELSIUS = "DEGREE_CELSIUS";
  19210. IfcSIUnitName.FARAD = "FARAD";
  19211. IfcSIUnitName.GRAM = "GRAM";
  19212. IfcSIUnitName.GRAY = "GRAY";
  19213. IfcSIUnitName.HENRY = "HENRY";
  19214. IfcSIUnitName.HERTZ = "HERTZ";
  19215. IfcSIUnitName.JOULE = "JOULE";
  19216. IfcSIUnitName.KELVIN = "KELVIN";
  19217. IfcSIUnitName.LUMEN = "LUMEN";
  19218. IfcSIUnitName.LUX = "LUX";
  19219. IfcSIUnitName.METRE = "METRE";
  19220. IfcSIUnitName.MOLE = "MOLE";
  19221. IfcSIUnitName.NEWTON = "NEWTON";
  19222. IfcSIUnitName.OHM = "OHM";
  19223. IfcSIUnitName.PASCAL = "PASCAL";
  19224. IfcSIUnitName.RADIAN = "RADIAN";
  19225. IfcSIUnitName.SECOND = "SECOND";
  19226. IfcSIUnitName.SIEMENS = "SIEMENS";
  19227. IfcSIUnitName.SIEVERT = "SIEVERT";
  19228. IfcSIUnitName.SQUARE_METRE = "SQUARE_METRE";
  19229. IfcSIUnitName.STERADIAN = "STERADIAN";
  19230. IfcSIUnitName.TESLA = "TESLA";
  19231. IfcSIUnitName.VOLT = "VOLT";
  19232. IfcSIUnitName.WATT = "WATT";
  19233. IfcSIUnitName.WEBER = "WEBER";
  19234. var IfcSanitaryTerminalTypeEnum = class {
  19235. constructor(v) {
  19236. this.value = v;
  19237. }
  19238. };
  19239. IfcSanitaryTerminalTypeEnum.BATH = "BATH";
  19240. IfcSanitaryTerminalTypeEnum.BIDET = "BIDET";
  19241. IfcSanitaryTerminalTypeEnum.CISTERN = "CISTERN";
  19242. IfcSanitaryTerminalTypeEnum.SHOWER = "SHOWER";
  19243. IfcSanitaryTerminalTypeEnum.SINK = "SINK";
  19244. IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = "SANITARYFOUNTAIN";
  19245. IfcSanitaryTerminalTypeEnum.TOILETPAN = "TOILETPAN";
  19246. IfcSanitaryTerminalTypeEnum.URINAL = "URINAL";
  19247. IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = "WASHHANDBASIN";
  19248. IfcSanitaryTerminalTypeEnum.WCSEAT = "WCSEAT";
  19249. IfcSanitaryTerminalTypeEnum.USERDEFINED = "USERDEFINED";
  19250. IfcSanitaryTerminalTypeEnum.NOTDEFINED = "NOTDEFINED";
  19251. var IfcSectionTypeEnum = class {
  19252. constructor(v) {
  19253. this.value = v;
  19254. }
  19255. };
  19256. IfcSectionTypeEnum.UNIFORM = "UNIFORM";
  19257. IfcSectionTypeEnum.TAPERED = "TAPERED";
  19258. var IfcSensorTypeEnum = class {
  19259. constructor(v) {
  19260. this.value = v;
  19261. }
  19262. };
  19263. IfcSensorTypeEnum.COSENSOR = "COSENSOR";
  19264. IfcSensorTypeEnum.CO2SENSOR = "CO2SENSOR";
  19265. IfcSensorTypeEnum.CONDUCTANCESENSOR = "CONDUCTANCESENSOR";
  19266. IfcSensorTypeEnum.CONTACTSENSOR = "CONTACTSENSOR";
  19267. IfcSensorTypeEnum.FIRESENSOR = "FIRESENSOR";
  19268. IfcSensorTypeEnum.FLOWSENSOR = "FLOWSENSOR";
  19269. IfcSensorTypeEnum.FROSTSENSOR = "FROSTSENSOR";
  19270. IfcSensorTypeEnum.GASSENSOR = "GASSENSOR";
  19271. IfcSensorTypeEnum.HEATSENSOR = "HEATSENSOR";
  19272. IfcSensorTypeEnum.HUMIDITYSENSOR = "HUMIDITYSENSOR";
  19273. IfcSensorTypeEnum.IDENTIFIERSENSOR = "IDENTIFIERSENSOR";
  19274. IfcSensorTypeEnum.IONCONCENTRATIONSENSOR = "IONCONCENTRATIONSENSOR";
  19275. IfcSensorTypeEnum.LEVELSENSOR = "LEVELSENSOR";
  19276. IfcSensorTypeEnum.LIGHTSENSOR = "LIGHTSENSOR";
  19277. IfcSensorTypeEnum.MOISTURESENSOR = "MOISTURESENSOR";
  19278. IfcSensorTypeEnum.MOVEMENTSENSOR = "MOVEMENTSENSOR";
  19279. IfcSensorTypeEnum.PHSENSOR = "PHSENSOR";
  19280. IfcSensorTypeEnum.PRESSURESENSOR = "PRESSURESENSOR";
  19281. IfcSensorTypeEnum.RADIATIONSENSOR = "RADIATIONSENSOR";
  19282. IfcSensorTypeEnum.RADIOACTIVITYSENSOR = "RADIOACTIVITYSENSOR";
  19283. IfcSensorTypeEnum.SMOKESENSOR = "SMOKESENSOR";
  19284. IfcSensorTypeEnum.SOUNDSENSOR = "SOUNDSENSOR";
  19285. IfcSensorTypeEnum.TEMPERATURESENSOR = "TEMPERATURESENSOR";
  19286. IfcSensorTypeEnum.WINDSENSOR = "WINDSENSOR";
  19287. IfcSensorTypeEnum.USERDEFINED = "USERDEFINED";
  19288. IfcSensorTypeEnum.NOTDEFINED = "NOTDEFINED";
  19289. var IfcSequenceEnum = class {
  19290. constructor(v) {
  19291. this.value = v;
  19292. }
  19293. };
  19294. IfcSequenceEnum.START_START = "START_START";
  19295. IfcSequenceEnum.START_FINISH = "START_FINISH";
  19296. IfcSequenceEnum.FINISH_START = "FINISH_START";
  19297. IfcSequenceEnum.FINISH_FINISH = "FINISH_FINISH";
  19298. IfcSequenceEnum.USERDEFINED = "USERDEFINED";
  19299. IfcSequenceEnum.NOTDEFINED = "NOTDEFINED";
  19300. var IfcShadingDeviceTypeEnum = class {
  19301. constructor(v) {
  19302. this.value = v;
  19303. }
  19304. };
  19305. IfcShadingDeviceTypeEnum.JALOUSIE = "JALOUSIE";
  19306. IfcShadingDeviceTypeEnum.SHUTTER = "SHUTTER";
  19307. IfcShadingDeviceTypeEnum.AWNING = "AWNING";
  19308. IfcShadingDeviceTypeEnum.USERDEFINED = "USERDEFINED";
  19309. IfcShadingDeviceTypeEnum.NOTDEFINED = "NOTDEFINED";
  19310. var IfcSimplePropertyTemplateTypeEnum = class {
  19311. constructor(v) {
  19312. this.value = v;
  19313. }
  19314. };
  19315. IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE = "P_SINGLEVALUE";
  19316. IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE = "P_ENUMERATEDVALUE";
  19317. IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE = "P_BOUNDEDVALUE";
  19318. IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE = "P_LISTVALUE";
  19319. IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE = "P_TABLEVALUE";
  19320. IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE = "P_REFERENCEVALUE";
  19321. IfcSimplePropertyTemplateTypeEnum.Q_LENGTH = "Q_LENGTH";
  19322. IfcSimplePropertyTemplateTypeEnum.Q_AREA = "Q_AREA";
  19323. IfcSimplePropertyTemplateTypeEnum.Q_VOLUME = "Q_VOLUME";
  19324. IfcSimplePropertyTemplateTypeEnum.Q_COUNT = "Q_COUNT";
  19325. IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT = "Q_WEIGHT";
  19326. IfcSimplePropertyTemplateTypeEnum.Q_TIME = "Q_TIME";
  19327. var IfcSlabTypeEnum = class {
  19328. constructor(v) {
  19329. this.value = v;
  19330. }
  19331. };
  19332. IfcSlabTypeEnum.FLOOR = "FLOOR";
  19333. IfcSlabTypeEnum.ROOF = "ROOF";
  19334. IfcSlabTypeEnum.LANDING = "LANDING";
  19335. IfcSlabTypeEnum.BASESLAB = "BASESLAB";
  19336. IfcSlabTypeEnum.APPROACH_SLAB = "APPROACH_SLAB";
  19337. IfcSlabTypeEnum.PAVING = "PAVING";
  19338. IfcSlabTypeEnum.WEARING = "WEARING";
  19339. IfcSlabTypeEnum.SIDEWALK = "SIDEWALK";
  19340. IfcSlabTypeEnum.USERDEFINED = "USERDEFINED";
  19341. IfcSlabTypeEnum.NOTDEFINED = "NOTDEFINED";
  19342. var IfcSolarDeviceTypeEnum = class {
  19343. constructor(v) {
  19344. this.value = v;
  19345. }
  19346. };
  19347. IfcSolarDeviceTypeEnum.SOLARCOLLECTOR = "SOLARCOLLECTOR";
  19348. IfcSolarDeviceTypeEnum.SOLARPANEL = "SOLARPANEL";
  19349. IfcSolarDeviceTypeEnum.USERDEFINED = "USERDEFINED";
  19350. IfcSolarDeviceTypeEnum.NOTDEFINED = "NOTDEFINED";
  19351. var IfcSpaceHeaterTypeEnum = class {
  19352. constructor(v) {
  19353. this.value = v;
  19354. }
  19355. };
  19356. IfcSpaceHeaterTypeEnum.CONVECTOR = "CONVECTOR";
  19357. IfcSpaceHeaterTypeEnum.RADIATOR = "RADIATOR";
  19358. IfcSpaceHeaterTypeEnum.USERDEFINED = "USERDEFINED";
  19359. IfcSpaceHeaterTypeEnum.NOTDEFINED = "NOTDEFINED";
  19360. var IfcSpaceTypeEnum = class {
  19361. constructor(v) {
  19362. this.value = v;
  19363. }
  19364. };
  19365. IfcSpaceTypeEnum.SPACE = "SPACE";
  19366. IfcSpaceTypeEnum.PARKING = "PARKING";
  19367. IfcSpaceTypeEnum.GFA = "GFA";
  19368. IfcSpaceTypeEnum.INTERNAL = "INTERNAL";
  19369. IfcSpaceTypeEnum.EXTERNAL = "EXTERNAL";
  19370. IfcSpaceTypeEnum.USERDEFINED = "USERDEFINED";
  19371. IfcSpaceTypeEnum.NOTDEFINED = "NOTDEFINED";
  19372. var IfcSpatialZoneTypeEnum = class {
  19373. constructor(v) {
  19374. this.value = v;
  19375. }
  19376. };
  19377. IfcSpatialZoneTypeEnum.CONSTRUCTION = "CONSTRUCTION";
  19378. IfcSpatialZoneTypeEnum.FIRESAFETY = "FIRESAFETY";
  19379. IfcSpatialZoneTypeEnum.LIGHTING = "LIGHTING";
  19380. IfcSpatialZoneTypeEnum.OCCUPANCY = "OCCUPANCY";
  19381. IfcSpatialZoneTypeEnum.SECURITY = "SECURITY";
  19382. IfcSpatialZoneTypeEnum.THERMAL = "THERMAL";
  19383. IfcSpatialZoneTypeEnum.TRANSPORT = "TRANSPORT";
  19384. IfcSpatialZoneTypeEnum.VENTILATION = "VENTILATION";
  19385. IfcSpatialZoneTypeEnum.USERDEFINED = "USERDEFINED";
  19386. IfcSpatialZoneTypeEnum.NOTDEFINED = "NOTDEFINED";
  19387. var IfcStackTerminalTypeEnum = class {
  19388. constructor(v) {
  19389. this.value = v;
  19390. }
  19391. };
  19392. IfcStackTerminalTypeEnum.BIRDCAGE = "BIRDCAGE";
  19393. IfcStackTerminalTypeEnum.COWL = "COWL";
  19394. IfcStackTerminalTypeEnum.RAINWATERHOPPER = "RAINWATERHOPPER";
  19395. IfcStackTerminalTypeEnum.USERDEFINED = "USERDEFINED";
  19396. IfcStackTerminalTypeEnum.NOTDEFINED = "NOTDEFINED";
  19397. var IfcStairFlightTypeEnum = class {
  19398. constructor(v) {
  19399. this.value = v;
  19400. }
  19401. };
  19402. IfcStairFlightTypeEnum.STRAIGHT = "STRAIGHT";
  19403. IfcStairFlightTypeEnum.WINDER = "WINDER";
  19404. IfcStairFlightTypeEnum.SPIRAL = "SPIRAL";
  19405. IfcStairFlightTypeEnum.CURVED = "CURVED";
  19406. IfcStairFlightTypeEnum.FREEFORM = "FREEFORM";
  19407. IfcStairFlightTypeEnum.USERDEFINED = "USERDEFINED";
  19408. IfcStairFlightTypeEnum.NOTDEFINED = "NOTDEFINED";
  19409. var IfcStairTypeEnum = class {
  19410. constructor(v) {
  19411. this.value = v;
  19412. }
  19413. };
  19414. IfcStairTypeEnum.STRAIGHT_RUN_STAIR = "STRAIGHT_RUN_STAIR";
  19415. IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = "TWO_STRAIGHT_RUN_STAIR";
  19416. IfcStairTypeEnum.QUARTER_WINDING_STAIR = "QUARTER_WINDING_STAIR";
  19417. IfcStairTypeEnum.QUARTER_TURN_STAIR = "QUARTER_TURN_STAIR";
  19418. IfcStairTypeEnum.HALF_WINDING_STAIR = "HALF_WINDING_STAIR";
  19419. IfcStairTypeEnum.HALF_TURN_STAIR = "HALF_TURN_STAIR";
  19420. IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = "TWO_QUARTER_WINDING_STAIR";
  19421. IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = "TWO_QUARTER_TURN_STAIR";
  19422. IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = "THREE_QUARTER_WINDING_STAIR";
  19423. IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = "THREE_QUARTER_TURN_STAIR";
  19424. IfcStairTypeEnum.SPIRAL_STAIR = "SPIRAL_STAIR";
  19425. IfcStairTypeEnum.DOUBLE_RETURN_STAIR = "DOUBLE_RETURN_STAIR";
  19426. IfcStairTypeEnum.CURVED_RUN_STAIR = "CURVED_RUN_STAIR";
  19427. IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = "TWO_CURVED_RUN_STAIR";
  19428. IfcStairTypeEnum.USERDEFINED = "USERDEFINED";
  19429. IfcStairTypeEnum.NOTDEFINED = "NOTDEFINED";
  19430. var IfcStateEnum = class {
  19431. constructor(v) {
  19432. this.value = v;
  19433. }
  19434. };
  19435. IfcStateEnum.READWRITE = "READWRITE";
  19436. IfcStateEnum.READONLY = "READONLY";
  19437. IfcStateEnum.LOCKED = "LOCKED";
  19438. IfcStateEnum.READWRITELOCKED = "READWRITELOCKED";
  19439. IfcStateEnum.READONLYLOCKED = "READONLYLOCKED";
  19440. var IfcStructuralCurveActivityTypeEnum = class {
  19441. constructor(v) {
  19442. this.value = v;
  19443. }
  19444. };
  19445. IfcStructuralCurveActivityTypeEnum.CONST = "CONST";
  19446. IfcStructuralCurveActivityTypeEnum.LINEAR = "LINEAR";
  19447. IfcStructuralCurveActivityTypeEnum.POLYGONAL = "POLYGONAL";
  19448. IfcStructuralCurveActivityTypeEnum.EQUIDISTANT = "EQUIDISTANT";
  19449. IfcStructuralCurveActivityTypeEnum.SINUS = "SINUS";
  19450. IfcStructuralCurveActivityTypeEnum.PARABOLA = "PARABOLA";
  19451. IfcStructuralCurveActivityTypeEnum.DISCRETE = "DISCRETE";
  19452. IfcStructuralCurveActivityTypeEnum.USERDEFINED = "USERDEFINED";
  19453. IfcStructuralCurveActivityTypeEnum.NOTDEFINED = "NOTDEFINED";
  19454. var IfcStructuralCurveMemberTypeEnum = class {
  19455. constructor(v) {
  19456. this.value = v;
  19457. }
  19458. };
  19459. IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER = "RIGID_JOINED_MEMBER";
  19460. IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER = "PIN_JOINED_MEMBER";
  19461. IfcStructuralCurveMemberTypeEnum.CABLE = "CABLE";
  19462. IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER = "TENSION_MEMBER";
  19463. IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER = "COMPRESSION_MEMBER";
  19464. IfcStructuralCurveMemberTypeEnum.USERDEFINED = "USERDEFINED";
  19465. IfcStructuralCurveMemberTypeEnum.NOTDEFINED = "NOTDEFINED";
  19466. var IfcStructuralSurfaceActivityTypeEnum = class {
  19467. constructor(v) {
  19468. this.value = v;
  19469. }
  19470. };
  19471. IfcStructuralSurfaceActivityTypeEnum.CONST = "CONST";
  19472. IfcStructuralSurfaceActivityTypeEnum.BILINEAR = "BILINEAR";
  19473. IfcStructuralSurfaceActivityTypeEnum.DISCRETE = "DISCRETE";
  19474. IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR = "ISOCONTOUR";
  19475. IfcStructuralSurfaceActivityTypeEnum.USERDEFINED = "USERDEFINED";
  19476. IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED = "NOTDEFINED";
  19477. var IfcStructuralSurfaceMemberTypeEnum = class {
  19478. constructor(v) {
  19479. this.value = v;
  19480. }
  19481. };
  19482. IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT = "BENDING_ELEMENT";
  19483. IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT = "MEMBRANE_ELEMENT";
  19484. IfcStructuralSurfaceMemberTypeEnum.SHELL = "SHELL";
  19485. IfcStructuralSurfaceMemberTypeEnum.USERDEFINED = "USERDEFINED";
  19486. IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED = "NOTDEFINED";
  19487. var IfcSubContractResourceTypeEnum = class {
  19488. constructor(v) {
  19489. this.value = v;
  19490. }
  19491. };
  19492. IfcSubContractResourceTypeEnum.PURCHASE = "PURCHASE";
  19493. IfcSubContractResourceTypeEnum.WORK = "WORK";
  19494. IfcSubContractResourceTypeEnum.USERDEFINED = "USERDEFINED";
  19495. IfcSubContractResourceTypeEnum.NOTDEFINED = "NOTDEFINED";
  19496. var IfcSurfaceFeatureTypeEnum = class {
  19497. constructor(v) {
  19498. this.value = v;
  19499. }
  19500. };
  19501. IfcSurfaceFeatureTypeEnum.MARK = "MARK";
  19502. IfcSurfaceFeatureTypeEnum.TAG = "TAG";
  19503. IfcSurfaceFeatureTypeEnum.TREATMENT = "TREATMENT";
  19504. IfcSurfaceFeatureTypeEnum.DEFECT = "DEFECT";
  19505. IfcSurfaceFeatureTypeEnum.USERDEFINED = "USERDEFINED";
  19506. IfcSurfaceFeatureTypeEnum.NOTDEFINED = "NOTDEFINED";
  19507. var IfcSurfaceSide = class {
  19508. constructor(v) {
  19509. this.value = v;
  19510. }
  19511. };
  19512. IfcSurfaceSide.POSITIVE = "POSITIVE";
  19513. IfcSurfaceSide.NEGATIVE = "NEGATIVE";
  19514. IfcSurfaceSide.BOTH = "BOTH";
  19515. var IfcSwitchingDeviceTypeEnum = class {
  19516. constructor(v) {
  19517. this.value = v;
  19518. }
  19519. };
  19520. IfcSwitchingDeviceTypeEnum.CONTACTOR = "CONTACTOR";
  19521. IfcSwitchingDeviceTypeEnum.DIMMERSWITCH = "DIMMERSWITCH";
  19522. IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = "EMERGENCYSTOP";
  19523. IfcSwitchingDeviceTypeEnum.KEYPAD = "KEYPAD";
  19524. IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH = "MOMENTARYSWITCH";
  19525. IfcSwitchingDeviceTypeEnum.SELECTORSWITCH = "SELECTORSWITCH";
  19526. IfcSwitchingDeviceTypeEnum.STARTER = "STARTER";
  19527. IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = "SWITCHDISCONNECTOR";
  19528. IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = "TOGGLESWITCH";
  19529. IfcSwitchingDeviceTypeEnum.USERDEFINED = "USERDEFINED";
  19530. IfcSwitchingDeviceTypeEnum.NOTDEFINED = "NOTDEFINED";
  19531. var IfcSystemFurnitureElementTypeEnum = class {
  19532. constructor(v) {
  19533. this.value = v;
  19534. }
  19535. };
  19536. IfcSystemFurnitureElementTypeEnum.PANEL = "PANEL";
  19537. IfcSystemFurnitureElementTypeEnum.WORKSURFACE = "WORKSURFACE";
  19538. IfcSystemFurnitureElementTypeEnum.USERDEFINED = "USERDEFINED";
  19539. IfcSystemFurnitureElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  19540. var IfcTankTypeEnum = class {
  19541. constructor(v) {
  19542. this.value = v;
  19543. }
  19544. };
  19545. IfcTankTypeEnum.BASIN = "BASIN";
  19546. IfcTankTypeEnum.BREAKPRESSURE = "BREAKPRESSURE";
  19547. IfcTankTypeEnum.EXPANSION = "EXPANSION";
  19548. IfcTankTypeEnum.FEEDANDEXPANSION = "FEEDANDEXPANSION";
  19549. IfcTankTypeEnum.PRESSUREVESSEL = "PRESSUREVESSEL";
  19550. IfcTankTypeEnum.STORAGE = "STORAGE";
  19551. IfcTankTypeEnum.VESSEL = "VESSEL";
  19552. IfcTankTypeEnum.USERDEFINED = "USERDEFINED";
  19553. IfcTankTypeEnum.NOTDEFINED = "NOTDEFINED";
  19554. var IfcTaskDurationEnum = class {
  19555. constructor(v) {
  19556. this.value = v;
  19557. }
  19558. };
  19559. IfcTaskDurationEnum.ELAPSEDTIME = "ELAPSEDTIME";
  19560. IfcTaskDurationEnum.WORKTIME = "WORKTIME";
  19561. IfcTaskDurationEnum.NOTDEFINED = "NOTDEFINED";
  19562. var IfcTaskTypeEnum = class {
  19563. constructor(v) {
  19564. this.value = v;
  19565. }
  19566. };
  19567. IfcTaskTypeEnum.ATTENDANCE = "ATTENDANCE";
  19568. IfcTaskTypeEnum.CONSTRUCTION = "CONSTRUCTION";
  19569. IfcTaskTypeEnum.DEMOLITION = "DEMOLITION";
  19570. IfcTaskTypeEnum.DISMANTLE = "DISMANTLE";
  19571. IfcTaskTypeEnum.DISPOSAL = "DISPOSAL";
  19572. IfcTaskTypeEnum.INSTALLATION = "INSTALLATION";
  19573. IfcTaskTypeEnum.LOGISTIC = "LOGISTIC";
  19574. IfcTaskTypeEnum.MAINTENANCE = "MAINTENANCE";
  19575. IfcTaskTypeEnum.MOVE = "MOVE";
  19576. IfcTaskTypeEnum.OPERATION = "OPERATION";
  19577. IfcTaskTypeEnum.REMOVAL = "REMOVAL";
  19578. IfcTaskTypeEnum.RENOVATION = "RENOVATION";
  19579. IfcTaskTypeEnum.USERDEFINED = "USERDEFINED";
  19580. IfcTaskTypeEnum.NOTDEFINED = "NOTDEFINED";
  19581. var IfcTendonAnchorTypeEnum = class {
  19582. constructor(v) {
  19583. this.value = v;
  19584. }
  19585. };
  19586. IfcTendonAnchorTypeEnum.COUPLER = "COUPLER";
  19587. IfcTendonAnchorTypeEnum.FIXED_END = "FIXED_END";
  19588. IfcTendonAnchorTypeEnum.TENSIONING_END = "TENSIONING_END";
  19589. IfcTendonAnchorTypeEnum.USERDEFINED = "USERDEFINED";
  19590. IfcTendonAnchorTypeEnum.NOTDEFINED = "NOTDEFINED";
  19591. var IfcTendonConduitTypeEnum = class {
  19592. constructor(v) {
  19593. this.value = v;
  19594. }
  19595. };
  19596. IfcTendonConduitTypeEnum.DUCT = "DUCT";
  19597. IfcTendonConduitTypeEnum.COUPLER = "COUPLER";
  19598. IfcTendonConduitTypeEnum.GROUTING_DUCT = "GROUTING_DUCT";
  19599. IfcTendonConduitTypeEnum.TRUMPET = "TRUMPET";
  19600. IfcTendonConduitTypeEnum.DIABOLO = "DIABOLO";
  19601. IfcTendonConduitTypeEnum.USERDEFINED = "USERDEFINED";
  19602. IfcTendonConduitTypeEnum.NOTDEFINED = "NOTDEFINED";
  19603. var IfcTendonTypeEnum = class {
  19604. constructor(v) {
  19605. this.value = v;
  19606. }
  19607. };
  19608. IfcTendonTypeEnum.BAR = "BAR";
  19609. IfcTendonTypeEnum.COATED = "COATED";
  19610. IfcTendonTypeEnum.STRAND = "STRAND";
  19611. IfcTendonTypeEnum.WIRE = "WIRE";
  19612. IfcTendonTypeEnum.USERDEFINED = "USERDEFINED";
  19613. IfcTendonTypeEnum.NOTDEFINED = "NOTDEFINED";
  19614. var IfcTextPath = class {
  19615. constructor(v) {
  19616. this.value = v;
  19617. }
  19618. };
  19619. IfcTextPath.LEFT = "LEFT";
  19620. IfcTextPath.RIGHT = "RIGHT";
  19621. IfcTextPath.UP = "UP";
  19622. IfcTextPath.DOWN = "DOWN";
  19623. var IfcTimeSeriesDataTypeEnum = class {
  19624. constructor(v) {
  19625. this.value = v;
  19626. }
  19627. };
  19628. IfcTimeSeriesDataTypeEnum.CONTINUOUS = "CONTINUOUS";
  19629. IfcTimeSeriesDataTypeEnum.DISCRETE = "DISCRETE";
  19630. IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = "DISCRETEBINARY";
  19631. IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = "PIECEWISEBINARY";
  19632. IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = "PIECEWISECONSTANT";
  19633. IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = "PIECEWISECONTINUOUS";
  19634. IfcTimeSeriesDataTypeEnum.NOTDEFINED = "NOTDEFINED";
  19635. var IfcTransformerTypeEnum = class {
  19636. constructor(v) {
  19637. this.value = v;
  19638. }
  19639. };
  19640. IfcTransformerTypeEnum.CURRENT = "CURRENT";
  19641. IfcTransformerTypeEnum.FREQUENCY = "FREQUENCY";
  19642. IfcTransformerTypeEnum.INVERTER = "INVERTER";
  19643. IfcTransformerTypeEnum.RECTIFIER = "RECTIFIER";
  19644. IfcTransformerTypeEnum.VOLTAGE = "VOLTAGE";
  19645. IfcTransformerTypeEnum.USERDEFINED = "USERDEFINED";
  19646. IfcTransformerTypeEnum.NOTDEFINED = "NOTDEFINED";
  19647. var IfcTransitionCode = class {
  19648. constructor(v) {
  19649. this.value = v;
  19650. }
  19651. };
  19652. IfcTransitionCode.DISCONTINUOUS = "DISCONTINUOUS";
  19653. IfcTransitionCode.CONTINUOUS = "CONTINUOUS";
  19654. IfcTransitionCode.CONTSAMEGRADIENT = "CONTSAMEGRADIENT";
  19655. IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = "CONTSAMEGRADIENTSAMECURVATURE";
  19656. var IfcTransitionCurveType = class {
  19657. constructor(v) {
  19658. this.value = v;
  19659. }
  19660. };
  19661. IfcTransitionCurveType.BIQUADRATICPARABOLA = "BIQUADRATICPARABOLA";
  19662. IfcTransitionCurveType.BLOSSCURVE = "BLOSSCURVE";
  19663. IfcTransitionCurveType.CLOTHOIDCURVE = "CLOTHOIDCURVE";
  19664. IfcTransitionCurveType.COSINECURVE = "COSINECURVE";
  19665. IfcTransitionCurveType.CUBICPARABOLA = "CUBICPARABOLA";
  19666. IfcTransitionCurveType.SINECURVE = "SINECURVE";
  19667. var IfcTransportElementTypeEnum = class {
  19668. constructor(v) {
  19669. this.value = v;
  19670. }
  19671. };
  19672. IfcTransportElementTypeEnum.ELEVATOR = "ELEVATOR";
  19673. IfcTransportElementTypeEnum.ESCALATOR = "ESCALATOR";
  19674. IfcTransportElementTypeEnum.MOVINGWALKWAY = "MOVINGWALKWAY";
  19675. IfcTransportElementTypeEnum.CRANEWAY = "CRANEWAY";
  19676. IfcTransportElementTypeEnum.LIFTINGGEAR = "LIFTINGGEAR";
  19677. IfcTransportElementTypeEnum.USERDEFINED = "USERDEFINED";
  19678. IfcTransportElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  19679. var IfcTrimmingPreference = class {
  19680. constructor(v) {
  19681. this.value = v;
  19682. }
  19683. };
  19684. IfcTrimmingPreference.CARTESIAN = "CARTESIAN";
  19685. IfcTrimmingPreference.PARAMETER = "PARAMETER";
  19686. IfcTrimmingPreference.UNSPECIFIED = "UNSPECIFIED";
  19687. var IfcTubeBundleTypeEnum = class {
  19688. constructor(v) {
  19689. this.value = v;
  19690. }
  19691. };
  19692. IfcTubeBundleTypeEnum.FINNED = "FINNED";
  19693. IfcTubeBundleTypeEnum.USERDEFINED = "USERDEFINED";
  19694. IfcTubeBundleTypeEnum.NOTDEFINED = "NOTDEFINED";
  19695. var IfcUnitEnum = class {
  19696. constructor(v) {
  19697. this.value = v;
  19698. }
  19699. };
  19700. IfcUnitEnum.ABSORBEDDOSEUNIT = "ABSORBEDDOSEUNIT";
  19701. IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = "AMOUNTOFSUBSTANCEUNIT";
  19702. IfcUnitEnum.AREAUNIT = "AREAUNIT";
  19703. IfcUnitEnum.DOSEEQUIVALENTUNIT = "DOSEEQUIVALENTUNIT";
  19704. IfcUnitEnum.ELECTRICCAPACITANCEUNIT = "ELECTRICCAPACITANCEUNIT";
  19705. IfcUnitEnum.ELECTRICCHARGEUNIT = "ELECTRICCHARGEUNIT";
  19706. IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = "ELECTRICCONDUCTANCEUNIT";
  19707. IfcUnitEnum.ELECTRICCURRENTUNIT = "ELECTRICCURRENTUNIT";
  19708. IfcUnitEnum.ELECTRICRESISTANCEUNIT = "ELECTRICRESISTANCEUNIT";
  19709. IfcUnitEnum.ELECTRICVOLTAGEUNIT = "ELECTRICVOLTAGEUNIT";
  19710. IfcUnitEnum.ENERGYUNIT = "ENERGYUNIT";
  19711. IfcUnitEnum.FORCEUNIT = "FORCEUNIT";
  19712. IfcUnitEnum.FREQUENCYUNIT = "FREQUENCYUNIT";
  19713. IfcUnitEnum.ILLUMINANCEUNIT = "ILLUMINANCEUNIT";
  19714. IfcUnitEnum.INDUCTANCEUNIT = "INDUCTANCEUNIT";
  19715. IfcUnitEnum.LENGTHUNIT = "LENGTHUNIT";
  19716. IfcUnitEnum.LUMINOUSFLUXUNIT = "LUMINOUSFLUXUNIT";
  19717. IfcUnitEnum.LUMINOUSINTENSITYUNIT = "LUMINOUSINTENSITYUNIT";
  19718. IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = "MAGNETICFLUXDENSITYUNIT";
  19719. IfcUnitEnum.MAGNETICFLUXUNIT = "MAGNETICFLUXUNIT";
  19720. IfcUnitEnum.MASSUNIT = "MASSUNIT";
  19721. IfcUnitEnum.PLANEANGLEUNIT = "PLANEANGLEUNIT";
  19722. IfcUnitEnum.POWERUNIT = "POWERUNIT";
  19723. IfcUnitEnum.PRESSUREUNIT = "PRESSUREUNIT";
  19724. IfcUnitEnum.RADIOACTIVITYUNIT = "RADIOACTIVITYUNIT";
  19725. IfcUnitEnum.SOLIDANGLEUNIT = "SOLIDANGLEUNIT";
  19726. IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = "THERMODYNAMICTEMPERATUREUNIT";
  19727. IfcUnitEnum.TIMEUNIT = "TIMEUNIT";
  19728. IfcUnitEnum.VOLUMEUNIT = "VOLUMEUNIT";
  19729. IfcUnitEnum.USERDEFINED = "USERDEFINED";
  19730. var IfcUnitaryControlElementTypeEnum = class {
  19731. constructor(v) {
  19732. this.value = v;
  19733. }
  19734. };
  19735. IfcUnitaryControlElementTypeEnum.ALARMPANEL = "ALARMPANEL";
  19736. IfcUnitaryControlElementTypeEnum.CONTROLPANEL = "CONTROLPANEL";
  19737. IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL = "GASDETECTIONPANEL";
  19738. IfcUnitaryControlElementTypeEnum.INDICATORPANEL = "INDICATORPANEL";
  19739. IfcUnitaryControlElementTypeEnum.MIMICPANEL = "MIMICPANEL";
  19740. IfcUnitaryControlElementTypeEnum.HUMIDISTAT = "HUMIDISTAT";
  19741. IfcUnitaryControlElementTypeEnum.THERMOSTAT = "THERMOSTAT";
  19742. IfcUnitaryControlElementTypeEnum.WEATHERSTATION = "WEATHERSTATION";
  19743. IfcUnitaryControlElementTypeEnum.USERDEFINED = "USERDEFINED";
  19744. IfcUnitaryControlElementTypeEnum.NOTDEFINED = "NOTDEFINED";
  19745. var IfcUnitaryEquipmentTypeEnum = class {
  19746. constructor(v) {
  19747. this.value = v;
  19748. }
  19749. };
  19750. IfcUnitaryEquipmentTypeEnum.AIRHANDLER = "AIRHANDLER";
  19751. IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = "AIRCONDITIONINGUNIT";
  19752. IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER = "DEHUMIDIFIER";
  19753. IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = "SPLITSYSTEM";
  19754. IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = "ROOFTOPUNIT";
  19755. IfcUnitaryEquipmentTypeEnum.USERDEFINED = "USERDEFINED";
  19756. IfcUnitaryEquipmentTypeEnum.NOTDEFINED = "NOTDEFINED";
  19757. var IfcValveTypeEnum = class {
  19758. constructor(v) {
  19759. this.value = v;
  19760. }
  19761. };
  19762. IfcValveTypeEnum.AIRRELEASE = "AIRRELEASE";
  19763. IfcValveTypeEnum.ANTIVACUUM = "ANTIVACUUM";
  19764. IfcValveTypeEnum.CHANGEOVER = "CHANGEOVER";
  19765. IfcValveTypeEnum.CHECK = "CHECK";
  19766. IfcValveTypeEnum.COMMISSIONING = "COMMISSIONING";
  19767. IfcValveTypeEnum.DIVERTING = "DIVERTING";
  19768. IfcValveTypeEnum.DRAWOFFCOCK = "DRAWOFFCOCK";
  19769. IfcValveTypeEnum.DOUBLECHECK = "DOUBLECHECK";
  19770. IfcValveTypeEnum.DOUBLEREGULATING = "DOUBLEREGULATING";
  19771. IfcValveTypeEnum.FAUCET = "FAUCET";
  19772. IfcValveTypeEnum.FLUSHING = "FLUSHING";
  19773. IfcValveTypeEnum.GASCOCK = "GASCOCK";
  19774. IfcValveTypeEnum.GASTAP = "GASTAP";
  19775. IfcValveTypeEnum.ISOLATING = "ISOLATING";
  19776. IfcValveTypeEnum.MIXING = "MIXING";
  19777. IfcValveTypeEnum.PRESSUREREDUCING = "PRESSUREREDUCING";
  19778. IfcValveTypeEnum.PRESSURERELIEF = "PRESSURERELIEF";
  19779. IfcValveTypeEnum.REGULATING = "REGULATING";
  19780. IfcValveTypeEnum.SAFETYCUTOFF = "SAFETYCUTOFF";
  19781. IfcValveTypeEnum.STEAMTRAP = "STEAMTRAP";
  19782. IfcValveTypeEnum.STOPCOCK = "STOPCOCK";
  19783. IfcValveTypeEnum.USERDEFINED = "USERDEFINED";
  19784. IfcValveTypeEnum.NOTDEFINED = "NOTDEFINED";
  19785. var IfcVibrationDamperTypeEnum = class {
  19786. constructor(v) {
  19787. this.value = v;
  19788. }
  19789. };
  19790. IfcVibrationDamperTypeEnum.BENDING_YIELD = "BENDING_YIELD";
  19791. IfcVibrationDamperTypeEnum.SHEAR_YIELD = "SHEAR_YIELD";
  19792. IfcVibrationDamperTypeEnum.AXIAL_YIELD = "AXIAL_YIELD";
  19793. IfcVibrationDamperTypeEnum.FRICTION = "FRICTION";
  19794. IfcVibrationDamperTypeEnum.VISCOUS = "VISCOUS";
  19795. IfcVibrationDamperTypeEnum.RUBBER = "RUBBER";
  19796. IfcVibrationDamperTypeEnum.USERDEFINED = "USERDEFINED";
  19797. IfcVibrationDamperTypeEnum.NOTDEFINED = "NOTDEFINED";
  19798. var IfcVibrationIsolatorTypeEnum = class {
  19799. constructor(v) {
  19800. this.value = v;
  19801. }
  19802. };
  19803. IfcVibrationIsolatorTypeEnum.COMPRESSION = "COMPRESSION";
  19804. IfcVibrationIsolatorTypeEnum.SPRING = "SPRING";
  19805. IfcVibrationIsolatorTypeEnum.BASE = "BASE";
  19806. IfcVibrationIsolatorTypeEnum.USERDEFINED = "USERDEFINED";
  19807. IfcVibrationIsolatorTypeEnum.NOTDEFINED = "NOTDEFINED";
  19808. var IfcVoidingFeatureTypeEnum = class {
  19809. constructor(v) {
  19810. this.value = v;
  19811. }
  19812. };
  19813. IfcVoidingFeatureTypeEnum.CUTOUT = "CUTOUT";
  19814. IfcVoidingFeatureTypeEnum.NOTCH = "NOTCH";
  19815. IfcVoidingFeatureTypeEnum.HOLE = "HOLE";
  19816. IfcVoidingFeatureTypeEnum.MITER = "MITER";
  19817. IfcVoidingFeatureTypeEnum.CHAMFER = "CHAMFER";
  19818. IfcVoidingFeatureTypeEnum.EDGE = "EDGE";
  19819. IfcVoidingFeatureTypeEnum.USERDEFINED = "USERDEFINED";
  19820. IfcVoidingFeatureTypeEnum.NOTDEFINED = "NOTDEFINED";
  19821. var IfcWallTypeEnum = class {
  19822. constructor(v) {
  19823. this.value = v;
  19824. }
  19825. };
  19826. IfcWallTypeEnum.MOVABLE = "MOVABLE";
  19827. IfcWallTypeEnum.PARAPET = "PARAPET";
  19828. IfcWallTypeEnum.PARTITIONING = "PARTITIONING";
  19829. IfcWallTypeEnum.PLUMBINGWALL = "PLUMBINGWALL";
  19830. IfcWallTypeEnum.SHEAR = "SHEAR";
  19831. IfcWallTypeEnum.SOLIDWALL = "SOLIDWALL";
  19832. IfcWallTypeEnum.STANDARD = "STANDARD";
  19833. IfcWallTypeEnum.POLYGONAL = "POLYGONAL";
  19834. IfcWallTypeEnum.ELEMENTEDWALL = "ELEMENTEDWALL";
  19835. IfcWallTypeEnum.RETAININGWALL = "RETAININGWALL";
  19836. IfcWallTypeEnum.USERDEFINED = "USERDEFINED";
  19837. IfcWallTypeEnum.NOTDEFINED = "NOTDEFINED";
  19838. var IfcWasteTerminalTypeEnum = class {
  19839. constructor(v) {
  19840. this.value = v;
  19841. }
  19842. };
  19843. IfcWasteTerminalTypeEnum.FLOORTRAP = "FLOORTRAP";
  19844. IfcWasteTerminalTypeEnum.FLOORWASTE = "FLOORWASTE";
  19845. IfcWasteTerminalTypeEnum.GULLYSUMP = "GULLYSUMP";
  19846. IfcWasteTerminalTypeEnum.GULLYTRAP = "GULLYTRAP";
  19847. IfcWasteTerminalTypeEnum.ROOFDRAIN = "ROOFDRAIN";
  19848. IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = "WASTEDISPOSALUNIT";
  19849. IfcWasteTerminalTypeEnum.WASTETRAP = "WASTETRAP";
  19850. IfcWasteTerminalTypeEnum.USERDEFINED = "USERDEFINED";
  19851. IfcWasteTerminalTypeEnum.NOTDEFINED = "NOTDEFINED";
  19852. var IfcWindowPanelOperationEnum = class {
  19853. constructor(v) {
  19854. this.value = v;
  19855. }
  19856. };
  19857. IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = "SIDEHUNGRIGHTHAND";
  19858. IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = "SIDEHUNGLEFTHAND";
  19859. IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = "TILTANDTURNRIGHTHAND";
  19860. IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = "TILTANDTURNLEFTHAND";
  19861. IfcWindowPanelOperationEnum.TOPHUNG = "TOPHUNG";
  19862. IfcWindowPanelOperationEnum.BOTTOMHUNG = "BOTTOMHUNG";
  19863. IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = "PIVOTHORIZONTAL";
  19864. IfcWindowPanelOperationEnum.PIVOTVERTICAL = "PIVOTVERTICAL";
  19865. IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = "SLIDINGHORIZONTAL";
  19866. IfcWindowPanelOperationEnum.SLIDINGVERTICAL = "SLIDINGVERTICAL";
  19867. IfcWindowPanelOperationEnum.REMOVABLECASEMENT = "REMOVABLECASEMENT";
  19868. IfcWindowPanelOperationEnum.FIXEDCASEMENT = "FIXEDCASEMENT";
  19869. IfcWindowPanelOperationEnum.OTHEROPERATION = "OTHEROPERATION";
  19870. IfcWindowPanelOperationEnum.NOTDEFINED = "NOTDEFINED";
  19871. var IfcWindowPanelPositionEnum = class {
  19872. constructor(v) {
  19873. this.value = v;
  19874. }
  19875. };
  19876. IfcWindowPanelPositionEnum.LEFT = "LEFT";
  19877. IfcWindowPanelPositionEnum.MIDDLE = "MIDDLE";
  19878. IfcWindowPanelPositionEnum.RIGHT = "RIGHT";
  19879. IfcWindowPanelPositionEnum.BOTTOM = "BOTTOM";
  19880. IfcWindowPanelPositionEnum.TOP = "TOP";
  19881. IfcWindowPanelPositionEnum.NOTDEFINED = "NOTDEFINED";
  19882. var IfcWindowStyleConstructionEnum = class {
  19883. constructor(v) {
  19884. this.value = v;
  19885. }
  19886. };
  19887. IfcWindowStyleConstructionEnum.ALUMINIUM = "ALUMINIUM";
  19888. IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = "HIGH_GRADE_STEEL";
  19889. IfcWindowStyleConstructionEnum.STEEL = "STEEL";
  19890. IfcWindowStyleConstructionEnum.WOOD = "WOOD";
  19891. IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = "ALUMINIUM_WOOD";
  19892. IfcWindowStyleConstructionEnum.PLASTIC = "PLASTIC";
  19893. IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = "OTHER_CONSTRUCTION";
  19894. IfcWindowStyleConstructionEnum.NOTDEFINED = "NOTDEFINED";
  19895. var IfcWindowStyleOperationEnum = class {
  19896. constructor(v) {
  19897. this.value = v;
  19898. }
  19899. };
  19900. IfcWindowStyleOperationEnum.SINGLE_PANEL = "SINGLE_PANEL";
  19901. IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = "DOUBLE_PANEL_VERTICAL";
  19902. IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = "DOUBLE_PANEL_HORIZONTAL";
  19903. IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = "TRIPLE_PANEL_VERTICAL";
  19904. IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = "TRIPLE_PANEL_BOTTOM";
  19905. IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = "TRIPLE_PANEL_TOP";
  19906. IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = "TRIPLE_PANEL_LEFT";
  19907. IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = "TRIPLE_PANEL_RIGHT";
  19908. IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = "TRIPLE_PANEL_HORIZONTAL";
  19909. IfcWindowStyleOperationEnum.USERDEFINED = "USERDEFINED";
  19910. IfcWindowStyleOperationEnum.NOTDEFINED = "NOTDEFINED";
  19911. var IfcWindowTypeEnum = class {
  19912. constructor(v) {
  19913. this.value = v;
  19914. }
  19915. };
  19916. IfcWindowTypeEnum.WINDOW = "WINDOW";
  19917. IfcWindowTypeEnum.SKYLIGHT = "SKYLIGHT";
  19918. IfcWindowTypeEnum.LIGHTDOME = "LIGHTDOME";
  19919. IfcWindowTypeEnum.USERDEFINED = "USERDEFINED";
  19920. IfcWindowTypeEnum.NOTDEFINED = "NOTDEFINED";
  19921. var IfcWindowTypePartitioningEnum = class {
  19922. constructor(v) {
  19923. this.value = v;
  19924. }
  19925. };
  19926. IfcWindowTypePartitioningEnum.SINGLE_PANEL = "SINGLE_PANEL";
  19927. IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL = "DOUBLE_PANEL_VERTICAL";
  19928. IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL = "DOUBLE_PANEL_HORIZONTAL";
  19929. IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL = "TRIPLE_PANEL_VERTICAL";
  19930. IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM = "TRIPLE_PANEL_BOTTOM";
  19931. IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP = "TRIPLE_PANEL_TOP";
  19932. IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT = "TRIPLE_PANEL_LEFT";
  19933. IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT = "TRIPLE_PANEL_RIGHT";
  19934. IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL = "TRIPLE_PANEL_HORIZONTAL";
  19935. IfcWindowTypePartitioningEnum.USERDEFINED = "USERDEFINED";
  19936. IfcWindowTypePartitioningEnum.NOTDEFINED = "NOTDEFINED";
  19937. var IfcWorkCalendarTypeEnum = class {
  19938. constructor(v) {
  19939. this.value = v;
  19940. }
  19941. };
  19942. IfcWorkCalendarTypeEnum.FIRSTSHIFT = "FIRSTSHIFT";
  19943. IfcWorkCalendarTypeEnum.SECONDSHIFT = "SECONDSHIFT";
  19944. IfcWorkCalendarTypeEnum.THIRDSHIFT = "THIRDSHIFT";
  19945. IfcWorkCalendarTypeEnum.USERDEFINED = "USERDEFINED";
  19946. IfcWorkCalendarTypeEnum.NOTDEFINED = "NOTDEFINED";
  19947. var IfcWorkPlanTypeEnum = class {
  19948. constructor(v) {
  19949. this.value = v;
  19950. }
  19951. };
  19952. IfcWorkPlanTypeEnum.ACTUAL = "ACTUAL";
  19953. IfcWorkPlanTypeEnum.BASELINE = "BASELINE";
  19954. IfcWorkPlanTypeEnum.PLANNED = "PLANNED";
  19955. IfcWorkPlanTypeEnum.USERDEFINED = "USERDEFINED";
  19956. IfcWorkPlanTypeEnum.NOTDEFINED = "NOTDEFINED";
  19957. var IfcWorkScheduleTypeEnum = class {
  19958. constructor(v) {
  19959. this.value = v;
  19960. }
  19961. };
  19962. IfcWorkScheduleTypeEnum.ACTUAL = "ACTUAL";
  19963. IfcWorkScheduleTypeEnum.BASELINE = "BASELINE";
  19964. IfcWorkScheduleTypeEnum.PLANNED = "PLANNED";
  19965. IfcWorkScheduleTypeEnum.USERDEFINED = "USERDEFINED";
  19966. IfcWorkScheduleTypeEnum.NOTDEFINED = "NOTDEFINED";
  19967. var IfcActionRequest = class {
  19968. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
  19969. this.expressID = expressID;
  19970. this.type = type;
  19971. this.GlobalId = GlobalId;
  19972. this.OwnerHistory = OwnerHistory;
  19973. this.Name = Name;
  19974. this.Description = Description;
  19975. this.ObjectType = ObjectType;
  19976. this.Identification = Identification;
  19977. this.PredefinedType = PredefinedType;
  19978. this.Status = Status;
  19979. this.LongDescription = LongDescription;
  19980. }
  19981. static FromTape(expressID, type, tape) {
  19982. let ptr = 0;
  19983. let GlobalId = tape[ptr++];
  19984. let OwnerHistory = tape[ptr++];
  19985. let Name = tape[ptr++];
  19986. let Description = tape[ptr++];
  19987. let ObjectType = tape[ptr++];
  19988. let Identification = tape[ptr++];
  19989. let PredefinedType = tape[ptr++];
  19990. let Status = tape[ptr++];
  19991. let LongDescription = tape[ptr++];
  19992. return new IfcActionRequest(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription);
  19993. }
  19994. ToTape() {
  19995. let args = [];
  19996. args.push(this.GlobalId);
  19997. ;
  19998. args.push(this.OwnerHistory);
  19999. ;
  20000. args.push(this.Name);
  20001. ;
  20002. args.push(this.Description);
  20003. ;
  20004. args.push(this.ObjectType);
  20005. ;
  20006. args.push(this.Identification);
  20007. ;
  20008. args.push(this.PredefinedType);
  20009. ;
  20010. args.push(this.Status);
  20011. ;
  20012. args.push(this.LongDescription);
  20013. ;
  20014. return args;
  20015. }
  20016. };
  20017. var IfcActor = class {
  20018. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) {
  20019. this.expressID = expressID;
  20020. this.type = type;
  20021. this.GlobalId = GlobalId;
  20022. this.OwnerHistory = OwnerHistory;
  20023. this.Name = Name;
  20024. this.Description = Description;
  20025. this.ObjectType = ObjectType;
  20026. this.TheActor = TheActor;
  20027. }
  20028. static FromTape(expressID, type, tape) {
  20029. let ptr = 0;
  20030. let GlobalId = tape[ptr++];
  20031. let OwnerHistory = tape[ptr++];
  20032. let Name = tape[ptr++];
  20033. let Description = tape[ptr++];
  20034. let ObjectType = tape[ptr++];
  20035. let TheActor = tape[ptr++];
  20036. return new IfcActor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor);
  20037. }
  20038. ToTape() {
  20039. let args = [];
  20040. args.push(this.GlobalId);
  20041. ;
  20042. args.push(this.OwnerHistory);
  20043. ;
  20044. args.push(this.Name);
  20045. ;
  20046. args.push(this.Description);
  20047. ;
  20048. args.push(this.ObjectType);
  20049. ;
  20050. args.push(this.TheActor);
  20051. ;
  20052. return args;
  20053. }
  20054. };
  20055. var IfcActorRole = class {
  20056. constructor(expressID, type, Role, UserDefinedRole, Description) {
  20057. this.expressID = expressID;
  20058. this.type = type;
  20059. this.Role = Role;
  20060. this.UserDefinedRole = UserDefinedRole;
  20061. this.Description = Description;
  20062. }
  20063. static FromTape(expressID, type, tape) {
  20064. let ptr = 0;
  20065. let Role = tape[ptr++];
  20066. let UserDefinedRole = tape[ptr++];
  20067. let Description = tape[ptr++];
  20068. return new IfcActorRole(expressID, type, Role, UserDefinedRole, Description);
  20069. }
  20070. ToTape() {
  20071. let args = [];
  20072. args.push(this.Role);
  20073. ;
  20074. args.push(this.UserDefinedRole);
  20075. ;
  20076. args.push(this.Description);
  20077. ;
  20078. return args;
  20079. }
  20080. };
  20081. var IfcActuator = class {
  20082. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  20083. this.expressID = expressID;
  20084. this.type = type;
  20085. this.GlobalId = GlobalId;
  20086. this.OwnerHistory = OwnerHistory;
  20087. this.Name = Name;
  20088. this.Description = Description;
  20089. this.ObjectType = ObjectType;
  20090. this.ObjectPlacement = ObjectPlacement;
  20091. this.Representation = Representation;
  20092. this.Tag = Tag;
  20093. this.PredefinedType = PredefinedType;
  20094. }
  20095. static FromTape(expressID, type, tape) {
  20096. let ptr = 0;
  20097. let GlobalId = tape[ptr++];
  20098. let OwnerHistory = tape[ptr++];
  20099. let Name = tape[ptr++];
  20100. let Description = tape[ptr++];
  20101. let ObjectType = tape[ptr++];
  20102. let ObjectPlacement = tape[ptr++];
  20103. let Representation = tape[ptr++];
  20104. let Tag = tape[ptr++];
  20105. let PredefinedType = tape[ptr++];
  20106. return new IfcActuator(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  20107. }
  20108. ToTape() {
  20109. let args = [];
  20110. args.push(this.GlobalId);
  20111. ;
  20112. args.push(this.OwnerHistory);
  20113. ;
  20114. args.push(this.Name);
  20115. ;
  20116. args.push(this.Description);
  20117. ;
  20118. args.push(this.ObjectType);
  20119. ;
  20120. args.push(this.ObjectPlacement);
  20121. ;
  20122. args.push(this.Representation);
  20123. ;
  20124. args.push(this.Tag);
  20125. ;
  20126. args.push(this.PredefinedType);
  20127. ;
  20128. return args;
  20129. }
  20130. };
  20131. var IfcActuatorType = class {
  20132. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  20133. this.expressID = expressID;
  20134. this.type = type;
  20135. this.GlobalId = GlobalId;
  20136. this.OwnerHistory = OwnerHistory;
  20137. this.Name = Name;
  20138. this.Description = Description;
  20139. this.ApplicableOccurrence = ApplicableOccurrence;
  20140. this.HasPropertySets = HasPropertySets;
  20141. this.RepresentationMaps = RepresentationMaps;
  20142. this.Tag = Tag;
  20143. this.ElementType = ElementType;
  20144. this.PredefinedType = PredefinedType;
  20145. }
  20146. static FromTape(expressID, type, tape) {
  20147. let ptr = 0;
  20148. let GlobalId = tape[ptr++];
  20149. let OwnerHistory = tape[ptr++];
  20150. let Name = tape[ptr++];
  20151. let Description = tape[ptr++];
  20152. let ApplicableOccurrence = tape[ptr++];
  20153. let HasPropertySets = tape[ptr++];
  20154. let RepresentationMaps = tape[ptr++];
  20155. let Tag = tape[ptr++];
  20156. let ElementType = tape[ptr++];
  20157. let PredefinedType = tape[ptr++];
  20158. return new IfcActuatorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  20159. }
  20160. ToTape() {
  20161. let args = [];
  20162. args.push(this.GlobalId);
  20163. ;
  20164. args.push(this.OwnerHistory);
  20165. ;
  20166. args.push(this.Name);
  20167. ;
  20168. args.push(this.Description);
  20169. ;
  20170. args.push(this.ApplicableOccurrence);
  20171. ;
  20172. args.push(this.HasPropertySets);
  20173. ;
  20174. args.push(this.RepresentationMaps);
  20175. ;
  20176. args.push(this.Tag);
  20177. ;
  20178. args.push(this.ElementType);
  20179. ;
  20180. args.push(this.PredefinedType);
  20181. ;
  20182. return args;
  20183. }
  20184. };
  20185. var IfcAddress = class {
  20186. constructor(expressID, type, Purpose, Description, UserDefinedPurpose) {
  20187. this.expressID = expressID;
  20188. this.type = type;
  20189. this.Purpose = Purpose;
  20190. this.Description = Description;
  20191. this.UserDefinedPurpose = UserDefinedPurpose;
  20192. }
  20193. static FromTape(expressID, type, tape) {
  20194. let ptr = 0;
  20195. let Purpose = tape[ptr++];
  20196. let Description = tape[ptr++];
  20197. let UserDefinedPurpose = tape[ptr++];
  20198. return new IfcAddress(expressID, type, Purpose, Description, UserDefinedPurpose);
  20199. }
  20200. ToTape() {
  20201. let args = [];
  20202. args.push(this.Purpose);
  20203. ;
  20204. args.push(this.Description);
  20205. ;
  20206. args.push(this.UserDefinedPurpose);
  20207. ;
  20208. return args;
  20209. }
  20210. };
  20211. var IfcAdvancedBrep = class {
  20212. constructor(expressID, type, Outer) {
  20213. this.expressID = expressID;
  20214. this.type = type;
  20215. this.Outer = Outer;
  20216. }
  20217. static FromTape(expressID, type, tape) {
  20218. let ptr = 0;
  20219. let Outer = tape[ptr++];
  20220. return new IfcAdvancedBrep(expressID, type, Outer);
  20221. }
  20222. ToTape() {
  20223. let args = [];
  20224. args.push(this.Outer);
  20225. ;
  20226. return args;
  20227. }
  20228. };
  20229. var IfcAdvancedBrepWithVoids = class {
  20230. constructor(expressID, type, Outer, Voids) {
  20231. this.expressID = expressID;
  20232. this.type = type;
  20233. this.Outer = Outer;
  20234. this.Voids = Voids;
  20235. }
  20236. static FromTape(expressID, type, tape) {
  20237. let ptr = 0;
  20238. let Outer = tape[ptr++];
  20239. let Voids = tape[ptr++];
  20240. return new IfcAdvancedBrepWithVoids(expressID, type, Outer, Voids);
  20241. }
  20242. ToTape() {
  20243. let args = [];
  20244. args.push(this.Outer);
  20245. ;
  20246. args.push(this.Voids);
  20247. ;
  20248. return args;
  20249. }
  20250. };
  20251. var IfcAdvancedFace = class {
  20252. constructor(expressID, type, Bounds, FaceSurface, SameSense) {
  20253. this.expressID = expressID;
  20254. this.type = type;
  20255. this.Bounds = Bounds;
  20256. this.FaceSurface = FaceSurface;
  20257. this.SameSense = SameSense;
  20258. }
  20259. static FromTape(expressID, type, tape) {
  20260. let ptr = 0;
  20261. let Bounds = tape[ptr++];
  20262. let FaceSurface = tape[ptr++];
  20263. let SameSense = tape[ptr++];
  20264. return new IfcAdvancedFace(expressID, type, Bounds, FaceSurface, SameSense);
  20265. }
  20266. ToTape() {
  20267. let args = [];
  20268. args.push(this.Bounds);
  20269. ;
  20270. args.push(this.FaceSurface);
  20271. ;
  20272. args.push(this.SameSense);
  20273. ;
  20274. return args;
  20275. }
  20276. };
  20277. var IfcAirTerminal = class {
  20278. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  20279. this.expressID = expressID;
  20280. this.type = type;
  20281. this.GlobalId = GlobalId;
  20282. this.OwnerHistory = OwnerHistory;
  20283. this.Name = Name;
  20284. this.Description = Description;
  20285. this.ObjectType = ObjectType;
  20286. this.ObjectPlacement = ObjectPlacement;
  20287. this.Representation = Representation;
  20288. this.Tag = Tag;
  20289. this.PredefinedType = PredefinedType;
  20290. }
  20291. static FromTape(expressID, type, tape) {
  20292. let ptr = 0;
  20293. let GlobalId = tape[ptr++];
  20294. let OwnerHistory = tape[ptr++];
  20295. let Name = tape[ptr++];
  20296. let Description = tape[ptr++];
  20297. let ObjectType = tape[ptr++];
  20298. let ObjectPlacement = tape[ptr++];
  20299. let Representation = tape[ptr++];
  20300. let Tag = tape[ptr++];
  20301. let PredefinedType = tape[ptr++];
  20302. return new IfcAirTerminal(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  20303. }
  20304. ToTape() {
  20305. let args = [];
  20306. args.push(this.GlobalId);
  20307. ;
  20308. args.push(this.OwnerHistory);
  20309. ;
  20310. args.push(this.Name);
  20311. ;
  20312. args.push(this.Description);
  20313. ;
  20314. args.push(this.ObjectType);
  20315. ;
  20316. args.push(this.ObjectPlacement);
  20317. ;
  20318. args.push(this.Representation);
  20319. ;
  20320. args.push(this.Tag);
  20321. ;
  20322. args.push(this.PredefinedType);
  20323. ;
  20324. return args;
  20325. }
  20326. };
  20327. var IfcAirTerminalBox = class {
  20328. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  20329. this.expressID = expressID;
  20330. this.type = type;
  20331. this.GlobalId = GlobalId;
  20332. this.OwnerHistory = OwnerHistory;
  20333. this.Name = Name;
  20334. this.Description = Description;
  20335. this.ObjectType = ObjectType;
  20336. this.ObjectPlacement = ObjectPlacement;
  20337. this.Representation = Representation;
  20338. this.Tag = Tag;
  20339. this.PredefinedType = PredefinedType;
  20340. }
  20341. static FromTape(expressID, type, tape) {
  20342. let ptr = 0;
  20343. let GlobalId = tape[ptr++];
  20344. let OwnerHistory = tape[ptr++];
  20345. let Name = tape[ptr++];
  20346. let Description = tape[ptr++];
  20347. let ObjectType = tape[ptr++];
  20348. let ObjectPlacement = tape[ptr++];
  20349. let Representation = tape[ptr++];
  20350. let Tag = tape[ptr++];
  20351. let PredefinedType = tape[ptr++];
  20352. return new IfcAirTerminalBox(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  20353. }
  20354. ToTape() {
  20355. let args = [];
  20356. args.push(this.GlobalId);
  20357. ;
  20358. args.push(this.OwnerHistory);
  20359. ;
  20360. args.push(this.Name);
  20361. ;
  20362. args.push(this.Description);
  20363. ;
  20364. args.push(this.ObjectType);
  20365. ;
  20366. args.push(this.ObjectPlacement);
  20367. ;
  20368. args.push(this.Representation);
  20369. ;
  20370. args.push(this.Tag);
  20371. ;
  20372. args.push(this.PredefinedType);
  20373. ;
  20374. return args;
  20375. }
  20376. };
  20377. var IfcAirTerminalBoxType = class {
  20378. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  20379. this.expressID = expressID;
  20380. this.type = type;
  20381. this.GlobalId = GlobalId;
  20382. this.OwnerHistory = OwnerHistory;
  20383. this.Name = Name;
  20384. this.Description = Description;
  20385. this.ApplicableOccurrence = ApplicableOccurrence;
  20386. this.HasPropertySets = HasPropertySets;
  20387. this.RepresentationMaps = RepresentationMaps;
  20388. this.Tag = Tag;
  20389. this.ElementType = ElementType;
  20390. this.PredefinedType = PredefinedType;
  20391. }
  20392. static FromTape(expressID, type, tape) {
  20393. let ptr = 0;
  20394. let GlobalId = tape[ptr++];
  20395. let OwnerHistory = tape[ptr++];
  20396. let Name = tape[ptr++];
  20397. let Description = tape[ptr++];
  20398. let ApplicableOccurrence = tape[ptr++];
  20399. let HasPropertySets = tape[ptr++];
  20400. let RepresentationMaps = tape[ptr++];
  20401. let Tag = tape[ptr++];
  20402. let ElementType = tape[ptr++];
  20403. let PredefinedType = tape[ptr++];
  20404. return new IfcAirTerminalBoxType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  20405. }
  20406. ToTape() {
  20407. let args = [];
  20408. args.push(this.GlobalId);
  20409. ;
  20410. args.push(this.OwnerHistory);
  20411. ;
  20412. args.push(this.Name);
  20413. ;
  20414. args.push(this.Description);
  20415. ;
  20416. args.push(this.ApplicableOccurrence);
  20417. ;
  20418. args.push(this.HasPropertySets);
  20419. ;
  20420. args.push(this.RepresentationMaps);
  20421. ;
  20422. args.push(this.Tag);
  20423. ;
  20424. args.push(this.ElementType);
  20425. ;
  20426. args.push(this.PredefinedType);
  20427. ;
  20428. return args;
  20429. }
  20430. };
  20431. var IfcAirTerminalType = class {
  20432. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  20433. this.expressID = expressID;
  20434. this.type = type;
  20435. this.GlobalId = GlobalId;
  20436. this.OwnerHistory = OwnerHistory;
  20437. this.Name = Name;
  20438. this.Description = Description;
  20439. this.ApplicableOccurrence = ApplicableOccurrence;
  20440. this.HasPropertySets = HasPropertySets;
  20441. this.RepresentationMaps = RepresentationMaps;
  20442. this.Tag = Tag;
  20443. this.ElementType = ElementType;
  20444. this.PredefinedType = PredefinedType;
  20445. }
  20446. static FromTape(expressID, type, tape) {
  20447. let ptr = 0;
  20448. let GlobalId = tape[ptr++];
  20449. let OwnerHistory = tape[ptr++];
  20450. let Name = tape[ptr++];
  20451. let Description = tape[ptr++];
  20452. let ApplicableOccurrence = tape[ptr++];
  20453. let HasPropertySets = tape[ptr++];
  20454. let RepresentationMaps = tape[ptr++];
  20455. let Tag = tape[ptr++];
  20456. let ElementType = tape[ptr++];
  20457. let PredefinedType = tape[ptr++];
  20458. return new IfcAirTerminalType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  20459. }
  20460. ToTape() {
  20461. let args = [];
  20462. args.push(this.GlobalId);
  20463. ;
  20464. args.push(this.OwnerHistory);
  20465. ;
  20466. args.push(this.Name);
  20467. ;
  20468. args.push(this.Description);
  20469. ;
  20470. args.push(this.ApplicableOccurrence);
  20471. ;
  20472. args.push(this.HasPropertySets);
  20473. ;
  20474. args.push(this.RepresentationMaps);
  20475. ;
  20476. args.push(this.Tag);
  20477. ;
  20478. args.push(this.ElementType);
  20479. ;
  20480. args.push(this.PredefinedType);
  20481. ;
  20482. return args;
  20483. }
  20484. };
  20485. var IfcAirToAirHeatRecovery = class {
  20486. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  20487. this.expressID = expressID;
  20488. this.type = type;
  20489. this.GlobalId = GlobalId;
  20490. this.OwnerHistory = OwnerHistory;
  20491. this.Name = Name;
  20492. this.Description = Description;
  20493. this.ObjectType = ObjectType;
  20494. this.ObjectPlacement = ObjectPlacement;
  20495. this.Representation = Representation;
  20496. this.Tag = Tag;
  20497. this.PredefinedType = PredefinedType;
  20498. }
  20499. static FromTape(expressID, type, tape) {
  20500. let ptr = 0;
  20501. let GlobalId = tape[ptr++];
  20502. let OwnerHistory = tape[ptr++];
  20503. let Name = tape[ptr++];
  20504. let Description = tape[ptr++];
  20505. let ObjectType = tape[ptr++];
  20506. let ObjectPlacement = tape[ptr++];
  20507. let Representation = tape[ptr++];
  20508. let Tag = tape[ptr++];
  20509. let PredefinedType = tape[ptr++];
  20510. return new IfcAirToAirHeatRecovery(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  20511. }
  20512. ToTape() {
  20513. let args = [];
  20514. args.push(this.GlobalId);
  20515. ;
  20516. args.push(this.OwnerHistory);
  20517. ;
  20518. args.push(this.Name);
  20519. ;
  20520. args.push(this.Description);
  20521. ;
  20522. args.push(this.ObjectType);
  20523. ;
  20524. args.push(this.ObjectPlacement);
  20525. ;
  20526. args.push(this.Representation);
  20527. ;
  20528. args.push(this.Tag);
  20529. ;
  20530. args.push(this.PredefinedType);
  20531. ;
  20532. return args;
  20533. }
  20534. };
  20535. var IfcAirToAirHeatRecoveryType = class {
  20536. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  20537. this.expressID = expressID;
  20538. this.type = type;
  20539. this.GlobalId = GlobalId;
  20540. this.OwnerHistory = OwnerHistory;
  20541. this.Name = Name;
  20542. this.Description = Description;
  20543. this.ApplicableOccurrence = ApplicableOccurrence;
  20544. this.HasPropertySets = HasPropertySets;
  20545. this.RepresentationMaps = RepresentationMaps;
  20546. this.Tag = Tag;
  20547. this.ElementType = ElementType;
  20548. this.PredefinedType = PredefinedType;
  20549. }
  20550. static FromTape(expressID, type, tape) {
  20551. let ptr = 0;
  20552. let GlobalId = tape[ptr++];
  20553. let OwnerHistory = tape[ptr++];
  20554. let Name = tape[ptr++];
  20555. let Description = tape[ptr++];
  20556. let ApplicableOccurrence = tape[ptr++];
  20557. let HasPropertySets = tape[ptr++];
  20558. let RepresentationMaps = tape[ptr++];
  20559. let Tag = tape[ptr++];
  20560. let ElementType = tape[ptr++];
  20561. let PredefinedType = tape[ptr++];
  20562. return new IfcAirToAirHeatRecoveryType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  20563. }
  20564. ToTape() {
  20565. let args = [];
  20566. args.push(this.GlobalId);
  20567. ;
  20568. args.push(this.OwnerHistory);
  20569. ;
  20570. args.push(this.Name);
  20571. ;
  20572. args.push(this.Description);
  20573. ;
  20574. args.push(this.ApplicableOccurrence);
  20575. ;
  20576. args.push(this.HasPropertySets);
  20577. ;
  20578. args.push(this.RepresentationMaps);
  20579. ;
  20580. args.push(this.Tag);
  20581. ;
  20582. args.push(this.ElementType);
  20583. ;
  20584. args.push(this.PredefinedType);
  20585. ;
  20586. return args;
  20587. }
  20588. };
  20589. var IfcAlarm = class {
  20590. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  20591. this.expressID = expressID;
  20592. this.type = type;
  20593. this.GlobalId = GlobalId;
  20594. this.OwnerHistory = OwnerHistory;
  20595. this.Name = Name;
  20596. this.Description = Description;
  20597. this.ObjectType = ObjectType;
  20598. this.ObjectPlacement = ObjectPlacement;
  20599. this.Representation = Representation;
  20600. this.Tag = Tag;
  20601. this.PredefinedType = PredefinedType;
  20602. }
  20603. static FromTape(expressID, type, tape) {
  20604. let ptr = 0;
  20605. let GlobalId = tape[ptr++];
  20606. let OwnerHistory = tape[ptr++];
  20607. let Name = tape[ptr++];
  20608. let Description = tape[ptr++];
  20609. let ObjectType = tape[ptr++];
  20610. let ObjectPlacement = tape[ptr++];
  20611. let Representation = tape[ptr++];
  20612. let Tag = tape[ptr++];
  20613. let PredefinedType = tape[ptr++];
  20614. return new IfcAlarm(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  20615. }
  20616. ToTape() {
  20617. let args = [];
  20618. args.push(this.GlobalId);
  20619. ;
  20620. args.push(this.OwnerHistory);
  20621. ;
  20622. args.push(this.Name);
  20623. ;
  20624. args.push(this.Description);
  20625. ;
  20626. args.push(this.ObjectType);
  20627. ;
  20628. args.push(this.ObjectPlacement);
  20629. ;
  20630. args.push(this.Representation);
  20631. ;
  20632. args.push(this.Tag);
  20633. ;
  20634. args.push(this.PredefinedType);
  20635. ;
  20636. return args;
  20637. }
  20638. };
  20639. var IfcAlarmType = class {
  20640. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  20641. this.expressID = expressID;
  20642. this.type = type;
  20643. this.GlobalId = GlobalId;
  20644. this.OwnerHistory = OwnerHistory;
  20645. this.Name = Name;
  20646. this.Description = Description;
  20647. this.ApplicableOccurrence = ApplicableOccurrence;
  20648. this.HasPropertySets = HasPropertySets;
  20649. this.RepresentationMaps = RepresentationMaps;
  20650. this.Tag = Tag;
  20651. this.ElementType = ElementType;
  20652. this.PredefinedType = PredefinedType;
  20653. }
  20654. static FromTape(expressID, type, tape) {
  20655. let ptr = 0;
  20656. let GlobalId = tape[ptr++];
  20657. let OwnerHistory = tape[ptr++];
  20658. let Name = tape[ptr++];
  20659. let Description = tape[ptr++];
  20660. let ApplicableOccurrence = tape[ptr++];
  20661. let HasPropertySets = tape[ptr++];
  20662. let RepresentationMaps = tape[ptr++];
  20663. let Tag = tape[ptr++];
  20664. let ElementType = tape[ptr++];
  20665. let PredefinedType = tape[ptr++];
  20666. return new IfcAlarmType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  20667. }
  20668. ToTape() {
  20669. let args = [];
  20670. args.push(this.GlobalId);
  20671. ;
  20672. args.push(this.OwnerHistory);
  20673. ;
  20674. args.push(this.Name);
  20675. ;
  20676. args.push(this.Description);
  20677. ;
  20678. args.push(this.ApplicableOccurrence);
  20679. ;
  20680. args.push(this.HasPropertySets);
  20681. ;
  20682. args.push(this.RepresentationMaps);
  20683. ;
  20684. args.push(this.Tag);
  20685. ;
  20686. args.push(this.ElementType);
  20687. ;
  20688. args.push(this.PredefinedType);
  20689. ;
  20690. return args;
  20691. }
  20692. };
  20693. var IfcAlignment = class {
  20694. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Axis, PredefinedType) {
  20695. this.expressID = expressID;
  20696. this.type = type;
  20697. this.GlobalId = GlobalId;
  20698. this.OwnerHistory = OwnerHistory;
  20699. this.Name = Name;
  20700. this.Description = Description;
  20701. this.ObjectType = ObjectType;
  20702. this.ObjectPlacement = ObjectPlacement;
  20703. this.Representation = Representation;
  20704. this.Axis = Axis;
  20705. this.PredefinedType = PredefinedType;
  20706. }
  20707. static FromTape(expressID, type, tape) {
  20708. let ptr = 0;
  20709. let GlobalId = tape[ptr++];
  20710. let OwnerHistory = tape[ptr++];
  20711. let Name = tape[ptr++];
  20712. let Description = tape[ptr++];
  20713. let ObjectType = tape[ptr++];
  20714. let ObjectPlacement = tape[ptr++];
  20715. let Representation = tape[ptr++];
  20716. let Axis = tape[ptr++];
  20717. let PredefinedType = tape[ptr++];
  20718. return new IfcAlignment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Axis, PredefinedType);
  20719. }
  20720. ToTape() {
  20721. let args = [];
  20722. args.push(this.GlobalId);
  20723. ;
  20724. args.push(this.OwnerHistory);
  20725. ;
  20726. args.push(this.Name);
  20727. ;
  20728. args.push(this.Description);
  20729. ;
  20730. args.push(this.ObjectType);
  20731. ;
  20732. args.push(this.ObjectPlacement);
  20733. ;
  20734. args.push(this.Representation);
  20735. ;
  20736. args.push(this.Axis);
  20737. ;
  20738. args.push(this.PredefinedType);
  20739. ;
  20740. return args;
  20741. }
  20742. };
  20743. var IfcAlignment2DHorizontal = class {
  20744. constructor(expressID, type, StartDistAlong, Segments) {
  20745. this.expressID = expressID;
  20746. this.type = type;
  20747. this.StartDistAlong = StartDistAlong;
  20748. this.Segments = Segments;
  20749. }
  20750. static FromTape(expressID, type, tape) {
  20751. let ptr = 0;
  20752. let StartDistAlong = tape[ptr++];
  20753. let Segments = tape[ptr++];
  20754. return new IfcAlignment2DHorizontal(expressID, type, StartDistAlong, Segments);
  20755. }
  20756. ToTape() {
  20757. let args = [];
  20758. args.push(this.StartDistAlong);
  20759. ;
  20760. args.push(this.Segments);
  20761. ;
  20762. return args;
  20763. }
  20764. };
  20765. var IfcAlignment2DHorizontalSegment = class {
  20766. constructor(expressID, type, TangentialContinuity, StartTag, EndTag, CurveGeometry) {
  20767. this.expressID = expressID;
  20768. this.type = type;
  20769. this.TangentialContinuity = TangentialContinuity;
  20770. this.StartTag = StartTag;
  20771. this.EndTag = EndTag;
  20772. this.CurveGeometry = CurveGeometry;
  20773. }
  20774. static FromTape(expressID, type, tape) {
  20775. let ptr = 0;
  20776. let TangentialContinuity = tape[ptr++];
  20777. let StartTag = tape[ptr++];
  20778. let EndTag = tape[ptr++];
  20779. let CurveGeometry = tape[ptr++];
  20780. return new IfcAlignment2DHorizontalSegment(expressID, type, TangentialContinuity, StartTag, EndTag, CurveGeometry);
  20781. }
  20782. ToTape() {
  20783. let args = [];
  20784. args.push(this.TangentialContinuity);
  20785. ;
  20786. args.push(this.StartTag);
  20787. ;
  20788. args.push(this.EndTag);
  20789. ;
  20790. args.push(this.CurveGeometry);
  20791. ;
  20792. return args;
  20793. }
  20794. };
  20795. var IfcAlignment2DSegment = class {
  20796. constructor(expressID, type, TangentialContinuity, StartTag, EndTag) {
  20797. this.expressID = expressID;
  20798. this.type = type;
  20799. this.TangentialContinuity = TangentialContinuity;
  20800. this.StartTag = StartTag;
  20801. this.EndTag = EndTag;
  20802. }
  20803. static FromTape(expressID, type, tape) {
  20804. let ptr = 0;
  20805. let TangentialContinuity = tape[ptr++];
  20806. let StartTag = tape[ptr++];
  20807. let EndTag = tape[ptr++];
  20808. return new IfcAlignment2DSegment(expressID, type, TangentialContinuity, StartTag, EndTag);
  20809. }
  20810. ToTape() {
  20811. let args = [];
  20812. args.push(this.TangentialContinuity);
  20813. ;
  20814. args.push(this.StartTag);
  20815. ;
  20816. args.push(this.EndTag);
  20817. ;
  20818. return args;
  20819. }
  20820. };
  20821. var IfcAlignment2DVerSegCircularArc = class {
  20822. constructor(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, Radius, IsConvex) {
  20823. this.expressID = expressID;
  20824. this.type = type;
  20825. this.TangentialContinuity = TangentialContinuity;
  20826. this.StartTag = StartTag;
  20827. this.EndTag = EndTag;
  20828. this.StartDistAlong = StartDistAlong;
  20829. this.HorizontalLength = HorizontalLength;
  20830. this.StartHeight = StartHeight;
  20831. this.StartGradient = StartGradient;
  20832. this.Radius = Radius;
  20833. this.IsConvex = IsConvex;
  20834. }
  20835. static FromTape(expressID, type, tape) {
  20836. let ptr = 0;
  20837. let TangentialContinuity = tape[ptr++];
  20838. let StartTag = tape[ptr++];
  20839. let EndTag = tape[ptr++];
  20840. let StartDistAlong = tape[ptr++];
  20841. let HorizontalLength = tape[ptr++];
  20842. let StartHeight = tape[ptr++];
  20843. let StartGradient = tape[ptr++];
  20844. let Radius = tape[ptr++];
  20845. let IsConvex = tape[ptr++];
  20846. return new IfcAlignment2DVerSegCircularArc(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, Radius, IsConvex);
  20847. }
  20848. ToTape() {
  20849. let args = [];
  20850. args.push(this.TangentialContinuity);
  20851. ;
  20852. args.push(this.StartTag);
  20853. ;
  20854. args.push(this.EndTag);
  20855. ;
  20856. args.push(this.StartDistAlong);
  20857. ;
  20858. args.push(this.HorizontalLength);
  20859. ;
  20860. args.push(this.StartHeight);
  20861. ;
  20862. args.push(this.StartGradient);
  20863. ;
  20864. args.push(this.Radius);
  20865. ;
  20866. args.push(this.IsConvex);
  20867. ;
  20868. return args;
  20869. }
  20870. };
  20871. var IfcAlignment2DVerSegLine = class {
  20872. constructor(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient) {
  20873. this.expressID = expressID;
  20874. this.type = type;
  20875. this.TangentialContinuity = TangentialContinuity;
  20876. this.StartTag = StartTag;
  20877. this.EndTag = EndTag;
  20878. this.StartDistAlong = StartDistAlong;
  20879. this.HorizontalLength = HorizontalLength;
  20880. this.StartHeight = StartHeight;
  20881. this.StartGradient = StartGradient;
  20882. }
  20883. static FromTape(expressID, type, tape) {
  20884. let ptr = 0;
  20885. let TangentialContinuity = tape[ptr++];
  20886. let StartTag = tape[ptr++];
  20887. let EndTag = tape[ptr++];
  20888. let StartDistAlong = tape[ptr++];
  20889. let HorizontalLength = tape[ptr++];
  20890. let StartHeight = tape[ptr++];
  20891. let StartGradient = tape[ptr++];
  20892. return new IfcAlignment2DVerSegLine(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient);
  20893. }
  20894. ToTape() {
  20895. let args = [];
  20896. args.push(this.TangentialContinuity);
  20897. ;
  20898. args.push(this.StartTag);
  20899. ;
  20900. args.push(this.EndTag);
  20901. ;
  20902. args.push(this.StartDistAlong);
  20903. ;
  20904. args.push(this.HorizontalLength);
  20905. ;
  20906. args.push(this.StartHeight);
  20907. ;
  20908. args.push(this.StartGradient);
  20909. ;
  20910. return args;
  20911. }
  20912. };
  20913. var IfcAlignment2DVerSegParabolicArc = class {
  20914. constructor(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, ParabolaConstant, IsConvex) {
  20915. this.expressID = expressID;
  20916. this.type = type;
  20917. this.TangentialContinuity = TangentialContinuity;
  20918. this.StartTag = StartTag;
  20919. this.EndTag = EndTag;
  20920. this.StartDistAlong = StartDistAlong;
  20921. this.HorizontalLength = HorizontalLength;
  20922. this.StartHeight = StartHeight;
  20923. this.StartGradient = StartGradient;
  20924. this.ParabolaConstant = ParabolaConstant;
  20925. this.IsConvex = IsConvex;
  20926. }
  20927. static FromTape(expressID, type, tape) {
  20928. let ptr = 0;
  20929. let TangentialContinuity = tape[ptr++];
  20930. let StartTag = tape[ptr++];
  20931. let EndTag = tape[ptr++];
  20932. let StartDistAlong = tape[ptr++];
  20933. let HorizontalLength = tape[ptr++];
  20934. let StartHeight = tape[ptr++];
  20935. let StartGradient = tape[ptr++];
  20936. let ParabolaConstant = tape[ptr++];
  20937. let IsConvex = tape[ptr++];
  20938. return new IfcAlignment2DVerSegParabolicArc(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, ParabolaConstant, IsConvex);
  20939. }
  20940. ToTape() {
  20941. let args = [];
  20942. args.push(this.TangentialContinuity);
  20943. ;
  20944. args.push(this.StartTag);
  20945. ;
  20946. args.push(this.EndTag);
  20947. ;
  20948. args.push(this.StartDistAlong);
  20949. ;
  20950. args.push(this.HorizontalLength);
  20951. ;
  20952. args.push(this.StartHeight);
  20953. ;
  20954. args.push(this.StartGradient);
  20955. ;
  20956. args.push(this.ParabolaConstant);
  20957. ;
  20958. args.push(this.IsConvex);
  20959. ;
  20960. return args;
  20961. }
  20962. };
  20963. var IfcAlignment2DVertical = class {
  20964. constructor(expressID, type, Segments) {
  20965. this.expressID = expressID;
  20966. this.type = type;
  20967. this.Segments = Segments;
  20968. }
  20969. static FromTape(expressID, type, tape) {
  20970. let ptr = 0;
  20971. let Segments = tape[ptr++];
  20972. return new IfcAlignment2DVertical(expressID, type, Segments);
  20973. }
  20974. ToTape() {
  20975. let args = [];
  20976. args.push(this.Segments);
  20977. ;
  20978. return args;
  20979. }
  20980. };
  20981. var IfcAlignment2DVerticalSegment = class {
  20982. constructor(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient) {
  20983. this.expressID = expressID;
  20984. this.type = type;
  20985. this.TangentialContinuity = TangentialContinuity;
  20986. this.StartTag = StartTag;
  20987. this.EndTag = EndTag;
  20988. this.StartDistAlong = StartDistAlong;
  20989. this.HorizontalLength = HorizontalLength;
  20990. this.StartHeight = StartHeight;
  20991. this.StartGradient = StartGradient;
  20992. }
  20993. static FromTape(expressID, type, tape) {
  20994. let ptr = 0;
  20995. let TangentialContinuity = tape[ptr++];
  20996. let StartTag = tape[ptr++];
  20997. let EndTag = tape[ptr++];
  20998. let StartDistAlong = tape[ptr++];
  20999. let HorizontalLength = tape[ptr++];
  21000. let StartHeight = tape[ptr++];
  21001. let StartGradient = tape[ptr++];
  21002. return new IfcAlignment2DVerticalSegment(expressID, type, TangentialContinuity, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient);
  21003. }
  21004. ToTape() {
  21005. let args = [];
  21006. args.push(this.TangentialContinuity);
  21007. ;
  21008. args.push(this.StartTag);
  21009. ;
  21010. args.push(this.EndTag);
  21011. ;
  21012. args.push(this.StartDistAlong);
  21013. ;
  21014. args.push(this.HorizontalLength);
  21015. ;
  21016. args.push(this.StartHeight);
  21017. ;
  21018. args.push(this.StartGradient);
  21019. ;
  21020. return args;
  21021. }
  21022. };
  21023. var IfcAlignmentCurve = class {
  21024. constructor(expressID, type, Horizontal, Vertical, Tag) {
  21025. this.expressID = expressID;
  21026. this.type = type;
  21027. this.Horizontal = Horizontal;
  21028. this.Vertical = Vertical;
  21029. this.Tag = Tag;
  21030. }
  21031. static FromTape(expressID, type, tape) {
  21032. let ptr = 0;
  21033. let Horizontal = tape[ptr++];
  21034. let Vertical = tape[ptr++];
  21035. let Tag = tape[ptr++];
  21036. return new IfcAlignmentCurve(expressID, type, Horizontal, Vertical, Tag);
  21037. }
  21038. ToTape() {
  21039. let args = [];
  21040. args.push(this.Horizontal);
  21041. ;
  21042. args.push(this.Vertical);
  21043. ;
  21044. args.push(this.Tag);
  21045. ;
  21046. return args;
  21047. }
  21048. };
  21049. var IfcAnnotation = class {
  21050. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
  21051. this.expressID = expressID;
  21052. this.type = type;
  21053. this.GlobalId = GlobalId;
  21054. this.OwnerHistory = OwnerHistory;
  21055. this.Name = Name;
  21056. this.Description = Description;
  21057. this.ObjectType = ObjectType;
  21058. this.ObjectPlacement = ObjectPlacement;
  21059. this.Representation = Representation;
  21060. }
  21061. static FromTape(expressID, type, tape) {
  21062. let ptr = 0;
  21063. let GlobalId = tape[ptr++];
  21064. let OwnerHistory = tape[ptr++];
  21065. let Name = tape[ptr++];
  21066. let Description = tape[ptr++];
  21067. let ObjectType = tape[ptr++];
  21068. let ObjectPlacement = tape[ptr++];
  21069. let Representation = tape[ptr++];
  21070. return new IfcAnnotation(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
  21071. }
  21072. ToTape() {
  21073. let args = [];
  21074. args.push(this.GlobalId);
  21075. ;
  21076. args.push(this.OwnerHistory);
  21077. ;
  21078. args.push(this.Name);
  21079. ;
  21080. args.push(this.Description);
  21081. ;
  21082. args.push(this.ObjectType);
  21083. ;
  21084. args.push(this.ObjectPlacement);
  21085. ;
  21086. args.push(this.Representation);
  21087. ;
  21088. return args;
  21089. }
  21090. };
  21091. var IfcAnnotationFillArea = class {
  21092. constructor(expressID, type, OuterBoundary, InnerBoundaries) {
  21093. this.expressID = expressID;
  21094. this.type = type;
  21095. this.OuterBoundary = OuterBoundary;
  21096. this.InnerBoundaries = InnerBoundaries;
  21097. }
  21098. static FromTape(expressID, type, tape) {
  21099. let ptr = 0;
  21100. let OuterBoundary = tape[ptr++];
  21101. let InnerBoundaries = tape[ptr++];
  21102. return new IfcAnnotationFillArea(expressID, type, OuterBoundary, InnerBoundaries);
  21103. }
  21104. ToTape() {
  21105. let args = [];
  21106. args.push(this.OuterBoundary);
  21107. ;
  21108. args.push(this.InnerBoundaries);
  21109. ;
  21110. return args;
  21111. }
  21112. };
  21113. var IfcApplication = class {
  21114. constructor(expressID, type, ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) {
  21115. this.expressID = expressID;
  21116. this.type = type;
  21117. this.ApplicationDeveloper = ApplicationDeveloper;
  21118. this.Version = Version;
  21119. this.ApplicationFullName = ApplicationFullName;
  21120. this.ApplicationIdentifier = ApplicationIdentifier;
  21121. }
  21122. static FromTape(expressID, type, tape) {
  21123. let ptr = 0;
  21124. let ApplicationDeveloper = tape[ptr++];
  21125. let Version = tape[ptr++];
  21126. let ApplicationFullName = tape[ptr++];
  21127. let ApplicationIdentifier = tape[ptr++];
  21128. return new IfcApplication(expressID, type, ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier);
  21129. }
  21130. ToTape() {
  21131. let args = [];
  21132. args.push(this.ApplicationDeveloper);
  21133. ;
  21134. args.push(this.Version);
  21135. ;
  21136. args.push(this.ApplicationFullName);
  21137. ;
  21138. args.push(this.ApplicationIdentifier);
  21139. ;
  21140. return args;
  21141. }
  21142. };
  21143. var IfcAppliedValue = class {
  21144. constructor(expressID, type, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) {
  21145. this.expressID = expressID;
  21146. this.type = type;
  21147. this.Name = Name;
  21148. this.Description = Description;
  21149. this.AppliedValue = AppliedValue;
  21150. this.UnitBasis = UnitBasis;
  21151. this.ApplicableDate = ApplicableDate;
  21152. this.FixedUntilDate = FixedUntilDate;
  21153. this.Category = Category;
  21154. this.Condition = Condition;
  21155. this.ArithmeticOperator = ArithmeticOperator;
  21156. this.Components = Components;
  21157. }
  21158. static FromTape(expressID, type, tape) {
  21159. let ptr = 0;
  21160. let Name = tape[ptr++];
  21161. let Description = tape[ptr++];
  21162. let AppliedValue = tape[ptr++];
  21163. let UnitBasis = tape[ptr++];
  21164. let ApplicableDate = tape[ptr++];
  21165. let FixedUntilDate = tape[ptr++];
  21166. let Category = tape[ptr++];
  21167. let Condition = tape[ptr++];
  21168. let ArithmeticOperator = tape[ptr++];
  21169. let Components = tape[ptr++];
  21170. return new IfcAppliedValue(expressID, type, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components);
  21171. }
  21172. ToTape() {
  21173. let args = [];
  21174. args.push(this.Name);
  21175. ;
  21176. args.push(this.Description);
  21177. ;
  21178. args.push(this.AppliedValue);
  21179. ;
  21180. args.push(this.UnitBasis);
  21181. ;
  21182. args.push(this.ApplicableDate);
  21183. ;
  21184. args.push(this.FixedUntilDate);
  21185. ;
  21186. args.push(this.Category);
  21187. ;
  21188. args.push(this.Condition);
  21189. ;
  21190. args.push(this.ArithmeticOperator);
  21191. ;
  21192. args.push(this.Components);
  21193. ;
  21194. return args;
  21195. }
  21196. };
  21197. var IfcApproval = class {
  21198. constructor(expressID, type, Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) {
  21199. this.expressID = expressID;
  21200. this.type = type;
  21201. this.Identifier = Identifier;
  21202. this.Name = Name;
  21203. this.Description = Description;
  21204. this.TimeOfApproval = TimeOfApproval;
  21205. this.Status = Status;
  21206. this.Level = Level;
  21207. this.Qualifier = Qualifier;
  21208. this.RequestingApproval = RequestingApproval;
  21209. this.GivingApproval = GivingApproval;
  21210. }
  21211. static FromTape(expressID, type, tape) {
  21212. let ptr = 0;
  21213. let Identifier = tape[ptr++];
  21214. let Name = tape[ptr++];
  21215. let Description = tape[ptr++];
  21216. let TimeOfApproval = tape[ptr++];
  21217. let Status = tape[ptr++];
  21218. let Level = tape[ptr++];
  21219. let Qualifier = tape[ptr++];
  21220. let RequestingApproval = tape[ptr++];
  21221. let GivingApproval = tape[ptr++];
  21222. return new IfcApproval(expressID, type, Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval);
  21223. }
  21224. ToTape() {
  21225. let args = [];
  21226. args.push(this.Identifier);
  21227. ;
  21228. args.push(this.Name);
  21229. ;
  21230. args.push(this.Description);
  21231. ;
  21232. args.push(this.TimeOfApproval);
  21233. ;
  21234. args.push(this.Status);
  21235. ;
  21236. args.push(this.Level);
  21237. ;
  21238. args.push(this.Qualifier);
  21239. ;
  21240. args.push(this.RequestingApproval);
  21241. ;
  21242. args.push(this.GivingApproval);
  21243. ;
  21244. return args;
  21245. }
  21246. };
  21247. var IfcApprovalRelationship = class {
  21248. constructor(expressID, type, Name, Description, RelatingApproval, RelatedApprovals) {
  21249. this.expressID = expressID;
  21250. this.type = type;
  21251. this.Name = Name;
  21252. this.Description = Description;
  21253. this.RelatingApproval = RelatingApproval;
  21254. this.RelatedApprovals = RelatedApprovals;
  21255. }
  21256. static FromTape(expressID, type, tape) {
  21257. let ptr = 0;
  21258. let Name = tape[ptr++];
  21259. let Description = tape[ptr++];
  21260. let RelatingApproval = tape[ptr++];
  21261. let RelatedApprovals = tape[ptr++];
  21262. return new IfcApprovalRelationship(expressID, type, Name, Description, RelatingApproval, RelatedApprovals);
  21263. }
  21264. ToTape() {
  21265. let args = [];
  21266. args.push(this.Name);
  21267. ;
  21268. args.push(this.Description);
  21269. ;
  21270. args.push(this.RelatingApproval);
  21271. ;
  21272. args.push(this.RelatedApprovals);
  21273. ;
  21274. return args;
  21275. }
  21276. };
  21277. var IfcArbitraryClosedProfileDef = class {
  21278. constructor(expressID, type, ProfileType, ProfileName, OuterCurve) {
  21279. this.expressID = expressID;
  21280. this.type = type;
  21281. this.ProfileType = ProfileType;
  21282. this.ProfileName = ProfileName;
  21283. this.OuterCurve = OuterCurve;
  21284. }
  21285. static FromTape(expressID, type, tape) {
  21286. let ptr = 0;
  21287. let ProfileType = tape[ptr++];
  21288. let ProfileName = tape[ptr++];
  21289. let OuterCurve = tape[ptr++];
  21290. return new IfcArbitraryClosedProfileDef(expressID, type, ProfileType, ProfileName, OuterCurve);
  21291. }
  21292. ToTape() {
  21293. let args = [];
  21294. args.push(this.ProfileType);
  21295. ;
  21296. args.push(this.ProfileName);
  21297. ;
  21298. args.push(this.OuterCurve);
  21299. ;
  21300. return args;
  21301. }
  21302. };
  21303. var IfcArbitraryOpenProfileDef = class {
  21304. constructor(expressID, type, ProfileType, ProfileName, Curve) {
  21305. this.expressID = expressID;
  21306. this.type = type;
  21307. this.ProfileType = ProfileType;
  21308. this.ProfileName = ProfileName;
  21309. this.Curve = Curve;
  21310. }
  21311. static FromTape(expressID, type, tape) {
  21312. let ptr = 0;
  21313. let ProfileType = tape[ptr++];
  21314. let ProfileName = tape[ptr++];
  21315. let Curve = tape[ptr++];
  21316. return new IfcArbitraryOpenProfileDef(expressID, type, ProfileType, ProfileName, Curve);
  21317. }
  21318. ToTape() {
  21319. let args = [];
  21320. args.push(this.ProfileType);
  21321. ;
  21322. args.push(this.ProfileName);
  21323. ;
  21324. args.push(this.Curve);
  21325. ;
  21326. return args;
  21327. }
  21328. };
  21329. var IfcArbitraryProfileDefWithVoids = class {
  21330. constructor(expressID, type, ProfileType, ProfileName, OuterCurve, InnerCurves) {
  21331. this.expressID = expressID;
  21332. this.type = type;
  21333. this.ProfileType = ProfileType;
  21334. this.ProfileName = ProfileName;
  21335. this.OuterCurve = OuterCurve;
  21336. this.InnerCurves = InnerCurves;
  21337. }
  21338. static FromTape(expressID, type, tape) {
  21339. let ptr = 0;
  21340. let ProfileType = tape[ptr++];
  21341. let ProfileName = tape[ptr++];
  21342. let OuterCurve = tape[ptr++];
  21343. let InnerCurves = tape[ptr++];
  21344. return new IfcArbitraryProfileDefWithVoids(expressID, type, ProfileType, ProfileName, OuterCurve, InnerCurves);
  21345. }
  21346. ToTape() {
  21347. let args = [];
  21348. args.push(this.ProfileType);
  21349. ;
  21350. args.push(this.ProfileName);
  21351. ;
  21352. args.push(this.OuterCurve);
  21353. ;
  21354. args.push(this.InnerCurves);
  21355. ;
  21356. return args;
  21357. }
  21358. };
  21359. var IfcAsset = class {
  21360. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) {
  21361. this.expressID = expressID;
  21362. this.type = type;
  21363. this.GlobalId = GlobalId;
  21364. this.OwnerHistory = OwnerHistory;
  21365. this.Name = Name;
  21366. this.Description = Description;
  21367. this.ObjectType = ObjectType;
  21368. this.Identification = Identification;
  21369. this.OriginalValue = OriginalValue;
  21370. this.CurrentValue = CurrentValue;
  21371. this.TotalReplacementCost = TotalReplacementCost;
  21372. this.Owner = Owner;
  21373. this.User = User;
  21374. this.ResponsiblePerson = ResponsiblePerson;
  21375. this.IncorporationDate = IncorporationDate;
  21376. this.DepreciatedValue = DepreciatedValue;
  21377. }
  21378. static FromTape(expressID, type, tape) {
  21379. let ptr = 0;
  21380. let GlobalId = tape[ptr++];
  21381. let OwnerHistory = tape[ptr++];
  21382. let Name = tape[ptr++];
  21383. let Description = tape[ptr++];
  21384. let ObjectType = tape[ptr++];
  21385. let Identification = tape[ptr++];
  21386. let OriginalValue = tape[ptr++];
  21387. let CurrentValue = tape[ptr++];
  21388. let TotalReplacementCost = tape[ptr++];
  21389. let Owner = tape[ptr++];
  21390. let User = tape[ptr++];
  21391. let ResponsiblePerson = tape[ptr++];
  21392. let IncorporationDate = tape[ptr++];
  21393. let DepreciatedValue = tape[ptr++];
  21394. return new IfcAsset(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue);
  21395. }
  21396. ToTape() {
  21397. let args = [];
  21398. args.push(this.GlobalId);
  21399. ;
  21400. args.push(this.OwnerHistory);
  21401. ;
  21402. args.push(this.Name);
  21403. ;
  21404. args.push(this.Description);
  21405. ;
  21406. args.push(this.ObjectType);
  21407. ;
  21408. args.push(this.Identification);
  21409. ;
  21410. args.push(this.OriginalValue);
  21411. ;
  21412. args.push(this.CurrentValue);
  21413. ;
  21414. args.push(this.TotalReplacementCost);
  21415. ;
  21416. args.push(this.Owner);
  21417. ;
  21418. args.push(this.User);
  21419. ;
  21420. args.push(this.ResponsiblePerson);
  21421. ;
  21422. args.push(this.IncorporationDate);
  21423. ;
  21424. args.push(this.DepreciatedValue);
  21425. ;
  21426. return args;
  21427. }
  21428. };
  21429. var IfcAsymmetricIShapeProfileDef = class {
  21430. constructor(expressID, type, ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) {
  21431. this.expressID = expressID;
  21432. this.type = type;
  21433. this.ProfileType = ProfileType;
  21434. this.ProfileName = ProfileName;
  21435. this.Position = Position;
  21436. this.BottomFlangeWidth = BottomFlangeWidth;
  21437. this.OverallDepth = OverallDepth;
  21438. this.WebThickness = WebThickness;
  21439. this.BottomFlangeThickness = BottomFlangeThickness;
  21440. this.BottomFlangeFilletRadius = BottomFlangeFilletRadius;
  21441. this.TopFlangeWidth = TopFlangeWidth;
  21442. this.TopFlangeThickness = TopFlangeThickness;
  21443. this.TopFlangeFilletRadius = TopFlangeFilletRadius;
  21444. this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius;
  21445. this.BottomFlangeSlope = BottomFlangeSlope;
  21446. this.TopFlangeEdgeRadius = TopFlangeEdgeRadius;
  21447. this.TopFlangeSlope = TopFlangeSlope;
  21448. }
  21449. static FromTape(expressID, type, tape) {
  21450. let ptr = 0;
  21451. let ProfileType = tape[ptr++];
  21452. let ProfileName = tape[ptr++];
  21453. let Position = tape[ptr++];
  21454. let BottomFlangeWidth = tape[ptr++];
  21455. let OverallDepth = tape[ptr++];
  21456. let WebThickness = tape[ptr++];
  21457. let BottomFlangeThickness = tape[ptr++];
  21458. let BottomFlangeFilletRadius = tape[ptr++];
  21459. let TopFlangeWidth = tape[ptr++];
  21460. let TopFlangeThickness = tape[ptr++];
  21461. let TopFlangeFilletRadius = tape[ptr++];
  21462. let BottomFlangeEdgeRadius = tape[ptr++];
  21463. let BottomFlangeSlope = tape[ptr++];
  21464. let TopFlangeEdgeRadius = tape[ptr++];
  21465. let TopFlangeSlope = tape[ptr++];
  21466. return new IfcAsymmetricIShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope);
  21467. }
  21468. ToTape() {
  21469. let args = [];
  21470. args.push(this.ProfileType);
  21471. ;
  21472. args.push(this.ProfileName);
  21473. ;
  21474. args.push(this.Position);
  21475. ;
  21476. args.push(this.BottomFlangeWidth);
  21477. ;
  21478. args.push(this.OverallDepth);
  21479. ;
  21480. args.push(this.WebThickness);
  21481. ;
  21482. args.push(this.BottomFlangeThickness);
  21483. ;
  21484. args.push(this.BottomFlangeFilletRadius);
  21485. ;
  21486. args.push(this.TopFlangeWidth);
  21487. ;
  21488. args.push(this.TopFlangeThickness);
  21489. ;
  21490. args.push(this.TopFlangeFilletRadius);
  21491. ;
  21492. args.push(this.BottomFlangeEdgeRadius);
  21493. ;
  21494. args.push(this.BottomFlangeSlope);
  21495. ;
  21496. args.push(this.TopFlangeEdgeRadius);
  21497. ;
  21498. args.push(this.TopFlangeSlope);
  21499. ;
  21500. return args;
  21501. }
  21502. };
  21503. var IfcAudioVisualAppliance = class {
  21504. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  21505. this.expressID = expressID;
  21506. this.type = type;
  21507. this.GlobalId = GlobalId;
  21508. this.OwnerHistory = OwnerHistory;
  21509. this.Name = Name;
  21510. this.Description = Description;
  21511. this.ObjectType = ObjectType;
  21512. this.ObjectPlacement = ObjectPlacement;
  21513. this.Representation = Representation;
  21514. this.Tag = Tag;
  21515. this.PredefinedType = PredefinedType;
  21516. }
  21517. static FromTape(expressID, type, tape) {
  21518. let ptr = 0;
  21519. let GlobalId = tape[ptr++];
  21520. let OwnerHistory = tape[ptr++];
  21521. let Name = tape[ptr++];
  21522. let Description = tape[ptr++];
  21523. let ObjectType = tape[ptr++];
  21524. let ObjectPlacement = tape[ptr++];
  21525. let Representation = tape[ptr++];
  21526. let Tag = tape[ptr++];
  21527. let PredefinedType = tape[ptr++];
  21528. return new IfcAudioVisualAppliance(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  21529. }
  21530. ToTape() {
  21531. let args = [];
  21532. args.push(this.GlobalId);
  21533. ;
  21534. args.push(this.OwnerHistory);
  21535. ;
  21536. args.push(this.Name);
  21537. ;
  21538. args.push(this.Description);
  21539. ;
  21540. args.push(this.ObjectType);
  21541. ;
  21542. args.push(this.ObjectPlacement);
  21543. ;
  21544. args.push(this.Representation);
  21545. ;
  21546. args.push(this.Tag);
  21547. ;
  21548. args.push(this.PredefinedType);
  21549. ;
  21550. return args;
  21551. }
  21552. };
  21553. var IfcAudioVisualApplianceType = class {
  21554. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  21555. this.expressID = expressID;
  21556. this.type = type;
  21557. this.GlobalId = GlobalId;
  21558. this.OwnerHistory = OwnerHistory;
  21559. this.Name = Name;
  21560. this.Description = Description;
  21561. this.ApplicableOccurrence = ApplicableOccurrence;
  21562. this.HasPropertySets = HasPropertySets;
  21563. this.RepresentationMaps = RepresentationMaps;
  21564. this.Tag = Tag;
  21565. this.ElementType = ElementType;
  21566. this.PredefinedType = PredefinedType;
  21567. }
  21568. static FromTape(expressID, type, tape) {
  21569. let ptr = 0;
  21570. let GlobalId = tape[ptr++];
  21571. let OwnerHistory = tape[ptr++];
  21572. let Name = tape[ptr++];
  21573. let Description = tape[ptr++];
  21574. let ApplicableOccurrence = tape[ptr++];
  21575. let HasPropertySets = tape[ptr++];
  21576. let RepresentationMaps = tape[ptr++];
  21577. let Tag = tape[ptr++];
  21578. let ElementType = tape[ptr++];
  21579. let PredefinedType = tape[ptr++];
  21580. return new IfcAudioVisualApplianceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  21581. }
  21582. ToTape() {
  21583. let args = [];
  21584. args.push(this.GlobalId);
  21585. ;
  21586. args.push(this.OwnerHistory);
  21587. ;
  21588. args.push(this.Name);
  21589. ;
  21590. args.push(this.Description);
  21591. ;
  21592. args.push(this.ApplicableOccurrence);
  21593. ;
  21594. args.push(this.HasPropertySets);
  21595. ;
  21596. args.push(this.RepresentationMaps);
  21597. ;
  21598. args.push(this.Tag);
  21599. ;
  21600. args.push(this.ElementType);
  21601. ;
  21602. args.push(this.PredefinedType);
  21603. ;
  21604. return args;
  21605. }
  21606. };
  21607. var IfcAxis1Placement = class {
  21608. constructor(expressID, type, Location, Axis) {
  21609. this.expressID = expressID;
  21610. this.type = type;
  21611. this.Location = Location;
  21612. this.Axis = Axis;
  21613. }
  21614. static FromTape(expressID, type, tape) {
  21615. let ptr = 0;
  21616. let Location = tape[ptr++];
  21617. let Axis = tape[ptr++];
  21618. return new IfcAxis1Placement(expressID, type, Location, Axis);
  21619. }
  21620. ToTape() {
  21621. let args = [];
  21622. args.push(this.Location);
  21623. ;
  21624. args.push(this.Axis);
  21625. ;
  21626. return args;
  21627. }
  21628. };
  21629. var IfcAxis2Placement2D = class {
  21630. constructor(expressID, type, Location, RefDirection) {
  21631. this.expressID = expressID;
  21632. this.type = type;
  21633. this.Location = Location;
  21634. this.RefDirection = RefDirection;
  21635. }
  21636. static FromTape(expressID, type, tape) {
  21637. let ptr = 0;
  21638. let Location = tape[ptr++];
  21639. let RefDirection = tape[ptr++];
  21640. return new IfcAxis2Placement2D(expressID, type, Location, RefDirection);
  21641. }
  21642. ToTape() {
  21643. let args = [];
  21644. args.push(this.Location);
  21645. ;
  21646. args.push(this.RefDirection);
  21647. ;
  21648. return args;
  21649. }
  21650. };
  21651. var IfcAxis2Placement3D = class {
  21652. constructor(expressID, type, Location, Axis, RefDirection) {
  21653. this.expressID = expressID;
  21654. this.type = type;
  21655. this.Location = Location;
  21656. this.Axis = Axis;
  21657. this.RefDirection = RefDirection;
  21658. }
  21659. static FromTape(expressID, type, tape) {
  21660. let ptr = 0;
  21661. let Location = tape[ptr++];
  21662. let Axis = tape[ptr++];
  21663. let RefDirection = tape[ptr++];
  21664. return new IfcAxis2Placement3D(expressID, type, Location, Axis, RefDirection);
  21665. }
  21666. ToTape() {
  21667. let args = [];
  21668. args.push(this.Location);
  21669. ;
  21670. args.push(this.Axis);
  21671. ;
  21672. args.push(this.RefDirection);
  21673. ;
  21674. return args;
  21675. }
  21676. };
  21677. var IfcBSplineCurve = class {
  21678. constructor(expressID, type, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) {
  21679. this.expressID = expressID;
  21680. this.type = type;
  21681. this.Degree = Degree;
  21682. this.ControlPointsList = ControlPointsList;
  21683. this.CurveForm = CurveForm;
  21684. this.ClosedCurve = ClosedCurve;
  21685. this.SelfIntersect = SelfIntersect;
  21686. }
  21687. static FromTape(expressID, type, tape) {
  21688. let ptr = 0;
  21689. let Degree = tape[ptr++];
  21690. let ControlPointsList = tape[ptr++];
  21691. let CurveForm = tape[ptr++];
  21692. let ClosedCurve = tape[ptr++];
  21693. let SelfIntersect = tape[ptr++];
  21694. return new IfcBSplineCurve(expressID, type, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect);
  21695. }
  21696. ToTape() {
  21697. let args = [];
  21698. args.push(this.Degree);
  21699. ;
  21700. args.push(this.ControlPointsList);
  21701. ;
  21702. args.push(this.CurveForm);
  21703. ;
  21704. args.push(this.ClosedCurve);
  21705. ;
  21706. args.push(this.SelfIntersect);
  21707. ;
  21708. return args;
  21709. }
  21710. };
  21711. var IfcBSplineCurveWithKnots = class {
  21712. constructor(expressID, type, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) {
  21713. this.expressID = expressID;
  21714. this.type = type;
  21715. this.Degree = Degree;
  21716. this.ControlPointsList = ControlPointsList;
  21717. this.CurveForm = CurveForm;
  21718. this.ClosedCurve = ClosedCurve;
  21719. this.SelfIntersect = SelfIntersect;
  21720. this.KnotMultiplicities = KnotMultiplicities;
  21721. this.Knots = Knots;
  21722. this.KnotSpec = KnotSpec;
  21723. }
  21724. static FromTape(expressID, type, tape) {
  21725. let ptr = 0;
  21726. let Degree = tape[ptr++];
  21727. let ControlPointsList = tape[ptr++];
  21728. let CurveForm = tape[ptr++];
  21729. let ClosedCurve = tape[ptr++];
  21730. let SelfIntersect = tape[ptr++];
  21731. let KnotMultiplicities = tape[ptr++];
  21732. let Knots = tape[ptr++];
  21733. let KnotSpec = tape[ptr++];
  21734. return new IfcBSplineCurveWithKnots(expressID, type, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec);
  21735. }
  21736. ToTape() {
  21737. let args = [];
  21738. args.push(this.Degree);
  21739. ;
  21740. args.push(this.ControlPointsList);
  21741. ;
  21742. args.push(this.CurveForm);
  21743. ;
  21744. args.push(this.ClosedCurve);
  21745. ;
  21746. args.push(this.SelfIntersect);
  21747. ;
  21748. args.push(this.KnotMultiplicities);
  21749. ;
  21750. args.push(this.Knots);
  21751. ;
  21752. args.push(this.KnotSpec);
  21753. ;
  21754. return args;
  21755. }
  21756. };
  21757. var IfcBSplineSurface = class {
  21758. constructor(expressID, type, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) {
  21759. this.expressID = expressID;
  21760. this.type = type;
  21761. this.UDegree = UDegree;
  21762. this.VDegree = VDegree;
  21763. this.ControlPointsList = ControlPointsList;
  21764. this.SurfaceForm = SurfaceForm;
  21765. this.UClosed = UClosed;
  21766. this.VClosed = VClosed;
  21767. this.SelfIntersect = SelfIntersect;
  21768. }
  21769. static FromTape(expressID, type, tape) {
  21770. let ptr = 0;
  21771. let UDegree = tape[ptr++];
  21772. let VDegree = tape[ptr++];
  21773. let ControlPointsList = tape[ptr++];
  21774. let SurfaceForm = tape[ptr++];
  21775. let UClosed = tape[ptr++];
  21776. let VClosed = tape[ptr++];
  21777. let SelfIntersect = tape[ptr++];
  21778. return new IfcBSplineSurface(expressID, type, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect);
  21779. }
  21780. ToTape() {
  21781. let args = [];
  21782. args.push(this.UDegree);
  21783. ;
  21784. args.push(this.VDegree);
  21785. ;
  21786. args.push(this.ControlPointsList);
  21787. ;
  21788. args.push(this.SurfaceForm);
  21789. ;
  21790. args.push(this.UClosed);
  21791. ;
  21792. args.push(this.VClosed);
  21793. ;
  21794. args.push(this.SelfIntersect);
  21795. ;
  21796. return args;
  21797. }
  21798. };
  21799. var IfcBSplineSurfaceWithKnots = class {
  21800. constructor(expressID, type, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) {
  21801. this.expressID = expressID;
  21802. this.type = type;
  21803. this.UDegree = UDegree;
  21804. this.VDegree = VDegree;
  21805. this.ControlPointsList = ControlPointsList;
  21806. this.SurfaceForm = SurfaceForm;
  21807. this.UClosed = UClosed;
  21808. this.VClosed = VClosed;
  21809. this.SelfIntersect = SelfIntersect;
  21810. this.UMultiplicities = UMultiplicities;
  21811. this.VMultiplicities = VMultiplicities;
  21812. this.UKnots = UKnots;
  21813. this.VKnots = VKnots;
  21814. this.KnotSpec = KnotSpec;
  21815. }
  21816. static FromTape(expressID, type, tape) {
  21817. let ptr = 0;
  21818. let UDegree = tape[ptr++];
  21819. let VDegree = tape[ptr++];
  21820. let ControlPointsList = tape[ptr++];
  21821. let SurfaceForm = tape[ptr++];
  21822. let UClosed = tape[ptr++];
  21823. let VClosed = tape[ptr++];
  21824. let SelfIntersect = tape[ptr++];
  21825. let UMultiplicities = tape[ptr++];
  21826. let VMultiplicities = tape[ptr++];
  21827. let UKnots = tape[ptr++];
  21828. let VKnots = tape[ptr++];
  21829. let KnotSpec = tape[ptr++];
  21830. return new IfcBSplineSurfaceWithKnots(expressID, type, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec);
  21831. }
  21832. ToTape() {
  21833. let args = [];
  21834. args.push(this.UDegree);
  21835. ;
  21836. args.push(this.VDegree);
  21837. ;
  21838. args.push(this.ControlPointsList);
  21839. ;
  21840. args.push(this.SurfaceForm);
  21841. ;
  21842. args.push(this.UClosed);
  21843. ;
  21844. args.push(this.VClosed);
  21845. ;
  21846. args.push(this.SelfIntersect);
  21847. ;
  21848. args.push(this.UMultiplicities);
  21849. ;
  21850. args.push(this.VMultiplicities);
  21851. ;
  21852. args.push(this.UKnots);
  21853. ;
  21854. args.push(this.VKnots);
  21855. ;
  21856. args.push(this.KnotSpec);
  21857. ;
  21858. return args;
  21859. }
  21860. };
  21861. var IfcBeam = class {
  21862. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  21863. this.expressID = expressID;
  21864. this.type = type;
  21865. this.GlobalId = GlobalId;
  21866. this.OwnerHistory = OwnerHistory;
  21867. this.Name = Name;
  21868. this.Description = Description;
  21869. this.ObjectType = ObjectType;
  21870. this.ObjectPlacement = ObjectPlacement;
  21871. this.Representation = Representation;
  21872. this.Tag = Tag;
  21873. this.PredefinedType = PredefinedType;
  21874. }
  21875. static FromTape(expressID, type, tape) {
  21876. let ptr = 0;
  21877. let GlobalId = tape[ptr++];
  21878. let OwnerHistory = tape[ptr++];
  21879. let Name = tape[ptr++];
  21880. let Description = tape[ptr++];
  21881. let ObjectType = tape[ptr++];
  21882. let ObjectPlacement = tape[ptr++];
  21883. let Representation = tape[ptr++];
  21884. let Tag = tape[ptr++];
  21885. let PredefinedType = tape[ptr++];
  21886. return new IfcBeam(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  21887. }
  21888. ToTape() {
  21889. let args = [];
  21890. args.push(this.GlobalId);
  21891. ;
  21892. args.push(this.OwnerHistory);
  21893. ;
  21894. args.push(this.Name);
  21895. ;
  21896. args.push(this.Description);
  21897. ;
  21898. args.push(this.ObjectType);
  21899. ;
  21900. args.push(this.ObjectPlacement);
  21901. ;
  21902. args.push(this.Representation);
  21903. ;
  21904. args.push(this.Tag);
  21905. ;
  21906. args.push(this.PredefinedType);
  21907. ;
  21908. return args;
  21909. }
  21910. };
  21911. var IfcBeamStandardCase = class {
  21912. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  21913. this.expressID = expressID;
  21914. this.type = type;
  21915. this.GlobalId = GlobalId;
  21916. this.OwnerHistory = OwnerHistory;
  21917. this.Name = Name;
  21918. this.Description = Description;
  21919. this.ObjectType = ObjectType;
  21920. this.ObjectPlacement = ObjectPlacement;
  21921. this.Representation = Representation;
  21922. this.Tag = Tag;
  21923. this.PredefinedType = PredefinedType;
  21924. }
  21925. static FromTape(expressID, type, tape) {
  21926. let ptr = 0;
  21927. let GlobalId = tape[ptr++];
  21928. let OwnerHistory = tape[ptr++];
  21929. let Name = tape[ptr++];
  21930. let Description = tape[ptr++];
  21931. let ObjectType = tape[ptr++];
  21932. let ObjectPlacement = tape[ptr++];
  21933. let Representation = tape[ptr++];
  21934. let Tag = tape[ptr++];
  21935. let PredefinedType = tape[ptr++];
  21936. return new IfcBeamStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  21937. }
  21938. ToTape() {
  21939. let args = [];
  21940. args.push(this.GlobalId);
  21941. ;
  21942. args.push(this.OwnerHistory);
  21943. ;
  21944. args.push(this.Name);
  21945. ;
  21946. args.push(this.Description);
  21947. ;
  21948. args.push(this.ObjectType);
  21949. ;
  21950. args.push(this.ObjectPlacement);
  21951. ;
  21952. args.push(this.Representation);
  21953. ;
  21954. args.push(this.Tag);
  21955. ;
  21956. args.push(this.PredefinedType);
  21957. ;
  21958. return args;
  21959. }
  21960. };
  21961. var IfcBeamType = class {
  21962. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  21963. this.expressID = expressID;
  21964. this.type = type;
  21965. this.GlobalId = GlobalId;
  21966. this.OwnerHistory = OwnerHistory;
  21967. this.Name = Name;
  21968. this.Description = Description;
  21969. this.ApplicableOccurrence = ApplicableOccurrence;
  21970. this.HasPropertySets = HasPropertySets;
  21971. this.RepresentationMaps = RepresentationMaps;
  21972. this.Tag = Tag;
  21973. this.ElementType = ElementType;
  21974. this.PredefinedType = PredefinedType;
  21975. }
  21976. static FromTape(expressID, type, tape) {
  21977. let ptr = 0;
  21978. let GlobalId = tape[ptr++];
  21979. let OwnerHistory = tape[ptr++];
  21980. let Name = tape[ptr++];
  21981. let Description = tape[ptr++];
  21982. let ApplicableOccurrence = tape[ptr++];
  21983. let HasPropertySets = tape[ptr++];
  21984. let RepresentationMaps = tape[ptr++];
  21985. let Tag = tape[ptr++];
  21986. let ElementType = tape[ptr++];
  21987. let PredefinedType = tape[ptr++];
  21988. return new IfcBeamType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  21989. }
  21990. ToTape() {
  21991. let args = [];
  21992. args.push(this.GlobalId);
  21993. ;
  21994. args.push(this.OwnerHistory);
  21995. ;
  21996. args.push(this.Name);
  21997. ;
  21998. args.push(this.Description);
  21999. ;
  22000. args.push(this.ApplicableOccurrence);
  22001. ;
  22002. args.push(this.HasPropertySets);
  22003. ;
  22004. args.push(this.RepresentationMaps);
  22005. ;
  22006. args.push(this.Tag);
  22007. ;
  22008. args.push(this.ElementType);
  22009. ;
  22010. args.push(this.PredefinedType);
  22011. ;
  22012. return args;
  22013. }
  22014. };
  22015. var IfcBearing = class {
  22016. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  22017. this.expressID = expressID;
  22018. this.type = type;
  22019. this.GlobalId = GlobalId;
  22020. this.OwnerHistory = OwnerHistory;
  22021. this.Name = Name;
  22022. this.Description = Description;
  22023. this.ObjectType = ObjectType;
  22024. this.ObjectPlacement = ObjectPlacement;
  22025. this.Representation = Representation;
  22026. this.Tag = Tag;
  22027. this.PredefinedType = PredefinedType;
  22028. }
  22029. static FromTape(expressID, type, tape) {
  22030. let ptr = 0;
  22031. let GlobalId = tape[ptr++];
  22032. let OwnerHistory = tape[ptr++];
  22033. let Name = tape[ptr++];
  22034. let Description = tape[ptr++];
  22035. let ObjectType = tape[ptr++];
  22036. let ObjectPlacement = tape[ptr++];
  22037. let Representation = tape[ptr++];
  22038. let Tag = tape[ptr++];
  22039. let PredefinedType = tape[ptr++];
  22040. return new IfcBearing(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  22041. }
  22042. ToTape() {
  22043. let args = [];
  22044. args.push(this.GlobalId);
  22045. ;
  22046. args.push(this.OwnerHistory);
  22047. ;
  22048. args.push(this.Name);
  22049. ;
  22050. args.push(this.Description);
  22051. ;
  22052. args.push(this.ObjectType);
  22053. ;
  22054. args.push(this.ObjectPlacement);
  22055. ;
  22056. args.push(this.Representation);
  22057. ;
  22058. args.push(this.Tag);
  22059. ;
  22060. args.push(this.PredefinedType);
  22061. ;
  22062. return args;
  22063. }
  22064. };
  22065. var IfcBearingType = class {
  22066. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  22067. this.expressID = expressID;
  22068. this.type = type;
  22069. this.GlobalId = GlobalId;
  22070. this.OwnerHistory = OwnerHistory;
  22071. this.Name = Name;
  22072. this.Description = Description;
  22073. this.ApplicableOccurrence = ApplicableOccurrence;
  22074. this.HasPropertySets = HasPropertySets;
  22075. this.RepresentationMaps = RepresentationMaps;
  22076. this.Tag = Tag;
  22077. this.ElementType = ElementType;
  22078. this.PredefinedType = PredefinedType;
  22079. }
  22080. static FromTape(expressID, type, tape) {
  22081. let ptr = 0;
  22082. let GlobalId = tape[ptr++];
  22083. let OwnerHistory = tape[ptr++];
  22084. let Name = tape[ptr++];
  22085. let Description = tape[ptr++];
  22086. let ApplicableOccurrence = tape[ptr++];
  22087. let HasPropertySets = tape[ptr++];
  22088. let RepresentationMaps = tape[ptr++];
  22089. let Tag = tape[ptr++];
  22090. let ElementType = tape[ptr++];
  22091. let PredefinedType = tape[ptr++];
  22092. return new IfcBearingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  22093. }
  22094. ToTape() {
  22095. let args = [];
  22096. args.push(this.GlobalId);
  22097. ;
  22098. args.push(this.OwnerHistory);
  22099. ;
  22100. args.push(this.Name);
  22101. ;
  22102. args.push(this.Description);
  22103. ;
  22104. args.push(this.ApplicableOccurrence);
  22105. ;
  22106. args.push(this.HasPropertySets);
  22107. ;
  22108. args.push(this.RepresentationMaps);
  22109. ;
  22110. args.push(this.Tag);
  22111. ;
  22112. args.push(this.ElementType);
  22113. ;
  22114. args.push(this.PredefinedType);
  22115. ;
  22116. return args;
  22117. }
  22118. };
  22119. var IfcBlobTexture = class {
  22120. constructor(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) {
  22121. this.expressID = expressID;
  22122. this.type = type;
  22123. this.RepeatS = RepeatS;
  22124. this.RepeatT = RepeatT;
  22125. this.Mode = Mode;
  22126. this.TextureTransform = TextureTransform;
  22127. this.Parameter = Parameter;
  22128. this.RasterFormat = RasterFormat;
  22129. this.RasterCode = RasterCode;
  22130. }
  22131. static FromTape(expressID, type, tape) {
  22132. let ptr = 0;
  22133. let RepeatS = tape[ptr++];
  22134. let RepeatT = tape[ptr++];
  22135. let Mode = tape[ptr++];
  22136. let TextureTransform = tape[ptr++];
  22137. let Parameter = tape[ptr++];
  22138. let RasterFormat = tape[ptr++];
  22139. let RasterCode = tape[ptr++];
  22140. return new IfcBlobTexture(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode);
  22141. }
  22142. ToTape() {
  22143. let args = [];
  22144. args.push(this.RepeatS);
  22145. ;
  22146. args.push(this.RepeatT);
  22147. ;
  22148. args.push(this.Mode);
  22149. ;
  22150. args.push(this.TextureTransform);
  22151. ;
  22152. args.push(this.Parameter);
  22153. ;
  22154. args.push(this.RasterFormat);
  22155. ;
  22156. args.push(this.RasterCode);
  22157. ;
  22158. return args;
  22159. }
  22160. };
  22161. var IfcBlock = class {
  22162. constructor(expressID, type, Position, XLength, YLength, ZLength) {
  22163. this.expressID = expressID;
  22164. this.type = type;
  22165. this.Position = Position;
  22166. this.XLength = XLength;
  22167. this.YLength = YLength;
  22168. this.ZLength = ZLength;
  22169. }
  22170. static FromTape(expressID, type, tape) {
  22171. let ptr = 0;
  22172. let Position = tape[ptr++];
  22173. let XLength = tape[ptr++];
  22174. let YLength = tape[ptr++];
  22175. let ZLength = tape[ptr++];
  22176. return new IfcBlock(expressID, type, Position, XLength, YLength, ZLength);
  22177. }
  22178. ToTape() {
  22179. let args = [];
  22180. args.push(this.Position);
  22181. ;
  22182. args.push(this.XLength);
  22183. ;
  22184. args.push(this.YLength);
  22185. ;
  22186. args.push(this.ZLength);
  22187. ;
  22188. return args;
  22189. }
  22190. };
  22191. var IfcBoiler = class {
  22192. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  22193. this.expressID = expressID;
  22194. this.type = type;
  22195. this.GlobalId = GlobalId;
  22196. this.OwnerHistory = OwnerHistory;
  22197. this.Name = Name;
  22198. this.Description = Description;
  22199. this.ObjectType = ObjectType;
  22200. this.ObjectPlacement = ObjectPlacement;
  22201. this.Representation = Representation;
  22202. this.Tag = Tag;
  22203. this.PredefinedType = PredefinedType;
  22204. }
  22205. static FromTape(expressID, type, tape) {
  22206. let ptr = 0;
  22207. let GlobalId = tape[ptr++];
  22208. let OwnerHistory = tape[ptr++];
  22209. let Name = tape[ptr++];
  22210. let Description = tape[ptr++];
  22211. let ObjectType = tape[ptr++];
  22212. let ObjectPlacement = tape[ptr++];
  22213. let Representation = tape[ptr++];
  22214. let Tag = tape[ptr++];
  22215. let PredefinedType = tape[ptr++];
  22216. return new IfcBoiler(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  22217. }
  22218. ToTape() {
  22219. let args = [];
  22220. args.push(this.GlobalId);
  22221. ;
  22222. args.push(this.OwnerHistory);
  22223. ;
  22224. args.push(this.Name);
  22225. ;
  22226. args.push(this.Description);
  22227. ;
  22228. args.push(this.ObjectType);
  22229. ;
  22230. args.push(this.ObjectPlacement);
  22231. ;
  22232. args.push(this.Representation);
  22233. ;
  22234. args.push(this.Tag);
  22235. ;
  22236. args.push(this.PredefinedType);
  22237. ;
  22238. return args;
  22239. }
  22240. };
  22241. var IfcBoilerType = class {
  22242. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  22243. this.expressID = expressID;
  22244. this.type = type;
  22245. this.GlobalId = GlobalId;
  22246. this.OwnerHistory = OwnerHistory;
  22247. this.Name = Name;
  22248. this.Description = Description;
  22249. this.ApplicableOccurrence = ApplicableOccurrence;
  22250. this.HasPropertySets = HasPropertySets;
  22251. this.RepresentationMaps = RepresentationMaps;
  22252. this.Tag = Tag;
  22253. this.ElementType = ElementType;
  22254. this.PredefinedType = PredefinedType;
  22255. }
  22256. static FromTape(expressID, type, tape) {
  22257. let ptr = 0;
  22258. let GlobalId = tape[ptr++];
  22259. let OwnerHistory = tape[ptr++];
  22260. let Name = tape[ptr++];
  22261. let Description = tape[ptr++];
  22262. let ApplicableOccurrence = tape[ptr++];
  22263. let HasPropertySets = tape[ptr++];
  22264. let RepresentationMaps = tape[ptr++];
  22265. let Tag = tape[ptr++];
  22266. let ElementType = tape[ptr++];
  22267. let PredefinedType = tape[ptr++];
  22268. return new IfcBoilerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  22269. }
  22270. ToTape() {
  22271. let args = [];
  22272. args.push(this.GlobalId);
  22273. ;
  22274. args.push(this.OwnerHistory);
  22275. ;
  22276. args.push(this.Name);
  22277. ;
  22278. args.push(this.Description);
  22279. ;
  22280. args.push(this.ApplicableOccurrence);
  22281. ;
  22282. args.push(this.HasPropertySets);
  22283. ;
  22284. args.push(this.RepresentationMaps);
  22285. ;
  22286. args.push(this.Tag);
  22287. ;
  22288. args.push(this.ElementType);
  22289. ;
  22290. args.push(this.PredefinedType);
  22291. ;
  22292. return args;
  22293. }
  22294. };
  22295. var IfcBooleanClippingResult = class {
  22296. constructor(expressID, type, Operator, FirstOperand, SecondOperand) {
  22297. this.expressID = expressID;
  22298. this.type = type;
  22299. this.Operator = Operator;
  22300. this.FirstOperand = FirstOperand;
  22301. this.SecondOperand = SecondOperand;
  22302. }
  22303. static FromTape(expressID, type, tape) {
  22304. let ptr = 0;
  22305. let Operator = tape[ptr++];
  22306. let FirstOperand = tape[ptr++];
  22307. let SecondOperand = tape[ptr++];
  22308. return new IfcBooleanClippingResult(expressID, type, Operator, FirstOperand, SecondOperand);
  22309. }
  22310. ToTape() {
  22311. let args = [];
  22312. args.push(this.Operator);
  22313. ;
  22314. args.push(this.FirstOperand);
  22315. ;
  22316. args.push(this.SecondOperand);
  22317. ;
  22318. return args;
  22319. }
  22320. };
  22321. var IfcBooleanResult = class {
  22322. constructor(expressID, type, Operator, FirstOperand, SecondOperand) {
  22323. this.expressID = expressID;
  22324. this.type = type;
  22325. this.Operator = Operator;
  22326. this.FirstOperand = FirstOperand;
  22327. this.SecondOperand = SecondOperand;
  22328. }
  22329. static FromTape(expressID, type, tape) {
  22330. let ptr = 0;
  22331. let Operator = tape[ptr++];
  22332. let FirstOperand = tape[ptr++];
  22333. let SecondOperand = tape[ptr++];
  22334. return new IfcBooleanResult(expressID, type, Operator, FirstOperand, SecondOperand);
  22335. }
  22336. ToTape() {
  22337. let args = [];
  22338. args.push(this.Operator);
  22339. ;
  22340. args.push(this.FirstOperand);
  22341. ;
  22342. args.push(this.SecondOperand);
  22343. ;
  22344. return args;
  22345. }
  22346. };
  22347. var IfcBoundaryCondition = class {
  22348. constructor(expressID, type, Name) {
  22349. this.expressID = expressID;
  22350. this.type = type;
  22351. this.Name = Name;
  22352. }
  22353. static FromTape(expressID, type, tape) {
  22354. let ptr = 0;
  22355. let Name = tape[ptr++];
  22356. return new IfcBoundaryCondition(expressID, type, Name);
  22357. }
  22358. ToTape() {
  22359. let args = [];
  22360. args.push(this.Name);
  22361. ;
  22362. return args;
  22363. }
  22364. };
  22365. var IfcBoundaryCurve = class {
  22366. constructor(expressID, type, Segments, SelfIntersect) {
  22367. this.expressID = expressID;
  22368. this.type = type;
  22369. this.Segments = Segments;
  22370. this.SelfIntersect = SelfIntersect;
  22371. }
  22372. static FromTape(expressID, type, tape) {
  22373. let ptr = 0;
  22374. let Segments = tape[ptr++];
  22375. let SelfIntersect = tape[ptr++];
  22376. return new IfcBoundaryCurve(expressID, type, Segments, SelfIntersect);
  22377. }
  22378. ToTape() {
  22379. let args = [];
  22380. args.push(this.Segments);
  22381. ;
  22382. args.push(this.SelfIntersect);
  22383. ;
  22384. return args;
  22385. }
  22386. };
  22387. var IfcBoundaryEdgeCondition = class {
  22388. constructor(expressID, type, Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) {
  22389. this.expressID = expressID;
  22390. this.type = type;
  22391. this.Name = Name;
  22392. this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX;
  22393. this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY;
  22394. this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ;
  22395. this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX;
  22396. this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY;
  22397. this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ;
  22398. }
  22399. static FromTape(expressID, type, tape) {
  22400. let ptr = 0;
  22401. let Name = tape[ptr++];
  22402. let TranslationalStiffnessByLengthX = tape[ptr++];
  22403. let TranslationalStiffnessByLengthY = tape[ptr++];
  22404. let TranslationalStiffnessByLengthZ = tape[ptr++];
  22405. let RotationalStiffnessByLengthX = tape[ptr++];
  22406. let RotationalStiffnessByLengthY = tape[ptr++];
  22407. let RotationalStiffnessByLengthZ = tape[ptr++];
  22408. return new IfcBoundaryEdgeCondition(expressID, type, Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ);
  22409. }
  22410. ToTape() {
  22411. let args = [];
  22412. args.push(this.Name);
  22413. ;
  22414. args.push(this.TranslationalStiffnessByLengthX);
  22415. ;
  22416. args.push(this.TranslationalStiffnessByLengthY);
  22417. ;
  22418. args.push(this.TranslationalStiffnessByLengthZ);
  22419. ;
  22420. args.push(this.RotationalStiffnessByLengthX);
  22421. ;
  22422. args.push(this.RotationalStiffnessByLengthY);
  22423. ;
  22424. args.push(this.RotationalStiffnessByLengthZ);
  22425. ;
  22426. return args;
  22427. }
  22428. };
  22429. var IfcBoundaryFaceCondition = class {
  22430. constructor(expressID, type, Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) {
  22431. this.expressID = expressID;
  22432. this.type = type;
  22433. this.Name = Name;
  22434. this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX;
  22435. this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY;
  22436. this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ;
  22437. }
  22438. static FromTape(expressID, type, tape) {
  22439. let ptr = 0;
  22440. let Name = tape[ptr++];
  22441. let TranslationalStiffnessByAreaX = tape[ptr++];
  22442. let TranslationalStiffnessByAreaY = tape[ptr++];
  22443. let TranslationalStiffnessByAreaZ = tape[ptr++];
  22444. return new IfcBoundaryFaceCondition(expressID, type, Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ);
  22445. }
  22446. ToTape() {
  22447. let args = [];
  22448. args.push(this.Name);
  22449. ;
  22450. args.push(this.TranslationalStiffnessByAreaX);
  22451. ;
  22452. args.push(this.TranslationalStiffnessByAreaY);
  22453. ;
  22454. args.push(this.TranslationalStiffnessByAreaZ);
  22455. ;
  22456. return args;
  22457. }
  22458. };
  22459. var IfcBoundaryNodeCondition = class {
  22460. constructor(expressID, type, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) {
  22461. this.expressID = expressID;
  22462. this.type = type;
  22463. this.Name = Name;
  22464. this.TranslationalStiffnessX = TranslationalStiffnessX;
  22465. this.TranslationalStiffnessY = TranslationalStiffnessY;
  22466. this.TranslationalStiffnessZ = TranslationalStiffnessZ;
  22467. this.RotationalStiffnessX = RotationalStiffnessX;
  22468. this.RotationalStiffnessY = RotationalStiffnessY;
  22469. this.RotationalStiffnessZ = RotationalStiffnessZ;
  22470. }
  22471. static FromTape(expressID, type, tape) {
  22472. let ptr = 0;
  22473. let Name = tape[ptr++];
  22474. let TranslationalStiffnessX = tape[ptr++];
  22475. let TranslationalStiffnessY = tape[ptr++];
  22476. let TranslationalStiffnessZ = tape[ptr++];
  22477. let RotationalStiffnessX = tape[ptr++];
  22478. let RotationalStiffnessY = tape[ptr++];
  22479. let RotationalStiffnessZ = tape[ptr++];
  22480. return new IfcBoundaryNodeCondition(expressID, type, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ);
  22481. }
  22482. ToTape() {
  22483. let args = [];
  22484. args.push(this.Name);
  22485. ;
  22486. args.push(this.TranslationalStiffnessX);
  22487. ;
  22488. args.push(this.TranslationalStiffnessY);
  22489. ;
  22490. args.push(this.TranslationalStiffnessZ);
  22491. ;
  22492. args.push(this.RotationalStiffnessX);
  22493. ;
  22494. args.push(this.RotationalStiffnessY);
  22495. ;
  22496. args.push(this.RotationalStiffnessZ);
  22497. ;
  22498. return args;
  22499. }
  22500. };
  22501. var IfcBoundaryNodeConditionWarping = class {
  22502. constructor(expressID, type, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) {
  22503. this.expressID = expressID;
  22504. this.type = type;
  22505. this.Name = Name;
  22506. this.TranslationalStiffnessX = TranslationalStiffnessX;
  22507. this.TranslationalStiffnessY = TranslationalStiffnessY;
  22508. this.TranslationalStiffnessZ = TranslationalStiffnessZ;
  22509. this.RotationalStiffnessX = RotationalStiffnessX;
  22510. this.RotationalStiffnessY = RotationalStiffnessY;
  22511. this.RotationalStiffnessZ = RotationalStiffnessZ;
  22512. this.WarpingStiffness = WarpingStiffness;
  22513. }
  22514. static FromTape(expressID, type, tape) {
  22515. let ptr = 0;
  22516. let Name = tape[ptr++];
  22517. let TranslationalStiffnessX = tape[ptr++];
  22518. let TranslationalStiffnessY = tape[ptr++];
  22519. let TranslationalStiffnessZ = tape[ptr++];
  22520. let RotationalStiffnessX = tape[ptr++];
  22521. let RotationalStiffnessY = tape[ptr++];
  22522. let RotationalStiffnessZ = tape[ptr++];
  22523. let WarpingStiffness = tape[ptr++];
  22524. return new IfcBoundaryNodeConditionWarping(expressID, type, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness);
  22525. }
  22526. ToTape() {
  22527. let args = [];
  22528. args.push(this.Name);
  22529. ;
  22530. args.push(this.TranslationalStiffnessX);
  22531. ;
  22532. args.push(this.TranslationalStiffnessY);
  22533. ;
  22534. args.push(this.TranslationalStiffnessZ);
  22535. ;
  22536. args.push(this.RotationalStiffnessX);
  22537. ;
  22538. args.push(this.RotationalStiffnessY);
  22539. ;
  22540. args.push(this.RotationalStiffnessZ);
  22541. ;
  22542. args.push(this.WarpingStiffness);
  22543. ;
  22544. return args;
  22545. }
  22546. };
  22547. var IfcBoundedCurve = class {
  22548. constructor(expressID, type) {
  22549. this.expressID = expressID;
  22550. this.type = type;
  22551. }
  22552. static FromTape(expressID, type, tape) {
  22553. let ptr = 0;
  22554. return new IfcBoundedCurve(expressID, type);
  22555. }
  22556. ToTape() {
  22557. let args = [];
  22558. return args;
  22559. }
  22560. };
  22561. var IfcBoundedSurface = class {
  22562. constructor(expressID, type) {
  22563. this.expressID = expressID;
  22564. this.type = type;
  22565. }
  22566. static FromTape(expressID, type, tape) {
  22567. let ptr = 0;
  22568. return new IfcBoundedSurface(expressID, type);
  22569. }
  22570. ToTape() {
  22571. let args = [];
  22572. return args;
  22573. }
  22574. };
  22575. var IfcBoundingBox = class {
  22576. constructor(expressID, type, Corner, XDim, YDim, ZDim) {
  22577. this.expressID = expressID;
  22578. this.type = type;
  22579. this.Corner = Corner;
  22580. this.XDim = XDim;
  22581. this.YDim = YDim;
  22582. this.ZDim = ZDim;
  22583. }
  22584. static FromTape(expressID, type, tape) {
  22585. let ptr = 0;
  22586. let Corner = tape[ptr++];
  22587. let XDim = tape[ptr++];
  22588. let YDim = tape[ptr++];
  22589. let ZDim = tape[ptr++];
  22590. return new IfcBoundingBox(expressID, type, Corner, XDim, YDim, ZDim);
  22591. }
  22592. ToTape() {
  22593. let args = [];
  22594. args.push(this.Corner);
  22595. ;
  22596. args.push(this.XDim);
  22597. ;
  22598. args.push(this.YDim);
  22599. ;
  22600. args.push(this.ZDim);
  22601. ;
  22602. return args;
  22603. }
  22604. };
  22605. var IfcBoxedHalfSpace = class {
  22606. constructor(expressID, type, BaseSurface, AgreementFlag, Enclosure) {
  22607. this.expressID = expressID;
  22608. this.type = type;
  22609. this.BaseSurface = BaseSurface;
  22610. this.AgreementFlag = AgreementFlag;
  22611. this.Enclosure = Enclosure;
  22612. }
  22613. static FromTape(expressID, type, tape) {
  22614. let ptr = 0;
  22615. let BaseSurface = tape[ptr++];
  22616. let AgreementFlag = tape[ptr++];
  22617. let Enclosure = tape[ptr++];
  22618. return new IfcBoxedHalfSpace(expressID, type, BaseSurface, AgreementFlag, Enclosure);
  22619. }
  22620. ToTape() {
  22621. let args = [];
  22622. args.push(this.BaseSurface);
  22623. ;
  22624. args.push(this.AgreementFlag);
  22625. ;
  22626. args.push(this.Enclosure);
  22627. ;
  22628. return args;
  22629. }
  22630. };
  22631. var IfcBridge = class {
  22632. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) {
  22633. this.expressID = expressID;
  22634. this.type = type;
  22635. this.GlobalId = GlobalId;
  22636. this.OwnerHistory = OwnerHistory;
  22637. this.Name = Name;
  22638. this.Description = Description;
  22639. this.ObjectType = ObjectType;
  22640. this.ObjectPlacement = ObjectPlacement;
  22641. this.Representation = Representation;
  22642. this.LongName = LongName;
  22643. this.CompositionType = CompositionType;
  22644. this.PredefinedType = PredefinedType;
  22645. }
  22646. static FromTape(expressID, type, tape) {
  22647. let ptr = 0;
  22648. let GlobalId = tape[ptr++];
  22649. let OwnerHistory = tape[ptr++];
  22650. let Name = tape[ptr++];
  22651. let Description = tape[ptr++];
  22652. let ObjectType = tape[ptr++];
  22653. let ObjectPlacement = tape[ptr++];
  22654. let Representation = tape[ptr++];
  22655. let LongName = tape[ptr++];
  22656. let CompositionType = tape[ptr++];
  22657. let PredefinedType = tape[ptr++];
  22658. return new IfcBridge(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType);
  22659. }
  22660. ToTape() {
  22661. let args = [];
  22662. args.push(this.GlobalId);
  22663. ;
  22664. args.push(this.OwnerHistory);
  22665. ;
  22666. args.push(this.Name);
  22667. ;
  22668. args.push(this.Description);
  22669. ;
  22670. args.push(this.ObjectType);
  22671. ;
  22672. args.push(this.ObjectPlacement);
  22673. ;
  22674. args.push(this.Representation);
  22675. ;
  22676. args.push(this.LongName);
  22677. ;
  22678. args.push(this.CompositionType);
  22679. ;
  22680. args.push(this.PredefinedType);
  22681. ;
  22682. return args;
  22683. }
  22684. };
  22685. var IfcBridgePart = class {
  22686. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) {
  22687. this.expressID = expressID;
  22688. this.type = type;
  22689. this.GlobalId = GlobalId;
  22690. this.OwnerHistory = OwnerHistory;
  22691. this.Name = Name;
  22692. this.Description = Description;
  22693. this.ObjectType = ObjectType;
  22694. this.ObjectPlacement = ObjectPlacement;
  22695. this.Representation = Representation;
  22696. this.LongName = LongName;
  22697. this.CompositionType = CompositionType;
  22698. this.PredefinedType = PredefinedType;
  22699. }
  22700. static FromTape(expressID, type, tape) {
  22701. let ptr = 0;
  22702. let GlobalId = tape[ptr++];
  22703. let OwnerHistory = tape[ptr++];
  22704. let Name = tape[ptr++];
  22705. let Description = tape[ptr++];
  22706. let ObjectType = tape[ptr++];
  22707. let ObjectPlacement = tape[ptr++];
  22708. let Representation = tape[ptr++];
  22709. let LongName = tape[ptr++];
  22710. let CompositionType = tape[ptr++];
  22711. let PredefinedType = tape[ptr++];
  22712. return new IfcBridgePart(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType);
  22713. }
  22714. ToTape() {
  22715. let args = [];
  22716. args.push(this.GlobalId);
  22717. ;
  22718. args.push(this.OwnerHistory);
  22719. ;
  22720. args.push(this.Name);
  22721. ;
  22722. args.push(this.Description);
  22723. ;
  22724. args.push(this.ObjectType);
  22725. ;
  22726. args.push(this.ObjectPlacement);
  22727. ;
  22728. args.push(this.Representation);
  22729. ;
  22730. args.push(this.LongName);
  22731. ;
  22732. args.push(this.CompositionType);
  22733. ;
  22734. args.push(this.PredefinedType);
  22735. ;
  22736. return args;
  22737. }
  22738. };
  22739. var IfcBuilding = class {
  22740. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) {
  22741. this.expressID = expressID;
  22742. this.type = type;
  22743. this.GlobalId = GlobalId;
  22744. this.OwnerHistory = OwnerHistory;
  22745. this.Name = Name;
  22746. this.Description = Description;
  22747. this.ObjectType = ObjectType;
  22748. this.ObjectPlacement = ObjectPlacement;
  22749. this.Representation = Representation;
  22750. this.LongName = LongName;
  22751. this.CompositionType = CompositionType;
  22752. this.ElevationOfRefHeight = ElevationOfRefHeight;
  22753. this.ElevationOfTerrain = ElevationOfTerrain;
  22754. this.BuildingAddress = BuildingAddress;
  22755. }
  22756. static FromTape(expressID, type, tape) {
  22757. let ptr = 0;
  22758. let GlobalId = tape[ptr++];
  22759. let OwnerHistory = tape[ptr++];
  22760. let Name = tape[ptr++];
  22761. let Description = tape[ptr++];
  22762. let ObjectType = tape[ptr++];
  22763. let ObjectPlacement = tape[ptr++];
  22764. let Representation = tape[ptr++];
  22765. let LongName = tape[ptr++];
  22766. let CompositionType = tape[ptr++];
  22767. let ElevationOfRefHeight = tape[ptr++];
  22768. let ElevationOfTerrain = tape[ptr++];
  22769. let BuildingAddress = tape[ptr++];
  22770. return new IfcBuilding(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress);
  22771. }
  22772. ToTape() {
  22773. let args = [];
  22774. args.push(this.GlobalId);
  22775. ;
  22776. args.push(this.OwnerHistory);
  22777. ;
  22778. args.push(this.Name);
  22779. ;
  22780. args.push(this.Description);
  22781. ;
  22782. args.push(this.ObjectType);
  22783. ;
  22784. args.push(this.ObjectPlacement);
  22785. ;
  22786. args.push(this.Representation);
  22787. ;
  22788. args.push(this.LongName);
  22789. ;
  22790. args.push(this.CompositionType);
  22791. ;
  22792. args.push(this.ElevationOfRefHeight);
  22793. ;
  22794. args.push(this.ElevationOfTerrain);
  22795. ;
  22796. args.push(this.BuildingAddress);
  22797. ;
  22798. return args;
  22799. }
  22800. };
  22801. var IfcBuildingElement = class {
  22802. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  22803. this.expressID = expressID;
  22804. this.type = type;
  22805. this.GlobalId = GlobalId;
  22806. this.OwnerHistory = OwnerHistory;
  22807. this.Name = Name;
  22808. this.Description = Description;
  22809. this.ObjectType = ObjectType;
  22810. this.ObjectPlacement = ObjectPlacement;
  22811. this.Representation = Representation;
  22812. this.Tag = Tag;
  22813. }
  22814. static FromTape(expressID, type, tape) {
  22815. let ptr = 0;
  22816. let GlobalId = tape[ptr++];
  22817. let OwnerHistory = tape[ptr++];
  22818. let Name = tape[ptr++];
  22819. let Description = tape[ptr++];
  22820. let ObjectType = tape[ptr++];
  22821. let ObjectPlacement = tape[ptr++];
  22822. let Representation = tape[ptr++];
  22823. let Tag = tape[ptr++];
  22824. return new IfcBuildingElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  22825. }
  22826. ToTape() {
  22827. let args = [];
  22828. args.push(this.GlobalId);
  22829. ;
  22830. args.push(this.OwnerHistory);
  22831. ;
  22832. args.push(this.Name);
  22833. ;
  22834. args.push(this.Description);
  22835. ;
  22836. args.push(this.ObjectType);
  22837. ;
  22838. args.push(this.ObjectPlacement);
  22839. ;
  22840. args.push(this.Representation);
  22841. ;
  22842. args.push(this.Tag);
  22843. ;
  22844. return args;
  22845. }
  22846. };
  22847. var IfcBuildingElementPart = class {
  22848. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  22849. this.expressID = expressID;
  22850. this.type = type;
  22851. this.GlobalId = GlobalId;
  22852. this.OwnerHistory = OwnerHistory;
  22853. this.Name = Name;
  22854. this.Description = Description;
  22855. this.ObjectType = ObjectType;
  22856. this.ObjectPlacement = ObjectPlacement;
  22857. this.Representation = Representation;
  22858. this.Tag = Tag;
  22859. this.PredefinedType = PredefinedType;
  22860. }
  22861. static FromTape(expressID, type, tape) {
  22862. let ptr = 0;
  22863. let GlobalId = tape[ptr++];
  22864. let OwnerHistory = tape[ptr++];
  22865. let Name = tape[ptr++];
  22866. let Description = tape[ptr++];
  22867. let ObjectType = tape[ptr++];
  22868. let ObjectPlacement = tape[ptr++];
  22869. let Representation = tape[ptr++];
  22870. let Tag = tape[ptr++];
  22871. let PredefinedType = tape[ptr++];
  22872. return new IfcBuildingElementPart(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  22873. }
  22874. ToTape() {
  22875. let args = [];
  22876. args.push(this.GlobalId);
  22877. ;
  22878. args.push(this.OwnerHistory);
  22879. ;
  22880. args.push(this.Name);
  22881. ;
  22882. args.push(this.Description);
  22883. ;
  22884. args.push(this.ObjectType);
  22885. ;
  22886. args.push(this.ObjectPlacement);
  22887. ;
  22888. args.push(this.Representation);
  22889. ;
  22890. args.push(this.Tag);
  22891. ;
  22892. args.push(this.PredefinedType);
  22893. ;
  22894. return args;
  22895. }
  22896. };
  22897. var IfcBuildingElementPartType = class {
  22898. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  22899. this.expressID = expressID;
  22900. this.type = type;
  22901. this.GlobalId = GlobalId;
  22902. this.OwnerHistory = OwnerHistory;
  22903. this.Name = Name;
  22904. this.Description = Description;
  22905. this.ApplicableOccurrence = ApplicableOccurrence;
  22906. this.HasPropertySets = HasPropertySets;
  22907. this.RepresentationMaps = RepresentationMaps;
  22908. this.Tag = Tag;
  22909. this.ElementType = ElementType;
  22910. this.PredefinedType = PredefinedType;
  22911. }
  22912. static FromTape(expressID, type, tape) {
  22913. let ptr = 0;
  22914. let GlobalId = tape[ptr++];
  22915. let OwnerHistory = tape[ptr++];
  22916. let Name = tape[ptr++];
  22917. let Description = tape[ptr++];
  22918. let ApplicableOccurrence = tape[ptr++];
  22919. let HasPropertySets = tape[ptr++];
  22920. let RepresentationMaps = tape[ptr++];
  22921. let Tag = tape[ptr++];
  22922. let ElementType = tape[ptr++];
  22923. let PredefinedType = tape[ptr++];
  22924. return new IfcBuildingElementPartType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  22925. }
  22926. ToTape() {
  22927. let args = [];
  22928. args.push(this.GlobalId);
  22929. ;
  22930. args.push(this.OwnerHistory);
  22931. ;
  22932. args.push(this.Name);
  22933. ;
  22934. args.push(this.Description);
  22935. ;
  22936. args.push(this.ApplicableOccurrence);
  22937. ;
  22938. args.push(this.HasPropertySets);
  22939. ;
  22940. args.push(this.RepresentationMaps);
  22941. ;
  22942. args.push(this.Tag);
  22943. ;
  22944. args.push(this.ElementType);
  22945. ;
  22946. args.push(this.PredefinedType);
  22947. ;
  22948. return args;
  22949. }
  22950. };
  22951. var IfcBuildingElementProxy = class {
  22952. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  22953. this.expressID = expressID;
  22954. this.type = type;
  22955. this.GlobalId = GlobalId;
  22956. this.OwnerHistory = OwnerHistory;
  22957. this.Name = Name;
  22958. this.Description = Description;
  22959. this.ObjectType = ObjectType;
  22960. this.ObjectPlacement = ObjectPlacement;
  22961. this.Representation = Representation;
  22962. this.Tag = Tag;
  22963. this.PredefinedType = PredefinedType;
  22964. }
  22965. static FromTape(expressID, type, tape) {
  22966. let ptr = 0;
  22967. let GlobalId = tape[ptr++];
  22968. let OwnerHistory = tape[ptr++];
  22969. let Name = tape[ptr++];
  22970. let Description = tape[ptr++];
  22971. let ObjectType = tape[ptr++];
  22972. let ObjectPlacement = tape[ptr++];
  22973. let Representation = tape[ptr++];
  22974. let Tag = tape[ptr++];
  22975. let PredefinedType = tape[ptr++];
  22976. return new IfcBuildingElementProxy(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  22977. }
  22978. ToTape() {
  22979. let args = [];
  22980. args.push(this.GlobalId);
  22981. ;
  22982. args.push(this.OwnerHistory);
  22983. ;
  22984. args.push(this.Name);
  22985. ;
  22986. args.push(this.Description);
  22987. ;
  22988. args.push(this.ObjectType);
  22989. ;
  22990. args.push(this.ObjectPlacement);
  22991. ;
  22992. args.push(this.Representation);
  22993. ;
  22994. args.push(this.Tag);
  22995. ;
  22996. args.push(this.PredefinedType);
  22997. ;
  22998. return args;
  22999. }
  23000. };
  23001. var IfcBuildingElementProxyType = class {
  23002. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23003. this.expressID = expressID;
  23004. this.type = type;
  23005. this.GlobalId = GlobalId;
  23006. this.OwnerHistory = OwnerHistory;
  23007. this.Name = Name;
  23008. this.Description = Description;
  23009. this.ApplicableOccurrence = ApplicableOccurrence;
  23010. this.HasPropertySets = HasPropertySets;
  23011. this.RepresentationMaps = RepresentationMaps;
  23012. this.Tag = Tag;
  23013. this.ElementType = ElementType;
  23014. this.PredefinedType = PredefinedType;
  23015. }
  23016. static FromTape(expressID, type, tape) {
  23017. let ptr = 0;
  23018. let GlobalId = tape[ptr++];
  23019. let OwnerHistory = tape[ptr++];
  23020. let Name = tape[ptr++];
  23021. let Description = tape[ptr++];
  23022. let ApplicableOccurrence = tape[ptr++];
  23023. let HasPropertySets = tape[ptr++];
  23024. let RepresentationMaps = tape[ptr++];
  23025. let Tag = tape[ptr++];
  23026. let ElementType = tape[ptr++];
  23027. let PredefinedType = tape[ptr++];
  23028. return new IfcBuildingElementProxyType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23029. }
  23030. ToTape() {
  23031. let args = [];
  23032. args.push(this.GlobalId);
  23033. ;
  23034. args.push(this.OwnerHistory);
  23035. ;
  23036. args.push(this.Name);
  23037. ;
  23038. args.push(this.Description);
  23039. ;
  23040. args.push(this.ApplicableOccurrence);
  23041. ;
  23042. args.push(this.HasPropertySets);
  23043. ;
  23044. args.push(this.RepresentationMaps);
  23045. ;
  23046. args.push(this.Tag);
  23047. ;
  23048. args.push(this.ElementType);
  23049. ;
  23050. args.push(this.PredefinedType);
  23051. ;
  23052. return args;
  23053. }
  23054. };
  23055. var IfcBuildingElementType = class {
  23056. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  23057. this.expressID = expressID;
  23058. this.type = type;
  23059. this.GlobalId = GlobalId;
  23060. this.OwnerHistory = OwnerHistory;
  23061. this.Name = Name;
  23062. this.Description = Description;
  23063. this.ApplicableOccurrence = ApplicableOccurrence;
  23064. this.HasPropertySets = HasPropertySets;
  23065. this.RepresentationMaps = RepresentationMaps;
  23066. this.Tag = Tag;
  23067. this.ElementType = ElementType;
  23068. }
  23069. static FromTape(expressID, type, tape) {
  23070. let ptr = 0;
  23071. let GlobalId = tape[ptr++];
  23072. let OwnerHistory = tape[ptr++];
  23073. let Name = tape[ptr++];
  23074. let Description = tape[ptr++];
  23075. let ApplicableOccurrence = tape[ptr++];
  23076. let HasPropertySets = tape[ptr++];
  23077. let RepresentationMaps = tape[ptr++];
  23078. let Tag = tape[ptr++];
  23079. let ElementType = tape[ptr++];
  23080. return new IfcBuildingElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  23081. }
  23082. ToTape() {
  23083. let args = [];
  23084. args.push(this.GlobalId);
  23085. ;
  23086. args.push(this.OwnerHistory);
  23087. ;
  23088. args.push(this.Name);
  23089. ;
  23090. args.push(this.Description);
  23091. ;
  23092. args.push(this.ApplicableOccurrence);
  23093. ;
  23094. args.push(this.HasPropertySets);
  23095. ;
  23096. args.push(this.RepresentationMaps);
  23097. ;
  23098. args.push(this.Tag);
  23099. ;
  23100. args.push(this.ElementType);
  23101. ;
  23102. return args;
  23103. }
  23104. };
  23105. var IfcBuildingStorey = class {
  23106. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) {
  23107. this.expressID = expressID;
  23108. this.type = type;
  23109. this.GlobalId = GlobalId;
  23110. this.OwnerHistory = OwnerHistory;
  23111. this.Name = Name;
  23112. this.Description = Description;
  23113. this.ObjectType = ObjectType;
  23114. this.ObjectPlacement = ObjectPlacement;
  23115. this.Representation = Representation;
  23116. this.LongName = LongName;
  23117. this.CompositionType = CompositionType;
  23118. this.Elevation = Elevation;
  23119. }
  23120. static FromTape(expressID, type, tape) {
  23121. let ptr = 0;
  23122. let GlobalId = tape[ptr++];
  23123. let OwnerHistory = tape[ptr++];
  23124. let Name = tape[ptr++];
  23125. let Description = tape[ptr++];
  23126. let ObjectType = tape[ptr++];
  23127. let ObjectPlacement = tape[ptr++];
  23128. let Representation = tape[ptr++];
  23129. let LongName = tape[ptr++];
  23130. let CompositionType = tape[ptr++];
  23131. let Elevation = tape[ptr++];
  23132. return new IfcBuildingStorey(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation);
  23133. }
  23134. ToTape() {
  23135. let args = [];
  23136. args.push(this.GlobalId);
  23137. ;
  23138. args.push(this.OwnerHistory);
  23139. ;
  23140. args.push(this.Name);
  23141. ;
  23142. args.push(this.Description);
  23143. ;
  23144. args.push(this.ObjectType);
  23145. ;
  23146. args.push(this.ObjectPlacement);
  23147. ;
  23148. args.push(this.Representation);
  23149. ;
  23150. args.push(this.LongName);
  23151. ;
  23152. args.push(this.CompositionType);
  23153. ;
  23154. args.push(this.Elevation);
  23155. ;
  23156. return args;
  23157. }
  23158. };
  23159. var IfcBuildingSystem = class {
  23160. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) {
  23161. this.expressID = expressID;
  23162. this.type = type;
  23163. this.GlobalId = GlobalId;
  23164. this.OwnerHistory = OwnerHistory;
  23165. this.Name = Name;
  23166. this.Description = Description;
  23167. this.ObjectType = ObjectType;
  23168. this.PredefinedType = PredefinedType;
  23169. this.LongName = LongName;
  23170. }
  23171. static FromTape(expressID, type, tape) {
  23172. let ptr = 0;
  23173. let GlobalId = tape[ptr++];
  23174. let OwnerHistory = tape[ptr++];
  23175. let Name = tape[ptr++];
  23176. let Description = tape[ptr++];
  23177. let ObjectType = tape[ptr++];
  23178. let PredefinedType = tape[ptr++];
  23179. let LongName = tape[ptr++];
  23180. return new IfcBuildingSystem(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName);
  23181. }
  23182. ToTape() {
  23183. let args = [];
  23184. args.push(this.GlobalId);
  23185. ;
  23186. args.push(this.OwnerHistory);
  23187. ;
  23188. args.push(this.Name);
  23189. ;
  23190. args.push(this.Description);
  23191. ;
  23192. args.push(this.ObjectType);
  23193. ;
  23194. args.push(this.PredefinedType);
  23195. ;
  23196. args.push(this.LongName);
  23197. ;
  23198. return args;
  23199. }
  23200. };
  23201. var IfcBurner = class {
  23202. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  23203. this.expressID = expressID;
  23204. this.type = type;
  23205. this.GlobalId = GlobalId;
  23206. this.OwnerHistory = OwnerHistory;
  23207. this.Name = Name;
  23208. this.Description = Description;
  23209. this.ObjectType = ObjectType;
  23210. this.ObjectPlacement = ObjectPlacement;
  23211. this.Representation = Representation;
  23212. this.Tag = Tag;
  23213. this.PredefinedType = PredefinedType;
  23214. }
  23215. static FromTape(expressID, type, tape) {
  23216. let ptr = 0;
  23217. let GlobalId = tape[ptr++];
  23218. let OwnerHistory = tape[ptr++];
  23219. let Name = tape[ptr++];
  23220. let Description = tape[ptr++];
  23221. let ObjectType = tape[ptr++];
  23222. let ObjectPlacement = tape[ptr++];
  23223. let Representation = tape[ptr++];
  23224. let Tag = tape[ptr++];
  23225. let PredefinedType = tape[ptr++];
  23226. return new IfcBurner(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  23227. }
  23228. ToTape() {
  23229. let args = [];
  23230. args.push(this.GlobalId);
  23231. ;
  23232. args.push(this.OwnerHistory);
  23233. ;
  23234. args.push(this.Name);
  23235. ;
  23236. args.push(this.Description);
  23237. ;
  23238. args.push(this.ObjectType);
  23239. ;
  23240. args.push(this.ObjectPlacement);
  23241. ;
  23242. args.push(this.Representation);
  23243. ;
  23244. args.push(this.Tag);
  23245. ;
  23246. args.push(this.PredefinedType);
  23247. ;
  23248. return args;
  23249. }
  23250. };
  23251. var IfcBurnerType = class {
  23252. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23253. this.expressID = expressID;
  23254. this.type = type;
  23255. this.GlobalId = GlobalId;
  23256. this.OwnerHistory = OwnerHistory;
  23257. this.Name = Name;
  23258. this.Description = Description;
  23259. this.ApplicableOccurrence = ApplicableOccurrence;
  23260. this.HasPropertySets = HasPropertySets;
  23261. this.RepresentationMaps = RepresentationMaps;
  23262. this.Tag = Tag;
  23263. this.ElementType = ElementType;
  23264. this.PredefinedType = PredefinedType;
  23265. }
  23266. static FromTape(expressID, type, tape) {
  23267. let ptr = 0;
  23268. let GlobalId = tape[ptr++];
  23269. let OwnerHistory = tape[ptr++];
  23270. let Name = tape[ptr++];
  23271. let Description = tape[ptr++];
  23272. let ApplicableOccurrence = tape[ptr++];
  23273. let HasPropertySets = tape[ptr++];
  23274. let RepresentationMaps = tape[ptr++];
  23275. let Tag = tape[ptr++];
  23276. let ElementType = tape[ptr++];
  23277. let PredefinedType = tape[ptr++];
  23278. return new IfcBurnerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23279. }
  23280. ToTape() {
  23281. let args = [];
  23282. args.push(this.GlobalId);
  23283. ;
  23284. args.push(this.OwnerHistory);
  23285. ;
  23286. args.push(this.Name);
  23287. ;
  23288. args.push(this.Description);
  23289. ;
  23290. args.push(this.ApplicableOccurrence);
  23291. ;
  23292. args.push(this.HasPropertySets);
  23293. ;
  23294. args.push(this.RepresentationMaps);
  23295. ;
  23296. args.push(this.Tag);
  23297. ;
  23298. args.push(this.ElementType);
  23299. ;
  23300. args.push(this.PredefinedType);
  23301. ;
  23302. return args;
  23303. }
  23304. };
  23305. var IfcCShapeProfileDef = class {
  23306. constructor(expressID, type, ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) {
  23307. this.expressID = expressID;
  23308. this.type = type;
  23309. this.ProfileType = ProfileType;
  23310. this.ProfileName = ProfileName;
  23311. this.Position = Position;
  23312. this.Depth = Depth;
  23313. this.Width = Width;
  23314. this.WallThickness = WallThickness;
  23315. this.Girth = Girth;
  23316. this.InternalFilletRadius = InternalFilletRadius;
  23317. }
  23318. static FromTape(expressID, type, tape) {
  23319. let ptr = 0;
  23320. let ProfileType = tape[ptr++];
  23321. let ProfileName = tape[ptr++];
  23322. let Position = tape[ptr++];
  23323. let Depth = tape[ptr++];
  23324. let Width = tape[ptr++];
  23325. let WallThickness = tape[ptr++];
  23326. let Girth = tape[ptr++];
  23327. let InternalFilletRadius = tape[ptr++];
  23328. return new IfcCShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius);
  23329. }
  23330. ToTape() {
  23331. let args = [];
  23332. args.push(this.ProfileType);
  23333. ;
  23334. args.push(this.ProfileName);
  23335. ;
  23336. args.push(this.Position);
  23337. ;
  23338. args.push(this.Depth);
  23339. ;
  23340. args.push(this.Width);
  23341. ;
  23342. args.push(this.WallThickness);
  23343. ;
  23344. args.push(this.Girth);
  23345. ;
  23346. args.push(this.InternalFilletRadius);
  23347. ;
  23348. return args;
  23349. }
  23350. };
  23351. var IfcCableCarrierFitting = class {
  23352. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  23353. this.expressID = expressID;
  23354. this.type = type;
  23355. this.GlobalId = GlobalId;
  23356. this.OwnerHistory = OwnerHistory;
  23357. this.Name = Name;
  23358. this.Description = Description;
  23359. this.ObjectType = ObjectType;
  23360. this.ObjectPlacement = ObjectPlacement;
  23361. this.Representation = Representation;
  23362. this.Tag = Tag;
  23363. this.PredefinedType = PredefinedType;
  23364. }
  23365. static FromTape(expressID, type, tape) {
  23366. let ptr = 0;
  23367. let GlobalId = tape[ptr++];
  23368. let OwnerHistory = tape[ptr++];
  23369. let Name = tape[ptr++];
  23370. let Description = tape[ptr++];
  23371. let ObjectType = tape[ptr++];
  23372. let ObjectPlacement = tape[ptr++];
  23373. let Representation = tape[ptr++];
  23374. let Tag = tape[ptr++];
  23375. let PredefinedType = tape[ptr++];
  23376. return new IfcCableCarrierFitting(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  23377. }
  23378. ToTape() {
  23379. let args = [];
  23380. args.push(this.GlobalId);
  23381. ;
  23382. args.push(this.OwnerHistory);
  23383. ;
  23384. args.push(this.Name);
  23385. ;
  23386. args.push(this.Description);
  23387. ;
  23388. args.push(this.ObjectType);
  23389. ;
  23390. args.push(this.ObjectPlacement);
  23391. ;
  23392. args.push(this.Representation);
  23393. ;
  23394. args.push(this.Tag);
  23395. ;
  23396. args.push(this.PredefinedType);
  23397. ;
  23398. return args;
  23399. }
  23400. };
  23401. var IfcCableCarrierFittingType = class {
  23402. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23403. this.expressID = expressID;
  23404. this.type = type;
  23405. this.GlobalId = GlobalId;
  23406. this.OwnerHistory = OwnerHistory;
  23407. this.Name = Name;
  23408. this.Description = Description;
  23409. this.ApplicableOccurrence = ApplicableOccurrence;
  23410. this.HasPropertySets = HasPropertySets;
  23411. this.RepresentationMaps = RepresentationMaps;
  23412. this.Tag = Tag;
  23413. this.ElementType = ElementType;
  23414. this.PredefinedType = PredefinedType;
  23415. }
  23416. static FromTape(expressID, type, tape) {
  23417. let ptr = 0;
  23418. let GlobalId = tape[ptr++];
  23419. let OwnerHistory = tape[ptr++];
  23420. let Name = tape[ptr++];
  23421. let Description = tape[ptr++];
  23422. let ApplicableOccurrence = tape[ptr++];
  23423. let HasPropertySets = tape[ptr++];
  23424. let RepresentationMaps = tape[ptr++];
  23425. let Tag = tape[ptr++];
  23426. let ElementType = tape[ptr++];
  23427. let PredefinedType = tape[ptr++];
  23428. return new IfcCableCarrierFittingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23429. }
  23430. ToTape() {
  23431. let args = [];
  23432. args.push(this.GlobalId);
  23433. ;
  23434. args.push(this.OwnerHistory);
  23435. ;
  23436. args.push(this.Name);
  23437. ;
  23438. args.push(this.Description);
  23439. ;
  23440. args.push(this.ApplicableOccurrence);
  23441. ;
  23442. args.push(this.HasPropertySets);
  23443. ;
  23444. args.push(this.RepresentationMaps);
  23445. ;
  23446. args.push(this.Tag);
  23447. ;
  23448. args.push(this.ElementType);
  23449. ;
  23450. args.push(this.PredefinedType);
  23451. ;
  23452. return args;
  23453. }
  23454. };
  23455. var IfcCableCarrierSegment = class {
  23456. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  23457. this.expressID = expressID;
  23458. this.type = type;
  23459. this.GlobalId = GlobalId;
  23460. this.OwnerHistory = OwnerHistory;
  23461. this.Name = Name;
  23462. this.Description = Description;
  23463. this.ObjectType = ObjectType;
  23464. this.ObjectPlacement = ObjectPlacement;
  23465. this.Representation = Representation;
  23466. this.Tag = Tag;
  23467. this.PredefinedType = PredefinedType;
  23468. }
  23469. static FromTape(expressID, type, tape) {
  23470. let ptr = 0;
  23471. let GlobalId = tape[ptr++];
  23472. let OwnerHistory = tape[ptr++];
  23473. let Name = tape[ptr++];
  23474. let Description = tape[ptr++];
  23475. let ObjectType = tape[ptr++];
  23476. let ObjectPlacement = tape[ptr++];
  23477. let Representation = tape[ptr++];
  23478. let Tag = tape[ptr++];
  23479. let PredefinedType = tape[ptr++];
  23480. return new IfcCableCarrierSegment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  23481. }
  23482. ToTape() {
  23483. let args = [];
  23484. args.push(this.GlobalId);
  23485. ;
  23486. args.push(this.OwnerHistory);
  23487. ;
  23488. args.push(this.Name);
  23489. ;
  23490. args.push(this.Description);
  23491. ;
  23492. args.push(this.ObjectType);
  23493. ;
  23494. args.push(this.ObjectPlacement);
  23495. ;
  23496. args.push(this.Representation);
  23497. ;
  23498. args.push(this.Tag);
  23499. ;
  23500. args.push(this.PredefinedType);
  23501. ;
  23502. return args;
  23503. }
  23504. };
  23505. var IfcCableCarrierSegmentType = class {
  23506. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23507. this.expressID = expressID;
  23508. this.type = type;
  23509. this.GlobalId = GlobalId;
  23510. this.OwnerHistory = OwnerHistory;
  23511. this.Name = Name;
  23512. this.Description = Description;
  23513. this.ApplicableOccurrence = ApplicableOccurrence;
  23514. this.HasPropertySets = HasPropertySets;
  23515. this.RepresentationMaps = RepresentationMaps;
  23516. this.Tag = Tag;
  23517. this.ElementType = ElementType;
  23518. this.PredefinedType = PredefinedType;
  23519. }
  23520. static FromTape(expressID, type, tape) {
  23521. let ptr = 0;
  23522. let GlobalId = tape[ptr++];
  23523. let OwnerHistory = tape[ptr++];
  23524. let Name = tape[ptr++];
  23525. let Description = tape[ptr++];
  23526. let ApplicableOccurrence = tape[ptr++];
  23527. let HasPropertySets = tape[ptr++];
  23528. let RepresentationMaps = tape[ptr++];
  23529. let Tag = tape[ptr++];
  23530. let ElementType = tape[ptr++];
  23531. let PredefinedType = tape[ptr++];
  23532. return new IfcCableCarrierSegmentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23533. }
  23534. ToTape() {
  23535. let args = [];
  23536. args.push(this.GlobalId);
  23537. ;
  23538. args.push(this.OwnerHistory);
  23539. ;
  23540. args.push(this.Name);
  23541. ;
  23542. args.push(this.Description);
  23543. ;
  23544. args.push(this.ApplicableOccurrence);
  23545. ;
  23546. args.push(this.HasPropertySets);
  23547. ;
  23548. args.push(this.RepresentationMaps);
  23549. ;
  23550. args.push(this.Tag);
  23551. ;
  23552. args.push(this.ElementType);
  23553. ;
  23554. args.push(this.PredefinedType);
  23555. ;
  23556. return args;
  23557. }
  23558. };
  23559. var IfcCableFitting = class {
  23560. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  23561. this.expressID = expressID;
  23562. this.type = type;
  23563. this.GlobalId = GlobalId;
  23564. this.OwnerHistory = OwnerHistory;
  23565. this.Name = Name;
  23566. this.Description = Description;
  23567. this.ObjectType = ObjectType;
  23568. this.ObjectPlacement = ObjectPlacement;
  23569. this.Representation = Representation;
  23570. this.Tag = Tag;
  23571. this.PredefinedType = PredefinedType;
  23572. }
  23573. static FromTape(expressID, type, tape) {
  23574. let ptr = 0;
  23575. let GlobalId = tape[ptr++];
  23576. let OwnerHistory = tape[ptr++];
  23577. let Name = tape[ptr++];
  23578. let Description = tape[ptr++];
  23579. let ObjectType = tape[ptr++];
  23580. let ObjectPlacement = tape[ptr++];
  23581. let Representation = tape[ptr++];
  23582. let Tag = tape[ptr++];
  23583. let PredefinedType = tape[ptr++];
  23584. return new IfcCableFitting(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  23585. }
  23586. ToTape() {
  23587. let args = [];
  23588. args.push(this.GlobalId);
  23589. ;
  23590. args.push(this.OwnerHistory);
  23591. ;
  23592. args.push(this.Name);
  23593. ;
  23594. args.push(this.Description);
  23595. ;
  23596. args.push(this.ObjectType);
  23597. ;
  23598. args.push(this.ObjectPlacement);
  23599. ;
  23600. args.push(this.Representation);
  23601. ;
  23602. args.push(this.Tag);
  23603. ;
  23604. args.push(this.PredefinedType);
  23605. ;
  23606. return args;
  23607. }
  23608. };
  23609. var IfcCableFittingType = class {
  23610. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23611. this.expressID = expressID;
  23612. this.type = type;
  23613. this.GlobalId = GlobalId;
  23614. this.OwnerHistory = OwnerHistory;
  23615. this.Name = Name;
  23616. this.Description = Description;
  23617. this.ApplicableOccurrence = ApplicableOccurrence;
  23618. this.HasPropertySets = HasPropertySets;
  23619. this.RepresentationMaps = RepresentationMaps;
  23620. this.Tag = Tag;
  23621. this.ElementType = ElementType;
  23622. this.PredefinedType = PredefinedType;
  23623. }
  23624. static FromTape(expressID, type, tape) {
  23625. let ptr = 0;
  23626. let GlobalId = tape[ptr++];
  23627. let OwnerHistory = tape[ptr++];
  23628. let Name = tape[ptr++];
  23629. let Description = tape[ptr++];
  23630. let ApplicableOccurrence = tape[ptr++];
  23631. let HasPropertySets = tape[ptr++];
  23632. let RepresentationMaps = tape[ptr++];
  23633. let Tag = tape[ptr++];
  23634. let ElementType = tape[ptr++];
  23635. let PredefinedType = tape[ptr++];
  23636. return new IfcCableFittingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23637. }
  23638. ToTape() {
  23639. let args = [];
  23640. args.push(this.GlobalId);
  23641. ;
  23642. args.push(this.OwnerHistory);
  23643. ;
  23644. args.push(this.Name);
  23645. ;
  23646. args.push(this.Description);
  23647. ;
  23648. args.push(this.ApplicableOccurrence);
  23649. ;
  23650. args.push(this.HasPropertySets);
  23651. ;
  23652. args.push(this.RepresentationMaps);
  23653. ;
  23654. args.push(this.Tag);
  23655. ;
  23656. args.push(this.ElementType);
  23657. ;
  23658. args.push(this.PredefinedType);
  23659. ;
  23660. return args;
  23661. }
  23662. };
  23663. var IfcCableSegment = class {
  23664. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  23665. this.expressID = expressID;
  23666. this.type = type;
  23667. this.GlobalId = GlobalId;
  23668. this.OwnerHistory = OwnerHistory;
  23669. this.Name = Name;
  23670. this.Description = Description;
  23671. this.ObjectType = ObjectType;
  23672. this.ObjectPlacement = ObjectPlacement;
  23673. this.Representation = Representation;
  23674. this.Tag = Tag;
  23675. this.PredefinedType = PredefinedType;
  23676. }
  23677. static FromTape(expressID, type, tape) {
  23678. let ptr = 0;
  23679. let GlobalId = tape[ptr++];
  23680. let OwnerHistory = tape[ptr++];
  23681. let Name = tape[ptr++];
  23682. let Description = tape[ptr++];
  23683. let ObjectType = tape[ptr++];
  23684. let ObjectPlacement = tape[ptr++];
  23685. let Representation = tape[ptr++];
  23686. let Tag = tape[ptr++];
  23687. let PredefinedType = tape[ptr++];
  23688. return new IfcCableSegment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  23689. }
  23690. ToTape() {
  23691. let args = [];
  23692. args.push(this.GlobalId);
  23693. ;
  23694. args.push(this.OwnerHistory);
  23695. ;
  23696. args.push(this.Name);
  23697. ;
  23698. args.push(this.Description);
  23699. ;
  23700. args.push(this.ObjectType);
  23701. ;
  23702. args.push(this.ObjectPlacement);
  23703. ;
  23704. args.push(this.Representation);
  23705. ;
  23706. args.push(this.Tag);
  23707. ;
  23708. args.push(this.PredefinedType);
  23709. ;
  23710. return args;
  23711. }
  23712. };
  23713. var IfcCableSegmentType = class {
  23714. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23715. this.expressID = expressID;
  23716. this.type = type;
  23717. this.GlobalId = GlobalId;
  23718. this.OwnerHistory = OwnerHistory;
  23719. this.Name = Name;
  23720. this.Description = Description;
  23721. this.ApplicableOccurrence = ApplicableOccurrence;
  23722. this.HasPropertySets = HasPropertySets;
  23723. this.RepresentationMaps = RepresentationMaps;
  23724. this.Tag = Tag;
  23725. this.ElementType = ElementType;
  23726. this.PredefinedType = PredefinedType;
  23727. }
  23728. static FromTape(expressID, type, tape) {
  23729. let ptr = 0;
  23730. let GlobalId = tape[ptr++];
  23731. let OwnerHistory = tape[ptr++];
  23732. let Name = tape[ptr++];
  23733. let Description = tape[ptr++];
  23734. let ApplicableOccurrence = tape[ptr++];
  23735. let HasPropertySets = tape[ptr++];
  23736. let RepresentationMaps = tape[ptr++];
  23737. let Tag = tape[ptr++];
  23738. let ElementType = tape[ptr++];
  23739. let PredefinedType = tape[ptr++];
  23740. return new IfcCableSegmentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23741. }
  23742. ToTape() {
  23743. let args = [];
  23744. args.push(this.GlobalId);
  23745. ;
  23746. args.push(this.OwnerHistory);
  23747. ;
  23748. args.push(this.Name);
  23749. ;
  23750. args.push(this.Description);
  23751. ;
  23752. args.push(this.ApplicableOccurrence);
  23753. ;
  23754. args.push(this.HasPropertySets);
  23755. ;
  23756. args.push(this.RepresentationMaps);
  23757. ;
  23758. args.push(this.Tag);
  23759. ;
  23760. args.push(this.ElementType);
  23761. ;
  23762. args.push(this.PredefinedType);
  23763. ;
  23764. return args;
  23765. }
  23766. };
  23767. var IfcCaissonFoundation = class {
  23768. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  23769. this.expressID = expressID;
  23770. this.type = type;
  23771. this.GlobalId = GlobalId;
  23772. this.OwnerHistory = OwnerHistory;
  23773. this.Name = Name;
  23774. this.Description = Description;
  23775. this.ObjectType = ObjectType;
  23776. this.ObjectPlacement = ObjectPlacement;
  23777. this.Representation = Representation;
  23778. this.Tag = Tag;
  23779. this.PredefinedType = PredefinedType;
  23780. }
  23781. static FromTape(expressID, type, tape) {
  23782. let ptr = 0;
  23783. let GlobalId = tape[ptr++];
  23784. let OwnerHistory = tape[ptr++];
  23785. let Name = tape[ptr++];
  23786. let Description = tape[ptr++];
  23787. let ObjectType = tape[ptr++];
  23788. let ObjectPlacement = tape[ptr++];
  23789. let Representation = tape[ptr++];
  23790. let Tag = tape[ptr++];
  23791. let PredefinedType = tape[ptr++];
  23792. return new IfcCaissonFoundation(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  23793. }
  23794. ToTape() {
  23795. let args = [];
  23796. args.push(this.GlobalId);
  23797. ;
  23798. args.push(this.OwnerHistory);
  23799. ;
  23800. args.push(this.Name);
  23801. ;
  23802. args.push(this.Description);
  23803. ;
  23804. args.push(this.ObjectType);
  23805. ;
  23806. args.push(this.ObjectPlacement);
  23807. ;
  23808. args.push(this.Representation);
  23809. ;
  23810. args.push(this.Tag);
  23811. ;
  23812. args.push(this.PredefinedType);
  23813. ;
  23814. return args;
  23815. }
  23816. };
  23817. var IfcCaissonFoundationType = class {
  23818. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  23819. this.expressID = expressID;
  23820. this.type = type;
  23821. this.GlobalId = GlobalId;
  23822. this.OwnerHistory = OwnerHistory;
  23823. this.Name = Name;
  23824. this.Description = Description;
  23825. this.ApplicableOccurrence = ApplicableOccurrence;
  23826. this.HasPropertySets = HasPropertySets;
  23827. this.RepresentationMaps = RepresentationMaps;
  23828. this.Tag = Tag;
  23829. this.ElementType = ElementType;
  23830. this.PredefinedType = PredefinedType;
  23831. }
  23832. static FromTape(expressID, type, tape) {
  23833. let ptr = 0;
  23834. let GlobalId = tape[ptr++];
  23835. let OwnerHistory = tape[ptr++];
  23836. let Name = tape[ptr++];
  23837. let Description = tape[ptr++];
  23838. let ApplicableOccurrence = tape[ptr++];
  23839. let HasPropertySets = tape[ptr++];
  23840. let RepresentationMaps = tape[ptr++];
  23841. let Tag = tape[ptr++];
  23842. let ElementType = tape[ptr++];
  23843. let PredefinedType = tape[ptr++];
  23844. return new IfcCaissonFoundationType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  23845. }
  23846. ToTape() {
  23847. let args = [];
  23848. args.push(this.GlobalId);
  23849. ;
  23850. args.push(this.OwnerHistory);
  23851. ;
  23852. args.push(this.Name);
  23853. ;
  23854. args.push(this.Description);
  23855. ;
  23856. args.push(this.ApplicableOccurrence);
  23857. ;
  23858. args.push(this.HasPropertySets);
  23859. ;
  23860. args.push(this.RepresentationMaps);
  23861. ;
  23862. args.push(this.Tag);
  23863. ;
  23864. args.push(this.ElementType);
  23865. ;
  23866. args.push(this.PredefinedType);
  23867. ;
  23868. return args;
  23869. }
  23870. };
  23871. var IfcCartesianPoint = class {
  23872. constructor(expressID, type, Coordinates) {
  23873. this.expressID = expressID;
  23874. this.type = type;
  23875. this.Coordinates = Coordinates;
  23876. }
  23877. static FromTape(expressID, type, tape) {
  23878. let ptr = 0;
  23879. let Coordinates = tape[ptr++];
  23880. return new IfcCartesianPoint(expressID, type, Coordinates);
  23881. }
  23882. ToTape() {
  23883. let args = [];
  23884. args.push(this.Coordinates);
  23885. ;
  23886. return args;
  23887. }
  23888. };
  23889. var IfcCartesianPointList = class {
  23890. constructor(expressID, type) {
  23891. this.expressID = expressID;
  23892. this.type = type;
  23893. }
  23894. static FromTape(expressID, type, tape) {
  23895. let ptr = 0;
  23896. return new IfcCartesianPointList(expressID, type);
  23897. }
  23898. ToTape() {
  23899. let args = [];
  23900. return args;
  23901. }
  23902. };
  23903. var IfcCartesianPointList2D = class {
  23904. constructor(expressID, type, CoordList, TagList) {
  23905. this.expressID = expressID;
  23906. this.type = type;
  23907. this.CoordList = CoordList;
  23908. this.TagList = TagList;
  23909. }
  23910. static FromTape(expressID, type, tape) {
  23911. let ptr = 0;
  23912. let CoordList = tape[ptr++];
  23913. let TagList = tape[ptr++];
  23914. return new IfcCartesianPointList2D(expressID, type, CoordList, TagList);
  23915. }
  23916. ToTape() {
  23917. let args = [];
  23918. args.push(this.CoordList);
  23919. ;
  23920. args.push(this.TagList);
  23921. ;
  23922. return args;
  23923. }
  23924. };
  23925. var IfcCartesianPointList3D = class {
  23926. constructor(expressID, type, CoordList, TagList) {
  23927. this.expressID = expressID;
  23928. this.type = type;
  23929. this.CoordList = CoordList;
  23930. this.TagList = TagList;
  23931. }
  23932. static FromTape(expressID, type, tape) {
  23933. let ptr = 0;
  23934. let CoordList = tape[ptr++];
  23935. let TagList = tape[ptr++];
  23936. return new IfcCartesianPointList3D(expressID, type, CoordList, TagList);
  23937. }
  23938. ToTape() {
  23939. let args = [];
  23940. args.push(this.CoordList);
  23941. ;
  23942. args.push(this.TagList);
  23943. ;
  23944. return args;
  23945. }
  23946. };
  23947. var IfcCartesianTransformationOperator = class {
  23948. constructor(expressID, type, Axis1, Axis2, LocalOrigin, Scale) {
  23949. this.expressID = expressID;
  23950. this.type = type;
  23951. this.Axis1 = Axis1;
  23952. this.Axis2 = Axis2;
  23953. this.LocalOrigin = LocalOrigin;
  23954. this.Scale = Scale;
  23955. }
  23956. static FromTape(expressID, type, tape) {
  23957. let ptr = 0;
  23958. let Axis1 = tape[ptr++];
  23959. let Axis2 = tape[ptr++];
  23960. let LocalOrigin = tape[ptr++];
  23961. let Scale = tape[ptr++];
  23962. return new IfcCartesianTransformationOperator(expressID, type, Axis1, Axis2, LocalOrigin, Scale);
  23963. }
  23964. ToTape() {
  23965. let args = [];
  23966. args.push(this.Axis1);
  23967. ;
  23968. args.push(this.Axis2);
  23969. ;
  23970. args.push(this.LocalOrigin);
  23971. ;
  23972. args.push(this.Scale);
  23973. ;
  23974. return args;
  23975. }
  23976. };
  23977. var IfcCartesianTransformationOperator2D = class {
  23978. constructor(expressID, type, Axis1, Axis2, LocalOrigin, Scale) {
  23979. this.expressID = expressID;
  23980. this.type = type;
  23981. this.Axis1 = Axis1;
  23982. this.Axis2 = Axis2;
  23983. this.LocalOrigin = LocalOrigin;
  23984. this.Scale = Scale;
  23985. }
  23986. static FromTape(expressID, type, tape) {
  23987. let ptr = 0;
  23988. let Axis1 = tape[ptr++];
  23989. let Axis2 = tape[ptr++];
  23990. let LocalOrigin = tape[ptr++];
  23991. let Scale = tape[ptr++];
  23992. return new IfcCartesianTransformationOperator2D(expressID, type, Axis1, Axis2, LocalOrigin, Scale);
  23993. }
  23994. ToTape() {
  23995. let args = [];
  23996. args.push(this.Axis1);
  23997. ;
  23998. args.push(this.Axis2);
  23999. ;
  24000. args.push(this.LocalOrigin);
  24001. ;
  24002. args.push(this.Scale);
  24003. ;
  24004. return args;
  24005. }
  24006. };
  24007. var IfcCartesianTransformationOperator2DnonUniform = class {
  24008. constructor(expressID, type, Axis1, Axis2, LocalOrigin, Scale, Scale2) {
  24009. this.expressID = expressID;
  24010. this.type = type;
  24011. this.Axis1 = Axis1;
  24012. this.Axis2 = Axis2;
  24013. this.LocalOrigin = LocalOrigin;
  24014. this.Scale = Scale;
  24015. this.Scale2 = Scale2;
  24016. }
  24017. static FromTape(expressID, type, tape) {
  24018. let ptr = 0;
  24019. let Axis1 = tape[ptr++];
  24020. let Axis2 = tape[ptr++];
  24021. let LocalOrigin = tape[ptr++];
  24022. let Scale = tape[ptr++];
  24023. let Scale2 = tape[ptr++];
  24024. return new IfcCartesianTransformationOperator2DnonUniform(expressID, type, Axis1, Axis2, LocalOrigin, Scale, Scale2);
  24025. }
  24026. ToTape() {
  24027. let args = [];
  24028. args.push(this.Axis1);
  24029. ;
  24030. args.push(this.Axis2);
  24031. ;
  24032. args.push(this.LocalOrigin);
  24033. ;
  24034. args.push(this.Scale);
  24035. ;
  24036. args.push(this.Scale2);
  24037. ;
  24038. return args;
  24039. }
  24040. };
  24041. var IfcCartesianTransformationOperator3D = class {
  24042. constructor(expressID, type, Axis1, Axis2, LocalOrigin, Scale, Axis3) {
  24043. this.expressID = expressID;
  24044. this.type = type;
  24045. this.Axis1 = Axis1;
  24046. this.Axis2 = Axis2;
  24047. this.LocalOrigin = LocalOrigin;
  24048. this.Scale = Scale;
  24049. this.Axis3 = Axis3;
  24050. }
  24051. static FromTape(expressID, type, tape) {
  24052. let ptr = 0;
  24053. let Axis1 = tape[ptr++];
  24054. let Axis2 = tape[ptr++];
  24055. let LocalOrigin = tape[ptr++];
  24056. let Scale = tape[ptr++];
  24057. let Axis3 = tape[ptr++];
  24058. return new IfcCartesianTransformationOperator3D(expressID, type, Axis1, Axis2, LocalOrigin, Scale, Axis3);
  24059. }
  24060. ToTape() {
  24061. let args = [];
  24062. args.push(this.Axis1);
  24063. ;
  24064. args.push(this.Axis2);
  24065. ;
  24066. args.push(this.LocalOrigin);
  24067. ;
  24068. args.push(this.Scale);
  24069. ;
  24070. args.push(this.Axis3);
  24071. ;
  24072. return args;
  24073. }
  24074. };
  24075. var IfcCartesianTransformationOperator3DnonUniform = class {
  24076. constructor(expressID, type, Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) {
  24077. this.expressID = expressID;
  24078. this.type = type;
  24079. this.Axis1 = Axis1;
  24080. this.Axis2 = Axis2;
  24081. this.LocalOrigin = LocalOrigin;
  24082. this.Scale = Scale;
  24083. this.Axis3 = Axis3;
  24084. this.Scale2 = Scale2;
  24085. this.Scale3 = Scale3;
  24086. }
  24087. static FromTape(expressID, type, tape) {
  24088. let ptr = 0;
  24089. let Axis1 = tape[ptr++];
  24090. let Axis2 = tape[ptr++];
  24091. let LocalOrigin = tape[ptr++];
  24092. let Scale = tape[ptr++];
  24093. let Axis3 = tape[ptr++];
  24094. let Scale2 = tape[ptr++];
  24095. let Scale3 = tape[ptr++];
  24096. return new IfcCartesianTransformationOperator3DnonUniform(expressID, type, Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3);
  24097. }
  24098. ToTape() {
  24099. let args = [];
  24100. args.push(this.Axis1);
  24101. ;
  24102. args.push(this.Axis2);
  24103. ;
  24104. args.push(this.LocalOrigin);
  24105. ;
  24106. args.push(this.Scale);
  24107. ;
  24108. args.push(this.Axis3);
  24109. ;
  24110. args.push(this.Scale2);
  24111. ;
  24112. args.push(this.Scale3);
  24113. ;
  24114. return args;
  24115. }
  24116. };
  24117. var IfcCenterLineProfileDef = class {
  24118. constructor(expressID, type, ProfileType, ProfileName, Curve, Thickness) {
  24119. this.expressID = expressID;
  24120. this.type = type;
  24121. this.ProfileType = ProfileType;
  24122. this.ProfileName = ProfileName;
  24123. this.Curve = Curve;
  24124. this.Thickness = Thickness;
  24125. }
  24126. static FromTape(expressID, type, tape) {
  24127. let ptr = 0;
  24128. let ProfileType = tape[ptr++];
  24129. let ProfileName = tape[ptr++];
  24130. let Curve = tape[ptr++];
  24131. let Thickness = tape[ptr++];
  24132. return new IfcCenterLineProfileDef(expressID, type, ProfileType, ProfileName, Curve, Thickness);
  24133. }
  24134. ToTape() {
  24135. let args = [];
  24136. args.push(this.ProfileType);
  24137. ;
  24138. args.push(this.ProfileName);
  24139. ;
  24140. args.push(this.Curve);
  24141. ;
  24142. args.push(this.Thickness);
  24143. ;
  24144. return args;
  24145. }
  24146. };
  24147. var IfcChiller = class {
  24148. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  24149. this.expressID = expressID;
  24150. this.type = type;
  24151. this.GlobalId = GlobalId;
  24152. this.OwnerHistory = OwnerHistory;
  24153. this.Name = Name;
  24154. this.Description = Description;
  24155. this.ObjectType = ObjectType;
  24156. this.ObjectPlacement = ObjectPlacement;
  24157. this.Representation = Representation;
  24158. this.Tag = Tag;
  24159. this.PredefinedType = PredefinedType;
  24160. }
  24161. static FromTape(expressID, type, tape) {
  24162. let ptr = 0;
  24163. let GlobalId = tape[ptr++];
  24164. let OwnerHistory = tape[ptr++];
  24165. let Name = tape[ptr++];
  24166. let Description = tape[ptr++];
  24167. let ObjectType = tape[ptr++];
  24168. let ObjectPlacement = tape[ptr++];
  24169. let Representation = tape[ptr++];
  24170. let Tag = tape[ptr++];
  24171. let PredefinedType = tape[ptr++];
  24172. return new IfcChiller(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  24173. }
  24174. ToTape() {
  24175. let args = [];
  24176. args.push(this.GlobalId);
  24177. ;
  24178. args.push(this.OwnerHistory);
  24179. ;
  24180. args.push(this.Name);
  24181. ;
  24182. args.push(this.Description);
  24183. ;
  24184. args.push(this.ObjectType);
  24185. ;
  24186. args.push(this.ObjectPlacement);
  24187. ;
  24188. args.push(this.Representation);
  24189. ;
  24190. args.push(this.Tag);
  24191. ;
  24192. args.push(this.PredefinedType);
  24193. ;
  24194. return args;
  24195. }
  24196. };
  24197. var IfcChillerType = class {
  24198. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  24199. this.expressID = expressID;
  24200. this.type = type;
  24201. this.GlobalId = GlobalId;
  24202. this.OwnerHistory = OwnerHistory;
  24203. this.Name = Name;
  24204. this.Description = Description;
  24205. this.ApplicableOccurrence = ApplicableOccurrence;
  24206. this.HasPropertySets = HasPropertySets;
  24207. this.RepresentationMaps = RepresentationMaps;
  24208. this.Tag = Tag;
  24209. this.ElementType = ElementType;
  24210. this.PredefinedType = PredefinedType;
  24211. }
  24212. static FromTape(expressID, type, tape) {
  24213. let ptr = 0;
  24214. let GlobalId = tape[ptr++];
  24215. let OwnerHistory = tape[ptr++];
  24216. let Name = tape[ptr++];
  24217. let Description = tape[ptr++];
  24218. let ApplicableOccurrence = tape[ptr++];
  24219. let HasPropertySets = tape[ptr++];
  24220. let RepresentationMaps = tape[ptr++];
  24221. let Tag = tape[ptr++];
  24222. let ElementType = tape[ptr++];
  24223. let PredefinedType = tape[ptr++];
  24224. return new IfcChillerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  24225. }
  24226. ToTape() {
  24227. let args = [];
  24228. args.push(this.GlobalId);
  24229. ;
  24230. args.push(this.OwnerHistory);
  24231. ;
  24232. args.push(this.Name);
  24233. ;
  24234. args.push(this.Description);
  24235. ;
  24236. args.push(this.ApplicableOccurrence);
  24237. ;
  24238. args.push(this.HasPropertySets);
  24239. ;
  24240. args.push(this.RepresentationMaps);
  24241. ;
  24242. args.push(this.Tag);
  24243. ;
  24244. args.push(this.ElementType);
  24245. ;
  24246. args.push(this.PredefinedType);
  24247. ;
  24248. return args;
  24249. }
  24250. };
  24251. var IfcChimney = class {
  24252. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  24253. this.expressID = expressID;
  24254. this.type = type;
  24255. this.GlobalId = GlobalId;
  24256. this.OwnerHistory = OwnerHistory;
  24257. this.Name = Name;
  24258. this.Description = Description;
  24259. this.ObjectType = ObjectType;
  24260. this.ObjectPlacement = ObjectPlacement;
  24261. this.Representation = Representation;
  24262. this.Tag = Tag;
  24263. this.PredefinedType = PredefinedType;
  24264. }
  24265. static FromTape(expressID, type, tape) {
  24266. let ptr = 0;
  24267. let GlobalId = tape[ptr++];
  24268. let OwnerHistory = tape[ptr++];
  24269. let Name = tape[ptr++];
  24270. let Description = tape[ptr++];
  24271. let ObjectType = tape[ptr++];
  24272. let ObjectPlacement = tape[ptr++];
  24273. let Representation = tape[ptr++];
  24274. let Tag = tape[ptr++];
  24275. let PredefinedType = tape[ptr++];
  24276. return new IfcChimney(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  24277. }
  24278. ToTape() {
  24279. let args = [];
  24280. args.push(this.GlobalId);
  24281. ;
  24282. args.push(this.OwnerHistory);
  24283. ;
  24284. args.push(this.Name);
  24285. ;
  24286. args.push(this.Description);
  24287. ;
  24288. args.push(this.ObjectType);
  24289. ;
  24290. args.push(this.ObjectPlacement);
  24291. ;
  24292. args.push(this.Representation);
  24293. ;
  24294. args.push(this.Tag);
  24295. ;
  24296. args.push(this.PredefinedType);
  24297. ;
  24298. return args;
  24299. }
  24300. };
  24301. var IfcChimneyType = class {
  24302. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  24303. this.expressID = expressID;
  24304. this.type = type;
  24305. this.GlobalId = GlobalId;
  24306. this.OwnerHistory = OwnerHistory;
  24307. this.Name = Name;
  24308. this.Description = Description;
  24309. this.ApplicableOccurrence = ApplicableOccurrence;
  24310. this.HasPropertySets = HasPropertySets;
  24311. this.RepresentationMaps = RepresentationMaps;
  24312. this.Tag = Tag;
  24313. this.ElementType = ElementType;
  24314. this.PredefinedType = PredefinedType;
  24315. }
  24316. static FromTape(expressID, type, tape) {
  24317. let ptr = 0;
  24318. let GlobalId = tape[ptr++];
  24319. let OwnerHistory = tape[ptr++];
  24320. let Name = tape[ptr++];
  24321. let Description = tape[ptr++];
  24322. let ApplicableOccurrence = tape[ptr++];
  24323. let HasPropertySets = tape[ptr++];
  24324. let RepresentationMaps = tape[ptr++];
  24325. let Tag = tape[ptr++];
  24326. let ElementType = tape[ptr++];
  24327. let PredefinedType = tape[ptr++];
  24328. return new IfcChimneyType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  24329. }
  24330. ToTape() {
  24331. let args = [];
  24332. args.push(this.GlobalId);
  24333. ;
  24334. args.push(this.OwnerHistory);
  24335. ;
  24336. args.push(this.Name);
  24337. ;
  24338. args.push(this.Description);
  24339. ;
  24340. args.push(this.ApplicableOccurrence);
  24341. ;
  24342. args.push(this.HasPropertySets);
  24343. ;
  24344. args.push(this.RepresentationMaps);
  24345. ;
  24346. args.push(this.Tag);
  24347. ;
  24348. args.push(this.ElementType);
  24349. ;
  24350. args.push(this.PredefinedType);
  24351. ;
  24352. return args;
  24353. }
  24354. };
  24355. var IfcCircle = class {
  24356. constructor(expressID, type, Position, Radius) {
  24357. this.expressID = expressID;
  24358. this.type = type;
  24359. this.Position = Position;
  24360. this.Radius = Radius;
  24361. }
  24362. static FromTape(expressID, type, tape) {
  24363. let ptr = 0;
  24364. let Position = tape[ptr++];
  24365. let Radius = tape[ptr++];
  24366. return new IfcCircle(expressID, type, Position, Radius);
  24367. }
  24368. ToTape() {
  24369. let args = [];
  24370. args.push(this.Position);
  24371. ;
  24372. args.push(this.Radius);
  24373. ;
  24374. return args;
  24375. }
  24376. };
  24377. var IfcCircleHollowProfileDef = class {
  24378. constructor(expressID, type, ProfileType, ProfileName, Position, Radius, WallThickness) {
  24379. this.expressID = expressID;
  24380. this.type = type;
  24381. this.ProfileType = ProfileType;
  24382. this.ProfileName = ProfileName;
  24383. this.Position = Position;
  24384. this.Radius = Radius;
  24385. this.WallThickness = WallThickness;
  24386. }
  24387. static FromTape(expressID, type, tape) {
  24388. let ptr = 0;
  24389. let ProfileType = tape[ptr++];
  24390. let ProfileName = tape[ptr++];
  24391. let Position = tape[ptr++];
  24392. let Radius = tape[ptr++];
  24393. let WallThickness = tape[ptr++];
  24394. return new IfcCircleHollowProfileDef(expressID, type, ProfileType, ProfileName, Position, Radius, WallThickness);
  24395. }
  24396. ToTape() {
  24397. let args = [];
  24398. args.push(this.ProfileType);
  24399. ;
  24400. args.push(this.ProfileName);
  24401. ;
  24402. args.push(this.Position);
  24403. ;
  24404. args.push(this.Radius);
  24405. ;
  24406. args.push(this.WallThickness);
  24407. ;
  24408. return args;
  24409. }
  24410. };
  24411. var IfcCircleProfileDef = class {
  24412. constructor(expressID, type, ProfileType, ProfileName, Position, Radius) {
  24413. this.expressID = expressID;
  24414. this.type = type;
  24415. this.ProfileType = ProfileType;
  24416. this.ProfileName = ProfileName;
  24417. this.Position = Position;
  24418. this.Radius = Radius;
  24419. }
  24420. static FromTape(expressID, type, tape) {
  24421. let ptr = 0;
  24422. let ProfileType = tape[ptr++];
  24423. let ProfileName = tape[ptr++];
  24424. let Position = tape[ptr++];
  24425. let Radius = tape[ptr++];
  24426. return new IfcCircleProfileDef(expressID, type, ProfileType, ProfileName, Position, Radius);
  24427. }
  24428. ToTape() {
  24429. let args = [];
  24430. args.push(this.ProfileType);
  24431. ;
  24432. args.push(this.ProfileName);
  24433. ;
  24434. args.push(this.Position);
  24435. ;
  24436. args.push(this.Radius);
  24437. ;
  24438. return args;
  24439. }
  24440. };
  24441. var IfcCircularArcSegment2D = class {
  24442. constructor(expressID, type, StartPoint, StartDirection, SegmentLength, Radius, IsCCW) {
  24443. this.expressID = expressID;
  24444. this.type = type;
  24445. this.StartPoint = StartPoint;
  24446. this.StartDirection = StartDirection;
  24447. this.SegmentLength = SegmentLength;
  24448. this.Radius = Radius;
  24449. this.IsCCW = IsCCW;
  24450. }
  24451. static FromTape(expressID, type, tape) {
  24452. let ptr = 0;
  24453. let StartPoint = tape[ptr++];
  24454. let StartDirection = tape[ptr++];
  24455. let SegmentLength = tape[ptr++];
  24456. let Radius = tape[ptr++];
  24457. let IsCCW = tape[ptr++];
  24458. return new IfcCircularArcSegment2D(expressID, type, StartPoint, StartDirection, SegmentLength, Radius, IsCCW);
  24459. }
  24460. ToTape() {
  24461. let args = [];
  24462. args.push(this.StartPoint);
  24463. ;
  24464. args.push(this.StartDirection);
  24465. ;
  24466. args.push(this.SegmentLength);
  24467. ;
  24468. args.push(this.Radius);
  24469. ;
  24470. args.push(this.IsCCW);
  24471. ;
  24472. return args;
  24473. }
  24474. };
  24475. var IfcCivilElement = class {
  24476. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  24477. this.expressID = expressID;
  24478. this.type = type;
  24479. this.GlobalId = GlobalId;
  24480. this.OwnerHistory = OwnerHistory;
  24481. this.Name = Name;
  24482. this.Description = Description;
  24483. this.ObjectType = ObjectType;
  24484. this.ObjectPlacement = ObjectPlacement;
  24485. this.Representation = Representation;
  24486. this.Tag = Tag;
  24487. }
  24488. static FromTape(expressID, type, tape) {
  24489. let ptr = 0;
  24490. let GlobalId = tape[ptr++];
  24491. let OwnerHistory = tape[ptr++];
  24492. let Name = tape[ptr++];
  24493. let Description = tape[ptr++];
  24494. let ObjectType = tape[ptr++];
  24495. let ObjectPlacement = tape[ptr++];
  24496. let Representation = tape[ptr++];
  24497. let Tag = tape[ptr++];
  24498. return new IfcCivilElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  24499. }
  24500. ToTape() {
  24501. let args = [];
  24502. args.push(this.GlobalId);
  24503. ;
  24504. args.push(this.OwnerHistory);
  24505. ;
  24506. args.push(this.Name);
  24507. ;
  24508. args.push(this.Description);
  24509. ;
  24510. args.push(this.ObjectType);
  24511. ;
  24512. args.push(this.ObjectPlacement);
  24513. ;
  24514. args.push(this.Representation);
  24515. ;
  24516. args.push(this.Tag);
  24517. ;
  24518. return args;
  24519. }
  24520. };
  24521. var IfcCivilElementType = class {
  24522. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  24523. this.expressID = expressID;
  24524. this.type = type;
  24525. this.GlobalId = GlobalId;
  24526. this.OwnerHistory = OwnerHistory;
  24527. this.Name = Name;
  24528. this.Description = Description;
  24529. this.ApplicableOccurrence = ApplicableOccurrence;
  24530. this.HasPropertySets = HasPropertySets;
  24531. this.RepresentationMaps = RepresentationMaps;
  24532. this.Tag = Tag;
  24533. this.ElementType = ElementType;
  24534. }
  24535. static FromTape(expressID, type, tape) {
  24536. let ptr = 0;
  24537. let GlobalId = tape[ptr++];
  24538. let OwnerHistory = tape[ptr++];
  24539. let Name = tape[ptr++];
  24540. let Description = tape[ptr++];
  24541. let ApplicableOccurrence = tape[ptr++];
  24542. let HasPropertySets = tape[ptr++];
  24543. let RepresentationMaps = tape[ptr++];
  24544. let Tag = tape[ptr++];
  24545. let ElementType = tape[ptr++];
  24546. return new IfcCivilElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  24547. }
  24548. ToTape() {
  24549. let args = [];
  24550. args.push(this.GlobalId);
  24551. ;
  24552. args.push(this.OwnerHistory);
  24553. ;
  24554. args.push(this.Name);
  24555. ;
  24556. args.push(this.Description);
  24557. ;
  24558. args.push(this.ApplicableOccurrence);
  24559. ;
  24560. args.push(this.HasPropertySets);
  24561. ;
  24562. args.push(this.RepresentationMaps);
  24563. ;
  24564. args.push(this.Tag);
  24565. ;
  24566. args.push(this.ElementType);
  24567. ;
  24568. return args;
  24569. }
  24570. };
  24571. var IfcClassification = class {
  24572. constructor(expressID, type, Source, Edition, EditionDate, Name, Description, Location, ReferenceTokens) {
  24573. this.expressID = expressID;
  24574. this.type = type;
  24575. this.Source = Source;
  24576. this.Edition = Edition;
  24577. this.EditionDate = EditionDate;
  24578. this.Name = Name;
  24579. this.Description = Description;
  24580. this.Location = Location;
  24581. this.ReferenceTokens = ReferenceTokens;
  24582. }
  24583. static FromTape(expressID, type, tape) {
  24584. let ptr = 0;
  24585. let Source = tape[ptr++];
  24586. let Edition = tape[ptr++];
  24587. let EditionDate = tape[ptr++];
  24588. let Name = tape[ptr++];
  24589. let Description = tape[ptr++];
  24590. let Location = tape[ptr++];
  24591. let ReferenceTokens = tape[ptr++];
  24592. return new IfcClassification(expressID, type, Source, Edition, EditionDate, Name, Description, Location, ReferenceTokens);
  24593. }
  24594. ToTape() {
  24595. let args = [];
  24596. args.push(this.Source);
  24597. ;
  24598. args.push(this.Edition);
  24599. ;
  24600. args.push(this.EditionDate);
  24601. ;
  24602. args.push(this.Name);
  24603. ;
  24604. args.push(this.Description);
  24605. ;
  24606. args.push(this.Location);
  24607. ;
  24608. args.push(this.ReferenceTokens);
  24609. ;
  24610. return args;
  24611. }
  24612. };
  24613. var IfcClassificationReference = class {
  24614. constructor(expressID, type, Location, Identification, Name, ReferencedSource, Description, Sort) {
  24615. this.expressID = expressID;
  24616. this.type = type;
  24617. this.Location = Location;
  24618. this.Identification = Identification;
  24619. this.Name = Name;
  24620. this.ReferencedSource = ReferencedSource;
  24621. this.Description = Description;
  24622. this.Sort = Sort;
  24623. }
  24624. static FromTape(expressID, type, tape) {
  24625. let ptr = 0;
  24626. let Location = tape[ptr++];
  24627. let Identification = tape[ptr++];
  24628. let Name = tape[ptr++];
  24629. let ReferencedSource = tape[ptr++];
  24630. let Description = tape[ptr++];
  24631. let Sort = tape[ptr++];
  24632. return new IfcClassificationReference(expressID, type, Location, Identification, Name, ReferencedSource, Description, Sort);
  24633. }
  24634. ToTape() {
  24635. let args = [];
  24636. args.push(this.Location);
  24637. ;
  24638. args.push(this.Identification);
  24639. ;
  24640. args.push(this.Name);
  24641. ;
  24642. args.push(this.ReferencedSource);
  24643. ;
  24644. args.push(this.Description);
  24645. ;
  24646. args.push(this.Sort);
  24647. ;
  24648. return args;
  24649. }
  24650. };
  24651. var IfcClosedShell = class {
  24652. constructor(expressID, type, CfsFaces) {
  24653. this.expressID = expressID;
  24654. this.type = type;
  24655. this.CfsFaces = CfsFaces;
  24656. }
  24657. static FromTape(expressID, type, tape) {
  24658. let ptr = 0;
  24659. let CfsFaces = tape[ptr++];
  24660. return new IfcClosedShell(expressID, type, CfsFaces);
  24661. }
  24662. ToTape() {
  24663. let args = [];
  24664. args.push(this.CfsFaces);
  24665. ;
  24666. return args;
  24667. }
  24668. };
  24669. var IfcCoil = class {
  24670. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  24671. this.expressID = expressID;
  24672. this.type = type;
  24673. this.GlobalId = GlobalId;
  24674. this.OwnerHistory = OwnerHistory;
  24675. this.Name = Name;
  24676. this.Description = Description;
  24677. this.ObjectType = ObjectType;
  24678. this.ObjectPlacement = ObjectPlacement;
  24679. this.Representation = Representation;
  24680. this.Tag = Tag;
  24681. this.PredefinedType = PredefinedType;
  24682. }
  24683. static FromTape(expressID, type, tape) {
  24684. let ptr = 0;
  24685. let GlobalId = tape[ptr++];
  24686. let OwnerHistory = tape[ptr++];
  24687. let Name = tape[ptr++];
  24688. let Description = tape[ptr++];
  24689. let ObjectType = tape[ptr++];
  24690. let ObjectPlacement = tape[ptr++];
  24691. let Representation = tape[ptr++];
  24692. let Tag = tape[ptr++];
  24693. let PredefinedType = tape[ptr++];
  24694. return new IfcCoil(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  24695. }
  24696. ToTape() {
  24697. let args = [];
  24698. args.push(this.GlobalId);
  24699. ;
  24700. args.push(this.OwnerHistory);
  24701. ;
  24702. args.push(this.Name);
  24703. ;
  24704. args.push(this.Description);
  24705. ;
  24706. args.push(this.ObjectType);
  24707. ;
  24708. args.push(this.ObjectPlacement);
  24709. ;
  24710. args.push(this.Representation);
  24711. ;
  24712. args.push(this.Tag);
  24713. ;
  24714. args.push(this.PredefinedType);
  24715. ;
  24716. return args;
  24717. }
  24718. };
  24719. var IfcCoilType = class {
  24720. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  24721. this.expressID = expressID;
  24722. this.type = type;
  24723. this.GlobalId = GlobalId;
  24724. this.OwnerHistory = OwnerHistory;
  24725. this.Name = Name;
  24726. this.Description = Description;
  24727. this.ApplicableOccurrence = ApplicableOccurrence;
  24728. this.HasPropertySets = HasPropertySets;
  24729. this.RepresentationMaps = RepresentationMaps;
  24730. this.Tag = Tag;
  24731. this.ElementType = ElementType;
  24732. this.PredefinedType = PredefinedType;
  24733. }
  24734. static FromTape(expressID, type, tape) {
  24735. let ptr = 0;
  24736. let GlobalId = tape[ptr++];
  24737. let OwnerHistory = tape[ptr++];
  24738. let Name = tape[ptr++];
  24739. let Description = tape[ptr++];
  24740. let ApplicableOccurrence = tape[ptr++];
  24741. let HasPropertySets = tape[ptr++];
  24742. let RepresentationMaps = tape[ptr++];
  24743. let Tag = tape[ptr++];
  24744. let ElementType = tape[ptr++];
  24745. let PredefinedType = tape[ptr++];
  24746. return new IfcCoilType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  24747. }
  24748. ToTape() {
  24749. let args = [];
  24750. args.push(this.GlobalId);
  24751. ;
  24752. args.push(this.OwnerHistory);
  24753. ;
  24754. args.push(this.Name);
  24755. ;
  24756. args.push(this.Description);
  24757. ;
  24758. args.push(this.ApplicableOccurrence);
  24759. ;
  24760. args.push(this.HasPropertySets);
  24761. ;
  24762. args.push(this.RepresentationMaps);
  24763. ;
  24764. args.push(this.Tag);
  24765. ;
  24766. args.push(this.ElementType);
  24767. ;
  24768. args.push(this.PredefinedType);
  24769. ;
  24770. return args;
  24771. }
  24772. };
  24773. var IfcColourRgb = class {
  24774. constructor(expressID, type, Name, Red, Green, Blue) {
  24775. this.expressID = expressID;
  24776. this.type = type;
  24777. this.Name = Name;
  24778. this.Red = Red;
  24779. this.Green = Green;
  24780. this.Blue = Blue;
  24781. }
  24782. static FromTape(expressID, type, tape) {
  24783. let ptr = 0;
  24784. let Name = tape[ptr++];
  24785. let Red = tape[ptr++];
  24786. let Green = tape[ptr++];
  24787. let Blue = tape[ptr++];
  24788. return new IfcColourRgb(expressID, type, Name, Red, Green, Blue);
  24789. }
  24790. ToTape() {
  24791. let args = [];
  24792. args.push(this.Name);
  24793. ;
  24794. args.push(this.Red);
  24795. ;
  24796. args.push(this.Green);
  24797. ;
  24798. args.push(this.Blue);
  24799. ;
  24800. return args;
  24801. }
  24802. };
  24803. var IfcColourRgbList = class {
  24804. constructor(expressID, type, ColourList) {
  24805. this.expressID = expressID;
  24806. this.type = type;
  24807. this.ColourList = ColourList;
  24808. }
  24809. static FromTape(expressID, type, tape) {
  24810. let ptr = 0;
  24811. let ColourList = tape[ptr++];
  24812. return new IfcColourRgbList(expressID, type, ColourList);
  24813. }
  24814. ToTape() {
  24815. let args = [];
  24816. args.push(this.ColourList);
  24817. ;
  24818. return args;
  24819. }
  24820. };
  24821. var IfcColourSpecification = class {
  24822. constructor(expressID, type, Name) {
  24823. this.expressID = expressID;
  24824. this.type = type;
  24825. this.Name = Name;
  24826. }
  24827. static FromTape(expressID, type, tape) {
  24828. let ptr = 0;
  24829. let Name = tape[ptr++];
  24830. return new IfcColourSpecification(expressID, type, Name);
  24831. }
  24832. ToTape() {
  24833. let args = [];
  24834. args.push(this.Name);
  24835. ;
  24836. return args;
  24837. }
  24838. };
  24839. var IfcColumn = class {
  24840. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  24841. this.expressID = expressID;
  24842. this.type = type;
  24843. this.GlobalId = GlobalId;
  24844. this.OwnerHistory = OwnerHistory;
  24845. this.Name = Name;
  24846. this.Description = Description;
  24847. this.ObjectType = ObjectType;
  24848. this.ObjectPlacement = ObjectPlacement;
  24849. this.Representation = Representation;
  24850. this.Tag = Tag;
  24851. this.PredefinedType = PredefinedType;
  24852. }
  24853. static FromTape(expressID, type, tape) {
  24854. let ptr = 0;
  24855. let GlobalId = tape[ptr++];
  24856. let OwnerHistory = tape[ptr++];
  24857. let Name = tape[ptr++];
  24858. let Description = tape[ptr++];
  24859. let ObjectType = tape[ptr++];
  24860. let ObjectPlacement = tape[ptr++];
  24861. let Representation = tape[ptr++];
  24862. let Tag = tape[ptr++];
  24863. let PredefinedType = tape[ptr++];
  24864. return new IfcColumn(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  24865. }
  24866. ToTape() {
  24867. let args = [];
  24868. args.push(this.GlobalId);
  24869. ;
  24870. args.push(this.OwnerHistory);
  24871. ;
  24872. args.push(this.Name);
  24873. ;
  24874. args.push(this.Description);
  24875. ;
  24876. args.push(this.ObjectType);
  24877. ;
  24878. args.push(this.ObjectPlacement);
  24879. ;
  24880. args.push(this.Representation);
  24881. ;
  24882. args.push(this.Tag);
  24883. ;
  24884. args.push(this.PredefinedType);
  24885. ;
  24886. return args;
  24887. }
  24888. };
  24889. var IfcColumnStandardCase = class {
  24890. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  24891. this.expressID = expressID;
  24892. this.type = type;
  24893. this.GlobalId = GlobalId;
  24894. this.OwnerHistory = OwnerHistory;
  24895. this.Name = Name;
  24896. this.Description = Description;
  24897. this.ObjectType = ObjectType;
  24898. this.ObjectPlacement = ObjectPlacement;
  24899. this.Representation = Representation;
  24900. this.Tag = Tag;
  24901. this.PredefinedType = PredefinedType;
  24902. }
  24903. static FromTape(expressID, type, tape) {
  24904. let ptr = 0;
  24905. let GlobalId = tape[ptr++];
  24906. let OwnerHistory = tape[ptr++];
  24907. let Name = tape[ptr++];
  24908. let Description = tape[ptr++];
  24909. let ObjectType = tape[ptr++];
  24910. let ObjectPlacement = tape[ptr++];
  24911. let Representation = tape[ptr++];
  24912. let Tag = tape[ptr++];
  24913. let PredefinedType = tape[ptr++];
  24914. return new IfcColumnStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  24915. }
  24916. ToTape() {
  24917. let args = [];
  24918. args.push(this.GlobalId);
  24919. ;
  24920. args.push(this.OwnerHistory);
  24921. ;
  24922. args.push(this.Name);
  24923. ;
  24924. args.push(this.Description);
  24925. ;
  24926. args.push(this.ObjectType);
  24927. ;
  24928. args.push(this.ObjectPlacement);
  24929. ;
  24930. args.push(this.Representation);
  24931. ;
  24932. args.push(this.Tag);
  24933. ;
  24934. args.push(this.PredefinedType);
  24935. ;
  24936. return args;
  24937. }
  24938. };
  24939. var IfcColumnType = class {
  24940. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  24941. this.expressID = expressID;
  24942. this.type = type;
  24943. this.GlobalId = GlobalId;
  24944. this.OwnerHistory = OwnerHistory;
  24945. this.Name = Name;
  24946. this.Description = Description;
  24947. this.ApplicableOccurrence = ApplicableOccurrence;
  24948. this.HasPropertySets = HasPropertySets;
  24949. this.RepresentationMaps = RepresentationMaps;
  24950. this.Tag = Tag;
  24951. this.ElementType = ElementType;
  24952. this.PredefinedType = PredefinedType;
  24953. }
  24954. static FromTape(expressID, type, tape) {
  24955. let ptr = 0;
  24956. let GlobalId = tape[ptr++];
  24957. let OwnerHistory = tape[ptr++];
  24958. let Name = tape[ptr++];
  24959. let Description = tape[ptr++];
  24960. let ApplicableOccurrence = tape[ptr++];
  24961. let HasPropertySets = tape[ptr++];
  24962. let RepresentationMaps = tape[ptr++];
  24963. let Tag = tape[ptr++];
  24964. let ElementType = tape[ptr++];
  24965. let PredefinedType = tape[ptr++];
  24966. return new IfcColumnType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  24967. }
  24968. ToTape() {
  24969. let args = [];
  24970. args.push(this.GlobalId);
  24971. ;
  24972. args.push(this.OwnerHistory);
  24973. ;
  24974. args.push(this.Name);
  24975. ;
  24976. args.push(this.Description);
  24977. ;
  24978. args.push(this.ApplicableOccurrence);
  24979. ;
  24980. args.push(this.HasPropertySets);
  24981. ;
  24982. args.push(this.RepresentationMaps);
  24983. ;
  24984. args.push(this.Tag);
  24985. ;
  24986. args.push(this.ElementType);
  24987. ;
  24988. args.push(this.PredefinedType);
  24989. ;
  24990. return args;
  24991. }
  24992. };
  24993. var IfcCommunicationsAppliance = class {
  24994. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  24995. this.expressID = expressID;
  24996. this.type = type;
  24997. this.GlobalId = GlobalId;
  24998. this.OwnerHistory = OwnerHistory;
  24999. this.Name = Name;
  25000. this.Description = Description;
  25001. this.ObjectType = ObjectType;
  25002. this.ObjectPlacement = ObjectPlacement;
  25003. this.Representation = Representation;
  25004. this.Tag = Tag;
  25005. this.PredefinedType = PredefinedType;
  25006. }
  25007. static FromTape(expressID, type, tape) {
  25008. let ptr = 0;
  25009. let GlobalId = tape[ptr++];
  25010. let OwnerHistory = tape[ptr++];
  25011. let Name = tape[ptr++];
  25012. let Description = tape[ptr++];
  25013. let ObjectType = tape[ptr++];
  25014. let ObjectPlacement = tape[ptr++];
  25015. let Representation = tape[ptr++];
  25016. let Tag = tape[ptr++];
  25017. let PredefinedType = tape[ptr++];
  25018. return new IfcCommunicationsAppliance(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  25019. }
  25020. ToTape() {
  25021. let args = [];
  25022. args.push(this.GlobalId);
  25023. ;
  25024. args.push(this.OwnerHistory);
  25025. ;
  25026. args.push(this.Name);
  25027. ;
  25028. args.push(this.Description);
  25029. ;
  25030. args.push(this.ObjectType);
  25031. ;
  25032. args.push(this.ObjectPlacement);
  25033. ;
  25034. args.push(this.Representation);
  25035. ;
  25036. args.push(this.Tag);
  25037. ;
  25038. args.push(this.PredefinedType);
  25039. ;
  25040. return args;
  25041. }
  25042. };
  25043. var IfcCommunicationsApplianceType = class {
  25044. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  25045. this.expressID = expressID;
  25046. this.type = type;
  25047. this.GlobalId = GlobalId;
  25048. this.OwnerHistory = OwnerHistory;
  25049. this.Name = Name;
  25050. this.Description = Description;
  25051. this.ApplicableOccurrence = ApplicableOccurrence;
  25052. this.HasPropertySets = HasPropertySets;
  25053. this.RepresentationMaps = RepresentationMaps;
  25054. this.Tag = Tag;
  25055. this.ElementType = ElementType;
  25056. this.PredefinedType = PredefinedType;
  25057. }
  25058. static FromTape(expressID, type, tape) {
  25059. let ptr = 0;
  25060. let GlobalId = tape[ptr++];
  25061. let OwnerHistory = tape[ptr++];
  25062. let Name = tape[ptr++];
  25063. let Description = tape[ptr++];
  25064. let ApplicableOccurrence = tape[ptr++];
  25065. let HasPropertySets = tape[ptr++];
  25066. let RepresentationMaps = tape[ptr++];
  25067. let Tag = tape[ptr++];
  25068. let ElementType = tape[ptr++];
  25069. let PredefinedType = tape[ptr++];
  25070. return new IfcCommunicationsApplianceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  25071. }
  25072. ToTape() {
  25073. let args = [];
  25074. args.push(this.GlobalId);
  25075. ;
  25076. args.push(this.OwnerHistory);
  25077. ;
  25078. args.push(this.Name);
  25079. ;
  25080. args.push(this.Description);
  25081. ;
  25082. args.push(this.ApplicableOccurrence);
  25083. ;
  25084. args.push(this.HasPropertySets);
  25085. ;
  25086. args.push(this.RepresentationMaps);
  25087. ;
  25088. args.push(this.Tag);
  25089. ;
  25090. args.push(this.ElementType);
  25091. ;
  25092. args.push(this.PredefinedType);
  25093. ;
  25094. return args;
  25095. }
  25096. };
  25097. var IfcComplexProperty = class {
  25098. constructor(expressID, type, Name, Description, UsageName, HasProperties) {
  25099. this.expressID = expressID;
  25100. this.type = type;
  25101. this.Name = Name;
  25102. this.Description = Description;
  25103. this.UsageName = UsageName;
  25104. this.HasProperties = HasProperties;
  25105. }
  25106. static FromTape(expressID, type, tape) {
  25107. let ptr = 0;
  25108. let Name = tape[ptr++];
  25109. let Description = tape[ptr++];
  25110. let UsageName = tape[ptr++];
  25111. let HasProperties = tape[ptr++];
  25112. return new IfcComplexProperty(expressID, type, Name, Description, UsageName, HasProperties);
  25113. }
  25114. ToTape() {
  25115. let args = [];
  25116. args.push(this.Name);
  25117. ;
  25118. args.push(this.Description);
  25119. ;
  25120. args.push(this.UsageName);
  25121. ;
  25122. args.push(this.HasProperties);
  25123. ;
  25124. return args;
  25125. }
  25126. };
  25127. var IfcComplexPropertyTemplate = class {
  25128. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) {
  25129. this.expressID = expressID;
  25130. this.type = type;
  25131. this.GlobalId = GlobalId;
  25132. this.OwnerHistory = OwnerHistory;
  25133. this.Name = Name;
  25134. this.Description = Description;
  25135. this.UsageName = UsageName;
  25136. this.TemplateType = TemplateType;
  25137. this.HasPropertyTemplates = HasPropertyTemplates;
  25138. }
  25139. static FromTape(expressID, type, tape) {
  25140. let ptr = 0;
  25141. let GlobalId = tape[ptr++];
  25142. let OwnerHistory = tape[ptr++];
  25143. let Name = tape[ptr++];
  25144. let Description = tape[ptr++];
  25145. let UsageName = tape[ptr++];
  25146. let TemplateType = tape[ptr++];
  25147. let HasPropertyTemplates = tape[ptr++];
  25148. return new IfcComplexPropertyTemplate(expressID, type, GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates);
  25149. }
  25150. ToTape() {
  25151. let args = [];
  25152. args.push(this.GlobalId);
  25153. ;
  25154. args.push(this.OwnerHistory);
  25155. ;
  25156. args.push(this.Name);
  25157. ;
  25158. args.push(this.Description);
  25159. ;
  25160. args.push(this.UsageName);
  25161. ;
  25162. args.push(this.TemplateType);
  25163. ;
  25164. args.push(this.HasPropertyTemplates);
  25165. ;
  25166. return args;
  25167. }
  25168. };
  25169. var IfcCompositeCurve = class {
  25170. constructor(expressID, type, Segments, SelfIntersect) {
  25171. this.expressID = expressID;
  25172. this.type = type;
  25173. this.Segments = Segments;
  25174. this.SelfIntersect = SelfIntersect;
  25175. }
  25176. static FromTape(expressID, type, tape) {
  25177. let ptr = 0;
  25178. let Segments = tape[ptr++];
  25179. let SelfIntersect = tape[ptr++];
  25180. return new IfcCompositeCurve(expressID, type, Segments, SelfIntersect);
  25181. }
  25182. ToTape() {
  25183. let args = [];
  25184. args.push(this.Segments);
  25185. ;
  25186. args.push(this.SelfIntersect);
  25187. ;
  25188. return args;
  25189. }
  25190. };
  25191. var IfcCompositeCurveOnSurface = class {
  25192. constructor(expressID, type, Segments, SelfIntersect) {
  25193. this.expressID = expressID;
  25194. this.type = type;
  25195. this.Segments = Segments;
  25196. this.SelfIntersect = SelfIntersect;
  25197. }
  25198. static FromTape(expressID, type, tape) {
  25199. let ptr = 0;
  25200. let Segments = tape[ptr++];
  25201. let SelfIntersect = tape[ptr++];
  25202. return new IfcCompositeCurveOnSurface(expressID, type, Segments, SelfIntersect);
  25203. }
  25204. ToTape() {
  25205. let args = [];
  25206. args.push(this.Segments);
  25207. ;
  25208. args.push(this.SelfIntersect);
  25209. ;
  25210. return args;
  25211. }
  25212. };
  25213. var IfcCompositeCurveSegment = class {
  25214. constructor(expressID, type, Transition, SameSense, ParentCurve) {
  25215. this.expressID = expressID;
  25216. this.type = type;
  25217. this.Transition = Transition;
  25218. this.SameSense = SameSense;
  25219. this.ParentCurve = ParentCurve;
  25220. }
  25221. static FromTape(expressID, type, tape) {
  25222. let ptr = 0;
  25223. let Transition = tape[ptr++];
  25224. let SameSense = tape[ptr++];
  25225. let ParentCurve = tape[ptr++];
  25226. return new IfcCompositeCurveSegment(expressID, type, Transition, SameSense, ParentCurve);
  25227. }
  25228. ToTape() {
  25229. let args = [];
  25230. args.push(this.Transition);
  25231. ;
  25232. args.push(this.SameSense);
  25233. ;
  25234. args.push(this.ParentCurve);
  25235. ;
  25236. return args;
  25237. }
  25238. };
  25239. var IfcCompositeProfileDef = class {
  25240. constructor(expressID, type, ProfileType, ProfileName, Profiles, Label) {
  25241. this.expressID = expressID;
  25242. this.type = type;
  25243. this.ProfileType = ProfileType;
  25244. this.ProfileName = ProfileName;
  25245. this.Profiles = Profiles;
  25246. this.Label = Label;
  25247. }
  25248. static FromTape(expressID, type, tape) {
  25249. let ptr = 0;
  25250. let ProfileType = tape[ptr++];
  25251. let ProfileName = tape[ptr++];
  25252. let Profiles = tape[ptr++];
  25253. let Label = tape[ptr++];
  25254. return new IfcCompositeProfileDef(expressID, type, ProfileType, ProfileName, Profiles, Label);
  25255. }
  25256. ToTape() {
  25257. let args = [];
  25258. args.push(this.ProfileType);
  25259. ;
  25260. args.push(this.ProfileName);
  25261. ;
  25262. args.push(this.Profiles);
  25263. ;
  25264. args.push(this.Label);
  25265. ;
  25266. return args;
  25267. }
  25268. };
  25269. var IfcCompressor = class {
  25270. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  25271. this.expressID = expressID;
  25272. this.type = type;
  25273. this.GlobalId = GlobalId;
  25274. this.OwnerHistory = OwnerHistory;
  25275. this.Name = Name;
  25276. this.Description = Description;
  25277. this.ObjectType = ObjectType;
  25278. this.ObjectPlacement = ObjectPlacement;
  25279. this.Representation = Representation;
  25280. this.Tag = Tag;
  25281. this.PredefinedType = PredefinedType;
  25282. }
  25283. static FromTape(expressID, type, tape) {
  25284. let ptr = 0;
  25285. let GlobalId = tape[ptr++];
  25286. let OwnerHistory = tape[ptr++];
  25287. let Name = tape[ptr++];
  25288. let Description = tape[ptr++];
  25289. let ObjectType = tape[ptr++];
  25290. let ObjectPlacement = tape[ptr++];
  25291. let Representation = tape[ptr++];
  25292. let Tag = tape[ptr++];
  25293. let PredefinedType = tape[ptr++];
  25294. return new IfcCompressor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  25295. }
  25296. ToTape() {
  25297. let args = [];
  25298. args.push(this.GlobalId);
  25299. ;
  25300. args.push(this.OwnerHistory);
  25301. ;
  25302. args.push(this.Name);
  25303. ;
  25304. args.push(this.Description);
  25305. ;
  25306. args.push(this.ObjectType);
  25307. ;
  25308. args.push(this.ObjectPlacement);
  25309. ;
  25310. args.push(this.Representation);
  25311. ;
  25312. args.push(this.Tag);
  25313. ;
  25314. args.push(this.PredefinedType);
  25315. ;
  25316. return args;
  25317. }
  25318. };
  25319. var IfcCompressorType = class {
  25320. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  25321. this.expressID = expressID;
  25322. this.type = type;
  25323. this.GlobalId = GlobalId;
  25324. this.OwnerHistory = OwnerHistory;
  25325. this.Name = Name;
  25326. this.Description = Description;
  25327. this.ApplicableOccurrence = ApplicableOccurrence;
  25328. this.HasPropertySets = HasPropertySets;
  25329. this.RepresentationMaps = RepresentationMaps;
  25330. this.Tag = Tag;
  25331. this.ElementType = ElementType;
  25332. this.PredefinedType = PredefinedType;
  25333. }
  25334. static FromTape(expressID, type, tape) {
  25335. let ptr = 0;
  25336. let GlobalId = tape[ptr++];
  25337. let OwnerHistory = tape[ptr++];
  25338. let Name = tape[ptr++];
  25339. let Description = tape[ptr++];
  25340. let ApplicableOccurrence = tape[ptr++];
  25341. let HasPropertySets = tape[ptr++];
  25342. let RepresentationMaps = tape[ptr++];
  25343. let Tag = tape[ptr++];
  25344. let ElementType = tape[ptr++];
  25345. let PredefinedType = tape[ptr++];
  25346. return new IfcCompressorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  25347. }
  25348. ToTape() {
  25349. let args = [];
  25350. args.push(this.GlobalId);
  25351. ;
  25352. args.push(this.OwnerHistory);
  25353. ;
  25354. args.push(this.Name);
  25355. ;
  25356. args.push(this.Description);
  25357. ;
  25358. args.push(this.ApplicableOccurrence);
  25359. ;
  25360. args.push(this.HasPropertySets);
  25361. ;
  25362. args.push(this.RepresentationMaps);
  25363. ;
  25364. args.push(this.Tag);
  25365. ;
  25366. args.push(this.ElementType);
  25367. ;
  25368. args.push(this.PredefinedType);
  25369. ;
  25370. return args;
  25371. }
  25372. };
  25373. var IfcCondenser = class {
  25374. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  25375. this.expressID = expressID;
  25376. this.type = type;
  25377. this.GlobalId = GlobalId;
  25378. this.OwnerHistory = OwnerHistory;
  25379. this.Name = Name;
  25380. this.Description = Description;
  25381. this.ObjectType = ObjectType;
  25382. this.ObjectPlacement = ObjectPlacement;
  25383. this.Representation = Representation;
  25384. this.Tag = Tag;
  25385. this.PredefinedType = PredefinedType;
  25386. }
  25387. static FromTape(expressID, type, tape) {
  25388. let ptr = 0;
  25389. let GlobalId = tape[ptr++];
  25390. let OwnerHistory = tape[ptr++];
  25391. let Name = tape[ptr++];
  25392. let Description = tape[ptr++];
  25393. let ObjectType = tape[ptr++];
  25394. let ObjectPlacement = tape[ptr++];
  25395. let Representation = tape[ptr++];
  25396. let Tag = tape[ptr++];
  25397. let PredefinedType = tape[ptr++];
  25398. return new IfcCondenser(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  25399. }
  25400. ToTape() {
  25401. let args = [];
  25402. args.push(this.GlobalId);
  25403. ;
  25404. args.push(this.OwnerHistory);
  25405. ;
  25406. args.push(this.Name);
  25407. ;
  25408. args.push(this.Description);
  25409. ;
  25410. args.push(this.ObjectType);
  25411. ;
  25412. args.push(this.ObjectPlacement);
  25413. ;
  25414. args.push(this.Representation);
  25415. ;
  25416. args.push(this.Tag);
  25417. ;
  25418. args.push(this.PredefinedType);
  25419. ;
  25420. return args;
  25421. }
  25422. };
  25423. var IfcCondenserType = class {
  25424. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  25425. this.expressID = expressID;
  25426. this.type = type;
  25427. this.GlobalId = GlobalId;
  25428. this.OwnerHistory = OwnerHistory;
  25429. this.Name = Name;
  25430. this.Description = Description;
  25431. this.ApplicableOccurrence = ApplicableOccurrence;
  25432. this.HasPropertySets = HasPropertySets;
  25433. this.RepresentationMaps = RepresentationMaps;
  25434. this.Tag = Tag;
  25435. this.ElementType = ElementType;
  25436. this.PredefinedType = PredefinedType;
  25437. }
  25438. static FromTape(expressID, type, tape) {
  25439. let ptr = 0;
  25440. let GlobalId = tape[ptr++];
  25441. let OwnerHistory = tape[ptr++];
  25442. let Name = tape[ptr++];
  25443. let Description = tape[ptr++];
  25444. let ApplicableOccurrence = tape[ptr++];
  25445. let HasPropertySets = tape[ptr++];
  25446. let RepresentationMaps = tape[ptr++];
  25447. let Tag = tape[ptr++];
  25448. let ElementType = tape[ptr++];
  25449. let PredefinedType = tape[ptr++];
  25450. return new IfcCondenserType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  25451. }
  25452. ToTape() {
  25453. let args = [];
  25454. args.push(this.GlobalId);
  25455. ;
  25456. args.push(this.OwnerHistory);
  25457. ;
  25458. args.push(this.Name);
  25459. ;
  25460. args.push(this.Description);
  25461. ;
  25462. args.push(this.ApplicableOccurrence);
  25463. ;
  25464. args.push(this.HasPropertySets);
  25465. ;
  25466. args.push(this.RepresentationMaps);
  25467. ;
  25468. args.push(this.Tag);
  25469. ;
  25470. args.push(this.ElementType);
  25471. ;
  25472. args.push(this.PredefinedType);
  25473. ;
  25474. return args;
  25475. }
  25476. };
  25477. var IfcConic = class {
  25478. constructor(expressID, type, Position) {
  25479. this.expressID = expressID;
  25480. this.type = type;
  25481. this.Position = Position;
  25482. }
  25483. static FromTape(expressID, type, tape) {
  25484. let ptr = 0;
  25485. let Position = tape[ptr++];
  25486. return new IfcConic(expressID, type, Position);
  25487. }
  25488. ToTape() {
  25489. let args = [];
  25490. args.push(this.Position);
  25491. ;
  25492. return args;
  25493. }
  25494. };
  25495. var IfcConnectedFaceSet = class {
  25496. constructor(expressID, type, CfsFaces) {
  25497. this.expressID = expressID;
  25498. this.type = type;
  25499. this.CfsFaces = CfsFaces;
  25500. }
  25501. static FromTape(expressID, type, tape) {
  25502. let ptr = 0;
  25503. let CfsFaces = tape[ptr++];
  25504. return new IfcConnectedFaceSet(expressID, type, CfsFaces);
  25505. }
  25506. ToTape() {
  25507. let args = [];
  25508. args.push(this.CfsFaces);
  25509. ;
  25510. return args;
  25511. }
  25512. };
  25513. var IfcConnectionCurveGeometry = class {
  25514. constructor(expressID, type, CurveOnRelatingElement, CurveOnRelatedElement) {
  25515. this.expressID = expressID;
  25516. this.type = type;
  25517. this.CurveOnRelatingElement = CurveOnRelatingElement;
  25518. this.CurveOnRelatedElement = CurveOnRelatedElement;
  25519. }
  25520. static FromTape(expressID, type, tape) {
  25521. let ptr = 0;
  25522. let CurveOnRelatingElement = tape[ptr++];
  25523. let CurveOnRelatedElement = tape[ptr++];
  25524. return new IfcConnectionCurveGeometry(expressID, type, CurveOnRelatingElement, CurveOnRelatedElement);
  25525. }
  25526. ToTape() {
  25527. let args = [];
  25528. args.push(this.CurveOnRelatingElement);
  25529. ;
  25530. args.push(this.CurveOnRelatedElement);
  25531. ;
  25532. return args;
  25533. }
  25534. };
  25535. var IfcConnectionGeometry = class {
  25536. constructor(expressID, type) {
  25537. this.expressID = expressID;
  25538. this.type = type;
  25539. }
  25540. static FromTape(expressID, type, tape) {
  25541. let ptr = 0;
  25542. return new IfcConnectionGeometry(expressID, type);
  25543. }
  25544. ToTape() {
  25545. let args = [];
  25546. return args;
  25547. }
  25548. };
  25549. var IfcConnectionPointEccentricity = class {
  25550. constructor(expressID, type, PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) {
  25551. this.expressID = expressID;
  25552. this.type = type;
  25553. this.PointOnRelatingElement = PointOnRelatingElement;
  25554. this.PointOnRelatedElement = PointOnRelatedElement;
  25555. this.EccentricityInX = EccentricityInX;
  25556. this.EccentricityInY = EccentricityInY;
  25557. this.EccentricityInZ = EccentricityInZ;
  25558. }
  25559. static FromTape(expressID, type, tape) {
  25560. let ptr = 0;
  25561. let PointOnRelatingElement = tape[ptr++];
  25562. let PointOnRelatedElement = tape[ptr++];
  25563. let EccentricityInX = tape[ptr++];
  25564. let EccentricityInY = tape[ptr++];
  25565. let EccentricityInZ = tape[ptr++];
  25566. return new IfcConnectionPointEccentricity(expressID, type, PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ);
  25567. }
  25568. ToTape() {
  25569. let args = [];
  25570. args.push(this.PointOnRelatingElement);
  25571. ;
  25572. args.push(this.PointOnRelatedElement);
  25573. ;
  25574. args.push(this.EccentricityInX);
  25575. ;
  25576. args.push(this.EccentricityInY);
  25577. ;
  25578. args.push(this.EccentricityInZ);
  25579. ;
  25580. return args;
  25581. }
  25582. };
  25583. var IfcConnectionPointGeometry = class {
  25584. constructor(expressID, type, PointOnRelatingElement, PointOnRelatedElement) {
  25585. this.expressID = expressID;
  25586. this.type = type;
  25587. this.PointOnRelatingElement = PointOnRelatingElement;
  25588. this.PointOnRelatedElement = PointOnRelatedElement;
  25589. }
  25590. static FromTape(expressID, type, tape) {
  25591. let ptr = 0;
  25592. let PointOnRelatingElement = tape[ptr++];
  25593. let PointOnRelatedElement = tape[ptr++];
  25594. return new IfcConnectionPointGeometry(expressID, type, PointOnRelatingElement, PointOnRelatedElement);
  25595. }
  25596. ToTape() {
  25597. let args = [];
  25598. args.push(this.PointOnRelatingElement);
  25599. ;
  25600. args.push(this.PointOnRelatedElement);
  25601. ;
  25602. return args;
  25603. }
  25604. };
  25605. var IfcConnectionSurfaceGeometry = class {
  25606. constructor(expressID, type, SurfaceOnRelatingElement, SurfaceOnRelatedElement) {
  25607. this.expressID = expressID;
  25608. this.type = type;
  25609. this.SurfaceOnRelatingElement = SurfaceOnRelatingElement;
  25610. this.SurfaceOnRelatedElement = SurfaceOnRelatedElement;
  25611. }
  25612. static FromTape(expressID, type, tape) {
  25613. let ptr = 0;
  25614. let SurfaceOnRelatingElement = tape[ptr++];
  25615. let SurfaceOnRelatedElement = tape[ptr++];
  25616. return new IfcConnectionSurfaceGeometry(expressID, type, SurfaceOnRelatingElement, SurfaceOnRelatedElement);
  25617. }
  25618. ToTape() {
  25619. let args = [];
  25620. args.push(this.SurfaceOnRelatingElement);
  25621. ;
  25622. args.push(this.SurfaceOnRelatedElement);
  25623. ;
  25624. return args;
  25625. }
  25626. };
  25627. var IfcConnectionVolumeGeometry = class {
  25628. constructor(expressID, type, VolumeOnRelatingElement, VolumeOnRelatedElement) {
  25629. this.expressID = expressID;
  25630. this.type = type;
  25631. this.VolumeOnRelatingElement = VolumeOnRelatingElement;
  25632. this.VolumeOnRelatedElement = VolumeOnRelatedElement;
  25633. }
  25634. static FromTape(expressID, type, tape) {
  25635. let ptr = 0;
  25636. let VolumeOnRelatingElement = tape[ptr++];
  25637. let VolumeOnRelatedElement = tape[ptr++];
  25638. return new IfcConnectionVolumeGeometry(expressID, type, VolumeOnRelatingElement, VolumeOnRelatedElement);
  25639. }
  25640. ToTape() {
  25641. let args = [];
  25642. args.push(this.VolumeOnRelatingElement);
  25643. ;
  25644. args.push(this.VolumeOnRelatedElement);
  25645. ;
  25646. return args;
  25647. }
  25648. };
  25649. var IfcConstraint = class {
  25650. constructor(expressID, type, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) {
  25651. this.expressID = expressID;
  25652. this.type = type;
  25653. this.Name = Name;
  25654. this.Description = Description;
  25655. this.ConstraintGrade = ConstraintGrade;
  25656. this.ConstraintSource = ConstraintSource;
  25657. this.CreatingActor = CreatingActor;
  25658. this.CreationTime = CreationTime;
  25659. this.UserDefinedGrade = UserDefinedGrade;
  25660. }
  25661. static FromTape(expressID, type, tape) {
  25662. let ptr = 0;
  25663. let Name = tape[ptr++];
  25664. let Description = tape[ptr++];
  25665. let ConstraintGrade = tape[ptr++];
  25666. let ConstraintSource = tape[ptr++];
  25667. let CreatingActor = tape[ptr++];
  25668. let CreationTime = tape[ptr++];
  25669. let UserDefinedGrade = tape[ptr++];
  25670. return new IfcConstraint(expressID, type, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
  25671. }
  25672. ToTape() {
  25673. let args = [];
  25674. args.push(this.Name);
  25675. ;
  25676. args.push(this.Description);
  25677. ;
  25678. args.push(this.ConstraintGrade);
  25679. ;
  25680. args.push(this.ConstraintSource);
  25681. ;
  25682. args.push(this.CreatingActor);
  25683. ;
  25684. args.push(this.CreationTime);
  25685. ;
  25686. args.push(this.UserDefinedGrade);
  25687. ;
  25688. return args;
  25689. }
  25690. };
  25691. var IfcConstructionEquipmentResource = class {
  25692. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
  25693. this.expressID = expressID;
  25694. this.type = type;
  25695. this.GlobalId = GlobalId;
  25696. this.OwnerHistory = OwnerHistory;
  25697. this.Name = Name;
  25698. this.Description = Description;
  25699. this.ObjectType = ObjectType;
  25700. this.Identification = Identification;
  25701. this.LongDescription = LongDescription;
  25702. this.Usage = Usage;
  25703. this.BaseCosts = BaseCosts;
  25704. this.BaseQuantity = BaseQuantity;
  25705. this.PredefinedType = PredefinedType;
  25706. }
  25707. static FromTape(expressID, type, tape) {
  25708. let ptr = 0;
  25709. let GlobalId = tape[ptr++];
  25710. let OwnerHistory = tape[ptr++];
  25711. let Name = tape[ptr++];
  25712. let Description = tape[ptr++];
  25713. let ObjectType = tape[ptr++];
  25714. let Identification = tape[ptr++];
  25715. let LongDescription = tape[ptr++];
  25716. let Usage = tape[ptr++];
  25717. let BaseCosts = tape[ptr++];
  25718. let BaseQuantity = tape[ptr++];
  25719. let PredefinedType = tape[ptr++];
  25720. return new IfcConstructionEquipmentResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType);
  25721. }
  25722. ToTape() {
  25723. let args = [];
  25724. args.push(this.GlobalId);
  25725. ;
  25726. args.push(this.OwnerHistory);
  25727. ;
  25728. args.push(this.Name);
  25729. ;
  25730. args.push(this.Description);
  25731. ;
  25732. args.push(this.ObjectType);
  25733. ;
  25734. args.push(this.Identification);
  25735. ;
  25736. args.push(this.LongDescription);
  25737. ;
  25738. args.push(this.Usage);
  25739. ;
  25740. args.push(this.BaseCosts);
  25741. ;
  25742. args.push(this.BaseQuantity);
  25743. ;
  25744. args.push(this.PredefinedType);
  25745. ;
  25746. return args;
  25747. }
  25748. };
  25749. var IfcConstructionEquipmentResourceType = class {
  25750. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
  25751. this.expressID = expressID;
  25752. this.type = type;
  25753. this.GlobalId = GlobalId;
  25754. this.OwnerHistory = OwnerHistory;
  25755. this.Name = Name;
  25756. this.Description = Description;
  25757. this.ApplicableOccurrence = ApplicableOccurrence;
  25758. this.HasPropertySets = HasPropertySets;
  25759. this.Identification = Identification;
  25760. this.LongDescription = LongDescription;
  25761. this.ResourceType = ResourceType;
  25762. this.BaseCosts = BaseCosts;
  25763. this.BaseQuantity = BaseQuantity;
  25764. this.PredefinedType = PredefinedType;
  25765. }
  25766. static FromTape(expressID, type, tape) {
  25767. let ptr = 0;
  25768. let GlobalId = tape[ptr++];
  25769. let OwnerHistory = tape[ptr++];
  25770. let Name = tape[ptr++];
  25771. let Description = tape[ptr++];
  25772. let ApplicableOccurrence = tape[ptr++];
  25773. let HasPropertySets = tape[ptr++];
  25774. let Identification = tape[ptr++];
  25775. let LongDescription = tape[ptr++];
  25776. let ResourceType = tape[ptr++];
  25777. let BaseCosts = tape[ptr++];
  25778. let BaseQuantity = tape[ptr++];
  25779. let PredefinedType = tape[ptr++];
  25780. return new IfcConstructionEquipmentResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType);
  25781. }
  25782. ToTape() {
  25783. let args = [];
  25784. args.push(this.GlobalId);
  25785. ;
  25786. args.push(this.OwnerHistory);
  25787. ;
  25788. args.push(this.Name);
  25789. ;
  25790. args.push(this.Description);
  25791. ;
  25792. args.push(this.ApplicableOccurrence);
  25793. ;
  25794. args.push(this.HasPropertySets);
  25795. ;
  25796. args.push(this.Identification);
  25797. ;
  25798. args.push(this.LongDescription);
  25799. ;
  25800. args.push(this.ResourceType);
  25801. ;
  25802. args.push(this.BaseCosts);
  25803. ;
  25804. args.push(this.BaseQuantity);
  25805. ;
  25806. args.push(this.PredefinedType);
  25807. ;
  25808. return args;
  25809. }
  25810. };
  25811. var IfcConstructionMaterialResource = class {
  25812. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
  25813. this.expressID = expressID;
  25814. this.type = type;
  25815. this.GlobalId = GlobalId;
  25816. this.OwnerHistory = OwnerHistory;
  25817. this.Name = Name;
  25818. this.Description = Description;
  25819. this.ObjectType = ObjectType;
  25820. this.Identification = Identification;
  25821. this.LongDescription = LongDescription;
  25822. this.Usage = Usage;
  25823. this.BaseCosts = BaseCosts;
  25824. this.BaseQuantity = BaseQuantity;
  25825. this.PredefinedType = PredefinedType;
  25826. }
  25827. static FromTape(expressID, type, tape) {
  25828. let ptr = 0;
  25829. let GlobalId = tape[ptr++];
  25830. let OwnerHistory = tape[ptr++];
  25831. let Name = tape[ptr++];
  25832. let Description = tape[ptr++];
  25833. let ObjectType = tape[ptr++];
  25834. let Identification = tape[ptr++];
  25835. let LongDescription = tape[ptr++];
  25836. let Usage = tape[ptr++];
  25837. let BaseCosts = tape[ptr++];
  25838. let BaseQuantity = tape[ptr++];
  25839. let PredefinedType = tape[ptr++];
  25840. return new IfcConstructionMaterialResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType);
  25841. }
  25842. ToTape() {
  25843. let args = [];
  25844. args.push(this.GlobalId);
  25845. ;
  25846. args.push(this.OwnerHistory);
  25847. ;
  25848. args.push(this.Name);
  25849. ;
  25850. args.push(this.Description);
  25851. ;
  25852. args.push(this.ObjectType);
  25853. ;
  25854. args.push(this.Identification);
  25855. ;
  25856. args.push(this.LongDescription);
  25857. ;
  25858. args.push(this.Usage);
  25859. ;
  25860. args.push(this.BaseCosts);
  25861. ;
  25862. args.push(this.BaseQuantity);
  25863. ;
  25864. args.push(this.PredefinedType);
  25865. ;
  25866. return args;
  25867. }
  25868. };
  25869. var IfcConstructionMaterialResourceType = class {
  25870. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
  25871. this.expressID = expressID;
  25872. this.type = type;
  25873. this.GlobalId = GlobalId;
  25874. this.OwnerHistory = OwnerHistory;
  25875. this.Name = Name;
  25876. this.Description = Description;
  25877. this.ApplicableOccurrence = ApplicableOccurrence;
  25878. this.HasPropertySets = HasPropertySets;
  25879. this.Identification = Identification;
  25880. this.LongDescription = LongDescription;
  25881. this.ResourceType = ResourceType;
  25882. this.BaseCosts = BaseCosts;
  25883. this.BaseQuantity = BaseQuantity;
  25884. this.PredefinedType = PredefinedType;
  25885. }
  25886. static FromTape(expressID, type, tape) {
  25887. let ptr = 0;
  25888. let GlobalId = tape[ptr++];
  25889. let OwnerHistory = tape[ptr++];
  25890. let Name = tape[ptr++];
  25891. let Description = tape[ptr++];
  25892. let ApplicableOccurrence = tape[ptr++];
  25893. let HasPropertySets = tape[ptr++];
  25894. let Identification = tape[ptr++];
  25895. let LongDescription = tape[ptr++];
  25896. let ResourceType = tape[ptr++];
  25897. let BaseCosts = tape[ptr++];
  25898. let BaseQuantity = tape[ptr++];
  25899. let PredefinedType = tape[ptr++];
  25900. return new IfcConstructionMaterialResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType);
  25901. }
  25902. ToTape() {
  25903. let args = [];
  25904. args.push(this.GlobalId);
  25905. ;
  25906. args.push(this.OwnerHistory);
  25907. ;
  25908. args.push(this.Name);
  25909. ;
  25910. args.push(this.Description);
  25911. ;
  25912. args.push(this.ApplicableOccurrence);
  25913. ;
  25914. args.push(this.HasPropertySets);
  25915. ;
  25916. args.push(this.Identification);
  25917. ;
  25918. args.push(this.LongDescription);
  25919. ;
  25920. args.push(this.ResourceType);
  25921. ;
  25922. args.push(this.BaseCosts);
  25923. ;
  25924. args.push(this.BaseQuantity);
  25925. ;
  25926. args.push(this.PredefinedType);
  25927. ;
  25928. return args;
  25929. }
  25930. };
  25931. var IfcConstructionProductResource = class {
  25932. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
  25933. this.expressID = expressID;
  25934. this.type = type;
  25935. this.GlobalId = GlobalId;
  25936. this.OwnerHistory = OwnerHistory;
  25937. this.Name = Name;
  25938. this.Description = Description;
  25939. this.ObjectType = ObjectType;
  25940. this.Identification = Identification;
  25941. this.LongDescription = LongDescription;
  25942. this.Usage = Usage;
  25943. this.BaseCosts = BaseCosts;
  25944. this.BaseQuantity = BaseQuantity;
  25945. this.PredefinedType = PredefinedType;
  25946. }
  25947. static FromTape(expressID, type, tape) {
  25948. let ptr = 0;
  25949. let GlobalId = tape[ptr++];
  25950. let OwnerHistory = tape[ptr++];
  25951. let Name = tape[ptr++];
  25952. let Description = tape[ptr++];
  25953. let ObjectType = tape[ptr++];
  25954. let Identification = tape[ptr++];
  25955. let LongDescription = tape[ptr++];
  25956. let Usage = tape[ptr++];
  25957. let BaseCosts = tape[ptr++];
  25958. let BaseQuantity = tape[ptr++];
  25959. let PredefinedType = tape[ptr++];
  25960. return new IfcConstructionProductResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType);
  25961. }
  25962. ToTape() {
  25963. let args = [];
  25964. args.push(this.GlobalId);
  25965. ;
  25966. args.push(this.OwnerHistory);
  25967. ;
  25968. args.push(this.Name);
  25969. ;
  25970. args.push(this.Description);
  25971. ;
  25972. args.push(this.ObjectType);
  25973. ;
  25974. args.push(this.Identification);
  25975. ;
  25976. args.push(this.LongDescription);
  25977. ;
  25978. args.push(this.Usage);
  25979. ;
  25980. args.push(this.BaseCosts);
  25981. ;
  25982. args.push(this.BaseQuantity);
  25983. ;
  25984. args.push(this.PredefinedType);
  25985. ;
  25986. return args;
  25987. }
  25988. };
  25989. var IfcConstructionProductResourceType = class {
  25990. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
  25991. this.expressID = expressID;
  25992. this.type = type;
  25993. this.GlobalId = GlobalId;
  25994. this.OwnerHistory = OwnerHistory;
  25995. this.Name = Name;
  25996. this.Description = Description;
  25997. this.ApplicableOccurrence = ApplicableOccurrence;
  25998. this.HasPropertySets = HasPropertySets;
  25999. this.Identification = Identification;
  26000. this.LongDescription = LongDescription;
  26001. this.ResourceType = ResourceType;
  26002. this.BaseCosts = BaseCosts;
  26003. this.BaseQuantity = BaseQuantity;
  26004. this.PredefinedType = PredefinedType;
  26005. }
  26006. static FromTape(expressID, type, tape) {
  26007. let ptr = 0;
  26008. let GlobalId = tape[ptr++];
  26009. let OwnerHistory = tape[ptr++];
  26010. let Name = tape[ptr++];
  26011. let Description = tape[ptr++];
  26012. let ApplicableOccurrence = tape[ptr++];
  26013. let HasPropertySets = tape[ptr++];
  26014. let Identification = tape[ptr++];
  26015. let LongDescription = tape[ptr++];
  26016. let ResourceType = tape[ptr++];
  26017. let BaseCosts = tape[ptr++];
  26018. let BaseQuantity = tape[ptr++];
  26019. let PredefinedType = tape[ptr++];
  26020. return new IfcConstructionProductResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType);
  26021. }
  26022. ToTape() {
  26023. let args = [];
  26024. args.push(this.GlobalId);
  26025. ;
  26026. args.push(this.OwnerHistory);
  26027. ;
  26028. args.push(this.Name);
  26029. ;
  26030. args.push(this.Description);
  26031. ;
  26032. args.push(this.ApplicableOccurrence);
  26033. ;
  26034. args.push(this.HasPropertySets);
  26035. ;
  26036. args.push(this.Identification);
  26037. ;
  26038. args.push(this.LongDescription);
  26039. ;
  26040. args.push(this.ResourceType);
  26041. ;
  26042. args.push(this.BaseCosts);
  26043. ;
  26044. args.push(this.BaseQuantity);
  26045. ;
  26046. args.push(this.PredefinedType);
  26047. ;
  26048. return args;
  26049. }
  26050. };
  26051. var IfcConstructionResource = class {
  26052. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) {
  26053. this.expressID = expressID;
  26054. this.type = type;
  26055. this.GlobalId = GlobalId;
  26056. this.OwnerHistory = OwnerHistory;
  26057. this.Name = Name;
  26058. this.Description = Description;
  26059. this.ObjectType = ObjectType;
  26060. this.Identification = Identification;
  26061. this.LongDescription = LongDescription;
  26062. this.Usage = Usage;
  26063. this.BaseCosts = BaseCosts;
  26064. this.BaseQuantity = BaseQuantity;
  26065. }
  26066. static FromTape(expressID, type, tape) {
  26067. let ptr = 0;
  26068. let GlobalId = tape[ptr++];
  26069. let OwnerHistory = tape[ptr++];
  26070. let Name = tape[ptr++];
  26071. let Description = tape[ptr++];
  26072. let ObjectType = tape[ptr++];
  26073. let Identification = tape[ptr++];
  26074. let LongDescription = tape[ptr++];
  26075. let Usage = tape[ptr++];
  26076. let BaseCosts = tape[ptr++];
  26077. let BaseQuantity = tape[ptr++];
  26078. return new IfcConstructionResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
  26079. }
  26080. ToTape() {
  26081. let args = [];
  26082. args.push(this.GlobalId);
  26083. ;
  26084. args.push(this.OwnerHistory);
  26085. ;
  26086. args.push(this.Name);
  26087. ;
  26088. args.push(this.Description);
  26089. ;
  26090. args.push(this.ObjectType);
  26091. ;
  26092. args.push(this.Identification);
  26093. ;
  26094. args.push(this.LongDescription);
  26095. ;
  26096. args.push(this.Usage);
  26097. ;
  26098. args.push(this.BaseCosts);
  26099. ;
  26100. args.push(this.BaseQuantity);
  26101. ;
  26102. return args;
  26103. }
  26104. };
  26105. var IfcConstructionResourceType = class {
  26106. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) {
  26107. this.expressID = expressID;
  26108. this.type = type;
  26109. this.GlobalId = GlobalId;
  26110. this.OwnerHistory = OwnerHistory;
  26111. this.Name = Name;
  26112. this.Description = Description;
  26113. this.ApplicableOccurrence = ApplicableOccurrence;
  26114. this.HasPropertySets = HasPropertySets;
  26115. this.Identification = Identification;
  26116. this.LongDescription = LongDescription;
  26117. this.ResourceType = ResourceType;
  26118. this.BaseCosts = BaseCosts;
  26119. this.BaseQuantity = BaseQuantity;
  26120. }
  26121. static FromTape(expressID, type, tape) {
  26122. let ptr = 0;
  26123. let GlobalId = tape[ptr++];
  26124. let OwnerHistory = tape[ptr++];
  26125. let Name = tape[ptr++];
  26126. let Description = tape[ptr++];
  26127. let ApplicableOccurrence = tape[ptr++];
  26128. let HasPropertySets = tape[ptr++];
  26129. let Identification = tape[ptr++];
  26130. let LongDescription = tape[ptr++];
  26131. let ResourceType = tape[ptr++];
  26132. let BaseCosts = tape[ptr++];
  26133. let BaseQuantity = tape[ptr++];
  26134. return new IfcConstructionResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
  26135. }
  26136. ToTape() {
  26137. let args = [];
  26138. args.push(this.GlobalId);
  26139. ;
  26140. args.push(this.OwnerHistory);
  26141. ;
  26142. args.push(this.Name);
  26143. ;
  26144. args.push(this.Description);
  26145. ;
  26146. args.push(this.ApplicableOccurrence);
  26147. ;
  26148. args.push(this.HasPropertySets);
  26149. ;
  26150. args.push(this.Identification);
  26151. ;
  26152. args.push(this.LongDescription);
  26153. ;
  26154. args.push(this.ResourceType);
  26155. ;
  26156. args.push(this.BaseCosts);
  26157. ;
  26158. args.push(this.BaseQuantity);
  26159. ;
  26160. return args;
  26161. }
  26162. };
  26163. var IfcContext = class {
  26164. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
  26165. this.expressID = expressID;
  26166. this.type = type;
  26167. this.GlobalId = GlobalId;
  26168. this.OwnerHistory = OwnerHistory;
  26169. this.Name = Name;
  26170. this.Description = Description;
  26171. this.ObjectType = ObjectType;
  26172. this.LongName = LongName;
  26173. this.Phase = Phase;
  26174. this.RepresentationContexts = RepresentationContexts;
  26175. this.UnitsInContext = UnitsInContext;
  26176. }
  26177. static FromTape(expressID, type, tape) {
  26178. let ptr = 0;
  26179. let GlobalId = tape[ptr++];
  26180. let OwnerHistory = tape[ptr++];
  26181. let Name = tape[ptr++];
  26182. let Description = tape[ptr++];
  26183. let ObjectType = tape[ptr++];
  26184. let LongName = tape[ptr++];
  26185. let Phase = tape[ptr++];
  26186. let RepresentationContexts = tape[ptr++];
  26187. let UnitsInContext = tape[ptr++];
  26188. return new IfcContext(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
  26189. }
  26190. ToTape() {
  26191. let args = [];
  26192. args.push(this.GlobalId);
  26193. ;
  26194. args.push(this.OwnerHistory);
  26195. ;
  26196. args.push(this.Name);
  26197. ;
  26198. args.push(this.Description);
  26199. ;
  26200. args.push(this.ObjectType);
  26201. ;
  26202. args.push(this.LongName);
  26203. ;
  26204. args.push(this.Phase);
  26205. ;
  26206. args.push(this.RepresentationContexts);
  26207. ;
  26208. args.push(this.UnitsInContext);
  26209. ;
  26210. return args;
  26211. }
  26212. };
  26213. var IfcContextDependentUnit = class {
  26214. constructor(expressID, type, Dimensions, UnitType, Name) {
  26215. this.expressID = expressID;
  26216. this.type = type;
  26217. this.Dimensions = Dimensions;
  26218. this.UnitType = UnitType;
  26219. this.Name = Name;
  26220. }
  26221. static FromTape(expressID, type, tape) {
  26222. let ptr = 0;
  26223. let Dimensions = tape[ptr++];
  26224. let UnitType = tape[ptr++];
  26225. let Name = tape[ptr++];
  26226. return new IfcContextDependentUnit(expressID, type, Dimensions, UnitType, Name);
  26227. }
  26228. ToTape() {
  26229. let args = [];
  26230. args.push(this.Dimensions);
  26231. ;
  26232. args.push(this.UnitType);
  26233. ;
  26234. args.push(this.Name);
  26235. ;
  26236. return args;
  26237. }
  26238. };
  26239. var IfcControl = class {
  26240. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) {
  26241. this.expressID = expressID;
  26242. this.type = type;
  26243. this.GlobalId = GlobalId;
  26244. this.OwnerHistory = OwnerHistory;
  26245. this.Name = Name;
  26246. this.Description = Description;
  26247. this.ObjectType = ObjectType;
  26248. this.Identification = Identification;
  26249. }
  26250. static FromTape(expressID, type, tape) {
  26251. let ptr = 0;
  26252. let GlobalId = tape[ptr++];
  26253. let OwnerHistory = tape[ptr++];
  26254. let Name = tape[ptr++];
  26255. let Description = tape[ptr++];
  26256. let ObjectType = tape[ptr++];
  26257. let Identification = tape[ptr++];
  26258. return new IfcControl(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
  26259. }
  26260. ToTape() {
  26261. let args = [];
  26262. args.push(this.GlobalId);
  26263. ;
  26264. args.push(this.OwnerHistory);
  26265. ;
  26266. args.push(this.Name);
  26267. ;
  26268. args.push(this.Description);
  26269. ;
  26270. args.push(this.ObjectType);
  26271. ;
  26272. args.push(this.Identification);
  26273. ;
  26274. return args;
  26275. }
  26276. };
  26277. var IfcController = class {
  26278. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  26279. this.expressID = expressID;
  26280. this.type = type;
  26281. this.GlobalId = GlobalId;
  26282. this.OwnerHistory = OwnerHistory;
  26283. this.Name = Name;
  26284. this.Description = Description;
  26285. this.ObjectType = ObjectType;
  26286. this.ObjectPlacement = ObjectPlacement;
  26287. this.Representation = Representation;
  26288. this.Tag = Tag;
  26289. this.PredefinedType = PredefinedType;
  26290. }
  26291. static FromTape(expressID, type, tape) {
  26292. let ptr = 0;
  26293. let GlobalId = tape[ptr++];
  26294. let OwnerHistory = tape[ptr++];
  26295. let Name = tape[ptr++];
  26296. let Description = tape[ptr++];
  26297. let ObjectType = tape[ptr++];
  26298. let ObjectPlacement = tape[ptr++];
  26299. let Representation = tape[ptr++];
  26300. let Tag = tape[ptr++];
  26301. let PredefinedType = tape[ptr++];
  26302. return new IfcController(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  26303. }
  26304. ToTape() {
  26305. let args = [];
  26306. args.push(this.GlobalId);
  26307. ;
  26308. args.push(this.OwnerHistory);
  26309. ;
  26310. args.push(this.Name);
  26311. ;
  26312. args.push(this.Description);
  26313. ;
  26314. args.push(this.ObjectType);
  26315. ;
  26316. args.push(this.ObjectPlacement);
  26317. ;
  26318. args.push(this.Representation);
  26319. ;
  26320. args.push(this.Tag);
  26321. ;
  26322. args.push(this.PredefinedType);
  26323. ;
  26324. return args;
  26325. }
  26326. };
  26327. var IfcControllerType = class {
  26328. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  26329. this.expressID = expressID;
  26330. this.type = type;
  26331. this.GlobalId = GlobalId;
  26332. this.OwnerHistory = OwnerHistory;
  26333. this.Name = Name;
  26334. this.Description = Description;
  26335. this.ApplicableOccurrence = ApplicableOccurrence;
  26336. this.HasPropertySets = HasPropertySets;
  26337. this.RepresentationMaps = RepresentationMaps;
  26338. this.Tag = Tag;
  26339. this.ElementType = ElementType;
  26340. this.PredefinedType = PredefinedType;
  26341. }
  26342. static FromTape(expressID, type, tape) {
  26343. let ptr = 0;
  26344. let GlobalId = tape[ptr++];
  26345. let OwnerHistory = tape[ptr++];
  26346. let Name = tape[ptr++];
  26347. let Description = tape[ptr++];
  26348. let ApplicableOccurrence = tape[ptr++];
  26349. let HasPropertySets = tape[ptr++];
  26350. let RepresentationMaps = tape[ptr++];
  26351. let Tag = tape[ptr++];
  26352. let ElementType = tape[ptr++];
  26353. let PredefinedType = tape[ptr++];
  26354. return new IfcControllerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  26355. }
  26356. ToTape() {
  26357. let args = [];
  26358. args.push(this.GlobalId);
  26359. ;
  26360. args.push(this.OwnerHistory);
  26361. ;
  26362. args.push(this.Name);
  26363. ;
  26364. args.push(this.Description);
  26365. ;
  26366. args.push(this.ApplicableOccurrence);
  26367. ;
  26368. args.push(this.HasPropertySets);
  26369. ;
  26370. args.push(this.RepresentationMaps);
  26371. ;
  26372. args.push(this.Tag);
  26373. ;
  26374. args.push(this.ElementType);
  26375. ;
  26376. args.push(this.PredefinedType);
  26377. ;
  26378. return args;
  26379. }
  26380. };
  26381. var IfcConversionBasedUnit = class {
  26382. constructor(expressID, type, Dimensions, UnitType, Name, ConversionFactor) {
  26383. this.expressID = expressID;
  26384. this.type = type;
  26385. this.Dimensions = Dimensions;
  26386. this.UnitType = UnitType;
  26387. this.Name = Name;
  26388. this.ConversionFactor = ConversionFactor;
  26389. }
  26390. static FromTape(expressID, type, tape) {
  26391. let ptr = 0;
  26392. let Dimensions = tape[ptr++];
  26393. let UnitType = tape[ptr++];
  26394. let Name = tape[ptr++];
  26395. let ConversionFactor = tape[ptr++];
  26396. return new IfcConversionBasedUnit(expressID, type, Dimensions, UnitType, Name, ConversionFactor);
  26397. }
  26398. ToTape() {
  26399. let args = [];
  26400. args.push(this.Dimensions);
  26401. ;
  26402. args.push(this.UnitType);
  26403. ;
  26404. args.push(this.Name);
  26405. ;
  26406. args.push(this.ConversionFactor);
  26407. ;
  26408. return args;
  26409. }
  26410. };
  26411. var IfcConversionBasedUnitWithOffset = class {
  26412. constructor(expressID, type, Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) {
  26413. this.expressID = expressID;
  26414. this.type = type;
  26415. this.Dimensions = Dimensions;
  26416. this.UnitType = UnitType;
  26417. this.Name = Name;
  26418. this.ConversionFactor = ConversionFactor;
  26419. this.ConversionOffset = ConversionOffset;
  26420. }
  26421. static FromTape(expressID, type, tape) {
  26422. let ptr = 0;
  26423. let Dimensions = tape[ptr++];
  26424. let UnitType = tape[ptr++];
  26425. let Name = tape[ptr++];
  26426. let ConversionFactor = tape[ptr++];
  26427. let ConversionOffset = tape[ptr++];
  26428. return new IfcConversionBasedUnitWithOffset(expressID, type, Dimensions, UnitType, Name, ConversionFactor, ConversionOffset);
  26429. }
  26430. ToTape() {
  26431. let args = [];
  26432. args.push(this.Dimensions);
  26433. ;
  26434. args.push(this.UnitType);
  26435. ;
  26436. args.push(this.Name);
  26437. ;
  26438. args.push(this.ConversionFactor);
  26439. ;
  26440. args.push(this.ConversionOffset);
  26441. ;
  26442. return args;
  26443. }
  26444. };
  26445. var IfcCooledBeam = class {
  26446. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  26447. this.expressID = expressID;
  26448. this.type = type;
  26449. this.GlobalId = GlobalId;
  26450. this.OwnerHistory = OwnerHistory;
  26451. this.Name = Name;
  26452. this.Description = Description;
  26453. this.ObjectType = ObjectType;
  26454. this.ObjectPlacement = ObjectPlacement;
  26455. this.Representation = Representation;
  26456. this.Tag = Tag;
  26457. this.PredefinedType = PredefinedType;
  26458. }
  26459. static FromTape(expressID, type, tape) {
  26460. let ptr = 0;
  26461. let GlobalId = tape[ptr++];
  26462. let OwnerHistory = tape[ptr++];
  26463. let Name = tape[ptr++];
  26464. let Description = tape[ptr++];
  26465. let ObjectType = tape[ptr++];
  26466. let ObjectPlacement = tape[ptr++];
  26467. let Representation = tape[ptr++];
  26468. let Tag = tape[ptr++];
  26469. let PredefinedType = tape[ptr++];
  26470. return new IfcCooledBeam(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  26471. }
  26472. ToTape() {
  26473. let args = [];
  26474. args.push(this.GlobalId);
  26475. ;
  26476. args.push(this.OwnerHistory);
  26477. ;
  26478. args.push(this.Name);
  26479. ;
  26480. args.push(this.Description);
  26481. ;
  26482. args.push(this.ObjectType);
  26483. ;
  26484. args.push(this.ObjectPlacement);
  26485. ;
  26486. args.push(this.Representation);
  26487. ;
  26488. args.push(this.Tag);
  26489. ;
  26490. args.push(this.PredefinedType);
  26491. ;
  26492. return args;
  26493. }
  26494. };
  26495. var IfcCooledBeamType = class {
  26496. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  26497. this.expressID = expressID;
  26498. this.type = type;
  26499. this.GlobalId = GlobalId;
  26500. this.OwnerHistory = OwnerHistory;
  26501. this.Name = Name;
  26502. this.Description = Description;
  26503. this.ApplicableOccurrence = ApplicableOccurrence;
  26504. this.HasPropertySets = HasPropertySets;
  26505. this.RepresentationMaps = RepresentationMaps;
  26506. this.Tag = Tag;
  26507. this.ElementType = ElementType;
  26508. this.PredefinedType = PredefinedType;
  26509. }
  26510. static FromTape(expressID, type, tape) {
  26511. let ptr = 0;
  26512. let GlobalId = tape[ptr++];
  26513. let OwnerHistory = tape[ptr++];
  26514. let Name = tape[ptr++];
  26515. let Description = tape[ptr++];
  26516. let ApplicableOccurrence = tape[ptr++];
  26517. let HasPropertySets = tape[ptr++];
  26518. let RepresentationMaps = tape[ptr++];
  26519. let Tag = tape[ptr++];
  26520. let ElementType = tape[ptr++];
  26521. let PredefinedType = tape[ptr++];
  26522. return new IfcCooledBeamType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  26523. }
  26524. ToTape() {
  26525. let args = [];
  26526. args.push(this.GlobalId);
  26527. ;
  26528. args.push(this.OwnerHistory);
  26529. ;
  26530. args.push(this.Name);
  26531. ;
  26532. args.push(this.Description);
  26533. ;
  26534. args.push(this.ApplicableOccurrence);
  26535. ;
  26536. args.push(this.HasPropertySets);
  26537. ;
  26538. args.push(this.RepresentationMaps);
  26539. ;
  26540. args.push(this.Tag);
  26541. ;
  26542. args.push(this.ElementType);
  26543. ;
  26544. args.push(this.PredefinedType);
  26545. ;
  26546. return args;
  26547. }
  26548. };
  26549. var IfcCoolingTower = class {
  26550. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  26551. this.expressID = expressID;
  26552. this.type = type;
  26553. this.GlobalId = GlobalId;
  26554. this.OwnerHistory = OwnerHistory;
  26555. this.Name = Name;
  26556. this.Description = Description;
  26557. this.ObjectType = ObjectType;
  26558. this.ObjectPlacement = ObjectPlacement;
  26559. this.Representation = Representation;
  26560. this.Tag = Tag;
  26561. this.PredefinedType = PredefinedType;
  26562. }
  26563. static FromTape(expressID, type, tape) {
  26564. let ptr = 0;
  26565. let GlobalId = tape[ptr++];
  26566. let OwnerHistory = tape[ptr++];
  26567. let Name = tape[ptr++];
  26568. let Description = tape[ptr++];
  26569. let ObjectType = tape[ptr++];
  26570. let ObjectPlacement = tape[ptr++];
  26571. let Representation = tape[ptr++];
  26572. let Tag = tape[ptr++];
  26573. let PredefinedType = tape[ptr++];
  26574. return new IfcCoolingTower(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  26575. }
  26576. ToTape() {
  26577. let args = [];
  26578. args.push(this.GlobalId);
  26579. ;
  26580. args.push(this.OwnerHistory);
  26581. ;
  26582. args.push(this.Name);
  26583. ;
  26584. args.push(this.Description);
  26585. ;
  26586. args.push(this.ObjectType);
  26587. ;
  26588. args.push(this.ObjectPlacement);
  26589. ;
  26590. args.push(this.Representation);
  26591. ;
  26592. args.push(this.Tag);
  26593. ;
  26594. args.push(this.PredefinedType);
  26595. ;
  26596. return args;
  26597. }
  26598. };
  26599. var IfcCoolingTowerType = class {
  26600. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  26601. this.expressID = expressID;
  26602. this.type = type;
  26603. this.GlobalId = GlobalId;
  26604. this.OwnerHistory = OwnerHistory;
  26605. this.Name = Name;
  26606. this.Description = Description;
  26607. this.ApplicableOccurrence = ApplicableOccurrence;
  26608. this.HasPropertySets = HasPropertySets;
  26609. this.RepresentationMaps = RepresentationMaps;
  26610. this.Tag = Tag;
  26611. this.ElementType = ElementType;
  26612. this.PredefinedType = PredefinedType;
  26613. }
  26614. static FromTape(expressID, type, tape) {
  26615. let ptr = 0;
  26616. let GlobalId = tape[ptr++];
  26617. let OwnerHistory = tape[ptr++];
  26618. let Name = tape[ptr++];
  26619. let Description = tape[ptr++];
  26620. let ApplicableOccurrence = tape[ptr++];
  26621. let HasPropertySets = tape[ptr++];
  26622. let RepresentationMaps = tape[ptr++];
  26623. let Tag = tape[ptr++];
  26624. let ElementType = tape[ptr++];
  26625. let PredefinedType = tape[ptr++];
  26626. return new IfcCoolingTowerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  26627. }
  26628. ToTape() {
  26629. let args = [];
  26630. args.push(this.GlobalId);
  26631. ;
  26632. args.push(this.OwnerHistory);
  26633. ;
  26634. args.push(this.Name);
  26635. ;
  26636. args.push(this.Description);
  26637. ;
  26638. args.push(this.ApplicableOccurrence);
  26639. ;
  26640. args.push(this.HasPropertySets);
  26641. ;
  26642. args.push(this.RepresentationMaps);
  26643. ;
  26644. args.push(this.Tag);
  26645. ;
  26646. args.push(this.ElementType);
  26647. ;
  26648. args.push(this.PredefinedType);
  26649. ;
  26650. return args;
  26651. }
  26652. };
  26653. var IfcCoordinateOperation = class {
  26654. constructor(expressID, type, SourceCRS, TargetCRS) {
  26655. this.expressID = expressID;
  26656. this.type = type;
  26657. this.SourceCRS = SourceCRS;
  26658. this.TargetCRS = TargetCRS;
  26659. }
  26660. static FromTape(expressID, type, tape) {
  26661. let ptr = 0;
  26662. let SourceCRS = tape[ptr++];
  26663. let TargetCRS = tape[ptr++];
  26664. return new IfcCoordinateOperation(expressID, type, SourceCRS, TargetCRS);
  26665. }
  26666. ToTape() {
  26667. let args = [];
  26668. args.push(this.SourceCRS);
  26669. ;
  26670. args.push(this.TargetCRS);
  26671. ;
  26672. return args;
  26673. }
  26674. };
  26675. var IfcCoordinateReferenceSystem = class {
  26676. constructor(expressID, type, Name, Description, GeodeticDatum, VerticalDatum) {
  26677. this.expressID = expressID;
  26678. this.type = type;
  26679. this.Name = Name;
  26680. this.Description = Description;
  26681. this.GeodeticDatum = GeodeticDatum;
  26682. this.VerticalDatum = VerticalDatum;
  26683. }
  26684. static FromTape(expressID, type, tape) {
  26685. let ptr = 0;
  26686. let Name = tape[ptr++];
  26687. let Description = tape[ptr++];
  26688. let GeodeticDatum = tape[ptr++];
  26689. let VerticalDatum = tape[ptr++];
  26690. return new IfcCoordinateReferenceSystem(expressID, type, Name, Description, GeodeticDatum, VerticalDatum);
  26691. }
  26692. ToTape() {
  26693. let args = [];
  26694. args.push(this.Name);
  26695. ;
  26696. args.push(this.Description);
  26697. ;
  26698. args.push(this.GeodeticDatum);
  26699. ;
  26700. args.push(this.VerticalDatum);
  26701. ;
  26702. return args;
  26703. }
  26704. };
  26705. var IfcCostItem = class {
  26706. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) {
  26707. this.expressID = expressID;
  26708. this.type = type;
  26709. this.GlobalId = GlobalId;
  26710. this.OwnerHistory = OwnerHistory;
  26711. this.Name = Name;
  26712. this.Description = Description;
  26713. this.ObjectType = ObjectType;
  26714. this.Identification = Identification;
  26715. this.PredefinedType = PredefinedType;
  26716. this.CostValues = CostValues;
  26717. this.CostQuantities = CostQuantities;
  26718. }
  26719. static FromTape(expressID, type, tape) {
  26720. let ptr = 0;
  26721. let GlobalId = tape[ptr++];
  26722. let OwnerHistory = tape[ptr++];
  26723. let Name = tape[ptr++];
  26724. let Description = tape[ptr++];
  26725. let ObjectType = tape[ptr++];
  26726. let Identification = tape[ptr++];
  26727. let PredefinedType = tape[ptr++];
  26728. let CostValues = tape[ptr++];
  26729. let CostQuantities = tape[ptr++];
  26730. return new IfcCostItem(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities);
  26731. }
  26732. ToTape() {
  26733. let args = [];
  26734. args.push(this.GlobalId);
  26735. ;
  26736. args.push(this.OwnerHistory);
  26737. ;
  26738. args.push(this.Name);
  26739. ;
  26740. args.push(this.Description);
  26741. ;
  26742. args.push(this.ObjectType);
  26743. ;
  26744. args.push(this.Identification);
  26745. ;
  26746. args.push(this.PredefinedType);
  26747. ;
  26748. args.push(this.CostValues);
  26749. ;
  26750. args.push(this.CostQuantities);
  26751. ;
  26752. return args;
  26753. }
  26754. };
  26755. var IfcCostSchedule = class {
  26756. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) {
  26757. this.expressID = expressID;
  26758. this.type = type;
  26759. this.GlobalId = GlobalId;
  26760. this.OwnerHistory = OwnerHistory;
  26761. this.Name = Name;
  26762. this.Description = Description;
  26763. this.ObjectType = ObjectType;
  26764. this.Identification = Identification;
  26765. this.PredefinedType = PredefinedType;
  26766. this.Status = Status;
  26767. this.SubmittedOn = SubmittedOn;
  26768. this.UpdateDate = UpdateDate;
  26769. }
  26770. static FromTape(expressID, type, tape) {
  26771. let ptr = 0;
  26772. let GlobalId = tape[ptr++];
  26773. let OwnerHistory = tape[ptr++];
  26774. let Name = tape[ptr++];
  26775. let Description = tape[ptr++];
  26776. let ObjectType = tape[ptr++];
  26777. let Identification = tape[ptr++];
  26778. let PredefinedType = tape[ptr++];
  26779. let Status = tape[ptr++];
  26780. let SubmittedOn = tape[ptr++];
  26781. let UpdateDate = tape[ptr++];
  26782. return new IfcCostSchedule(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate);
  26783. }
  26784. ToTape() {
  26785. let args = [];
  26786. args.push(this.GlobalId);
  26787. ;
  26788. args.push(this.OwnerHistory);
  26789. ;
  26790. args.push(this.Name);
  26791. ;
  26792. args.push(this.Description);
  26793. ;
  26794. args.push(this.ObjectType);
  26795. ;
  26796. args.push(this.Identification);
  26797. ;
  26798. args.push(this.PredefinedType);
  26799. ;
  26800. args.push(this.Status);
  26801. ;
  26802. args.push(this.SubmittedOn);
  26803. ;
  26804. args.push(this.UpdateDate);
  26805. ;
  26806. return args;
  26807. }
  26808. };
  26809. var IfcCostValue = class {
  26810. constructor(expressID, type, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) {
  26811. this.expressID = expressID;
  26812. this.type = type;
  26813. this.Name = Name;
  26814. this.Description = Description;
  26815. this.AppliedValue = AppliedValue;
  26816. this.UnitBasis = UnitBasis;
  26817. this.ApplicableDate = ApplicableDate;
  26818. this.FixedUntilDate = FixedUntilDate;
  26819. this.Category = Category;
  26820. this.Condition = Condition;
  26821. this.ArithmeticOperator = ArithmeticOperator;
  26822. this.Components = Components;
  26823. }
  26824. static FromTape(expressID, type, tape) {
  26825. let ptr = 0;
  26826. let Name = tape[ptr++];
  26827. let Description = tape[ptr++];
  26828. let AppliedValue = tape[ptr++];
  26829. let UnitBasis = tape[ptr++];
  26830. let ApplicableDate = tape[ptr++];
  26831. let FixedUntilDate = tape[ptr++];
  26832. let Category = tape[ptr++];
  26833. let Condition = tape[ptr++];
  26834. let ArithmeticOperator = tape[ptr++];
  26835. let Components = tape[ptr++];
  26836. return new IfcCostValue(expressID, type, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components);
  26837. }
  26838. ToTape() {
  26839. let args = [];
  26840. args.push(this.Name);
  26841. ;
  26842. args.push(this.Description);
  26843. ;
  26844. args.push(this.AppliedValue);
  26845. ;
  26846. args.push(this.UnitBasis);
  26847. ;
  26848. args.push(this.ApplicableDate);
  26849. ;
  26850. args.push(this.FixedUntilDate);
  26851. ;
  26852. args.push(this.Category);
  26853. ;
  26854. args.push(this.Condition);
  26855. ;
  26856. args.push(this.ArithmeticOperator);
  26857. ;
  26858. args.push(this.Components);
  26859. ;
  26860. return args;
  26861. }
  26862. };
  26863. var IfcCovering = class {
  26864. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  26865. this.expressID = expressID;
  26866. this.type = type;
  26867. this.GlobalId = GlobalId;
  26868. this.OwnerHistory = OwnerHistory;
  26869. this.Name = Name;
  26870. this.Description = Description;
  26871. this.ObjectType = ObjectType;
  26872. this.ObjectPlacement = ObjectPlacement;
  26873. this.Representation = Representation;
  26874. this.Tag = Tag;
  26875. this.PredefinedType = PredefinedType;
  26876. }
  26877. static FromTape(expressID, type, tape) {
  26878. let ptr = 0;
  26879. let GlobalId = tape[ptr++];
  26880. let OwnerHistory = tape[ptr++];
  26881. let Name = tape[ptr++];
  26882. let Description = tape[ptr++];
  26883. let ObjectType = tape[ptr++];
  26884. let ObjectPlacement = tape[ptr++];
  26885. let Representation = tape[ptr++];
  26886. let Tag = tape[ptr++];
  26887. let PredefinedType = tape[ptr++];
  26888. return new IfcCovering(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  26889. }
  26890. ToTape() {
  26891. let args = [];
  26892. args.push(this.GlobalId);
  26893. ;
  26894. args.push(this.OwnerHistory);
  26895. ;
  26896. args.push(this.Name);
  26897. ;
  26898. args.push(this.Description);
  26899. ;
  26900. args.push(this.ObjectType);
  26901. ;
  26902. args.push(this.ObjectPlacement);
  26903. ;
  26904. args.push(this.Representation);
  26905. ;
  26906. args.push(this.Tag);
  26907. ;
  26908. args.push(this.PredefinedType);
  26909. ;
  26910. return args;
  26911. }
  26912. };
  26913. var IfcCoveringType = class {
  26914. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  26915. this.expressID = expressID;
  26916. this.type = type;
  26917. this.GlobalId = GlobalId;
  26918. this.OwnerHistory = OwnerHistory;
  26919. this.Name = Name;
  26920. this.Description = Description;
  26921. this.ApplicableOccurrence = ApplicableOccurrence;
  26922. this.HasPropertySets = HasPropertySets;
  26923. this.RepresentationMaps = RepresentationMaps;
  26924. this.Tag = Tag;
  26925. this.ElementType = ElementType;
  26926. this.PredefinedType = PredefinedType;
  26927. }
  26928. static FromTape(expressID, type, tape) {
  26929. let ptr = 0;
  26930. let GlobalId = tape[ptr++];
  26931. let OwnerHistory = tape[ptr++];
  26932. let Name = tape[ptr++];
  26933. let Description = tape[ptr++];
  26934. let ApplicableOccurrence = tape[ptr++];
  26935. let HasPropertySets = tape[ptr++];
  26936. let RepresentationMaps = tape[ptr++];
  26937. let Tag = tape[ptr++];
  26938. let ElementType = tape[ptr++];
  26939. let PredefinedType = tape[ptr++];
  26940. return new IfcCoveringType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  26941. }
  26942. ToTape() {
  26943. let args = [];
  26944. args.push(this.GlobalId);
  26945. ;
  26946. args.push(this.OwnerHistory);
  26947. ;
  26948. args.push(this.Name);
  26949. ;
  26950. args.push(this.Description);
  26951. ;
  26952. args.push(this.ApplicableOccurrence);
  26953. ;
  26954. args.push(this.HasPropertySets);
  26955. ;
  26956. args.push(this.RepresentationMaps);
  26957. ;
  26958. args.push(this.Tag);
  26959. ;
  26960. args.push(this.ElementType);
  26961. ;
  26962. args.push(this.PredefinedType);
  26963. ;
  26964. return args;
  26965. }
  26966. };
  26967. var IfcCrewResource = class {
  26968. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
  26969. this.expressID = expressID;
  26970. this.type = type;
  26971. this.GlobalId = GlobalId;
  26972. this.OwnerHistory = OwnerHistory;
  26973. this.Name = Name;
  26974. this.Description = Description;
  26975. this.ObjectType = ObjectType;
  26976. this.Identification = Identification;
  26977. this.LongDescription = LongDescription;
  26978. this.Usage = Usage;
  26979. this.BaseCosts = BaseCosts;
  26980. this.BaseQuantity = BaseQuantity;
  26981. this.PredefinedType = PredefinedType;
  26982. }
  26983. static FromTape(expressID, type, tape) {
  26984. let ptr = 0;
  26985. let GlobalId = tape[ptr++];
  26986. let OwnerHistory = tape[ptr++];
  26987. let Name = tape[ptr++];
  26988. let Description = tape[ptr++];
  26989. let ObjectType = tape[ptr++];
  26990. let Identification = tape[ptr++];
  26991. let LongDescription = tape[ptr++];
  26992. let Usage = tape[ptr++];
  26993. let BaseCosts = tape[ptr++];
  26994. let BaseQuantity = tape[ptr++];
  26995. let PredefinedType = tape[ptr++];
  26996. return new IfcCrewResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType);
  26997. }
  26998. ToTape() {
  26999. let args = [];
  27000. args.push(this.GlobalId);
  27001. ;
  27002. args.push(this.OwnerHistory);
  27003. ;
  27004. args.push(this.Name);
  27005. ;
  27006. args.push(this.Description);
  27007. ;
  27008. args.push(this.ObjectType);
  27009. ;
  27010. args.push(this.Identification);
  27011. ;
  27012. args.push(this.LongDescription);
  27013. ;
  27014. args.push(this.Usage);
  27015. ;
  27016. args.push(this.BaseCosts);
  27017. ;
  27018. args.push(this.BaseQuantity);
  27019. ;
  27020. args.push(this.PredefinedType);
  27021. ;
  27022. return args;
  27023. }
  27024. };
  27025. var IfcCrewResourceType = class {
  27026. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
  27027. this.expressID = expressID;
  27028. this.type = type;
  27029. this.GlobalId = GlobalId;
  27030. this.OwnerHistory = OwnerHistory;
  27031. this.Name = Name;
  27032. this.Description = Description;
  27033. this.ApplicableOccurrence = ApplicableOccurrence;
  27034. this.HasPropertySets = HasPropertySets;
  27035. this.Identification = Identification;
  27036. this.LongDescription = LongDescription;
  27037. this.ResourceType = ResourceType;
  27038. this.BaseCosts = BaseCosts;
  27039. this.BaseQuantity = BaseQuantity;
  27040. this.PredefinedType = PredefinedType;
  27041. }
  27042. static FromTape(expressID, type, tape) {
  27043. let ptr = 0;
  27044. let GlobalId = tape[ptr++];
  27045. let OwnerHistory = tape[ptr++];
  27046. let Name = tape[ptr++];
  27047. let Description = tape[ptr++];
  27048. let ApplicableOccurrence = tape[ptr++];
  27049. let HasPropertySets = tape[ptr++];
  27050. let Identification = tape[ptr++];
  27051. let LongDescription = tape[ptr++];
  27052. let ResourceType = tape[ptr++];
  27053. let BaseCosts = tape[ptr++];
  27054. let BaseQuantity = tape[ptr++];
  27055. let PredefinedType = tape[ptr++];
  27056. return new IfcCrewResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType);
  27057. }
  27058. ToTape() {
  27059. let args = [];
  27060. args.push(this.GlobalId);
  27061. ;
  27062. args.push(this.OwnerHistory);
  27063. ;
  27064. args.push(this.Name);
  27065. ;
  27066. args.push(this.Description);
  27067. ;
  27068. args.push(this.ApplicableOccurrence);
  27069. ;
  27070. args.push(this.HasPropertySets);
  27071. ;
  27072. args.push(this.Identification);
  27073. ;
  27074. args.push(this.LongDescription);
  27075. ;
  27076. args.push(this.ResourceType);
  27077. ;
  27078. args.push(this.BaseCosts);
  27079. ;
  27080. args.push(this.BaseQuantity);
  27081. ;
  27082. args.push(this.PredefinedType);
  27083. ;
  27084. return args;
  27085. }
  27086. };
  27087. var IfcCsgPrimitive3D = class {
  27088. constructor(expressID, type, Position) {
  27089. this.expressID = expressID;
  27090. this.type = type;
  27091. this.Position = Position;
  27092. }
  27093. static FromTape(expressID, type, tape) {
  27094. let ptr = 0;
  27095. let Position = tape[ptr++];
  27096. return new IfcCsgPrimitive3D(expressID, type, Position);
  27097. }
  27098. ToTape() {
  27099. let args = [];
  27100. args.push(this.Position);
  27101. ;
  27102. return args;
  27103. }
  27104. };
  27105. var IfcCsgSolid = class {
  27106. constructor(expressID, type, TreeRootExpression) {
  27107. this.expressID = expressID;
  27108. this.type = type;
  27109. this.TreeRootExpression = TreeRootExpression;
  27110. }
  27111. static FromTape(expressID, type, tape) {
  27112. let ptr = 0;
  27113. let TreeRootExpression = tape[ptr++];
  27114. return new IfcCsgSolid(expressID, type, TreeRootExpression);
  27115. }
  27116. ToTape() {
  27117. let args = [];
  27118. args.push(this.TreeRootExpression);
  27119. ;
  27120. return args;
  27121. }
  27122. };
  27123. var IfcCurrencyRelationship = class {
  27124. constructor(expressID, type, Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) {
  27125. this.expressID = expressID;
  27126. this.type = type;
  27127. this.Name = Name;
  27128. this.Description = Description;
  27129. this.RelatingMonetaryUnit = RelatingMonetaryUnit;
  27130. this.RelatedMonetaryUnit = RelatedMonetaryUnit;
  27131. this.ExchangeRate = ExchangeRate;
  27132. this.RateDateTime = RateDateTime;
  27133. this.RateSource = RateSource;
  27134. }
  27135. static FromTape(expressID, type, tape) {
  27136. let ptr = 0;
  27137. let Name = tape[ptr++];
  27138. let Description = tape[ptr++];
  27139. let RelatingMonetaryUnit = tape[ptr++];
  27140. let RelatedMonetaryUnit = tape[ptr++];
  27141. let ExchangeRate = tape[ptr++];
  27142. let RateDateTime = tape[ptr++];
  27143. let RateSource = tape[ptr++];
  27144. return new IfcCurrencyRelationship(expressID, type, Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource);
  27145. }
  27146. ToTape() {
  27147. let args = [];
  27148. args.push(this.Name);
  27149. ;
  27150. args.push(this.Description);
  27151. ;
  27152. args.push(this.RelatingMonetaryUnit);
  27153. ;
  27154. args.push(this.RelatedMonetaryUnit);
  27155. ;
  27156. args.push(this.ExchangeRate);
  27157. ;
  27158. args.push(this.RateDateTime);
  27159. ;
  27160. args.push(this.RateSource);
  27161. ;
  27162. return args;
  27163. }
  27164. };
  27165. var IfcCurtainWall = class {
  27166. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  27167. this.expressID = expressID;
  27168. this.type = type;
  27169. this.GlobalId = GlobalId;
  27170. this.OwnerHistory = OwnerHistory;
  27171. this.Name = Name;
  27172. this.Description = Description;
  27173. this.ObjectType = ObjectType;
  27174. this.ObjectPlacement = ObjectPlacement;
  27175. this.Representation = Representation;
  27176. this.Tag = Tag;
  27177. this.PredefinedType = PredefinedType;
  27178. }
  27179. static FromTape(expressID, type, tape) {
  27180. let ptr = 0;
  27181. let GlobalId = tape[ptr++];
  27182. let OwnerHistory = tape[ptr++];
  27183. let Name = tape[ptr++];
  27184. let Description = tape[ptr++];
  27185. let ObjectType = tape[ptr++];
  27186. let ObjectPlacement = tape[ptr++];
  27187. let Representation = tape[ptr++];
  27188. let Tag = tape[ptr++];
  27189. let PredefinedType = tape[ptr++];
  27190. return new IfcCurtainWall(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  27191. }
  27192. ToTape() {
  27193. let args = [];
  27194. args.push(this.GlobalId);
  27195. ;
  27196. args.push(this.OwnerHistory);
  27197. ;
  27198. args.push(this.Name);
  27199. ;
  27200. args.push(this.Description);
  27201. ;
  27202. args.push(this.ObjectType);
  27203. ;
  27204. args.push(this.ObjectPlacement);
  27205. ;
  27206. args.push(this.Representation);
  27207. ;
  27208. args.push(this.Tag);
  27209. ;
  27210. args.push(this.PredefinedType);
  27211. ;
  27212. return args;
  27213. }
  27214. };
  27215. var IfcCurtainWallType = class {
  27216. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  27217. this.expressID = expressID;
  27218. this.type = type;
  27219. this.GlobalId = GlobalId;
  27220. this.OwnerHistory = OwnerHistory;
  27221. this.Name = Name;
  27222. this.Description = Description;
  27223. this.ApplicableOccurrence = ApplicableOccurrence;
  27224. this.HasPropertySets = HasPropertySets;
  27225. this.RepresentationMaps = RepresentationMaps;
  27226. this.Tag = Tag;
  27227. this.ElementType = ElementType;
  27228. this.PredefinedType = PredefinedType;
  27229. }
  27230. static FromTape(expressID, type, tape) {
  27231. let ptr = 0;
  27232. let GlobalId = tape[ptr++];
  27233. let OwnerHistory = tape[ptr++];
  27234. let Name = tape[ptr++];
  27235. let Description = tape[ptr++];
  27236. let ApplicableOccurrence = tape[ptr++];
  27237. let HasPropertySets = tape[ptr++];
  27238. let RepresentationMaps = tape[ptr++];
  27239. let Tag = tape[ptr++];
  27240. let ElementType = tape[ptr++];
  27241. let PredefinedType = tape[ptr++];
  27242. return new IfcCurtainWallType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  27243. }
  27244. ToTape() {
  27245. let args = [];
  27246. args.push(this.GlobalId);
  27247. ;
  27248. args.push(this.OwnerHistory);
  27249. ;
  27250. args.push(this.Name);
  27251. ;
  27252. args.push(this.Description);
  27253. ;
  27254. args.push(this.ApplicableOccurrence);
  27255. ;
  27256. args.push(this.HasPropertySets);
  27257. ;
  27258. args.push(this.RepresentationMaps);
  27259. ;
  27260. args.push(this.Tag);
  27261. ;
  27262. args.push(this.ElementType);
  27263. ;
  27264. args.push(this.PredefinedType);
  27265. ;
  27266. return args;
  27267. }
  27268. };
  27269. var IfcCurve = class {
  27270. constructor(expressID, type) {
  27271. this.expressID = expressID;
  27272. this.type = type;
  27273. }
  27274. static FromTape(expressID, type, tape) {
  27275. let ptr = 0;
  27276. return new IfcCurve(expressID, type);
  27277. }
  27278. ToTape() {
  27279. let args = [];
  27280. return args;
  27281. }
  27282. };
  27283. var IfcCurveBoundedPlane = class {
  27284. constructor(expressID, type, BasisSurface, OuterBoundary, InnerBoundaries) {
  27285. this.expressID = expressID;
  27286. this.type = type;
  27287. this.BasisSurface = BasisSurface;
  27288. this.OuterBoundary = OuterBoundary;
  27289. this.InnerBoundaries = InnerBoundaries;
  27290. }
  27291. static FromTape(expressID, type, tape) {
  27292. let ptr = 0;
  27293. let BasisSurface = tape[ptr++];
  27294. let OuterBoundary = tape[ptr++];
  27295. let InnerBoundaries = tape[ptr++];
  27296. return new IfcCurveBoundedPlane(expressID, type, BasisSurface, OuterBoundary, InnerBoundaries);
  27297. }
  27298. ToTape() {
  27299. let args = [];
  27300. args.push(this.BasisSurface);
  27301. ;
  27302. args.push(this.OuterBoundary);
  27303. ;
  27304. args.push(this.InnerBoundaries);
  27305. ;
  27306. return args;
  27307. }
  27308. };
  27309. var IfcCurveBoundedSurface = class {
  27310. constructor(expressID, type, BasisSurface, Boundaries, ImplicitOuter) {
  27311. this.expressID = expressID;
  27312. this.type = type;
  27313. this.BasisSurface = BasisSurface;
  27314. this.Boundaries = Boundaries;
  27315. this.ImplicitOuter = ImplicitOuter;
  27316. }
  27317. static FromTape(expressID, type, tape) {
  27318. let ptr = 0;
  27319. let BasisSurface = tape[ptr++];
  27320. let Boundaries = tape[ptr++];
  27321. let ImplicitOuter = tape[ptr++];
  27322. return new IfcCurveBoundedSurface(expressID, type, BasisSurface, Boundaries, ImplicitOuter);
  27323. }
  27324. ToTape() {
  27325. let args = [];
  27326. args.push(this.BasisSurface);
  27327. ;
  27328. args.push(this.Boundaries);
  27329. ;
  27330. args.push(this.ImplicitOuter);
  27331. ;
  27332. return args;
  27333. }
  27334. };
  27335. var IfcCurveSegment2D = class {
  27336. constructor(expressID, type, StartPoint, StartDirection, SegmentLength) {
  27337. this.expressID = expressID;
  27338. this.type = type;
  27339. this.StartPoint = StartPoint;
  27340. this.StartDirection = StartDirection;
  27341. this.SegmentLength = SegmentLength;
  27342. }
  27343. static FromTape(expressID, type, tape) {
  27344. let ptr = 0;
  27345. let StartPoint = tape[ptr++];
  27346. let StartDirection = tape[ptr++];
  27347. let SegmentLength = tape[ptr++];
  27348. return new IfcCurveSegment2D(expressID, type, StartPoint, StartDirection, SegmentLength);
  27349. }
  27350. ToTape() {
  27351. let args = [];
  27352. args.push(this.StartPoint);
  27353. ;
  27354. args.push(this.StartDirection);
  27355. ;
  27356. args.push(this.SegmentLength);
  27357. ;
  27358. return args;
  27359. }
  27360. };
  27361. var IfcCurveStyle = class {
  27362. constructor(expressID, type, Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) {
  27363. this.expressID = expressID;
  27364. this.type = type;
  27365. this.Name = Name;
  27366. this.CurveFont = CurveFont;
  27367. this.CurveWidth = CurveWidth;
  27368. this.CurveColour = CurveColour;
  27369. this.ModelOrDraughting = ModelOrDraughting;
  27370. }
  27371. static FromTape(expressID, type, tape) {
  27372. let ptr = 0;
  27373. let Name = tape[ptr++];
  27374. let CurveFont = tape[ptr++];
  27375. let CurveWidth = tape[ptr++];
  27376. let CurveColour = tape[ptr++];
  27377. let ModelOrDraughting = tape[ptr++];
  27378. return new IfcCurveStyle(expressID, type, Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting);
  27379. }
  27380. ToTape() {
  27381. let args = [];
  27382. args.push(this.Name);
  27383. ;
  27384. args.push(this.CurveFont);
  27385. ;
  27386. args.push(this.CurveWidth);
  27387. ;
  27388. args.push(this.CurveColour);
  27389. ;
  27390. args.push(this.ModelOrDraughting);
  27391. ;
  27392. return args;
  27393. }
  27394. };
  27395. var IfcCurveStyleFont = class {
  27396. constructor(expressID, type, Name, PatternList) {
  27397. this.expressID = expressID;
  27398. this.type = type;
  27399. this.Name = Name;
  27400. this.PatternList = PatternList;
  27401. }
  27402. static FromTape(expressID, type, tape) {
  27403. let ptr = 0;
  27404. let Name = tape[ptr++];
  27405. let PatternList = tape[ptr++];
  27406. return new IfcCurveStyleFont(expressID, type, Name, PatternList);
  27407. }
  27408. ToTape() {
  27409. let args = [];
  27410. args.push(this.Name);
  27411. ;
  27412. args.push(this.PatternList);
  27413. ;
  27414. return args;
  27415. }
  27416. };
  27417. var IfcCurveStyleFontAndScaling = class {
  27418. constructor(expressID, type, Name, CurveFont, CurveFontScaling) {
  27419. this.expressID = expressID;
  27420. this.type = type;
  27421. this.Name = Name;
  27422. this.CurveFont = CurveFont;
  27423. this.CurveFontScaling = CurveFontScaling;
  27424. }
  27425. static FromTape(expressID, type, tape) {
  27426. let ptr = 0;
  27427. let Name = tape[ptr++];
  27428. let CurveFont = tape[ptr++];
  27429. let CurveFontScaling = tape[ptr++];
  27430. return new IfcCurveStyleFontAndScaling(expressID, type, Name, CurveFont, CurveFontScaling);
  27431. }
  27432. ToTape() {
  27433. let args = [];
  27434. args.push(this.Name);
  27435. ;
  27436. args.push(this.CurveFont);
  27437. ;
  27438. args.push(this.CurveFontScaling);
  27439. ;
  27440. return args;
  27441. }
  27442. };
  27443. var IfcCurveStyleFontPattern = class {
  27444. constructor(expressID, type, VisibleSegmentLength, InvisibleSegmentLength) {
  27445. this.expressID = expressID;
  27446. this.type = type;
  27447. this.VisibleSegmentLength = VisibleSegmentLength;
  27448. this.InvisibleSegmentLength = InvisibleSegmentLength;
  27449. }
  27450. static FromTape(expressID, type, tape) {
  27451. let ptr = 0;
  27452. let VisibleSegmentLength = tape[ptr++];
  27453. let InvisibleSegmentLength = tape[ptr++];
  27454. return new IfcCurveStyleFontPattern(expressID, type, VisibleSegmentLength, InvisibleSegmentLength);
  27455. }
  27456. ToTape() {
  27457. let args = [];
  27458. args.push(this.VisibleSegmentLength);
  27459. ;
  27460. args.push(this.InvisibleSegmentLength);
  27461. ;
  27462. return args;
  27463. }
  27464. };
  27465. var IfcCylindricalSurface = class {
  27466. constructor(expressID, type, Position, Radius) {
  27467. this.expressID = expressID;
  27468. this.type = type;
  27469. this.Position = Position;
  27470. this.Radius = Radius;
  27471. }
  27472. static FromTape(expressID, type, tape) {
  27473. let ptr = 0;
  27474. let Position = tape[ptr++];
  27475. let Radius = tape[ptr++];
  27476. return new IfcCylindricalSurface(expressID, type, Position, Radius);
  27477. }
  27478. ToTape() {
  27479. let args = [];
  27480. args.push(this.Position);
  27481. ;
  27482. args.push(this.Radius);
  27483. ;
  27484. return args;
  27485. }
  27486. };
  27487. var IfcDamper = class {
  27488. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  27489. this.expressID = expressID;
  27490. this.type = type;
  27491. this.GlobalId = GlobalId;
  27492. this.OwnerHistory = OwnerHistory;
  27493. this.Name = Name;
  27494. this.Description = Description;
  27495. this.ObjectType = ObjectType;
  27496. this.ObjectPlacement = ObjectPlacement;
  27497. this.Representation = Representation;
  27498. this.Tag = Tag;
  27499. this.PredefinedType = PredefinedType;
  27500. }
  27501. static FromTape(expressID, type, tape) {
  27502. let ptr = 0;
  27503. let GlobalId = tape[ptr++];
  27504. let OwnerHistory = tape[ptr++];
  27505. let Name = tape[ptr++];
  27506. let Description = tape[ptr++];
  27507. let ObjectType = tape[ptr++];
  27508. let ObjectPlacement = tape[ptr++];
  27509. let Representation = tape[ptr++];
  27510. let Tag = tape[ptr++];
  27511. let PredefinedType = tape[ptr++];
  27512. return new IfcDamper(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  27513. }
  27514. ToTape() {
  27515. let args = [];
  27516. args.push(this.GlobalId);
  27517. ;
  27518. args.push(this.OwnerHistory);
  27519. ;
  27520. args.push(this.Name);
  27521. ;
  27522. args.push(this.Description);
  27523. ;
  27524. args.push(this.ObjectType);
  27525. ;
  27526. args.push(this.ObjectPlacement);
  27527. ;
  27528. args.push(this.Representation);
  27529. ;
  27530. args.push(this.Tag);
  27531. ;
  27532. args.push(this.PredefinedType);
  27533. ;
  27534. return args;
  27535. }
  27536. };
  27537. var IfcDamperType = class {
  27538. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  27539. this.expressID = expressID;
  27540. this.type = type;
  27541. this.GlobalId = GlobalId;
  27542. this.OwnerHistory = OwnerHistory;
  27543. this.Name = Name;
  27544. this.Description = Description;
  27545. this.ApplicableOccurrence = ApplicableOccurrence;
  27546. this.HasPropertySets = HasPropertySets;
  27547. this.RepresentationMaps = RepresentationMaps;
  27548. this.Tag = Tag;
  27549. this.ElementType = ElementType;
  27550. this.PredefinedType = PredefinedType;
  27551. }
  27552. static FromTape(expressID, type, tape) {
  27553. let ptr = 0;
  27554. let GlobalId = tape[ptr++];
  27555. let OwnerHistory = tape[ptr++];
  27556. let Name = tape[ptr++];
  27557. let Description = tape[ptr++];
  27558. let ApplicableOccurrence = tape[ptr++];
  27559. let HasPropertySets = tape[ptr++];
  27560. let RepresentationMaps = tape[ptr++];
  27561. let Tag = tape[ptr++];
  27562. let ElementType = tape[ptr++];
  27563. let PredefinedType = tape[ptr++];
  27564. return new IfcDamperType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  27565. }
  27566. ToTape() {
  27567. let args = [];
  27568. args.push(this.GlobalId);
  27569. ;
  27570. args.push(this.OwnerHistory);
  27571. ;
  27572. args.push(this.Name);
  27573. ;
  27574. args.push(this.Description);
  27575. ;
  27576. args.push(this.ApplicableOccurrence);
  27577. ;
  27578. args.push(this.HasPropertySets);
  27579. ;
  27580. args.push(this.RepresentationMaps);
  27581. ;
  27582. args.push(this.Tag);
  27583. ;
  27584. args.push(this.ElementType);
  27585. ;
  27586. args.push(this.PredefinedType);
  27587. ;
  27588. return args;
  27589. }
  27590. };
  27591. var IfcDeepFoundation = class {
  27592. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  27593. this.expressID = expressID;
  27594. this.type = type;
  27595. this.GlobalId = GlobalId;
  27596. this.OwnerHistory = OwnerHistory;
  27597. this.Name = Name;
  27598. this.Description = Description;
  27599. this.ObjectType = ObjectType;
  27600. this.ObjectPlacement = ObjectPlacement;
  27601. this.Representation = Representation;
  27602. this.Tag = Tag;
  27603. }
  27604. static FromTape(expressID, type, tape) {
  27605. let ptr = 0;
  27606. let GlobalId = tape[ptr++];
  27607. let OwnerHistory = tape[ptr++];
  27608. let Name = tape[ptr++];
  27609. let Description = tape[ptr++];
  27610. let ObjectType = tape[ptr++];
  27611. let ObjectPlacement = tape[ptr++];
  27612. let Representation = tape[ptr++];
  27613. let Tag = tape[ptr++];
  27614. return new IfcDeepFoundation(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  27615. }
  27616. ToTape() {
  27617. let args = [];
  27618. args.push(this.GlobalId);
  27619. ;
  27620. args.push(this.OwnerHistory);
  27621. ;
  27622. args.push(this.Name);
  27623. ;
  27624. args.push(this.Description);
  27625. ;
  27626. args.push(this.ObjectType);
  27627. ;
  27628. args.push(this.ObjectPlacement);
  27629. ;
  27630. args.push(this.Representation);
  27631. ;
  27632. args.push(this.Tag);
  27633. ;
  27634. return args;
  27635. }
  27636. };
  27637. var IfcDeepFoundationType = class {
  27638. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  27639. this.expressID = expressID;
  27640. this.type = type;
  27641. this.GlobalId = GlobalId;
  27642. this.OwnerHistory = OwnerHistory;
  27643. this.Name = Name;
  27644. this.Description = Description;
  27645. this.ApplicableOccurrence = ApplicableOccurrence;
  27646. this.HasPropertySets = HasPropertySets;
  27647. this.RepresentationMaps = RepresentationMaps;
  27648. this.Tag = Tag;
  27649. this.ElementType = ElementType;
  27650. }
  27651. static FromTape(expressID, type, tape) {
  27652. let ptr = 0;
  27653. let GlobalId = tape[ptr++];
  27654. let OwnerHistory = tape[ptr++];
  27655. let Name = tape[ptr++];
  27656. let Description = tape[ptr++];
  27657. let ApplicableOccurrence = tape[ptr++];
  27658. let HasPropertySets = tape[ptr++];
  27659. let RepresentationMaps = tape[ptr++];
  27660. let Tag = tape[ptr++];
  27661. let ElementType = tape[ptr++];
  27662. return new IfcDeepFoundationType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  27663. }
  27664. ToTape() {
  27665. let args = [];
  27666. args.push(this.GlobalId);
  27667. ;
  27668. args.push(this.OwnerHistory);
  27669. ;
  27670. args.push(this.Name);
  27671. ;
  27672. args.push(this.Description);
  27673. ;
  27674. args.push(this.ApplicableOccurrence);
  27675. ;
  27676. args.push(this.HasPropertySets);
  27677. ;
  27678. args.push(this.RepresentationMaps);
  27679. ;
  27680. args.push(this.Tag);
  27681. ;
  27682. args.push(this.ElementType);
  27683. ;
  27684. return args;
  27685. }
  27686. };
  27687. var IfcDerivedProfileDef = class {
  27688. constructor(expressID, type, ProfileType, ProfileName, ParentProfile, Operator, Label) {
  27689. this.expressID = expressID;
  27690. this.type = type;
  27691. this.ProfileType = ProfileType;
  27692. this.ProfileName = ProfileName;
  27693. this.ParentProfile = ParentProfile;
  27694. this.Operator = Operator;
  27695. this.Label = Label;
  27696. }
  27697. static FromTape(expressID, type, tape) {
  27698. let ptr = 0;
  27699. let ProfileType = tape[ptr++];
  27700. let ProfileName = tape[ptr++];
  27701. let ParentProfile = tape[ptr++];
  27702. let Operator = tape[ptr++];
  27703. let Label = tape[ptr++];
  27704. return new IfcDerivedProfileDef(expressID, type, ProfileType, ProfileName, ParentProfile, Operator, Label);
  27705. }
  27706. ToTape() {
  27707. let args = [];
  27708. args.push(this.ProfileType);
  27709. ;
  27710. args.push(this.ProfileName);
  27711. ;
  27712. args.push(this.ParentProfile);
  27713. ;
  27714. args.push(this.Operator);
  27715. ;
  27716. args.push(this.Label);
  27717. ;
  27718. return args;
  27719. }
  27720. };
  27721. var IfcDerivedUnit = class {
  27722. constructor(expressID, type, Elements, UnitType, UserDefinedType) {
  27723. this.expressID = expressID;
  27724. this.type = type;
  27725. this.Elements = Elements;
  27726. this.UnitType = UnitType;
  27727. this.UserDefinedType = UserDefinedType;
  27728. }
  27729. static FromTape(expressID, type, tape) {
  27730. let ptr = 0;
  27731. let Elements = tape[ptr++];
  27732. let UnitType = tape[ptr++];
  27733. let UserDefinedType = tape[ptr++];
  27734. return new IfcDerivedUnit(expressID, type, Elements, UnitType, UserDefinedType);
  27735. }
  27736. ToTape() {
  27737. let args = [];
  27738. args.push(this.Elements);
  27739. ;
  27740. args.push(this.UnitType);
  27741. ;
  27742. args.push(this.UserDefinedType);
  27743. ;
  27744. return args;
  27745. }
  27746. };
  27747. var IfcDerivedUnitElement = class {
  27748. constructor(expressID, type, Unit, Exponent) {
  27749. this.expressID = expressID;
  27750. this.type = type;
  27751. this.Unit = Unit;
  27752. this.Exponent = Exponent;
  27753. }
  27754. static FromTape(expressID, type, tape) {
  27755. let ptr = 0;
  27756. let Unit = tape[ptr++];
  27757. let Exponent = tape[ptr++];
  27758. return new IfcDerivedUnitElement(expressID, type, Unit, Exponent);
  27759. }
  27760. ToTape() {
  27761. let args = [];
  27762. args.push(this.Unit);
  27763. ;
  27764. args.push(this.Exponent);
  27765. ;
  27766. return args;
  27767. }
  27768. };
  27769. var IfcDimensionalExponents = class {
  27770. constructor(expressID, type, LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) {
  27771. this.expressID = expressID;
  27772. this.type = type;
  27773. this.LengthExponent = LengthExponent;
  27774. this.MassExponent = MassExponent;
  27775. this.TimeExponent = TimeExponent;
  27776. this.ElectricCurrentExponent = ElectricCurrentExponent;
  27777. this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent;
  27778. this.AmountOfSubstanceExponent = AmountOfSubstanceExponent;
  27779. this.LuminousIntensityExponent = LuminousIntensityExponent;
  27780. }
  27781. static FromTape(expressID, type, tape) {
  27782. let ptr = 0;
  27783. let LengthExponent = tape[ptr++];
  27784. let MassExponent = tape[ptr++];
  27785. let TimeExponent = tape[ptr++];
  27786. let ElectricCurrentExponent = tape[ptr++];
  27787. let ThermodynamicTemperatureExponent = tape[ptr++];
  27788. let AmountOfSubstanceExponent = tape[ptr++];
  27789. let LuminousIntensityExponent = tape[ptr++];
  27790. return new IfcDimensionalExponents(expressID, type, LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent);
  27791. }
  27792. ToTape() {
  27793. let args = [];
  27794. args.push(this.LengthExponent);
  27795. ;
  27796. args.push(this.MassExponent);
  27797. ;
  27798. args.push(this.TimeExponent);
  27799. ;
  27800. args.push(this.ElectricCurrentExponent);
  27801. ;
  27802. args.push(this.ThermodynamicTemperatureExponent);
  27803. ;
  27804. args.push(this.AmountOfSubstanceExponent);
  27805. ;
  27806. args.push(this.LuminousIntensityExponent);
  27807. ;
  27808. return args;
  27809. }
  27810. };
  27811. var IfcDirection = class {
  27812. constructor(expressID, type, DirectionRatios) {
  27813. this.expressID = expressID;
  27814. this.type = type;
  27815. this.DirectionRatios = DirectionRatios;
  27816. }
  27817. static FromTape(expressID, type, tape) {
  27818. let ptr = 0;
  27819. let DirectionRatios = tape[ptr++];
  27820. return new IfcDirection(expressID, type, DirectionRatios);
  27821. }
  27822. ToTape() {
  27823. let args = [];
  27824. args.push(this.DirectionRatios);
  27825. ;
  27826. return args;
  27827. }
  27828. };
  27829. var IfcDiscreteAccessory = class {
  27830. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  27831. this.expressID = expressID;
  27832. this.type = type;
  27833. this.GlobalId = GlobalId;
  27834. this.OwnerHistory = OwnerHistory;
  27835. this.Name = Name;
  27836. this.Description = Description;
  27837. this.ObjectType = ObjectType;
  27838. this.ObjectPlacement = ObjectPlacement;
  27839. this.Representation = Representation;
  27840. this.Tag = Tag;
  27841. this.PredefinedType = PredefinedType;
  27842. }
  27843. static FromTape(expressID, type, tape) {
  27844. let ptr = 0;
  27845. let GlobalId = tape[ptr++];
  27846. let OwnerHistory = tape[ptr++];
  27847. let Name = tape[ptr++];
  27848. let Description = tape[ptr++];
  27849. let ObjectType = tape[ptr++];
  27850. let ObjectPlacement = tape[ptr++];
  27851. let Representation = tape[ptr++];
  27852. let Tag = tape[ptr++];
  27853. let PredefinedType = tape[ptr++];
  27854. return new IfcDiscreteAccessory(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  27855. }
  27856. ToTape() {
  27857. let args = [];
  27858. args.push(this.GlobalId);
  27859. ;
  27860. args.push(this.OwnerHistory);
  27861. ;
  27862. args.push(this.Name);
  27863. ;
  27864. args.push(this.Description);
  27865. ;
  27866. args.push(this.ObjectType);
  27867. ;
  27868. args.push(this.ObjectPlacement);
  27869. ;
  27870. args.push(this.Representation);
  27871. ;
  27872. args.push(this.Tag);
  27873. ;
  27874. args.push(this.PredefinedType);
  27875. ;
  27876. return args;
  27877. }
  27878. };
  27879. var IfcDiscreteAccessoryType = class {
  27880. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  27881. this.expressID = expressID;
  27882. this.type = type;
  27883. this.GlobalId = GlobalId;
  27884. this.OwnerHistory = OwnerHistory;
  27885. this.Name = Name;
  27886. this.Description = Description;
  27887. this.ApplicableOccurrence = ApplicableOccurrence;
  27888. this.HasPropertySets = HasPropertySets;
  27889. this.RepresentationMaps = RepresentationMaps;
  27890. this.Tag = Tag;
  27891. this.ElementType = ElementType;
  27892. this.PredefinedType = PredefinedType;
  27893. }
  27894. static FromTape(expressID, type, tape) {
  27895. let ptr = 0;
  27896. let GlobalId = tape[ptr++];
  27897. let OwnerHistory = tape[ptr++];
  27898. let Name = tape[ptr++];
  27899. let Description = tape[ptr++];
  27900. let ApplicableOccurrence = tape[ptr++];
  27901. let HasPropertySets = tape[ptr++];
  27902. let RepresentationMaps = tape[ptr++];
  27903. let Tag = tape[ptr++];
  27904. let ElementType = tape[ptr++];
  27905. let PredefinedType = tape[ptr++];
  27906. return new IfcDiscreteAccessoryType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  27907. }
  27908. ToTape() {
  27909. let args = [];
  27910. args.push(this.GlobalId);
  27911. ;
  27912. args.push(this.OwnerHistory);
  27913. ;
  27914. args.push(this.Name);
  27915. ;
  27916. args.push(this.Description);
  27917. ;
  27918. args.push(this.ApplicableOccurrence);
  27919. ;
  27920. args.push(this.HasPropertySets);
  27921. ;
  27922. args.push(this.RepresentationMaps);
  27923. ;
  27924. args.push(this.Tag);
  27925. ;
  27926. args.push(this.ElementType);
  27927. ;
  27928. args.push(this.PredefinedType);
  27929. ;
  27930. return args;
  27931. }
  27932. };
  27933. var IfcDistanceExpression = class {
  27934. constructor(expressID, type, DistanceAlong, OffsetLateral, OffsetVertical, OffsetLongitudinal, AlongHorizontal) {
  27935. this.expressID = expressID;
  27936. this.type = type;
  27937. this.DistanceAlong = DistanceAlong;
  27938. this.OffsetLateral = OffsetLateral;
  27939. this.OffsetVertical = OffsetVertical;
  27940. this.OffsetLongitudinal = OffsetLongitudinal;
  27941. this.AlongHorizontal = AlongHorizontal;
  27942. }
  27943. static FromTape(expressID, type, tape) {
  27944. let ptr = 0;
  27945. let DistanceAlong = tape[ptr++];
  27946. let OffsetLateral = tape[ptr++];
  27947. let OffsetVertical = tape[ptr++];
  27948. let OffsetLongitudinal = tape[ptr++];
  27949. let AlongHorizontal = tape[ptr++];
  27950. return new IfcDistanceExpression(expressID, type, DistanceAlong, OffsetLateral, OffsetVertical, OffsetLongitudinal, AlongHorizontal);
  27951. }
  27952. ToTape() {
  27953. let args = [];
  27954. args.push(this.DistanceAlong);
  27955. ;
  27956. args.push(this.OffsetLateral);
  27957. ;
  27958. args.push(this.OffsetVertical);
  27959. ;
  27960. args.push(this.OffsetLongitudinal);
  27961. ;
  27962. args.push(this.AlongHorizontal);
  27963. ;
  27964. return args;
  27965. }
  27966. };
  27967. var IfcDistributionChamberElement = class {
  27968. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  27969. this.expressID = expressID;
  27970. this.type = type;
  27971. this.GlobalId = GlobalId;
  27972. this.OwnerHistory = OwnerHistory;
  27973. this.Name = Name;
  27974. this.Description = Description;
  27975. this.ObjectType = ObjectType;
  27976. this.ObjectPlacement = ObjectPlacement;
  27977. this.Representation = Representation;
  27978. this.Tag = Tag;
  27979. this.PredefinedType = PredefinedType;
  27980. }
  27981. static FromTape(expressID, type, tape) {
  27982. let ptr = 0;
  27983. let GlobalId = tape[ptr++];
  27984. let OwnerHistory = tape[ptr++];
  27985. let Name = tape[ptr++];
  27986. let Description = tape[ptr++];
  27987. let ObjectType = tape[ptr++];
  27988. let ObjectPlacement = tape[ptr++];
  27989. let Representation = tape[ptr++];
  27990. let Tag = tape[ptr++];
  27991. let PredefinedType = tape[ptr++];
  27992. return new IfcDistributionChamberElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  27993. }
  27994. ToTape() {
  27995. let args = [];
  27996. args.push(this.GlobalId);
  27997. ;
  27998. args.push(this.OwnerHistory);
  27999. ;
  28000. args.push(this.Name);
  28001. ;
  28002. args.push(this.Description);
  28003. ;
  28004. args.push(this.ObjectType);
  28005. ;
  28006. args.push(this.ObjectPlacement);
  28007. ;
  28008. args.push(this.Representation);
  28009. ;
  28010. args.push(this.Tag);
  28011. ;
  28012. args.push(this.PredefinedType);
  28013. ;
  28014. return args;
  28015. }
  28016. };
  28017. var IfcDistributionChamberElementType = class {
  28018. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  28019. this.expressID = expressID;
  28020. this.type = type;
  28021. this.GlobalId = GlobalId;
  28022. this.OwnerHistory = OwnerHistory;
  28023. this.Name = Name;
  28024. this.Description = Description;
  28025. this.ApplicableOccurrence = ApplicableOccurrence;
  28026. this.HasPropertySets = HasPropertySets;
  28027. this.RepresentationMaps = RepresentationMaps;
  28028. this.Tag = Tag;
  28029. this.ElementType = ElementType;
  28030. this.PredefinedType = PredefinedType;
  28031. }
  28032. static FromTape(expressID, type, tape) {
  28033. let ptr = 0;
  28034. let GlobalId = tape[ptr++];
  28035. let OwnerHistory = tape[ptr++];
  28036. let Name = tape[ptr++];
  28037. let Description = tape[ptr++];
  28038. let ApplicableOccurrence = tape[ptr++];
  28039. let HasPropertySets = tape[ptr++];
  28040. let RepresentationMaps = tape[ptr++];
  28041. let Tag = tape[ptr++];
  28042. let ElementType = tape[ptr++];
  28043. let PredefinedType = tape[ptr++];
  28044. return new IfcDistributionChamberElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  28045. }
  28046. ToTape() {
  28047. let args = [];
  28048. args.push(this.GlobalId);
  28049. ;
  28050. args.push(this.OwnerHistory);
  28051. ;
  28052. args.push(this.Name);
  28053. ;
  28054. args.push(this.Description);
  28055. ;
  28056. args.push(this.ApplicableOccurrence);
  28057. ;
  28058. args.push(this.HasPropertySets);
  28059. ;
  28060. args.push(this.RepresentationMaps);
  28061. ;
  28062. args.push(this.Tag);
  28063. ;
  28064. args.push(this.ElementType);
  28065. ;
  28066. args.push(this.PredefinedType);
  28067. ;
  28068. return args;
  28069. }
  28070. };
  28071. var IfcDistributionCircuit = class {
  28072. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) {
  28073. this.expressID = expressID;
  28074. this.type = type;
  28075. this.GlobalId = GlobalId;
  28076. this.OwnerHistory = OwnerHistory;
  28077. this.Name = Name;
  28078. this.Description = Description;
  28079. this.ObjectType = ObjectType;
  28080. this.LongName = LongName;
  28081. this.PredefinedType = PredefinedType;
  28082. }
  28083. static FromTape(expressID, type, tape) {
  28084. let ptr = 0;
  28085. let GlobalId = tape[ptr++];
  28086. let OwnerHistory = tape[ptr++];
  28087. let Name = tape[ptr++];
  28088. let Description = tape[ptr++];
  28089. let ObjectType = tape[ptr++];
  28090. let LongName = tape[ptr++];
  28091. let PredefinedType = tape[ptr++];
  28092. return new IfcDistributionCircuit(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType);
  28093. }
  28094. ToTape() {
  28095. let args = [];
  28096. args.push(this.GlobalId);
  28097. ;
  28098. args.push(this.OwnerHistory);
  28099. ;
  28100. args.push(this.Name);
  28101. ;
  28102. args.push(this.Description);
  28103. ;
  28104. args.push(this.ObjectType);
  28105. ;
  28106. args.push(this.LongName);
  28107. ;
  28108. args.push(this.PredefinedType);
  28109. ;
  28110. return args;
  28111. }
  28112. };
  28113. var IfcDistributionControlElement = class {
  28114. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  28115. this.expressID = expressID;
  28116. this.type = type;
  28117. this.GlobalId = GlobalId;
  28118. this.OwnerHistory = OwnerHistory;
  28119. this.Name = Name;
  28120. this.Description = Description;
  28121. this.ObjectType = ObjectType;
  28122. this.ObjectPlacement = ObjectPlacement;
  28123. this.Representation = Representation;
  28124. this.Tag = Tag;
  28125. }
  28126. static FromTape(expressID, type, tape) {
  28127. let ptr = 0;
  28128. let GlobalId = tape[ptr++];
  28129. let OwnerHistory = tape[ptr++];
  28130. let Name = tape[ptr++];
  28131. let Description = tape[ptr++];
  28132. let ObjectType = tape[ptr++];
  28133. let ObjectPlacement = tape[ptr++];
  28134. let Representation = tape[ptr++];
  28135. let Tag = tape[ptr++];
  28136. return new IfcDistributionControlElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  28137. }
  28138. ToTape() {
  28139. let args = [];
  28140. args.push(this.GlobalId);
  28141. ;
  28142. args.push(this.OwnerHistory);
  28143. ;
  28144. args.push(this.Name);
  28145. ;
  28146. args.push(this.Description);
  28147. ;
  28148. args.push(this.ObjectType);
  28149. ;
  28150. args.push(this.ObjectPlacement);
  28151. ;
  28152. args.push(this.Representation);
  28153. ;
  28154. args.push(this.Tag);
  28155. ;
  28156. return args;
  28157. }
  28158. };
  28159. var IfcDistributionControlElementType = class {
  28160. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  28161. this.expressID = expressID;
  28162. this.type = type;
  28163. this.GlobalId = GlobalId;
  28164. this.OwnerHistory = OwnerHistory;
  28165. this.Name = Name;
  28166. this.Description = Description;
  28167. this.ApplicableOccurrence = ApplicableOccurrence;
  28168. this.HasPropertySets = HasPropertySets;
  28169. this.RepresentationMaps = RepresentationMaps;
  28170. this.Tag = Tag;
  28171. this.ElementType = ElementType;
  28172. }
  28173. static FromTape(expressID, type, tape) {
  28174. let ptr = 0;
  28175. let GlobalId = tape[ptr++];
  28176. let OwnerHistory = tape[ptr++];
  28177. let Name = tape[ptr++];
  28178. let Description = tape[ptr++];
  28179. let ApplicableOccurrence = tape[ptr++];
  28180. let HasPropertySets = tape[ptr++];
  28181. let RepresentationMaps = tape[ptr++];
  28182. let Tag = tape[ptr++];
  28183. let ElementType = tape[ptr++];
  28184. return new IfcDistributionControlElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  28185. }
  28186. ToTape() {
  28187. let args = [];
  28188. args.push(this.GlobalId);
  28189. ;
  28190. args.push(this.OwnerHistory);
  28191. ;
  28192. args.push(this.Name);
  28193. ;
  28194. args.push(this.Description);
  28195. ;
  28196. args.push(this.ApplicableOccurrence);
  28197. ;
  28198. args.push(this.HasPropertySets);
  28199. ;
  28200. args.push(this.RepresentationMaps);
  28201. ;
  28202. args.push(this.Tag);
  28203. ;
  28204. args.push(this.ElementType);
  28205. ;
  28206. return args;
  28207. }
  28208. };
  28209. var IfcDistributionElement = class {
  28210. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  28211. this.expressID = expressID;
  28212. this.type = type;
  28213. this.GlobalId = GlobalId;
  28214. this.OwnerHistory = OwnerHistory;
  28215. this.Name = Name;
  28216. this.Description = Description;
  28217. this.ObjectType = ObjectType;
  28218. this.ObjectPlacement = ObjectPlacement;
  28219. this.Representation = Representation;
  28220. this.Tag = Tag;
  28221. }
  28222. static FromTape(expressID, type, tape) {
  28223. let ptr = 0;
  28224. let GlobalId = tape[ptr++];
  28225. let OwnerHistory = tape[ptr++];
  28226. let Name = tape[ptr++];
  28227. let Description = tape[ptr++];
  28228. let ObjectType = tape[ptr++];
  28229. let ObjectPlacement = tape[ptr++];
  28230. let Representation = tape[ptr++];
  28231. let Tag = tape[ptr++];
  28232. return new IfcDistributionElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  28233. }
  28234. ToTape() {
  28235. let args = [];
  28236. args.push(this.GlobalId);
  28237. ;
  28238. args.push(this.OwnerHistory);
  28239. ;
  28240. args.push(this.Name);
  28241. ;
  28242. args.push(this.Description);
  28243. ;
  28244. args.push(this.ObjectType);
  28245. ;
  28246. args.push(this.ObjectPlacement);
  28247. ;
  28248. args.push(this.Representation);
  28249. ;
  28250. args.push(this.Tag);
  28251. ;
  28252. return args;
  28253. }
  28254. };
  28255. var IfcDistributionElementType = class {
  28256. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  28257. this.expressID = expressID;
  28258. this.type = type;
  28259. this.GlobalId = GlobalId;
  28260. this.OwnerHistory = OwnerHistory;
  28261. this.Name = Name;
  28262. this.Description = Description;
  28263. this.ApplicableOccurrence = ApplicableOccurrence;
  28264. this.HasPropertySets = HasPropertySets;
  28265. this.RepresentationMaps = RepresentationMaps;
  28266. this.Tag = Tag;
  28267. this.ElementType = ElementType;
  28268. }
  28269. static FromTape(expressID, type, tape) {
  28270. let ptr = 0;
  28271. let GlobalId = tape[ptr++];
  28272. let OwnerHistory = tape[ptr++];
  28273. let Name = tape[ptr++];
  28274. let Description = tape[ptr++];
  28275. let ApplicableOccurrence = tape[ptr++];
  28276. let HasPropertySets = tape[ptr++];
  28277. let RepresentationMaps = tape[ptr++];
  28278. let Tag = tape[ptr++];
  28279. let ElementType = tape[ptr++];
  28280. return new IfcDistributionElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  28281. }
  28282. ToTape() {
  28283. let args = [];
  28284. args.push(this.GlobalId);
  28285. ;
  28286. args.push(this.OwnerHistory);
  28287. ;
  28288. args.push(this.Name);
  28289. ;
  28290. args.push(this.Description);
  28291. ;
  28292. args.push(this.ApplicableOccurrence);
  28293. ;
  28294. args.push(this.HasPropertySets);
  28295. ;
  28296. args.push(this.RepresentationMaps);
  28297. ;
  28298. args.push(this.Tag);
  28299. ;
  28300. args.push(this.ElementType);
  28301. ;
  28302. return args;
  28303. }
  28304. };
  28305. var IfcDistributionFlowElement = class {
  28306. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  28307. this.expressID = expressID;
  28308. this.type = type;
  28309. this.GlobalId = GlobalId;
  28310. this.OwnerHistory = OwnerHistory;
  28311. this.Name = Name;
  28312. this.Description = Description;
  28313. this.ObjectType = ObjectType;
  28314. this.ObjectPlacement = ObjectPlacement;
  28315. this.Representation = Representation;
  28316. this.Tag = Tag;
  28317. }
  28318. static FromTape(expressID, type, tape) {
  28319. let ptr = 0;
  28320. let GlobalId = tape[ptr++];
  28321. let OwnerHistory = tape[ptr++];
  28322. let Name = tape[ptr++];
  28323. let Description = tape[ptr++];
  28324. let ObjectType = tape[ptr++];
  28325. let ObjectPlacement = tape[ptr++];
  28326. let Representation = tape[ptr++];
  28327. let Tag = tape[ptr++];
  28328. return new IfcDistributionFlowElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  28329. }
  28330. ToTape() {
  28331. let args = [];
  28332. args.push(this.GlobalId);
  28333. ;
  28334. args.push(this.OwnerHistory);
  28335. ;
  28336. args.push(this.Name);
  28337. ;
  28338. args.push(this.Description);
  28339. ;
  28340. args.push(this.ObjectType);
  28341. ;
  28342. args.push(this.ObjectPlacement);
  28343. ;
  28344. args.push(this.Representation);
  28345. ;
  28346. args.push(this.Tag);
  28347. ;
  28348. return args;
  28349. }
  28350. };
  28351. var IfcDistributionFlowElementType = class {
  28352. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  28353. this.expressID = expressID;
  28354. this.type = type;
  28355. this.GlobalId = GlobalId;
  28356. this.OwnerHistory = OwnerHistory;
  28357. this.Name = Name;
  28358. this.Description = Description;
  28359. this.ApplicableOccurrence = ApplicableOccurrence;
  28360. this.HasPropertySets = HasPropertySets;
  28361. this.RepresentationMaps = RepresentationMaps;
  28362. this.Tag = Tag;
  28363. this.ElementType = ElementType;
  28364. }
  28365. static FromTape(expressID, type, tape) {
  28366. let ptr = 0;
  28367. let GlobalId = tape[ptr++];
  28368. let OwnerHistory = tape[ptr++];
  28369. let Name = tape[ptr++];
  28370. let Description = tape[ptr++];
  28371. let ApplicableOccurrence = tape[ptr++];
  28372. let HasPropertySets = tape[ptr++];
  28373. let RepresentationMaps = tape[ptr++];
  28374. let Tag = tape[ptr++];
  28375. let ElementType = tape[ptr++];
  28376. return new IfcDistributionFlowElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  28377. }
  28378. ToTape() {
  28379. let args = [];
  28380. args.push(this.GlobalId);
  28381. ;
  28382. args.push(this.OwnerHistory);
  28383. ;
  28384. args.push(this.Name);
  28385. ;
  28386. args.push(this.Description);
  28387. ;
  28388. args.push(this.ApplicableOccurrence);
  28389. ;
  28390. args.push(this.HasPropertySets);
  28391. ;
  28392. args.push(this.RepresentationMaps);
  28393. ;
  28394. args.push(this.Tag);
  28395. ;
  28396. args.push(this.ElementType);
  28397. ;
  28398. return args;
  28399. }
  28400. };
  28401. var IfcDistributionPort = class {
  28402. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) {
  28403. this.expressID = expressID;
  28404. this.type = type;
  28405. this.GlobalId = GlobalId;
  28406. this.OwnerHistory = OwnerHistory;
  28407. this.Name = Name;
  28408. this.Description = Description;
  28409. this.ObjectType = ObjectType;
  28410. this.ObjectPlacement = ObjectPlacement;
  28411. this.Representation = Representation;
  28412. this.FlowDirection = FlowDirection;
  28413. this.PredefinedType = PredefinedType;
  28414. this.SystemType = SystemType;
  28415. }
  28416. static FromTape(expressID, type, tape) {
  28417. let ptr = 0;
  28418. let GlobalId = tape[ptr++];
  28419. let OwnerHistory = tape[ptr++];
  28420. let Name = tape[ptr++];
  28421. let Description = tape[ptr++];
  28422. let ObjectType = tape[ptr++];
  28423. let ObjectPlacement = tape[ptr++];
  28424. let Representation = tape[ptr++];
  28425. let FlowDirection = tape[ptr++];
  28426. let PredefinedType = tape[ptr++];
  28427. let SystemType = tape[ptr++];
  28428. return new IfcDistributionPort(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType);
  28429. }
  28430. ToTape() {
  28431. let args = [];
  28432. args.push(this.GlobalId);
  28433. ;
  28434. args.push(this.OwnerHistory);
  28435. ;
  28436. args.push(this.Name);
  28437. ;
  28438. args.push(this.Description);
  28439. ;
  28440. args.push(this.ObjectType);
  28441. ;
  28442. args.push(this.ObjectPlacement);
  28443. ;
  28444. args.push(this.Representation);
  28445. ;
  28446. args.push(this.FlowDirection);
  28447. ;
  28448. args.push(this.PredefinedType);
  28449. ;
  28450. args.push(this.SystemType);
  28451. ;
  28452. return args;
  28453. }
  28454. };
  28455. var IfcDistributionSystem = class {
  28456. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) {
  28457. this.expressID = expressID;
  28458. this.type = type;
  28459. this.GlobalId = GlobalId;
  28460. this.OwnerHistory = OwnerHistory;
  28461. this.Name = Name;
  28462. this.Description = Description;
  28463. this.ObjectType = ObjectType;
  28464. this.LongName = LongName;
  28465. this.PredefinedType = PredefinedType;
  28466. }
  28467. static FromTape(expressID, type, tape) {
  28468. let ptr = 0;
  28469. let GlobalId = tape[ptr++];
  28470. let OwnerHistory = tape[ptr++];
  28471. let Name = tape[ptr++];
  28472. let Description = tape[ptr++];
  28473. let ObjectType = tape[ptr++];
  28474. let LongName = tape[ptr++];
  28475. let PredefinedType = tape[ptr++];
  28476. return new IfcDistributionSystem(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType);
  28477. }
  28478. ToTape() {
  28479. let args = [];
  28480. args.push(this.GlobalId);
  28481. ;
  28482. args.push(this.OwnerHistory);
  28483. ;
  28484. args.push(this.Name);
  28485. ;
  28486. args.push(this.Description);
  28487. ;
  28488. args.push(this.ObjectType);
  28489. ;
  28490. args.push(this.LongName);
  28491. ;
  28492. args.push(this.PredefinedType);
  28493. ;
  28494. return args;
  28495. }
  28496. };
  28497. var IfcDocumentInformation = class {
  28498. constructor(expressID, type, Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) {
  28499. this.expressID = expressID;
  28500. this.type = type;
  28501. this.Identification = Identification;
  28502. this.Name = Name;
  28503. this.Description = Description;
  28504. this.Location = Location;
  28505. this.Purpose = Purpose;
  28506. this.IntendedUse = IntendedUse;
  28507. this.Scope = Scope;
  28508. this.Revision = Revision;
  28509. this.DocumentOwner = DocumentOwner;
  28510. this.Editors = Editors;
  28511. this.CreationTime = CreationTime;
  28512. this.LastRevisionTime = LastRevisionTime;
  28513. this.ElectronicFormat = ElectronicFormat;
  28514. this.ValidFrom = ValidFrom;
  28515. this.ValidUntil = ValidUntil;
  28516. this.Confidentiality = Confidentiality;
  28517. this.Status = Status;
  28518. }
  28519. static FromTape(expressID, type, tape) {
  28520. let ptr = 0;
  28521. let Identification = tape[ptr++];
  28522. let Name = tape[ptr++];
  28523. let Description = tape[ptr++];
  28524. let Location = tape[ptr++];
  28525. let Purpose = tape[ptr++];
  28526. let IntendedUse = tape[ptr++];
  28527. let Scope = tape[ptr++];
  28528. let Revision = tape[ptr++];
  28529. let DocumentOwner = tape[ptr++];
  28530. let Editors = tape[ptr++];
  28531. let CreationTime = tape[ptr++];
  28532. let LastRevisionTime = tape[ptr++];
  28533. let ElectronicFormat = tape[ptr++];
  28534. let ValidFrom = tape[ptr++];
  28535. let ValidUntil = tape[ptr++];
  28536. let Confidentiality = tape[ptr++];
  28537. let Status = tape[ptr++];
  28538. return new IfcDocumentInformation(expressID, type, Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status);
  28539. }
  28540. ToTape() {
  28541. let args = [];
  28542. args.push(this.Identification);
  28543. ;
  28544. args.push(this.Name);
  28545. ;
  28546. args.push(this.Description);
  28547. ;
  28548. args.push(this.Location);
  28549. ;
  28550. args.push(this.Purpose);
  28551. ;
  28552. args.push(this.IntendedUse);
  28553. ;
  28554. args.push(this.Scope);
  28555. ;
  28556. args.push(this.Revision);
  28557. ;
  28558. args.push(this.DocumentOwner);
  28559. ;
  28560. args.push(this.Editors);
  28561. ;
  28562. args.push(this.CreationTime);
  28563. ;
  28564. args.push(this.LastRevisionTime);
  28565. ;
  28566. args.push(this.ElectronicFormat);
  28567. ;
  28568. args.push(this.ValidFrom);
  28569. ;
  28570. args.push(this.ValidUntil);
  28571. ;
  28572. args.push(this.Confidentiality);
  28573. ;
  28574. args.push(this.Status);
  28575. ;
  28576. return args;
  28577. }
  28578. };
  28579. var IfcDocumentInformationRelationship = class {
  28580. constructor(expressID, type, Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) {
  28581. this.expressID = expressID;
  28582. this.type = type;
  28583. this.Name = Name;
  28584. this.Description = Description;
  28585. this.RelatingDocument = RelatingDocument;
  28586. this.RelatedDocuments = RelatedDocuments;
  28587. this.RelationshipType = RelationshipType;
  28588. }
  28589. static FromTape(expressID, type, tape) {
  28590. let ptr = 0;
  28591. let Name = tape[ptr++];
  28592. let Description = tape[ptr++];
  28593. let RelatingDocument = tape[ptr++];
  28594. let RelatedDocuments = tape[ptr++];
  28595. let RelationshipType = tape[ptr++];
  28596. return new IfcDocumentInformationRelationship(expressID, type, Name, Description, RelatingDocument, RelatedDocuments, RelationshipType);
  28597. }
  28598. ToTape() {
  28599. let args = [];
  28600. args.push(this.Name);
  28601. ;
  28602. args.push(this.Description);
  28603. ;
  28604. args.push(this.RelatingDocument);
  28605. ;
  28606. args.push(this.RelatedDocuments);
  28607. ;
  28608. args.push(this.RelationshipType);
  28609. ;
  28610. return args;
  28611. }
  28612. };
  28613. var IfcDocumentReference = class {
  28614. constructor(expressID, type, Location, Identification, Name, Description, ReferencedDocument) {
  28615. this.expressID = expressID;
  28616. this.type = type;
  28617. this.Location = Location;
  28618. this.Identification = Identification;
  28619. this.Name = Name;
  28620. this.Description = Description;
  28621. this.ReferencedDocument = ReferencedDocument;
  28622. }
  28623. static FromTape(expressID, type, tape) {
  28624. let ptr = 0;
  28625. let Location = tape[ptr++];
  28626. let Identification = tape[ptr++];
  28627. let Name = tape[ptr++];
  28628. let Description = tape[ptr++];
  28629. let ReferencedDocument = tape[ptr++];
  28630. return new IfcDocumentReference(expressID, type, Location, Identification, Name, Description, ReferencedDocument);
  28631. }
  28632. ToTape() {
  28633. let args = [];
  28634. args.push(this.Location);
  28635. ;
  28636. args.push(this.Identification);
  28637. ;
  28638. args.push(this.Name);
  28639. ;
  28640. args.push(this.Description);
  28641. ;
  28642. args.push(this.ReferencedDocument);
  28643. ;
  28644. return args;
  28645. }
  28646. };
  28647. var IfcDoor = class {
  28648. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) {
  28649. this.expressID = expressID;
  28650. this.type = type;
  28651. this.GlobalId = GlobalId;
  28652. this.OwnerHistory = OwnerHistory;
  28653. this.Name = Name;
  28654. this.Description = Description;
  28655. this.ObjectType = ObjectType;
  28656. this.ObjectPlacement = ObjectPlacement;
  28657. this.Representation = Representation;
  28658. this.Tag = Tag;
  28659. this.OverallHeight = OverallHeight;
  28660. this.OverallWidth = OverallWidth;
  28661. this.PredefinedType = PredefinedType;
  28662. this.OperationType = OperationType;
  28663. this.UserDefinedOperationType = UserDefinedOperationType;
  28664. }
  28665. static FromTape(expressID, type, tape) {
  28666. let ptr = 0;
  28667. let GlobalId = tape[ptr++];
  28668. let OwnerHistory = tape[ptr++];
  28669. let Name = tape[ptr++];
  28670. let Description = tape[ptr++];
  28671. let ObjectType = tape[ptr++];
  28672. let ObjectPlacement = tape[ptr++];
  28673. let Representation = tape[ptr++];
  28674. let Tag = tape[ptr++];
  28675. let OverallHeight = tape[ptr++];
  28676. let OverallWidth = tape[ptr++];
  28677. let PredefinedType = tape[ptr++];
  28678. let OperationType = tape[ptr++];
  28679. let UserDefinedOperationType = tape[ptr++];
  28680. return new IfcDoor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType);
  28681. }
  28682. ToTape() {
  28683. let args = [];
  28684. args.push(this.GlobalId);
  28685. ;
  28686. args.push(this.OwnerHistory);
  28687. ;
  28688. args.push(this.Name);
  28689. ;
  28690. args.push(this.Description);
  28691. ;
  28692. args.push(this.ObjectType);
  28693. ;
  28694. args.push(this.ObjectPlacement);
  28695. ;
  28696. args.push(this.Representation);
  28697. ;
  28698. args.push(this.Tag);
  28699. ;
  28700. args.push(this.OverallHeight);
  28701. ;
  28702. args.push(this.OverallWidth);
  28703. ;
  28704. args.push(this.PredefinedType);
  28705. ;
  28706. args.push(this.OperationType);
  28707. ;
  28708. args.push(this.UserDefinedOperationType);
  28709. ;
  28710. return args;
  28711. }
  28712. };
  28713. var IfcDoorLiningProperties = class {
  28714. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) {
  28715. this.expressID = expressID;
  28716. this.type = type;
  28717. this.GlobalId = GlobalId;
  28718. this.OwnerHistory = OwnerHistory;
  28719. this.Name = Name;
  28720. this.Description = Description;
  28721. this.LiningDepth = LiningDepth;
  28722. this.LiningThickness = LiningThickness;
  28723. this.ThresholdDepth = ThresholdDepth;
  28724. this.ThresholdThickness = ThresholdThickness;
  28725. this.TransomThickness = TransomThickness;
  28726. this.TransomOffset = TransomOffset;
  28727. this.LiningOffset = LiningOffset;
  28728. this.ThresholdOffset = ThresholdOffset;
  28729. this.CasingThickness = CasingThickness;
  28730. this.CasingDepth = CasingDepth;
  28731. this.ShapeAspectStyle = ShapeAspectStyle;
  28732. this.LiningToPanelOffsetX = LiningToPanelOffsetX;
  28733. this.LiningToPanelOffsetY = LiningToPanelOffsetY;
  28734. }
  28735. static FromTape(expressID, type, tape) {
  28736. let ptr = 0;
  28737. let GlobalId = tape[ptr++];
  28738. let OwnerHistory = tape[ptr++];
  28739. let Name = tape[ptr++];
  28740. let Description = tape[ptr++];
  28741. let LiningDepth = tape[ptr++];
  28742. let LiningThickness = tape[ptr++];
  28743. let ThresholdDepth = tape[ptr++];
  28744. let ThresholdThickness = tape[ptr++];
  28745. let TransomThickness = tape[ptr++];
  28746. let TransomOffset = tape[ptr++];
  28747. let LiningOffset = tape[ptr++];
  28748. let ThresholdOffset = tape[ptr++];
  28749. let CasingThickness = tape[ptr++];
  28750. let CasingDepth = tape[ptr++];
  28751. let ShapeAspectStyle = tape[ptr++];
  28752. let LiningToPanelOffsetX = tape[ptr++];
  28753. let LiningToPanelOffsetY = tape[ptr++];
  28754. return new IfcDoorLiningProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY);
  28755. }
  28756. ToTape() {
  28757. let args = [];
  28758. args.push(this.GlobalId);
  28759. ;
  28760. args.push(this.OwnerHistory);
  28761. ;
  28762. args.push(this.Name);
  28763. ;
  28764. args.push(this.Description);
  28765. ;
  28766. args.push(this.LiningDepth);
  28767. ;
  28768. args.push(this.LiningThickness);
  28769. ;
  28770. args.push(this.ThresholdDepth);
  28771. ;
  28772. args.push(this.ThresholdThickness);
  28773. ;
  28774. args.push(this.TransomThickness);
  28775. ;
  28776. args.push(this.TransomOffset);
  28777. ;
  28778. args.push(this.LiningOffset);
  28779. ;
  28780. args.push(this.ThresholdOffset);
  28781. ;
  28782. args.push(this.CasingThickness);
  28783. ;
  28784. args.push(this.CasingDepth);
  28785. ;
  28786. args.push(this.ShapeAspectStyle);
  28787. ;
  28788. args.push(this.LiningToPanelOffsetX);
  28789. ;
  28790. args.push(this.LiningToPanelOffsetY);
  28791. ;
  28792. return args;
  28793. }
  28794. };
  28795. var IfcDoorPanelProperties = class {
  28796. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) {
  28797. this.expressID = expressID;
  28798. this.type = type;
  28799. this.GlobalId = GlobalId;
  28800. this.OwnerHistory = OwnerHistory;
  28801. this.Name = Name;
  28802. this.Description = Description;
  28803. this.PanelDepth = PanelDepth;
  28804. this.PanelOperation = PanelOperation;
  28805. this.PanelWidth = PanelWidth;
  28806. this.PanelPosition = PanelPosition;
  28807. this.ShapeAspectStyle = ShapeAspectStyle;
  28808. }
  28809. static FromTape(expressID, type, tape) {
  28810. let ptr = 0;
  28811. let GlobalId = tape[ptr++];
  28812. let OwnerHistory = tape[ptr++];
  28813. let Name = tape[ptr++];
  28814. let Description = tape[ptr++];
  28815. let PanelDepth = tape[ptr++];
  28816. let PanelOperation = tape[ptr++];
  28817. let PanelWidth = tape[ptr++];
  28818. let PanelPosition = tape[ptr++];
  28819. let ShapeAspectStyle = tape[ptr++];
  28820. return new IfcDoorPanelProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle);
  28821. }
  28822. ToTape() {
  28823. let args = [];
  28824. args.push(this.GlobalId);
  28825. ;
  28826. args.push(this.OwnerHistory);
  28827. ;
  28828. args.push(this.Name);
  28829. ;
  28830. args.push(this.Description);
  28831. ;
  28832. args.push(this.PanelDepth);
  28833. ;
  28834. args.push(this.PanelOperation);
  28835. ;
  28836. args.push(this.PanelWidth);
  28837. ;
  28838. args.push(this.PanelPosition);
  28839. ;
  28840. args.push(this.ShapeAspectStyle);
  28841. ;
  28842. return args;
  28843. }
  28844. };
  28845. var IfcDoorStandardCase = class {
  28846. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) {
  28847. this.expressID = expressID;
  28848. this.type = type;
  28849. this.GlobalId = GlobalId;
  28850. this.OwnerHistory = OwnerHistory;
  28851. this.Name = Name;
  28852. this.Description = Description;
  28853. this.ObjectType = ObjectType;
  28854. this.ObjectPlacement = ObjectPlacement;
  28855. this.Representation = Representation;
  28856. this.Tag = Tag;
  28857. this.OverallHeight = OverallHeight;
  28858. this.OverallWidth = OverallWidth;
  28859. this.PredefinedType = PredefinedType;
  28860. this.OperationType = OperationType;
  28861. this.UserDefinedOperationType = UserDefinedOperationType;
  28862. }
  28863. static FromTape(expressID, type, tape) {
  28864. let ptr = 0;
  28865. let GlobalId = tape[ptr++];
  28866. let OwnerHistory = tape[ptr++];
  28867. let Name = tape[ptr++];
  28868. let Description = tape[ptr++];
  28869. let ObjectType = tape[ptr++];
  28870. let ObjectPlacement = tape[ptr++];
  28871. let Representation = tape[ptr++];
  28872. let Tag = tape[ptr++];
  28873. let OverallHeight = tape[ptr++];
  28874. let OverallWidth = tape[ptr++];
  28875. let PredefinedType = tape[ptr++];
  28876. let OperationType = tape[ptr++];
  28877. let UserDefinedOperationType = tape[ptr++];
  28878. return new IfcDoorStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType);
  28879. }
  28880. ToTape() {
  28881. let args = [];
  28882. args.push(this.GlobalId);
  28883. ;
  28884. args.push(this.OwnerHistory);
  28885. ;
  28886. args.push(this.Name);
  28887. ;
  28888. args.push(this.Description);
  28889. ;
  28890. args.push(this.ObjectType);
  28891. ;
  28892. args.push(this.ObjectPlacement);
  28893. ;
  28894. args.push(this.Representation);
  28895. ;
  28896. args.push(this.Tag);
  28897. ;
  28898. args.push(this.OverallHeight);
  28899. ;
  28900. args.push(this.OverallWidth);
  28901. ;
  28902. args.push(this.PredefinedType);
  28903. ;
  28904. args.push(this.OperationType);
  28905. ;
  28906. args.push(this.UserDefinedOperationType);
  28907. ;
  28908. return args;
  28909. }
  28910. };
  28911. var IfcDoorStyle = class {
  28912. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) {
  28913. this.expressID = expressID;
  28914. this.type = type;
  28915. this.GlobalId = GlobalId;
  28916. this.OwnerHistory = OwnerHistory;
  28917. this.Name = Name;
  28918. this.Description = Description;
  28919. this.ApplicableOccurrence = ApplicableOccurrence;
  28920. this.HasPropertySets = HasPropertySets;
  28921. this.RepresentationMaps = RepresentationMaps;
  28922. this.Tag = Tag;
  28923. this.OperationType = OperationType;
  28924. this.ConstructionType = ConstructionType;
  28925. this.ParameterTakesPrecedence = ParameterTakesPrecedence;
  28926. this.Sizeable = Sizeable;
  28927. }
  28928. static FromTape(expressID, type, tape) {
  28929. let ptr = 0;
  28930. let GlobalId = tape[ptr++];
  28931. let OwnerHistory = tape[ptr++];
  28932. let Name = tape[ptr++];
  28933. let Description = tape[ptr++];
  28934. let ApplicableOccurrence = tape[ptr++];
  28935. let HasPropertySets = tape[ptr++];
  28936. let RepresentationMaps = tape[ptr++];
  28937. let Tag = tape[ptr++];
  28938. let OperationType = tape[ptr++];
  28939. let ConstructionType = tape[ptr++];
  28940. let ParameterTakesPrecedence = tape[ptr++];
  28941. let Sizeable = tape[ptr++];
  28942. return new IfcDoorStyle(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable);
  28943. }
  28944. ToTape() {
  28945. let args = [];
  28946. args.push(this.GlobalId);
  28947. ;
  28948. args.push(this.OwnerHistory);
  28949. ;
  28950. args.push(this.Name);
  28951. ;
  28952. args.push(this.Description);
  28953. ;
  28954. args.push(this.ApplicableOccurrence);
  28955. ;
  28956. args.push(this.HasPropertySets);
  28957. ;
  28958. args.push(this.RepresentationMaps);
  28959. ;
  28960. args.push(this.Tag);
  28961. ;
  28962. args.push(this.OperationType);
  28963. ;
  28964. args.push(this.ConstructionType);
  28965. ;
  28966. args.push(this.ParameterTakesPrecedence);
  28967. ;
  28968. args.push(this.Sizeable);
  28969. ;
  28970. return args;
  28971. }
  28972. };
  28973. var IfcDoorType = class {
  28974. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) {
  28975. this.expressID = expressID;
  28976. this.type = type;
  28977. this.GlobalId = GlobalId;
  28978. this.OwnerHistory = OwnerHistory;
  28979. this.Name = Name;
  28980. this.Description = Description;
  28981. this.ApplicableOccurrence = ApplicableOccurrence;
  28982. this.HasPropertySets = HasPropertySets;
  28983. this.RepresentationMaps = RepresentationMaps;
  28984. this.Tag = Tag;
  28985. this.ElementType = ElementType;
  28986. this.PredefinedType = PredefinedType;
  28987. this.OperationType = OperationType;
  28988. this.ParameterTakesPrecedence = ParameterTakesPrecedence;
  28989. this.UserDefinedOperationType = UserDefinedOperationType;
  28990. }
  28991. static FromTape(expressID, type, tape) {
  28992. let ptr = 0;
  28993. let GlobalId = tape[ptr++];
  28994. let OwnerHistory = tape[ptr++];
  28995. let Name = tape[ptr++];
  28996. let Description = tape[ptr++];
  28997. let ApplicableOccurrence = tape[ptr++];
  28998. let HasPropertySets = tape[ptr++];
  28999. let RepresentationMaps = tape[ptr++];
  29000. let Tag = tape[ptr++];
  29001. let ElementType = tape[ptr++];
  29002. let PredefinedType = tape[ptr++];
  29003. let OperationType = tape[ptr++];
  29004. let ParameterTakesPrecedence = tape[ptr++];
  29005. let UserDefinedOperationType = tape[ptr++];
  29006. return new IfcDoorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType);
  29007. }
  29008. ToTape() {
  29009. let args = [];
  29010. args.push(this.GlobalId);
  29011. ;
  29012. args.push(this.OwnerHistory);
  29013. ;
  29014. args.push(this.Name);
  29015. ;
  29016. args.push(this.Description);
  29017. ;
  29018. args.push(this.ApplicableOccurrence);
  29019. ;
  29020. args.push(this.HasPropertySets);
  29021. ;
  29022. args.push(this.RepresentationMaps);
  29023. ;
  29024. args.push(this.Tag);
  29025. ;
  29026. args.push(this.ElementType);
  29027. ;
  29028. args.push(this.PredefinedType);
  29029. ;
  29030. args.push(this.OperationType);
  29031. ;
  29032. args.push(this.ParameterTakesPrecedence);
  29033. ;
  29034. args.push(this.UserDefinedOperationType);
  29035. ;
  29036. return args;
  29037. }
  29038. };
  29039. var IfcDraughtingPreDefinedColour = class {
  29040. constructor(expressID, type, Name) {
  29041. this.expressID = expressID;
  29042. this.type = type;
  29043. this.Name = Name;
  29044. }
  29045. static FromTape(expressID, type, tape) {
  29046. let ptr = 0;
  29047. let Name = tape[ptr++];
  29048. return new IfcDraughtingPreDefinedColour(expressID, type, Name);
  29049. }
  29050. ToTape() {
  29051. let args = [];
  29052. args.push(this.Name);
  29053. ;
  29054. return args;
  29055. }
  29056. };
  29057. var IfcDraughtingPreDefinedCurveFont = class {
  29058. constructor(expressID, type, Name) {
  29059. this.expressID = expressID;
  29060. this.type = type;
  29061. this.Name = Name;
  29062. }
  29063. static FromTape(expressID, type, tape) {
  29064. let ptr = 0;
  29065. let Name = tape[ptr++];
  29066. return new IfcDraughtingPreDefinedCurveFont(expressID, type, Name);
  29067. }
  29068. ToTape() {
  29069. let args = [];
  29070. args.push(this.Name);
  29071. ;
  29072. return args;
  29073. }
  29074. };
  29075. var IfcDuctFitting = class {
  29076. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29077. this.expressID = expressID;
  29078. this.type = type;
  29079. this.GlobalId = GlobalId;
  29080. this.OwnerHistory = OwnerHistory;
  29081. this.Name = Name;
  29082. this.Description = Description;
  29083. this.ObjectType = ObjectType;
  29084. this.ObjectPlacement = ObjectPlacement;
  29085. this.Representation = Representation;
  29086. this.Tag = Tag;
  29087. this.PredefinedType = PredefinedType;
  29088. }
  29089. static FromTape(expressID, type, tape) {
  29090. let ptr = 0;
  29091. let GlobalId = tape[ptr++];
  29092. let OwnerHistory = tape[ptr++];
  29093. let Name = tape[ptr++];
  29094. let Description = tape[ptr++];
  29095. let ObjectType = tape[ptr++];
  29096. let ObjectPlacement = tape[ptr++];
  29097. let Representation = tape[ptr++];
  29098. let Tag = tape[ptr++];
  29099. let PredefinedType = tape[ptr++];
  29100. return new IfcDuctFitting(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29101. }
  29102. ToTape() {
  29103. let args = [];
  29104. args.push(this.GlobalId);
  29105. ;
  29106. args.push(this.OwnerHistory);
  29107. ;
  29108. args.push(this.Name);
  29109. ;
  29110. args.push(this.Description);
  29111. ;
  29112. args.push(this.ObjectType);
  29113. ;
  29114. args.push(this.ObjectPlacement);
  29115. ;
  29116. args.push(this.Representation);
  29117. ;
  29118. args.push(this.Tag);
  29119. ;
  29120. args.push(this.PredefinedType);
  29121. ;
  29122. return args;
  29123. }
  29124. };
  29125. var IfcDuctFittingType = class {
  29126. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29127. this.expressID = expressID;
  29128. this.type = type;
  29129. this.GlobalId = GlobalId;
  29130. this.OwnerHistory = OwnerHistory;
  29131. this.Name = Name;
  29132. this.Description = Description;
  29133. this.ApplicableOccurrence = ApplicableOccurrence;
  29134. this.HasPropertySets = HasPropertySets;
  29135. this.RepresentationMaps = RepresentationMaps;
  29136. this.Tag = Tag;
  29137. this.ElementType = ElementType;
  29138. this.PredefinedType = PredefinedType;
  29139. }
  29140. static FromTape(expressID, type, tape) {
  29141. let ptr = 0;
  29142. let GlobalId = tape[ptr++];
  29143. let OwnerHistory = tape[ptr++];
  29144. let Name = tape[ptr++];
  29145. let Description = tape[ptr++];
  29146. let ApplicableOccurrence = tape[ptr++];
  29147. let HasPropertySets = tape[ptr++];
  29148. let RepresentationMaps = tape[ptr++];
  29149. let Tag = tape[ptr++];
  29150. let ElementType = tape[ptr++];
  29151. let PredefinedType = tape[ptr++];
  29152. return new IfcDuctFittingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29153. }
  29154. ToTape() {
  29155. let args = [];
  29156. args.push(this.GlobalId);
  29157. ;
  29158. args.push(this.OwnerHistory);
  29159. ;
  29160. args.push(this.Name);
  29161. ;
  29162. args.push(this.Description);
  29163. ;
  29164. args.push(this.ApplicableOccurrence);
  29165. ;
  29166. args.push(this.HasPropertySets);
  29167. ;
  29168. args.push(this.RepresentationMaps);
  29169. ;
  29170. args.push(this.Tag);
  29171. ;
  29172. args.push(this.ElementType);
  29173. ;
  29174. args.push(this.PredefinedType);
  29175. ;
  29176. return args;
  29177. }
  29178. };
  29179. var IfcDuctSegment = class {
  29180. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29181. this.expressID = expressID;
  29182. this.type = type;
  29183. this.GlobalId = GlobalId;
  29184. this.OwnerHistory = OwnerHistory;
  29185. this.Name = Name;
  29186. this.Description = Description;
  29187. this.ObjectType = ObjectType;
  29188. this.ObjectPlacement = ObjectPlacement;
  29189. this.Representation = Representation;
  29190. this.Tag = Tag;
  29191. this.PredefinedType = PredefinedType;
  29192. }
  29193. static FromTape(expressID, type, tape) {
  29194. let ptr = 0;
  29195. let GlobalId = tape[ptr++];
  29196. let OwnerHistory = tape[ptr++];
  29197. let Name = tape[ptr++];
  29198. let Description = tape[ptr++];
  29199. let ObjectType = tape[ptr++];
  29200. let ObjectPlacement = tape[ptr++];
  29201. let Representation = tape[ptr++];
  29202. let Tag = tape[ptr++];
  29203. let PredefinedType = tape[ptr++];
  29204. return new IfcDuctSegment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29205. }
  29206. ToTape() {
  29207. let args = [];
  29208. args.push(this.GlobalId);
  29209. ;
  29210. args.push(this.OwnerHistory);
  29211. ;
  29212. args.push(this.Name);
  29213. ;
  29214. args.push(this.Description);
  29215. ;
  29216. args.push(this.ObjectType);
  29217. ;
  29218. args.push(this.ObjectPlacement);
  29219. ;
  29220. args.push(this.Representation);
  29221. ;
  29222. args.push(this.Tag);
  29223. ;
  29224. args.push(this.PredefinedType);
  29225. ;
  29226. return args;
  29227. }
  29228. };
  29229. var IfcDuctSegmentType = class {
  29230. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29231. this.expressID = expressID;
  29232. this.type = type;
  29233. this.GlobalId = GlobalId;
  29234. this.OwnerHistory = OwnerHistory;
  29235. this.Name = Name;
  29236. this.Description = Description;
  29237. this.ApplicableOccurrence = ApplicableOccurrence;
  29238. this.HasPropertySets = HasPropertySets;
  29239. this.RepresentationMaps = RepresentationMaps;
  29240. this.Tag = Tag;
  29241. this.ElementType = ElementType;
  29242. this.PredefinedType = PredefinedType;
  29243. }
  29244. static FromTape(expressID, type, tape) {
  29245. let ptr = 0;
  29246. let GlobalId = tape[ptr++];
  29247. let OwnerHistory = tape[ptr++];
  29248. let Name = tape[ptr++];
  29249. let Description = tape[ptr++];
  29250. let ApplicableOccurrence = tape[ptr++];
  29251. let HasPropertySets = tape[ptr++];
  29252. let RepresentationMaps = tape[ptr++];
  29253. let Tag = tape[ptr++];
  29254. let ElementType = tape[ptr++];
  29255. let PredefinedType = tape[ptr++];
  29256. return new IfcDuctSegmentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29257. }
  29258. ToTape() {
  29259. let args = [];
  29260. args.push(this.GlobalId);
  29261. ;
  29262. args.push(this.OwnerHistory);
  29263. ;
  29264. args.push(this.Name);
  29265. ;
  29266. args.push(this.Description);
  29267. ;
  29268. args.push(this.ApplicableOccurrence);
  29269. ;
  29270. args.push(this.HasPropertySets);
  29271. ;
  29272. args.push(this.RepresentationMaps);
  29273. ;
  29274. args.push(this.Tag);
  29275. ;
  29276. args.push(this.ElementType);
  29277. ;
  29278. args.push(this.PredefinedType);
  29279. ;
  29280. return args;
  29281. }
  29282. };
  29283. var IfcDuctSilencer = class {
  29284. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29285. this.expressID = expressID;
  29286. this.type = type;
  29287. this.GlobalId = GlobalId;
  29288. this.OwnerHistory = OwnerHistory;
  29289. this.Name = Name;
  29290. this.Description = Description;
  29291. this.ObjectType = ObjectType;
  29292. this.ObjectPlacement = ObjectPlacement;
  29293. this.Representation = Representation;
  29294. this.Tag = Tag;
  29295. this.PredefinedType = PredefinedType;
  29296. }
  29297. static FromTape(expressID, type, tape) {
  29298. let ptr = 0;
  29299. let GlobalId = tape[ptr++];
  29300. let OwnerHistory = tape[ptr++];
  29301. let Name = tape[ptr++];
  29302. let Description = tape[ptr++];
  29303. let ObjectType = tape[ptr++];
  29304. let ObjectPlacement = tape[ptr++];
  29305. let Representation = tape[ptr++];
  29306. let Tag = tape[ptr++];
  29307. let PredefinedType = tape[ptr++];
  29308. return new IfcDuctSilencer(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29309. }
  29310. ToTape() {
  29311. let args = [];
  29312. args.push(this.GlobalId);
  29313. ;
  29314. args.push(this.OwnerHistory);
  29315. ;
  29316. args.push(this.Name);
  29317. ;
  29318. args.push(this.Description);
  29319. ;
  29320. args.push(this.ObjectType);
  29321. ;
  29322. args.push(this.ObjectPlacement);
  29323. ;
  29324. args.push(this.Representation);
  29325. ;
  29326. args.push(this.Tag);
  29327. ;
  29328. args.push(this.PredefinedType);
  29329. ;
  29330. return args;
  29331. }
  29332. };
  29333. var IfcDuctSilencerType = class {
  29334. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29335. this.expressID = expressID;
  29336. this.type = type;
  29337. this.GlobalId = GlobalId;
  29338. this.OwnerHistory = OwnerHistory;
  29339. this.Name = Name;
  29340. this.Description = Description;
  29341. this.ApplicableOccurrence = ApplicableOccurrence;
  29342. this.HasPropertySets = HasPropertySets;
  29343. this.RepresentationMaps = RepresentationMaps;
  29344. this.Tag = Tag;
  29345. this.ElementType = ElementType;
  29346. this.PredefinedType = PredefinedType;
  29347. }
  29348. static FromTape(expressID, type, tape) {
  29349. let ptr = 0;
  29350. let GlobalId = tape[ptr++];
  29351. let OwnerHistory = tape[ptr++];
  29352. let Name = tape[ptr++];
  29353. let Description = tape[ptr++];
  29354. let ApplicableOccurrence = tape[ptr++];
  29355. let HasPropertySets = tape[ptr++];
  29356. let RepresentationMaps = tape[ptr++];
  29357. let Tag = tape[ptr++];
  29358. let ElementType = tape[ptr++];
  29359. let PredefinedType = tape[ptr++];
  29360. return new IfcDuctSilencerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29361. }
  29362. ToTape() {
  29363. let args = [];
  29364. args.push(this.GlobalId);
  29365. ;
  29366. args.push(this.OwnerHistory);
  29367. ;
  29368. args.push(this.Name);
  29369. ;
  29370. args.push(this.Description);
  29371. ;
  29372. args.push(this.ApplicableOccurrence);
  29373. ;
  29374. args.push(this.HasPropertySets);
  29375. ;
  29376. args.push(this.RepresentationMaps);
  29377. ;
  29378. args.push(this.Tag);
  29379. ;
  29380. args.push(this.ElementType);
  29381. ;
  29382. args.push(this.PredefinedType);
  29383. ;
  29384. return args;
  29385. }
  29386. };
  29387. var IfcEdge = class {
  29388. constructor(expressID, type, EdgeStart, EdgeEnd) {
  29389. this.expressID = expressID;
  29390. this.type = type;
  29391. this.EdgeStart = EdgeStart;
  29392. this.EdgeEnd = EdgeEnd;
  29393. }
  29394. static FromTape(expressID, type, tape) {
  29395. let ptr = 0;
  29396. let EdgeStart = tape[ptr++];
  29397. let EdgeEnd = tape[ptr++];
  29398. return new IfcEdge(expressID, type, EdgeStart, EdgeEnd);
  29399. }
  29400. ToTape() {
  29401. let args = [];
  29402. args.push(this.EdgeStart);
  29403. ;
  29404. args.push(this.EdgeEnd);
  29405. ;
  29406. return args;
  29407. }
  29408. };
  29409. var IfcEdgeCurve = class {
  29410. constructor(expressID, type, EdgeStart, EdgeEnd, EdgeGeometry, SameSense) {
  29411. this.expressID = expressID;
  29412. this.type = type;
  29413. this.EdgeStart = EdgeStart;
  29414. this.EdgeEnd = EdgeEnd;
  29415. this.EdgeGeometry = EdgeGeometry;
  29416. this.SameSense = SameSense;
  29417. }
  29418. static FromTape(expressID, type, tape) {
  29419. let ptr = 0;
  29420. let EdgeStart = tape[ptr++];
  29421. let EdgeEnd = tape[ptr++];
  29422. let EdgeGeometry = tape[ptr++];
  29423. let SameSense = tape[ptr++];
  29424. return new IfcEdgeCurve(expressID, type, EdgeStart, EdgeEnd, EdgeGeometry, SameSense);
  29425. }
  29426. ToTape() {
  29427. let args = [];
  29428. args.push(this.EdgeStart);
  29429. ;
  29430. args.push(this.EdgeEnd);
  29431. ;
  29432. args.push(this.EdgeGeometry);
  29433. ;
  29434. args.push(this.SameSense);
  29435. ;
  29436. return args;
  29437. }
  29438. };
  29439. var IfcEdgeLoop = class {
  29440. constructor(expressID, type, EdgeList) {
  29441. this.expressID = expressID;
  29442. this.type = type;
  29443. this.EdgeList = EdgeList;
  29444. }
  29445. static FromTape(expressID, type, tape) {
  29446. let ptr = 0;
  29447. let EdgeList = tape[ptr++];
  29448. return new IfcEdgeLoop(expressID, type, EdgeList);
  29449. }
  29450. ToTape() {
  29451. let args = [];
  29452. args.push(this.EdgeList);
  29453. ;
  29454. return args;
  29455. }
  29456. };
  29457. var IfcElectricAppliance = class {
  29458. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29459. this.expressID = expressID;
  29460. this.type = type;
  29461. this.GlobalId = GlobalId;
  29462. this.OwnerHistory = OwnerHistory;
  29463. this.Name = Name;
  29464. this.Description = Description;
  29465. this.ObjectType = ObjectType;
  29466. this.ObjectPlacement = ObjectPlacement;
  29467. this.Representation = Representation;
  29468. this.Tag = Tag;
  29469. this.PredefinedType = PredefinedType;
  29470. }
  29471. static FromTape(expressID, type, tape) {
  29472. let ptr = 0;
  29473. let GlobalId = tape[ptr++];
  29474. let OwnerHistory = tape[ptr++];
  29475. let Name = tape[ptr++];
  29476. let Description = tape[ptr++];
  29477. let ObjectType = tape[ptr++];
  29478. let ObjectPlacement = tape[ptr++];
  29479. let Representation = tape[ptr++];
  29480. let Tag = tape[ptr++];
  29481. let PredefinedType = tape[ptr++];
  29482. return new IfcElectricAppliance(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29483. }
  29484. ToTape() {
  29485. let args = [];
  29486. args.push(this.GlobalId);
  29487. ;
  29488. args.push(this.OwnerHistory);
  29489. ;
  29490. args.push(this.Name);
  29491. ;
  29492. args.push(this.Description);
  29493. ;
  29494. args.push(this.ObjectType);
  29495. ;
  29496. args.push(this.ObjectPlacement);
  29497. ;
  29498. args.push(this.Representation);
  29499. ;
  29500. args.push(this.Tag);
  29501. ;
  29502. args.push(this.PredefinedType);
  29503. ;
  29504. return args;
  29505. }
  29506. };
  29507. var IfcElectricApplianceType = class {
  29508. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29509. this.expressID = expressID;
  29510. this.type = type;
  29511. this.GlobalId = GlobalId;
  29512. this.OwnerHistory = OwnerHistory;
  29513. this.Name = Name;
  29514. this.Description = Description;
  29515. this.ApplicableOccurrence = ApplicableOccurrence;
  29516. this.HasPropertySets = HasPropertySets;
  29517. this.RepresentationMaps = RepresentationMaps;
  29518. this.Tag = Tag;
  29519. this.ElementType = ElementType;
  29520. this.PredefinedType = PredefinedType;
  29521. }
  29522. static FromTape(expressID, type, tape) {
  29523. let ptr = 0;
  29524. let GlobalId = tape[ptr++];
  29525. let OwnerHistory = tape[ptr++];
  29526. let Name = tape[ptr++];
  29527. let Description = tape[ptr++];
  29528. let ApplicableOccurrence = tape[ptr++];
  29529. let HasPropertySets = tape[ptr++];
  29530. let RepresentationMaps = tape[ptr++];
  29531. let Tag = tape[ptr++];
  29532. let ElementType = tape[ptr++];
  29533. let PredefinedType = tape[ptr++];
  29534. return new IfcElectricApplianceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29535. }
  29536. ToTape() {
  29537. let args = [];
  29538. args.push(this.GlobalId);
  29539. ;
  29540. args.push(this.OwnerHistory);
  29541. ;
  29542. args.push(this.Name);
  29543. ;
  29544. args.push(this.Description);
  29545. ;
  29546. args.push(this.ApplicableOccurrence);
  29547. ;
  29548. args.push(this.HasPropertySets);
  29549. ;
  29550. args.push(this.RepresentationMaps);
  29551. ;
  29552. args.push(this.Tag);
  29553. ;
  29554. args.push(this.ElementType);
  29555. ;
  29556. args.push(this.PredefinedType);
  29557. ;
  29558. return args;
  29559. }
  29560. };
  29561. var IfcElectricDistributionBoard = class {
  29562. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29563. this.expressID = expressID;
  29564. this.type = type;
  29565. this.GlobalId = GlobalId;
  29566. this.OwnerHistory = OwnerHistory;
  29567. this.Name = Name;
  29568. this.Description = Description;
  29569. this.ObjectType = ObjectType;
  29570. this.ObjectPlacement = ObjectPlacement;
  29571. this.Representation = Representation;
  29572. this.Tag = Tag;
  29573. this.PredefinedType = PredefinedType;
  29574. }
  29575. static FromTape(expressID, type, tape) {
  29576. let ptr = 0;
  29577. let GlobalId = tape[ptr++];
  29578. let OwnerHistory = tape[ptr++];
  29579. let Name = tape[ptr++];
  29580. let Description = tape[ptr++];
  29581. let ObjectType = tape[ptr++];
  29582. let ObjectPlacement = tape[ptr++];
  29583. let Representation = tape[ptr++];
  29584. let Tag = tape[ptr++];
  29585. let PredefinedType = tape[ptr++];
  29586. return new IfcElectricDistributionBoard(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29587. }
  29588. ToTape() {
  29589. let args = [];
  29590. args.push(this.GlobalId);
  29591. ;
  29592. args.push(this.OwnerHistory);
  29593. ;
  29594. args.push(this.Name);
  29595. ;
  29596. args.push(this.Description);
  29597. ;
  29598. args.push(this.ObjectType);
  29599. ;
  29600. args.push(this.ObjectPlacement);
  29601. ;
  29602. args.push(this.Representation);
  29603. ;
  29604. args.push(this.Tag);
  29605. ;
  29606. args.push(this.PredefinedType);
  29607. ;
  29608. return args;
  29609. }
  29610. };
  29611. var IfcElectricDistributionBoardType = class {
  29612. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29613. this.expressID = expressID;
  29614. this.type = type;
  29615. this.GlobalId = GlobalId;
  29616. this.OwnerHistory = OwnerHistory;
  29617. this.Name = Name;
  29618. this.Description = Description;
  29619. this.ApplicableOccurrence = ApplicableOccurrence;
  29620. this.HasPropertySets = HasPropertySets;
  29621. this.RepresentationMaps = RepresentationMaps;
  29622. this.Tag = Tag;
  29623. this.ElementType = ElementType;
  29624. this.PredefinedType = PredefinedType;
  29625. }
  29626. static FromTape(expressID, type, tape) {
  29627. let ptr = 0;
  29628. let GlobalId = tape[ptr++];
  29629. let OwnerHistory = tape[ptr++];
  29630. let Name = tape[ptr++];
  29631. let Description = tape[ptr++];
  29632. let ApplicableOccurrence = tape[ptr++];
  29633. let HasPropertySets = tape[ptr++];
  29634. let RepresentationMaps = tape[ptr++];
  29635. let Tag = tape[ptr++];
  29636. let ElementType = tape[ptr++];
  29637. let PredefinedType = tape[ptr++];
  29638. return new IfcElectricDistributionBoardType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29639. }
  29640. ToTape() {
  29641. let args = [];
  29642. args.push(this.GlobalId);
  29643. ;
  29644. args.push(this.OwnerHistory);
  29645. ;
  29646. args.push(this.Name);
  29647. ;
  29648. args.push(this.Description);
  29649. ;
  29650. args.push(this.ApplicableOccurrence);
  29651. ;
  29652. args.push(this.HasPropertySets);
  29653. ;
  29654. args.push(this.RepresentationMaps);
  29655. ;
  29656. args.push(this.Tag);
  29657. ;
  29658. args.push(this.ElementType);
  29659. ;
  29660. args.push(this.PredefinedType);
  29661. ;
  29662. return args;
  29663. }
  29664. };
  29665. var IfcElectricFlowStorageDevice = class {
  29666. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29667. this.expressID = expressID;
  29668. this.type = type;
  29669. this.GlobalId = GlobalId;
  29670. this.OwnerHistory = OwnerHistory;
  29671. this.Name = Name;
  29672. this.Description = Description;
  29673. this.ObjectType = ObjectType;
  29674. this.ObjectPlacement = ObjectPlacement;
  29675. this.Representation = Representation;
  29676. this.Tag = Tag;
  29677. this.PredefinedType = PredefinedType;
  29678. }
  29679. static FromTape(expressID, type, tape) {
  29680. let ptr = 0;
  29681. let GlobalId = tape[ptr++];
  29682. let OwnerHistory = tape[ptr++];
  29683. let Name = tape[ptr++];
  29684. let Description = tape[ptr++];
  29685. let ObjectType = tape[ptr++];
  29686. let ObjectPlacement = tape[ptr++];
  29687. let Representation = tape[ptr++];
  29688. let Tag = tape[ptr++];
  29689. let PredefinedType = tape[ptr++];
  29690. return new IfcElectricFlowStorageDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29691. }
  29692. ToTape() {
  29693. let args = [];
  29694. args.push(this.GlobalId);
  29695. ;
  29696. args.push(this.OwnerHistory);
  29697. ;
  29698. args.push(this.Name);
  29699. ;
  29700. args.push(this.Description);
  29701. ;
  29702. args.push(this.ObjectType);
  29703. ;
  29704. args.push(this.ObjectPlacement);
  29705. ;
  29706. args.push(this.Representation);
  29707. ;
  29708. args.push(this.Tag);
  29709. ;
  29710. args.push(this.PredefinedType);
  29711. ;
  29712. return args;
  29713. }
  29714. };
  29715. var IfcElectricFlowStorageDeviceType = class {
  29716. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29717. this.expressID = expressID;
  29718. this.type = type;
  29719. this.GlobalId = GlobalId;
  29720. this.OwnerHistory = OwnerHistory;
  29721. this.Name = Name;
  29722. this.Description = Description;
  29723. this.ApplicableOccurrence = ApplicableOccurrence;
  29724. this.HasPropertySets = HasPropertySets;
  29725. this.RepresentationMaps = RepresentationMaps;
  29726. this.Tag = Tag;
  29727. this.ElementType = ElementType;
  29728. this.PredefinedType = PredefinedType;
  29729. }
  29730. static FromTape(expressID, type, tape) {
  29731. let ptr = 0;
  29732. let GlobalId = tape[ptr++];
  29733. let OwnerHistory = tape[ptr++];
  29734. let Name = tape[ptr++];
  29735. let Description = tape[ptr++];
  29736. let ApplicableOccurrence = tape[ptr++];
  29737. let HasPropertySets = tape[ptr++];
  29738. let RepresentationMaps = tape[ptr++];
  29739. let Tag = tape[ptr++];
  29740. let ElementType = tape[ptr++];
  29741. let PredefinedType = tape[ptr++];
  29742. return new IfcElectricFlowStorageDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29743. }
  29744. ToTape() {
  29745. let args = [];
  29746. args.push(this.GlobalId);
  29747. ;
  29748. args.push(this.OwnerHistory);
  29749. ;
  29750. args.push(this.Name);
  29751. ;
  29752. args.push(this.Description);
  29753. ;
  29754. args.push(this.ApplicableOccurrence);
  29755. ;
  29756. args.push(this.HasPropertySets);
  29757. ;
  29758. args.push(this.RepresentationMaps);
  29759. ;
  29760. args.push(this.Tag);
  29761. ;
  29762. args.push(this.ElementType);
  29763. ;
  29764. args.push(this.PredefinedType);
  29765. ;
  29766. return args;
  29767. }
  29768. };
  29769. var IfcElectricGenerator = class {
  29770. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29771. this.expressID = expressID;
  29772. this.type = type;
  29773. this.GlobalId = GlobalId;
  29774. this.OwnerHistory = OwnerHistory;
  29775. this.Name = Name;
  29776. this.Description = Description;
  29777. this.ObjectType = ObjectType;
  29778. this.ObjectPlacement = ObjectPlacement;
  29779. this.Representation = Representation;
  29780. this.Tag = Tag;
  29781. this.PredefinedType = PredefinedType;
  29782. }
  29783. static FromTape(expressID, type, tape) {
  29784. let ptr = 0;
  29785. let GlobalId = tape[ptr++];
  29786. let OwnerHistory = tape[ptr++];
  29787. let Name = tape[ptr++];
  29788. let Description = tape[ptr++];
  29789. let ObjectType = tape[ptr++];
  29790. let ObjectPlacement = tape[ptr++];
  29791. let Representation = tape[ptr++];
  29792. let Tag = tape[ptr++];
  29793. let PredefinedType = tape[ptr++];
  29794. return new IfcElectricGenerator(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29795. }
  29796. ToTape() {
  29797. let args = [];
  29798. args.push(this.GlobalId);
  29799. ;
  29800. args.push(this.OwnerHistory);
  29801. ;
  29802. args.push(this.Name);
  29803. ;
  29804. args.push(this.Description);
  29805. ;
  29806. args.push(this.ObjectType);
  29807. ;
  29808. args.push(this.ObjectPlacement);
  29809. ;
  29810. args.push(this.Representation);
  29811. ;
  29812. args.push(this.Tag);
  29813. ;
  29814. args.push(this.PredefinedType);
  29815. ;
  29816. return args;
  29817. }
  29818. };
  29819. var IfcElectricGeneratorType = class {
  29820. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29821. this.expressID = expressID;
  29822. this.type = type;
  29823. this.GlobalId = GlobalId;
  29824. this.OwnerHistory = OwnerHistory;
  29825. this.Name = Name;
  29826. this.Description = Description;
  29827. this.ApplicableOccurrence = ApplicableOccurrence;
  29828. this.HasPropertySets = HasPropertySets;
  29829. this.RepresentationMaps = RepresentationMaps;
  29830. this.Tag = Tag;
  29831. this.ElementType = ElementType;
  29832. this.PredefinedType = PredefinedType;
  29833. }
  29834. static FromTape(expressID, type, tape) {
  29835. let ptr = 0;
  29836. let GlobalId = tape[ptr++];
  29837. let OwnerHistory = tape[ptr++];
  29838. let Name = tape[ptr++];
  29839. let Description = tape[ptr++];
  29840. let ApplicableOccurrence = tape[ptr++];
  29841. let HasPropertySets = tape[ptr++];
  29842. let RepresentationMaps = tape[ptr++];
  29843. let Tag = tape[ptr++];
  29844. let ElementType = tape[ptr++];
  29845. let PredefinedType = tape[ptr++];
  29846. return new IfcElectricGeneratorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29847. }
  29848. ToTape() {
  29849. let args = [];
  29850. args.push(this.GlobalId);
  29851. ;
  29852. args.push(this.OwnerHistory);
  29853. ;
  29854. args.push(this.Name);
  29855. ;
  29856. args.push(this.Description);
  29857. ;
  29858. args.push(this.ApplicableOccurrence);
  29859. ;
  29860. args.push(this.HasPropertySets);
  29861. ;
  29862. args.push(this.RepresentationMaps);
  29863. ;
  29864. args.push(this.Tag);
  29865. ;
  29866. args.push(this.ElementType);
  29867. ;
  29868. args.push(this.PredefinedType);
  29869. ;
  29870. return args;
  29871. }
  29872. };
  29873. var IfcElectricMotor = class {
  29874. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29875. this.expressID = expressID;
  29876. this.type = type;
  29877. this.GlobalId = GlobalId;
  29878. this.OwnerHistory = OwnerHistory;
  29879. this.Name = Name;
  29880. this.Description = Description;
  29881. this.ObjectType = ObjectType;
  29882. this.ObjectPlacement = ObjectPlacement;
  29883. this.Representation = Representation;
  29884. this.Tag = Tag;
  29885. this.PredefinedType = PredefinedType;
  29886. }
  29887. static FromTape(expressID, type, tape) {
  29888. let ptr = 0;
  29889. let GlobalId = tape[ptr++];
  29890. let OwnerHistory = tape[ptr++];
  29891. let Name = tape[ptr++];
  29892. let Description = tape[ptr++];
  29893. let ObjectType = tape[ptr++];
  29894. let ObjectPlacement = tape[ptr++];
  29895. let Representation = tape[ptr++];
  29896. let Tag = tape[ptr++];
  29897. let PredefinedType = tape[ptr++];
  29898. return new IfcElectricMotor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  29899. }
  29900. ToTape() {
  29901. let args = [];
  29902. args.push(this.GlobalId);
  29903. ;
  29904. args.push(this.OwnerHistory);
  29905. ;
  29906. args.push(this.Name);
  29907. ;
  29908. args.push(this.Description);
  29909. ;
  29910. args.push(this.ObjectType);
  29911. ;
  29912. args.push(this.ObjectPlacement);
  29913. ;
  29914. args.push(this.Representation);
  29915. ;
  29916. args.push(this.Tag);
  29917. ;
  29918. args.push(this.PredefinedType);
  29919. ;
  29920. return args;
  29921. }
  29922. };
  29923. var IfcElectricMotorType = class {
  29924. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  29925. this.expressID = expressID;
  29926. this.type = type;
  29927. this.GlobalId = GlobalId;
  29928. this.OwnerHistory = OwnerHistory;
  29929. this.Name = Name;
  29930. this.Description = Description;
  29931. this.ApplicableOccurrence = ApplicableOccurrence;
  29932. this.HasPropertySets = HasPropertySets;
  29933. this.RepresentationMaps = RepresentationMaps;
  29934. this.Tag = Tag;
  29935. this.ElementType = ElementType;
  29936. this.PredefinedType = PredefinedType;
  29937. }
  29938. static FromTape(expressID, type, tape) {
  29939. let ptr = 0;
  29940. let GlobalId = tape[ptr++];
  29941. let OwnerHistory = tape[ptr++];
  29942. let Name = tape[ptr++];
  29943. let Description = tape[ptr++];
  29944. let ApplicableOccurrence = tape[ptr++];
  29945. let HasPropertySets = tape[ptr++];
  29946. let RepresentationMaps = tape[ptr++];
  29947. let Tag = tape[ptr++];
  29948. let ElementType = tape[ptr++];
  29949. let PredefinedType = tape[ptr++];
  29950. return new IfcElectricMotorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  29951. }
  29952. ToTape() {
  29953. let args = [];
  29954. args.push(this.GlobalId);
  29955. ;
  29956. args.push(this.OwnerHistory);
  29957. ;
  29958. args.push(this.Name);
  29959. ;
  29960. args.push(this.Description);
  29961. ;
  29962. args.push(this.ApplicableOccurrence);
  29963. ;
  29964. args.push(this.HasPropertySets);
  29965. ;
  29966. args.push(this.RepresentationMaps);
  29967. ;
  29968. args.push(this.Tag);
  29969. ;
  29970. args.push(this.ElementType);
  29971. ;
  29972. args.push(this.PredefinedType);
  29973. ;
  29974. return args;
  29975. }
  29976. };
  29977. var IfcElectricTimeControl = class {
  29978. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  29979. this.expressID = expressID;
  29980. this.type = type;
  29981. this.GlobalId = GlobalId;
  29982. this.OwnerHistory = OwnerHistory;
  29983. this.Name = Name;
  29984. this.Description = Description;
  29985. this.ObjectType = ObjectType;
  29986. this.ObjectPlacement = ObjectPlacement;
  29987. this.Representation = Representation;
  29988. this.Tag = Tag;
  29989. this.PredefinedType = PredefinedType;
  29990. }
  29991. static FromTape(expressID, type, tape) {
  29992. let ptr = 0;
  29993. let GlobalId = tape[ptr++];
  29994. let OwnerHistory = tape[ptr++];
  29995. let Name = tape[ptr++];
  29996. let Description = tape[ptr++];
  29997. let ObjectType = tape[ptr++];
  29998. let ObjectPlacement = tape[ptr++];
  29999. let Representation = tape[ptr++];
  30000. let Tag = tape[ptr++];
  30001. let PredefinedType = tape[ptr++];
  30002. return new IfcElectricTimeControl(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  30003. }
  30004. ToTape() {
  30005. let args = [];
  30006. args.push(this.GlobalId);
  30007. ;
  30008. args.push(this.OwnerHistory);
  30009. ;
  30010. args.push(this.Name);
  30011. ;
  30012. args.push(this.Description);
  30013. ;
  30014. args.push(this.ObjectType);
  30015. ;
  30016. args.push(this.ObjectPlacement);
  30017. ;
  30018. args.push(this.Representation);
  30019. ;
  30020. args.push(this.Tag);
  30021. ;
  30022. args.push(this.PredefinedType);
  30023. ;
  30024. return args;
  30025. }
  30026. };
  30027. var IfcElectricTimeControlType = class {
  30028. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  30029. this.expressID = expressID;
  30030. this.type = type;
  30031. this.GlobalId = GlobalId;
  30032. this.OwnerHistory = OwnerHistory;
  30033. this.Name = Name;
  30034. this.Description = Description;
  30035. this.ApplicableOccurrence = ApplicableOccurrence;
  30036. this.HasPropertySets = HasPropertySets;
  30037. this.RepresentationMaps = RepresentationMaps;
  30038. this.Tag = Tag;
  30039. this.ElementType = ElementType;
  30040. this.PredefinedType = PredefinedType;
  30041. }
  30042. static FromTape(expressID, type, tape) {
  30043. let ptr = 0;
  30044. let GlobalId = tape[ptr++];
  30045. let OwnerHistory = tape[ptr++];
  30046. let Name = tape[ptr++];
  30047. let Description = tape[ptr++];
  30048. let ApplicableOccurrence = tape[ptr++];
  30049. let HasPropertySets = tape[ptr++];
  30050. let RepresentationMaps = tape[ptr++];
  30051. let Tag = tape[ptr++];
  30052. let ElementType = tape[ptr++];
  30053. let PredefinedType = tape[ptr++];
  30054. return new IfcElectricTimeControlType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  30055. }
  30056. ToTape() {
  30057. let args = [];
  30058. args.push(this.GlobalId);
  30059. ;
  30060. args.push(this.OwnerHistory);
  30061. ;
  30062. args.push(this.Name);
  30063. ;
  30064. args.push(this.Description);
  30065. ;
  30066. args.push(this.ApplicableOccurrence);
  30067. ;
  30068. args.push(this.HasPropertySets);
  30069. ;
  30070. args.push(this.RepresentationMaps);
  30071. ;
  30072. args.push(this.Tag);
  30073. ;
  30074. args.push(this.ElementType);
  30075. ;
  30076. args.push(this.PredefinedType);
  30077. ;
  30078. return args;
  30079. }
  30080. };
  30081. var IfcElement = class {
  30082. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  30083. this.expressID = expressID;
  30084. this.type = type;
  30085. this.GlobalId = GlobalId;
  30086. this.OwnerHistory = OwnerHistory;
  30087. this.Name = Name;
  30088. this.Description = Description;
  30089. this.ObjectType = ObjectType;
  30090. this.ObjectPlacement = ObjectPlacement;
  30091. this.Representation = Representation;
  30092. this.Tag = Tag;
  30093. }
  30094. static FromTape(expressID, type, tape) {
  30095. let ptr = 0;
  30096. let GlobalId = tape[ptr++];
  30097. let OwnerHistory = tape[ptr++];
  30098. let Name = tape[ptr++];
  30099. let Description = tape[ptr++];
  30100. let ObjectType = tape[ptr++];
  30101. let ObjectPlacement = tape[ptr++];
  30102. let Representation = tape[ptr++];
  30103. let Tag = tape[ptr++];
  30104. return new IfcElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  30105. }
  30106. ToTape() {
  30107. let args = [];
  30108. args.push(this.GlobalId);
  30109. ;
  30110. args.push(this.OwnerHistory);
  30111. ;
  30112. args.push(this.Name);
  30113. ;
  30114. args.push(this.Description);
  30115. ;
  30116. args.push(this.ObjectType);
  30117. ;
  30118. args.push(this.ObjectPlacement);
  30119. ;
  30120. args.push(this.Representation);
  30121. ;
  30122. args.push(this.Tag);
  30123. ;
  30124. return args;
  30125. }
  30126. };
  30127. var IfcElementAssembly = class {
  30128. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) {
  30129. this.expressID = expressID;
  30130. this.type = type;
  30131. this.GlobalId = GlobalId;
  30132. this.OwnerHistory = OwnerHistory;
  30133. this.Name = Name;
  30134. this.Description = Description;
  30135. this.ObjectType = ObjectType;
  30136. this.ObjectPlacement = ObjectPlacement;
  30137. this.Representation = Representation;
  30138. this.Tag = Tag;
  30139. this.AssemblyPlace = AssemblyPlace;
  30140. this.PredefinedType = PredefinedType;
  30141. }
  30142. static FromTape(expressID, type, tape) {
  30143. let ptr = 0;
  30144. let GlobalId = tape[ptr++];
  30145. let OwnerHistory = tape[ptr++];
  30146. let Name = tape[ptr++];
  30147. let Description = tape[ptr++];
  30148. let ObjectType = tape[ptr++];
  30149. let ObjectPlacement = tape[ptr++];
  30150. let Representation = tape[ptr++];
  30151. let Tag = tape[ptr++];
  30152. let AssemblyPlace = tape[ptr++];
  30153. let PredefinedType = tape[ptr++];
  30154. return new IfcElementAssembly(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType);
  30155. }
  30156. ToTape() {
  30157. let args = [];
  30158. args.push(this.GlobalId);
  30159. ;
  30160. args.push(this.OwnerHistory);
  30161. ;
  30162. args.push(this.Name);
  30163. ;
  30164. args.push(this.Description);
  30165. ;
  30166. args.push(this.ObjectType);
  30167. ;
  30168. args.push(this.ObjectPlacement);
  30169. ;
  30170. args.push(this.Representation);
  30171. ;
  30172. args.push(this.Tag);
  30173. ;
  30174. args.push(this.AssemblyPlace);
  30175. ;
  30176. args.push(this.PredefinedType);
  30177. ;
  30178. return args;
  30179. }
  30180. };
  30181. var IfcElementAssemblyType = class {
  30182. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  30183. this.expressID = expressID;
  30184. this.type = type;
  30185. this.GlobalId = GlobalId;
  30186. this.OwnerHistory = OwnerHistory;
  30187. this.Name = Name;
  30188. this.Description = Description;
  30189. this.ApplicableOccurrence = ApplicableOccurrence;
  30190. this.HasPropertySets = HasPropertySets;
  30191. this.RepresentationMaps = RepresentationMaps;
  30192. this.Tag = Tag;
  30193. this.ElementType = ElementType;
  30194. this.PredefinedType = PredefinedType;
  30195. }
  30196. static FromTape(expressID, type, tape) {
  30197. let ptr = 0;
  30198. let GlobalId = tape[ptr++];
  30199. let OwnerHistory = tape[ptr++];
  30200. let Name = tape[ptr++];
  30201. let Description = tape[ptr++];
  30202. let ApplicableOccurrence = tape[ptr++];
  30203. let HasPropertySets = tape[ptr++];
  30204. let RepresentationMaps = tape[ptr++];
  30205. let Tag = tape[ptr++];
  30206. let ElementType = tape[ptr++];
  30207. let PredefinedType = tape[ptr++];
  30208. return new IfcElementAssemblyType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  30209. }
  30210. ToTape() {
  30211. let args = [];
  30212. args.push(this.GlobalId);
  30213. ;
  30214. args.push(this.OwnerHistory);
  30215. ;
  30216. args.push(this.Name);
  30217. ;
  30218. args.push(this.Description);
  30219. ;
  30220. args.push(this.ApplicableOccurrence);
  30221. ;
  30222. args.push(this.HasPropertySets);
  30223. ;
  30224. args.push(this.RepresentationMaps);
  30225. ;
  30226. args.push(this.Tag);
  30227. ;
  30228. args.push(this.ElementType);
  30229. ;
  30230. args.push(this.PredefinedType);
  30231. ;
  30232. return args;
  30233. }
  30234. };
  30235. var IfcElementComponent = class {
  30236. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  30237. this.expressID = expressID;
  30238. this.type = type;
  30239. this.GlobalId = GlobalId;
  30240. this.OwnerHistory = OwnerHistory;
  30241. this.Name = Name;
  30242. this.Description = Description;
  30243. this.ObjectType = ObjectType;
  30244. this.ObjectPlacement = ObjectPlacement;
  30245. this.Representation = Representation;
  30246. this.Tag = Tag;
  30247. }
  30248. static FromTape(expressID, type, tape) {
  30249. let ptr = 0;
  30250. let GlobalId = tape[ptr++];
  30251. let OwnerHistory = tape[ptr++];
  30252. let Name = tape[ptr++];
  30253. let Description = tape[ptr++];
  30254. let ObjectType = tape[ptr++];
  30255. let ObjectPlacement = tape[ptr++];
  30256. let Representation = tape[ptr++];
  30257. let Tag = tape[ptr++];
  30258. return new IfcElementComponent(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  30259. }
  30260. ToTape() {
  30261. let args = [];
  30262. args.push(this.GlobalId);
  30263. ;
  30264. args.push(this.OwnerHistory);
  30265. ;
  30266. args.push(this.Name);
  30267. ;
  30268. args.push(this.Description);
  30269. ;
  30270. args.push(this.ObjectType);
  30271. ;
  30272. args.push(this.ObjectPlacement);
  30273. ;
  30274. args.push(this.Representation);
  30275. ;
  30276. args.push(this.Tag);
  30277. ;
  30278. return args;
  30279. }
  30280. };
  30281. var IfcElementComponentType = class {
  30282. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  30283. this.expressID = expressID;
  30284. this.type = type;
  30285. this.GlobalId = GlobalId;
  30286. this.OwnerHistory = OwnerHistory;
  30287. this.Name = Name;
  30288. this.Description = Description;
  30289. this.ApplicableOccurrence = ApplicableOccurrence;
  30290. this.HasPropertySets = HasPropertySets;
  30291. this.RepresentationMaps = RepresentationMaps;
  30292. this.Tag = Tag;
  30293. this.ElementType = ElementType;
  30294. }
  30295. static FromTape(expressID, type, tape) {
  30296. let ptr = 0;
  30297. let GlobalId = tape[ptr++];
  30298. let OwnerHistory = tape[ptr++];
  30299. let Name = tape[ptr++];
  30300. let Description = tape[ptr++];
  30301. let ApplicableOccurrence = tape[ptr++];
  30302. let HasPropertySets = tape[ptr++];
  30303. let RepresentationMaps = tape[ptr++];
  30304. let Tag = tape[ptr++];
  30305. let ElementType = tape[ptr++];
  30306. return new IfcElementComponentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  30307. }
  30308. ToTape() {
  30309. let args = [];
  30310. args.push(this.GlobalId);
  30311. ;
  30312. args.push(this.OwnerHistory);
  30313. ;
  30314. args.push(this.Name);
  30315. ;
  30316. args.push(this.Description);
  30317. ;
  30318. args.push(this.ApplicableOccurrence);
  30319. ;
  30320. args.push(this.HasPropertySets);
  30321. ;
  30322. args.push(this.RepresentationMaps);
  30323. ;
  30324. args.push(this.Tag);
  30325. ;
  30326. args.push(this.ElementType);
  30327. ;
  30328. return args;
  30329. }
  30330. };
  30331. var IfcElementQuantity = class {
  30332. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) {
  30333. this.expressID = expressID;
  30334. this.type = type;
  30335. this.GlobalId = GlobalId;
  30336. this.OwnerHistory = OwnerHistory;
  30337. this.Name = Name;
  30338. this.Description = Description;
  30339. this.MethodOfMeasurement = MethodOfMeasurement;
  30340. this.Quantities = Quantities;
  30341. }
  30342. static FromTape(expressID, type, tape) {
  30343. let ptr = 0;
  30344. let GlobalId = tape[ptr++];
  30345. let OwnerHistory = tape[ptr++];
  30346. let Name = tape[ptr++];
  30347. let Description = tape[ptr++];
  30348. let MethodOfMeasurement = tape[ptr++];
  30349. let Quantities = tape[ptr++];
  30350. return new IfcElementQuantity(expressID, type, GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities);
  30351. }
  30352. ToTape() {
  30353. let args = [];
  30354. args.push(this.GlobalId);
  30355. ;
  30356. args.push(this.OwnerHistory);
  30357. ;
  30358. args.push(this.Name);
  30359. ;
  30360. args.push(this.Description);
  30361. ;
  30362. args.push(this.MethodOfMeasurement);
  30363. ;
  30364. args.push(this.Quantities);
  30365. ;
  30366. return args;
  30367. }
  30368. };
  30369. var IfcElementType = class {
  30370. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  30371. this.expressID = expressID;
  30372. this.type = type;
  30373. this.GlobalId = GlobalId;
  30374. this.OwnerHistory = OwnerHistory;
  30375. this.Name = Name;
  30376. this.Description = Description;
  30377. this.ApplicableOccurrence = ApplicableOccurrence;
  30378. this.HasPropertySets = HasPropertySets;
  30379. this.RepresentationMaps = RepresentationMaps;
  30380. this.Tag = Tag;
  30381. this.ElementType = ElementType;
  30382. }
  30383. static FromTape(expressID, type, tape) {
  30384. let ptr = 0;
  30385. let GlobalId = tape[ptr++];
  30386. let OwnerHistory = tape[ptr++];
  30387. let Name = tape[ptr++];
  30388. let Description = tape[ptr++];
  30389. let ApplicableOccurrence = tape[ptr++];
  30390. let HasPropertySets = tape[ptr++];
  30391. let RepresentationMaps = tape[ptr++];
  30392. let Tag = tape[ptr++];
  30393. let ElementType = tape[ptr++];
  30394. return new IfcElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  30395. }
  30396. ToTape() {
  30397. let args = [];
  30398. args.push(this.GlobalId);
  30399. ;
  30400. args.push(this.OwnerHistory);
  30401. ;
  30402. args.push(this.Name);
  30403. ;
  30404. args.push(this.Description);
  30405. ;
  30406. args.push(this.ApplicableOccurrence);
  30407. ;
  30408. args.push(this.HasPropertySets);
  30409. ;
  30410. args.push(this.RepresentationMaps);
  30411. ;
  30412. args.push(this.Tag);
  30413. ;
  30414. args.push(this.ElementType);
  30415. ;
  30416. return args;
  30417. }
  30418. };
  30419. var IfcElementarySurface = class {
  30420. constructor(expressID, type, Position) {
  30421. this.expressID = expressID;
  30422. this.type = type;
  30423. this.Position = Position;
  30424. }
  30425. static FromTape(expressID, type, tape) {
  30426. let ptr = 0;
  30427. let Position = tape[ptr++];
  30428. return new IfcElementarySurface(expressID, type, Position);
  30429. }
  30430. ToTape() {
  30431. let args = [];
  30432. args.push(this.Position);
  30433. ;
  30434. return args;
  30435. }
  30436. };
  30437. var IfcEllipse = class {
  30438. constructor(expressID, type, Position, SemiAxis1, SemiAxis2) {
  30439. this.expressID = expressID;
  30440. this.type = type;
  30441. this.Position = Position;
  30442. this.SemiAxis1 = SemiAxis1;
  30443. this.SemiAxis2 = SemiAxis2;
  30444. }
  30445. static FromTape(expressID, type, tape) {
  30446. let ptr = 0;
  30447. let Position = tape[ptr++];
  30448. let SemiAxis1 = tape[ptr++];
  30449. let SemiAxis2 = tape[ptr++];
  30450. return new IfcEllipse(expressID, type, Position, SemiAxis1, SemiAxis2);
  30451. }
  30452. ToTape() {
  30453. let args = [];
  30454. args.push(this.Position);
  30455. ;
  30456. args.push(this.SemiAxis1);
  30457. ;
  30458. args.push(this.SemiAxis2);
  30459. ;
  30460. return args;
  30461. }
  30462. };
  30463. var IfcEllipseProfileDef = class {
  30464. constructor(expressID, type, ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) {
  30465. this.expressID = expressID;
  30466. this.type = type;
  30467. this.ProfileType = ProfileType;
  30468. this.ProfileName = ProfileName;
  30469. this.Position = Position;
  30470. this.SemiAxis1 = SemiAxis1;
  30471. this.SemiAxis2 = SemiAxis2;
  30472. }
  30473. static FromTape(expressID, type, tape) {
  30474. let ptr = 0;
  30475. let ProfileType = tape[ptr++];
  30476. let ProfileName = tape[ptr++];
  30477. let Position = tape[ptr++];
  30478. let SemiAxis1 = tape[ptr++];
  30479. let SemiAxis2 = tape[ptr++];
  30480. return new IfcEllipseProfileDef(expressID, type, ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2);
  30481. }
  30482. ToTape() {
  30483. let args = [];
  30484. args.push(this.ProfileType);
  30485. ;
  30486. args.push(this.ProfileName);
  30487. ;
  30488. args.push(this.Position);
  30489. ;
  30490. args.push(this.SemiAxis1);
  30491. ;
  30492. args.push(this.SemiAxis2);
  30493. ;
  30494. return args;
  30495. }
  30496. };
  30497. var IfcEnergyConversionDevice = class {
  30498. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  30499. this.expressID = expressID;
  30500. this.type = type;
  30501. this.GlobalId = GlobalId;
  30502. this.OwnerHistory = OwnerHistory;
  30503. this.Name = Name;
  30504. this.Description = Description;
  30505. this.ObjectType = ObjectType;
  30506. this.ObjectPlacement = ObjectPlacement;
  30507. this.Representation = Representation;
  30508. this.Tag = Tag;
  30509. }
  30510. static FromTape(expressID, type, tape) {
  30511. let ptr = 0;
  30512. let GlobalId = tape[ptr++];
  30513. let OwnerHistory = tape[ptr++];
  30514. let Name = tape[ptr++];
  30515. let Description = tape[ptr++];
  30516. let ObjectType = tape[ptr++];
  30517. let ObjectPlacement = tape[ptr++];
  30518. let Representation = tape[ptr++];
  30519. let Tag = tape[ptr++];
  30520. return new IfcEnergyConversionDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  30521. }
  30522. ToTape() {
  30523. let args = [];
  30524. args.push(this.GlobalId);
  30525. ;
  30526. args.push(this.OwnerHistory);
  30527. ;
  30528. args.push(this.Name);
  30529. ;
  30530. args.push(this.Description);
  30531. ;
  30532. args.push(this.ObjectType);
  30533. ;
  30534. args.push(this.ObjectPlacement);
  30535. ;
  30536. args.push(this.Representation);
  30537. ;
  30538. args.push(this.Tag);
  30539. ;
  30540. return args;
  30541. }
  30542. };
  30543. var IfcEnergyConversionDeviceType = class {
  30544. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  30545. this.expressID = expressID;
  30546. this.type = type;
  30547. this.GlobalId = GlobalId;
  30548. this.OwnerHistory = OwnerHistory;
  30549. this.Name = Name;
  30550. this.Description = Description;
  30551. this.ApplicableOccurrence = ApplicableOccurrence;
  30552. this.HasPropertySets = HasPropertySets;
  30553. this.RepresentationMaps = RepresentationMaps;
  30554. this.Tag = Tag;
  30555. this.ElementType = ElementType;
  30556. }
  30557. static FromTape(expressID, type, tape) {
  30558. let ptr = 0;
  30559. let GlobalId = tape[ptr++];
  30560. let OwnerHistory = tape[ptr++];
  30561. let Name = tape[ptr++];
  30562. let Description = tape[ptr++];
  30563. let ApplicableOccurrence = tape[ptr++];
  30564. let HasPropertySets = tape[ptr++];
  30565. let RepresentationMaps = tape[ptr++];
  30566. let Tag = tape[ptr++];
  30567. let ElementType = tape[ptr++];
  30568. return new IfcEnergyConversionDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  30569. }
  30570. ToTape() {
  30571. let args = [];
  30572. args.push(this.GlobalId);
  30573. ;
  30574. args.push(this.OwnerHistory);
  30575. ;
  30576. args.push(this.Name);
  30577. ;
  30578. args.push(this.Description);
  30579. ;
  30580. args.push(this.ApplicableOccurrence);
  30581. ;
  30582. args.push(this.HasPropertySets);
  30583. ;
  30584. args.push(this.RepresentationMaps);
  30585. ;
  30586. args.push(this.Tag);
  30587. ;
  30588. args.push(this.ElementType);
  30589. ;
  30590. return args;
  30591. }
  30592. };
  30593. var IfcEngine = class {
  30594. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  30595. this.expressID = expressID;
  30596. this.type = type;
  30597. this.GlobalId = GlobalId;
  30598. this.OwnerHistory = OwnerHistory;
  30599. this.Name = Name;
  30600. this.Description = Description;
  30601. this.ObjectType = ObjectType;
  30602. this.ObjectPlacement = ObjectPlacement;
  30603. this.Representation = Representation;
  30604. this.Tag = Tag;
  30605. this.PredefinedType = PredefinedType;
  30606. }
  30607. static FromTape(expressID, type, tape) {
  30608. let ptr = 0;
  30609. let GlobalId = tape[ptr++];
  30610. let OwnerHistory = tape[ptr++];
  30611. let Name = tape[ptr++];
  30612. let Description = tape[ptr++];
  30613. let ObjectType = tape[ptr++];
  30614. let ObjectPlacement = tape[ptr++];
  30615. let Representation = tape[ptr++];
  30616. let Tag = tape[ptr++];
  30617. let PredefinedType = tape[ptr++];
  30618. return new IfcEngine(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  30619. }
  30620. ToTape() {
  30621. let args = [];
  30622. args.push(this.GlobalId);
  30623. ;
  30624. args.push(this.OwnerHistory);
  30625. ;
  30626. args.push(this.Name);
  30627. ;
  30628. args.push(this.Description);
  30629. ;
  30630. args.push(this.ObjectType);
  30631. ;
  30632. args.push(this.ObjectPlacement);
  30633. ;
  30634. args.push(this.Representation);
  30635. ;
  30636. args.push(this.Tag);
  30637. ;
  30638. args.push(this.PredefinedType);
  30639. ;
  30640. return args;
  30641. }
  30642. };
  30643. var IfcEngineType = class {
  30644. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  30645. this.expressID = expressID;
  30646. this.type = type;
  30647. this.GlobalId = GlobalId;
  30648. this.OwnerHistory = OwnerHistory;
  30649. this.Name = Name;
  30650. this.Description = Description;
  30651. this.ApplicableOccurrence = ApplicableOccurrence;
  30652. this.HasPropertySets = HasPropertySets;
  30653. this.RepresentationMaps = RepresentationMaps;
  30654. this.Tag = Tag;
  30655. this.ElementType = ElementType;
  30656. this.PredefinedType = PredefinedType;
  30657. }
  30658. static FromTape(expressID, type, tape) {
  30659. let ptr = 0;
  30660. let GlobalId = tape[ptr++];
  30661. let OwnerHistory = tape[ptr++];
  30662. let Name = tape[ptr++];
  30663. let Description = tape[ptr++];
  30664. let ApplicableOccurrence = tape[ptr++];
  30665. let HasPropertySets = tape[ptr++];
  30666. let RepresentationMaps = tape[ptr++];
  30667. let Tag = tape[ptr++];
  30668. let ElementType = tape[ptr++];
  30669. let PredefinedType = tape[ptr++];
  30670. return new IfcEngineType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  30671. }
  30672. ToTape() {
  30673. let args = [];
  30674. args.push(this.GlobalId);
  30675. ;
  30676. args.push(this.OwnerHistory);
  30677. ;
  30678. args.push(this.Name);
  30679. ;
  30680. args.push(this.Description);
  30681. ;
  30682. args.push(this.ApplicableOccurrence);
  30683. ;
  30684. args.push(this.HasPropertySets);
  30685. ;
  30686. args.push(this.RepresentationMaps);
  30687. ;
  30688. args.push(this.Tag);
  30689. ;
  30690. args.push(this.ElementType);
  30691. ;
  30692. args.push(this.PredefinedType);
  30693. ;
  30694. return args;
  30695. }
  30696. };
  30697. var IfcEvaporativeCooler = class {
  30698. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  30699. this.expressID = expressID;
  30700. this.type = type;
  30701. this.GlobalId = GlobalId;
  30702. this.OwnerHistory = OwnerHistory;
  30703. this.Name = Name;
  30704. this.Description = Description;
  30705. this.ObjectType = ObjectType;
  30706. this.ObjectPlacement = ObjectPlacement;
  30707. this.Representation = Representation;
  30708. this.Tag = Tag;
  30709. this.PredefinedType = PredefinedType;
  30710. }
  30711. static FromTape(expressID, type, tape) {
  30712. let ptr = 0;
  30713. let GlobalId = tape[ptr++];
  30714. let OwnerHistory = tape[ptr++];
  30715. let Name = tape[ptr++];
  30716. let Description = tape[ptr++];
  30717. let ObjectType = tape[ptr++];
  30718. let ObjectPlacement = tape[ptr++];
  30719. let Representation = tape[ptr++];
  30720. let Tag = tape[ptr++];
  30721. let PredefinedType = tape[ptr++];
  30722. return new IfcEvaporativeCooler(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  30723. }
  30724. ToTape() {
  30725. let args = [];
  30726. args.push(this.GlobalId);
  30727. ;
  30728. args.push(this.OwnerHistory);
  30729. ;
  30730. args.push(this.Name);
  30731. ;
  30732. args.push(this.Description);
  30733. ;
  30734. args.push(this.ObjectType);
  30735. ;
  30736. args.push(this.ObjectPlacement);
  30737. ;
  30738. args.push(this.Representation);
  30739. ;
  30740. args.push(this.Tag);
  30741. ;
  30742. args.push(this.PredefinedType);
  30743. ;
  30744. return args;
  30745. }
  30746. };
  30747. var IfcEvaporativeCoolerType = class {
  30748. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  30749. this.expressID = expressID;
  30750. this.type = type;
  30751. this.GlobalId = GlobalId;
  30752. this.OwnerHistory = OwnerHistory;
  30753. this.Name = Name;
  30754. this.Description = Description;
  30755. this.ApplicableOccurrence = ApplicableOccurrence;
  30756. this.HasPropertySets = HasPropertySets;
  30757. this.RepresentationMaps = RepresentationMaps;
  30758. this.Tag = Tag;
  30759. this.ElementType = ElementType;
  30760. this.PredefinedType = PredefinedType;
  30761. }
  30762. static FromTape(expressID, type, tape) {
  30763. let ptr = 0;
  30764. let GlobalId = tape[ptr++];
  30765. let OwnerHistory = tape[ptr++];
  30766. let Name = tape[ptr++];
  30767. let Description = tape[ptr++];
  30768. let ApplicableOccurrence = tape[ptr++];
  30769. let HasPropertySets = tape[ptr++];
  30770. let RepresentationMaps = tape[ptr++];
  30771. let Tag = tape[ptr++];
  30772. let ElementType = tape[ptr++];
  30773. let PredefinedType = tape[ptr++];
  30774. return new IfcEvaporativeCoolerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  30775. }
  30776. ToTape() {
  30777. let args = [];
  30778. args.push(this.GlobalId);
  30779. ;
  30780. args.push(this.OwnerHistory);
  30781. ;
  30782. args.push(this.Name);
  30783. ;
  30784. args.push(this.Description);
  30785. ;
  30786. args.push(this.ApplicableOccurrence);
  30787. ;
  30788. args.push(this.HasPropertySets);
  30789. ;
  30790. args.push(this.RepresentationMaps);
  30791. ;
  30792. args.push(this.Tag);
  30793. ;
  30794. args.push(this.ElementType);
  30795. ;
  30796. args.push(this.PredefinedType);
  30797. ;
  30798. return args;
  30799. }
  30800. };
  30801. var IfcEvaporator = class {
  30802. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  30803. this.expressID = expressID;
  30804. this.type = type;
  30805. this.GlobalId = GlobalId;
  30806. this.OwnerHistory = OwnerHistory;
  30807. this.Name = Name;
  30808. this.Description = Description;
  30809. this.ObjectType = ObjectType;
  30810. this.ObjectPlacement = ObjectPlacement;
  30811. this.Representation = Representation;
  30812. this.Tag = Tag;
  30813. this.PredefinedType = PredefinedType;
  30814. }
  30815. static FromTape(expressID, type, tape) {
  30816. let ptr = 0;
  30817. let GlobalId = tape[ptr++];
  30818. let OwnerHistory = tape[ptr++];
  30819. let Name = tape[ptr++];
  30820. let Description = tape[ptr++];
  30821. let ObjectType = tape[ptr++];
  30822. let ObjectPlacement = tape[ptr++];
  30823. let Representation = tape[ptr++];
  30824. let Tag = tape[ptr++];
  30825. let PredefinedType = tape[ptr++];
  30826. return new IfcEvaporator(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  30827. }
  30828. ToTape() {
  30829. let args = [];
  30830. args.push(this.GlobalId);
  30831. ;
  30832. args.push(this.OwnerHistory);
  30833. ;
  30834. args.push(this.Name);
  30835. ;
  30836. args.push(this.Description);
  30837. ;
  30838. args.push(this.ObjectType);
  30839. ;
  30840. args.push(this.ObjectPlacement);
  30841. ;
  30842. args.push(this.Representation);
  30843. ;
  30844. args.push(this.Tag);
  30845. ;
  30846. args.push(this.PredefinedType);
  30847. ;
  30848. return args;
  30849. }
  30850. };
  30851. var IfcEvaporatorType = class {
  30852. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  30853. this.expressID = expressID;
  30854. this.type = type;
  30855. this.GlobalId = GlobalId;
  30856. this.OwnerHistory = OwnerHistory;
  30857. this.Name = Name;
  30858. this.Description = Description;
  30859. this.ApplicableOccurrence = ApplicableOccurrence;
  30860. this.HasPropertySets = HasPropertySets;
  30861. this.RepresentationMaps = RepresentationMaps;
  30862. this.Tag = Tag;
  30863. this.ElementType = ElementType;
  30864. this.PredefinedType = PredefinedType;
  30865. }
  30866. static FromTape(expressID, type, tape) {
  30867. let ptr = 0;
  30868. let GlobalId = tape[ptr++];
  30869. let OwnerHistory = tape[ptr++];
  30870. let Name = tape[ptr++];
  30871. let Description = tape[ptr++];
  30872. let ApplicableOccurrence = tape[ptr++];
  30873. let HasPropertySets = tape[ptr++];
  30874. let RepresentationMaps = tape[ptr++];
  30875. let Tag = tape[ptr++];
  30876. let ElementType = tape[ptr++];
  30877. let PredefinedType = tape[ptr++];
  30878. return new IfcEvaporatorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  30879. }
  30880. ToTape() {
  30881. let args = [];
  30882. args.push(this.GlobalId);
  30883. ;
  30884. args.push(this.OwnerHistory);
  30885. ;
  30886. args.push(this.Name);
  30887. ;
  30888. args.push(this.Description);
  30889. ;
  30890. args.push(this.ApplicableOccurrence);
  30891. ;
  30892. args.push(this.HasPropertySets);
  30893. ;
  30894. args.push(this.RepresentationMaps);
  30895. ;
  30896. args.push(this.Tag);
  30897. ;
  30898. args.push(this.ElementType);
  30899. ;
  30900. args.push(this.PredefinedType);
  30901. ;
  30902. return args;
  30903. }
  30904. };
  30905. var IfcEvent = class {
  30906. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) {
  30907. this.expressID = expressID;
  30908. this.type = type;
  30909. this.GlobalId = GlobalId;
  30910. this.OwnerHistory = OwnerHistory;
  30911. this.Name = Name;
  30912. this.Description = Description;
  30913. this.ObjectType = ObjectType;
  30914. this.Identification = Identification;
  30915. this.LongDescription = LongDescription;
  30916. this.PredefinedType = PredefinedType;
  30917. this.EventTriggerType = EventTriggerType;
  30918. this.UserDefinedEventTriggerType = UserDefinedEventTriggerType;
  30919. this.EventOccurenceTime = EventOccurenceTime;
  30920. }
  30921. static FromTape(expressID, type, tape) {
  30922. let ptr = 0;
  30923. let GlobalId = tape[ptr++];
  30924. let OwnerHistory = tape[ptr++];
  30925. let Name = tape[ptr++];
  30926. let Description = tape[ptr++];
  30927. let ObjectType = tape[ptr++];
  30928. let Identification = tape[ptr++];
  30929. let LongDescription = tape[ptr++];
  30930. let PredefinedType = tape[ptr++];
  30931. let EventTriggerType = tape[ptr++];
  30932. let UserDefinedEventTriggerType = tape[ptr++];
  30933. let EventOccurenceTime = tape[ptr++];
  30934. return new IfcEvent(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime);
  30935. }
  30936. ToTape() {
  30937. let args = [];
  30938. args.push(this.GlobalId);
  30939. ;
  30940. args.push(this.OwnerHistory);
  30941. ;
  30942. args.push(this.Name);
  30943. ;
  30944. args.push(this.Description);
  30945. ;
  30946. args.push(this.ObjectType);
  30947. ;
  30948. args.push(this.Identification);
  30949. ;
  30950. args.push(this.LongDescription);
  30951. ;
  30952. args.push(this.PredefinedType);
  30953. ;
  30954. args.push(this.EventTriggerType);
  30955. ;
  30956. args.push(this.UserDefinedEventTriggerType);
  30957. ;
  30958. args.push(this.EventOccurenceTime);
  30959. ;
  30960. return args;
  30961. }
  30962. };
  30963. var IfcEventTime = class {
  30964. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) {
  30965. this.expressID = expressID;
  30966. this.type = type;
  30967. this.Name = Name;
  30968. this.DataOrigin = DataOrigin;
  30969. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  30970. this.ActualDate = ActualDate;
  30971. this.EarlyDate = EarlyDate;
  30972. this.LateDate = LateDate;
  30973. this.ScheduleDate = ScheduleDate;
  30974. }
  30975. static FromTape(expressID, type, tape) {
  30976. let ptr = 0;
  30977. let Name = tape[ptr++];
  30978. let DataOrigin = tape[ptr++];
  30979. let UserDefinedDataOrigin = tape[ptr++];
  30980. let ActualDate = tape[ptr++];
  30981. let EarlyDate = tape[ptr++];
  30982. let LateDate = tape[ptr++];
  30983. let ScheduleDate = tape[ptr++];
  30984. return new IfcEventTime(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate);
  30985. }
  30986. ToTape() {
  30987. let args = [];
  30988. args.push(this.Name);
  30989. ;
  30990. args.push(this.DataOrigin);
  30991. ;
  30992. args.push(this.UserDefinedDataOrigin);
  30993. ;
  30994. args.push(this.ActualDate);
  30995. ;
  30996. args.push(this.EarlyDate);
  30997. ;
  30998. args.push(this.LateDate);
  30999. ;
  31000. args.push(this.ScheduleDate);
  31001. ;
  31002. return args;
  31003. }
  31004. };
  31005. var IfcEventType = class {
  31006. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) {
  31007. this.expressID = expressID;
  31008. this.type = type;
  31009. this.GlobalId = GlobalId;
  31010. this.OwnerHistory = OwnerHistory;
  31011. this.Name = Name;
  31012. this.Description = Description;
  31013. this.ApplicableOccurrence = ApplicableOccurrence;
  31014. this.HasPropertySets = HasPropertySets;
  31015. this.Identification = Identification;
  31016. this.LongDescription = LongDescription;
  31017. this.ProcessType = ProcessType;
  31018. this.PredefinedType = PredefinedType;
  31019. this.EventTriggerType = EventTriggerType;
  31020. this.UserDefinedEventTriggerType = UserDefinedEventTriggerType;
  31021. }
  31022. static FromTape(expressID, type, tape) {
  31023. let ptr = 0;
  31024. let GlobalId = tape[ptr++];
  31025. let OwnerHistory = tape[ptr++];
  31026. let Name = tape[ptr++];
  31027. let Description = tape[ptr++];
  31028. let ApplicableOccurrence = tape[ptr++];
  31029. let HasPropertySets = tape[ptr++];
  31030. let Identification = tape[ptr++];
  31031. let LongDescription = tape[ptr++];
  31032. let ProcessType = tape[ptr++];
  31033. let PredefinedType = tape[ptr++];
  31034. let EventTriggerType = tape[ptr++];
  31035. let UserDefinedEventTriggerType = tape[ptr++];
  31036. return new IfcEventType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType);
  31037. }
  31038. ToTape() {
  31039. let args = [];
  31040. args.push(this.GlobalId);
  31041. ;
  31042. args.push(this.OwnerHistory);
  31043. ;
  31044. args.push(this.Name);
  31045. ;
  31046. args.push(this.Description);
  31047. ;
  31048. args.push(this.ApplicableOccurrence);
  31049. ;
  31050. args.push(this.HasPropertySets);
  31051. ;
  31052. args.push(this.Identification);
  31053. ;
  31054. args.push(this.LongDescription);
  31055. ;
  31056. args.push(this.ProcessType);
  31057. ;
  31058. args.push(this.PredefinedType);
  31059. ;
  31060. args.push(this.EventTriggerType);
  31061. ;
  31062. args.push(this.UserDefinedEventTriggerType);
  31063. ;
  31064. return args;
  31065. }
  31066. };
  31067. var IfcExtendedProperties = class {
  31068. constructor(expressID, type, Name, Description, Properties2) {
  31069. this.expressID = expressID;
  31070. this.type = type;
  31071. this.Name = Name;
  31072. this.Description = Description;
  31073. this.Properties = Properties2;
  31074. }
  31075. static FromTape(expressID, type, tape) {
  31076. let ptr = 0;
  31077. let Name = tape[ptr++];
  31078. let Description = tape[ptr++];
  31079. let Properties2 = tape[ptr++];
  31080. return new IfcExtendedProperties(expressID, type, Name, Description, Properties2);
  31081. }
  31082. ToTape() {
  31083. let args = [];
  31084. args.push(this.Name);
  31085. ;
  31086. args.push(this.Description);
  31087. ;
  31088. args.push(this.Properties);
  31089. ;
  31090. return args;
  31091. }
  31092. };
  31093. var IfcExternalInformation = class {
  31094. constructor(expressID, type) {
  31095. this.expressID = expressID;
  31096. this.type = type;
  31097. }
  31098. static FromTape(expressID, type, tape) {
  31099. let ptr = 0;
  31100. return new IfcExternalInformation(expressID, type);
  31101. }
  31102. ToTape() {
  31103. let args = [];
  31104. return args;
  31105. }
  31106. };
  31107. var IfcExternalReference = class {
  31108. constructor(expressID, type, Location, Identification, Name) {
  31109. this.expressID = expressID;
  31110. this.type = type;
  31111. this.Location = Location;
  31112. this.Identification = Identification;
  31113. this.Name = Name;
  31114. }
  31115. static FromTape(expressID, type, tape) {
  31116. let ptr = 0;
  31117. let Location = tape[ptr++];
  31118. let Identification = tape[ptr++];
  31119. let Name = tape[ptr++];
  31120. return new IfcExternalReference(expressID, type, Location, Identification, Name);
  31121. }
  31122. ToTape() {
  31123. let args = [];
  31124. args.push(this.Location);
  31125. ;
  31126. args.push(this.Identification);
  31127. ;
  31128. args.push(this.Name);
  31129. ;
  31130. return args;
  31131. }
  31132. };
  31133. var IfcExternalReferenceRelationship = class {
  31134. constructor(expressID, type, Name, Description, RelatingReference, RelatedResourceObjects) {
  31135. this.expressID = expressID;
  31136. this.type = type;
  31137. this.Name = Name;
  31138. this.Description = Description;
  31139. this.RelatingReference = RelatingReference;
  31140. this.RelatedResourceObjects = RelatedResourceObjects;
  31141. }
  31142. static FromTape(expressID, type, tape) {
  31143. let ptr = 0;
  31144. let Name = tape[ptr++];
  31145. let Description = tape[ptr++];
  31146. let RelatingReference = tape[ptr++];
  31147. let RelatedResourceObjects = tape[ptr++];
  31148. return new IfcExternalReferenceRelationship(expressID, type, Name, Description, RelatingReference, RelatedResourceObjects);
  31149. }
  31150. ToTape() {
  31151. let args = [];
  31152. args.push(this.Name);
  31153. ;
  31154. args.push(this.Description);
  31155. ;
  31156. args.push(this.RelatingReference);
  31157. ;
  31158. args.push(this.RelatedResourceObjects);
  31159. ;
  31160. return args;
  31161. }
  31162. };
  31163. var IfcExternalSpatialElement = class {
  31164. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) {
  31165. this.expressID = expressID;
  31166. this.type = type;
  31167. this.GlobalId = GlobalId;
  31168. this.OwnerHistory = OwnerHistory;
  31169. this.Name = Name;
  31170. this.Description = Description;
  31171. this.ObjectType = ObjectType;
  31172. this.ObjectPlacement = ObjectPlacement;
  31173. this.Representation = Representation;
  31174. this.LongName = LongName;
  31175. this.PredefinedType = PredefinedType;
  31176. }
  31177. static FromTape(expressID, type, tape) {
  31178. let ptr = 0;
  31179. let GlobalId = tape[ptr++];
  31180. let OwnerHistory = tape[ptr++];
  31181. let Name = tape[ptr++];
  31182. let Description = tape[ptr++];
  31183. let ObjectType = tape[ptr++];
  31184. let ObjectPlacement = tape[ptr++];
  31185. let Representation = tape[ptr++];
  31186. let LongName = tape[ptr++];
  31187. let PredefinedType = tape[ptr++];
  31188. return new IfcExternalSpatialElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType);
  31189. }
  31190. ToTape() {
  31191. let args = [];
  31192. args.push(this.GlobalId);
  31193. ;
  31194. args.push(this.OwnerHistory);
  31195. ;
  31196. args.push(this.Name);
  31197. ;
  31198. args.push(this.Description);
  31199. ;
  31200. args.push(this.ObjectType);
  31201. ;
  31202. args.push(this.ObjectPlacement);
  31203. ;
  31204. args.push(this.Representation);
  31205. ;
  31206. args.push(this.LongName);
  31207. ;
  31208. args.push(this.PredefinedType);
  31209. ;
  31210. return args;
  31211. }
  31212. };
  31213. var IfcExternalSpatialStructureElement = class {
  31214. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) {
  31215. this.expressID = expressID;
  31216. this.type = type;
  31217. this.GlobalId = GlobalId;
  31218. this.OwnerHistory = OwnerHistory;
  31219. this.Name = Name;
  31220. this.Description = Description;
  31221. this.ObjectType = ObjectType;
  31222. this.ObjectPlacement = ObjectPlacement;
  31223. this.Representation = Representation;
  31224. this.LongName = LongName;
  31225. }
  31226. static FromTape(expressID, type, tape) {
  31227. let ptr = 0;
  31228. let GlobalId = tape[ptr++];
  31229. let OwnerHistory = tape[ptr++];
  31230. let Name = tape[ptr++];
  31231. let Description = tape[ptr++];
  31232. let ObjectType = tape[ptr++];
  31233. let ObjectPlacement = tape[ptr++];
  31234. let Representation = tape[ptr++];
  31235. let LongName = tape[ptr++];
  31236. return new IfcExternalSpatialStructureElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
  31237. }
  31238. ToTape() {
  31239. let args = [];
  31240. args.push(this.GlobalId);
  31241. ;
  31242. args.push(this.OwnerHistory);
  31243. ;
  31244. args.push(this.Name);
  31245. ;
  31246. args.push(this.Description);
  31247. ;
  31248. args.push(this.ObjectType);
  31249. ;
  31250. args.push(this.ObjectPlacement);
  31251. ;
  31252. args.push(this.Representation);
  31253. ;
  31254. args.push(this.LongName);
  31255. ;
  31256. return args;
  31257. }
  31258. };
  31259. var IfcExternallyDefinedHatchStyle = class {
  31260. constructor(expressID, type, Location, Identification, Name) {
  31261. this.expressID = expressID;
  31262. this.type = type;
  31263. this.Location = Location;
  31264. this.Identification = Identification;
  31265. this.Name = Name;
  31266. }
  31267. static FromTape(expressID, type, tape) {
  31268. let ptr = 0;
  31269. let Location = tape[ptr++];
  31270. let Identification = tape[ptr++];
  31271. let Name = tape[ptr++];
  31272. return new IfcExternallyDefinedHatchStyle(expressID, type, Location, Identification, Name);
  31273. }
  31274. ToTape() {
  31275. let args = [];
  31276. args.push(this.Location);
  31277. ;
  31278. args.push(this.Identification);
  31279. ;
  31280. args.push(this.Name);
  31281. ;
  31282. return args;
  31283. }
  31284. };
  31285. var IfcExternallyDefinedSurfaceStyle = class {
  31286. constructor(expressID, type, Location, Identification, Name) {
  31287. this.expressID = expressID;
  31288. this.type = type;
  31289. this.Location = Location;
  31290. this.Identification = Identification;
  31291. this.Name = Name;
  31292. }
  31293. static FromTape(expressID, type, tape) {
  31294. let ptr = 0;
  31295. let Location = tape[ptr++];
  31296. let Identification = tape[ptr++];
  31297. let Name = tape[ptr++];
  31298. return new IfcExternallyDefinedSurfaceStyle(expressID, type, Location, Identification, Name);
  31299. }
  31300. ToTape() {
  31301. let args = [];
  31302. args.push(this.Location);
  31303. ;
  31304. args.push(this.Identification);
  31305. ;
  31306. args.push(this.Name);
  31307. ;
  31308. return args;
  31309. }
  31310. };
  31311. var IfcExternallyDefinedTextFont = class {
  31312. constructor(expressID, type, Location, Identification, Name) {
  31313. this.expressID = expressID;
  31314. this.type = type;
  31315. this.Location = Location;
  31316. this.Identification = Identification;
  31317. this.Name = Name;
  31318. }
  31319. static FromTape(expressID, type, tape) {
  31320. let ptr = 0;
  31321. let Location = tape[ptr++];
  31322. let Identification = tape[ptr++];
  31323. let Name = tape[ptr++];
  31324. return new IfcExternallyDefinedTextFont(expressID, type, Location, Identification, Name);
  31325. }
  31326. ToTape() {
  31327. let args = [];
  31328. args.push(this.Location);
  31329. ;
  31330. args.push(this.Identification);
  31331. ;
  31332. args.push(this.Name);
  31333. ;
  31334. return args;
  31335. }
  31336. };
  31337. var IfcExtrudedAreaSolid = class {
  31338. constructor(expressID, type, SweptArea, Position, ExtrudedDirection, Depth) {
  31339. this.expressID = expressID;
  31340. this.type = type;
  31341. this.SweptArea = SweptArea;
  31342. this.Position = Position;
  31343. this.ExtrudedDirection = ExtrudedDirection;
  31344. this.Depth = Depth;
  31345. }
  31346. static FromTape(expressID, type, tape) {
  31347. let ptr = 0;
  31348. let SweptArea = tape[ptr++];
  31349. let Position = tape[ptr++];
  31350. let ExtrudedDirection = tape[ptr++];
  31351. let Depth = tape[ptr++];
  31352. return new IfcExtrudedAreaSolid(expressID, type, SweptArea, Position, ExtrudedDirection, Depth);
  31353. }
  31354. ToTape() {
  31355. let args = [];
  31356. args.push(this.SweptArea);
  31357. ;
  31358. args.push(this.Position);
  31359. ;
  31360. args.push(this.ExtrudedDirection);
  31361. ;
  31362. args.push(this.Depth);
  31363. ;
  31364. return args;
  31365. }
  31366. };
  31367. var IfcExtrudedAreaSolidTapered = class {
  31368. constructor(expressID, type, SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) {
  31369. this.expressID = expressID;
  31370. this.type = type;
  31371. this.SweptArea = SweptArea;
  31372. this.Position = Position;
  31373. this.ExtrudedDirection = ExtrudedDirection;
  31374. this.Depth = Depth;
  31375. this.EndSweptArea = EndSweptArea;
  31376. }
  31377. static FromTape(expressID, type, tape) {
  31378. let ptr = 0;
  31379. let SweptArea = tape[ptr++];
  31380. let Position = tape[ptr++];
  31381. let ExtrudedDirection = tape[ptr++];
  31382. let Depth = tape[ptr++];
  31383. let EndSweptArea = tape[ptr++];
  31384. return new IfcExtrudedAreaSolidTapered(expressID, type, SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea);
  31385. }
  31386. ToTape() {
  31387. let args = [];
  31388. args.push(this.SweptArea);
  31389. ;
  31390. args.push(this.Position);
  31391. ;
  31392. args.push(this.ExtrudedDirection);
  31393. ;
  31394. args.push(this.Depth);
  31395. ;
  31396. args.push(this.EndSweptArea);
  31397. ;
  31398. return args;
  31399. }
  31400. };
  31401. var IfcFace = class {
  31402. constructor(expressID, type, Bounds) {
  31403. this.expressID = expressID;
  31404. this.type = type;
  31405. this.Bounds = Bounds;
  31406. }
  31407. static FromTape(expressID, type, tape) {
  31408. let ptr = 0;
  31409. let Bounds = tape[ptr++];
  31410. return new IfcFace(expressID, type, Bounds);
  31411. }
  31412. ToTape() {
  31413. let args = [];
  31414. args.push(this.Bounds);
  31415. ;
  31416. return args;
  31417. }
  31418. };
  31419. var IfcFaceBasedSurfaceModel = class {
  31420. constructor(expressID, type, FbsmFaces) {
  31421. this.expressID = expressID;
  31422. this.type = type;
  31423. this.FbsmFaces = FbsmFaces;
  31424. }
  31425. static FromTape(expressID, type, tape) {
  31426. let ptr = 0;
  31427. let FbsmFaces = tape[ptr++];
  31428. return new IfcFaceBasedSurfaceModel(expressID, type, FbsmFaces);
  31429. }
  31430. ToTape() {
  31431. let args = [];
  31432. args.push(this.FbsmFaces);
  31433. ;
  31434. return args;
  31435. }
  31436. };
  31437. var IfcFaceBound = class {
  31438. constructor(expressID, type, Bound, Orientation) {
  31439. this.expressID = expressID;
  31440. this.type = type;
  31441. this.Bound = Bound;
  31442. this.Orientation = Orientation;
  31443. }
  31444. static FromTape(expressID, type, tape) {
  31445. let ptr = 0;
  31446. let Bound = tape[ptr++];
  31447. let Orientation = tape[ptr++];
  31448. return new IfcFaceBound(expressID, type, Bound, Orientation);
  31449. }
  31450. ToTape() {
  31451. let args = [];
  31452. args.push(this.Bound);
  31453. ;
  31454. args.push(this.Orientation);
  31455. ;
  31456. return args;
  31457. }
  31458. };
  31459. var IfcFaceOuterBound = class {
  31460. constructor(expressID, type, Bound, Orientation) {
  31461. this.expressID = expressID;
  31462. this.type = type;
  31463. this.Bound = Bound;
  31464. this.Orientation = Orientation;
  31465. }
  31466. static FromTape(expressID, type, tape) {
  31467. let ptr = 0;
  31468. let Bound = tape[ptr++];
  31469. let Orientation = tape[ptr++];
  31470. return new IfcFaceOuterBound(expressID, type, Bound, Orientation);
  31471. }
  31472. ToTape() {
  31473. let args = [];
  31474. args.push(this.Bound);
  31475. ;
  31476. args.push(this.Orientation);
  31477. ;
  31478. return args;
  31479. }
  31480. };
  31481. var IfcFaceSurface = class {
  31482. constructor(expressID, type, Bounds, FaceSurface, SameSense) {
  31483. this.expressID = expressID;
  31484. this.type = type;
  31485. this.Bounds = Bounds;
  31486. this.FaceSurface = FaceSurface;
  31487. this.SameSense = SameSense;
  31488. }
  31489. static FromTape(expressID, type, tape) {
  31490. let ptr = 0;
  31491. let Bounds = tape[ptr++];
  31492. let FaceSurface = tape[ptr++];
  31493. let SameSense = tape[ptr++];
  31494. return new IfcFaceSurface(expressID, type, Bounds, FaceSurface, SameSense);
  31495. }
  31496. ToTape() {
  31497. let args = [];
  31498. args.push(this.Bounds);
  31499. ;
  31500. args.push(this.FaceSurface);
  31501. ;
  31502. args.push(this.SameSense);
  31503. ;
  31504. return args;
  31505. }
  31506. };
  31507. var IfcFacetedBrep = class {
  31508. constructor(expressID, type, Outer) {
  31509. this.expressID = expressID;
  31510. this.type = type;
  31511. this.Outer = Outer;
  31512. }
  31513. static FromTape(expressID, type, tape) {
  31514. let ptr = 0;
  31515. let Outer = tape[ptr++];
  31516. return new IfcFacetedBrep(expressID, type, Outer);
  31517. }
  31518. ToTape() {
  31519. let args = [];
  31520. args.push(this.Outer);
  31521. ;
  31522. return args;
  31523. }
  31524. };
  31525. var IfcFacetedBrepWithVoids = class {
  31526. constructor(expressID, type, Outer, Voids) {
  31527. this.expressID = expressID;
  31528. this.type = type;
  31529. this.Outer = Outer;
  31530. this.Voids = Voids;
  31531. }
  31532. static FromTape(expressID, type, tape) {
  31533. let ptr = 0;
  31534. let Outer = tape[ptr++];
  31535. let Voids = tape[ptr++];
  31536. return new IfcFacetedBrepWithVoids(expressID, type, Outer, Voids);
  31537. }
  31538. ToTape() {
  31539. let args = [];
  31540. args.push(this.Outer);
  31541. ;
  31542. args.push(this.Voids);
  31543. ;
  31544. return args;
  31545. }
  31546. };
  31547. var IfcFacility = class {
  31548. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
  31549. this.expressID = expressID;
  31550. this.type = type;
  31551. this.GlobalId = GlobalId;
  31552. this.OwnerHistory = OwnerHistory;
  31553. this.Name = Name;
  31554. this.Description = Description;
  31555. this.ObjectType = ObjectType;
  31556. this.ObjectPlacement = ObjectPlacement;
  31557. this.Representation = Representation;
  31558. this.LongName = LongName;
  31559. this.CompositionType = CompositionType;
  31560. }
  31561. static FromTape(expressID, type, tape) {
  31562. let ptr = 0;
  31563. let GlobalId = tape[ptr++];
  31564. let OwnerHistory = tape[ptr++];
  31565. let Name = tape[ptr++];
  31566. let Description = tape[ptr++];
  31567. let ObjectType = tape[ptr++];
  31568. let ObjectPlacement = tape[ptr++];
  31569. let Representation = tape[ptr++];
  31570. let LongName = tape[ptr++];
  31571. let CompositionType = tape[ptr++];
  31572. return new IfcFacility(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
  31573. }
  31574. ToTape() {
  31575. let args = [];
  31576. args.push(this.GlobalId);
  31577. ;
  31578. args.push(this.OwnerHistory);
  31579. ;
  31580. args.push(this.Name);
  31581. ;
  31582. args.push(this.Description);
  31583. ;
  31584. args.push(this.ObjectType);
  31585. ;
  31586. args.push(this.ObjectPlacement);
  31587. ;
  31588. args.push(this.Representation);
  31589. ;
  31590. args.push(this.LongName);
  31591. ;
  31592. args.push(this.CompositionType);
  31593. ;
  31594. return args;
  31595. }
  31596. };
  31597. var IfcFacilityPart = class {
  31598. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
  31599. this.expressID = expressID;
  31600. this.type = type;
  31601. this.GlobalId = GlobalId;
  31602. this.OwnerHistory = OwnerHistory;
  31603. this.Name = Name;
  31604. this.Description = Description;
  31605. this.ObjectType = ObjectType;
  31606. this.ObjectPlacement = ObjectPlacement;
  31607. this.Representation = Representation;
  31608. this.LongName = LongName;
  31609. this.CompositionType = CompositionType;
  31610. }
  31611. static FromTape(expressID, type, tape) {
  31612. let ptr = 0;
  31613. let GlobalId = tape[ptr++];
  31614. let OwnerHistory = tape[ptr++];
  31615. let Name = tape[ptr++];
  31616. let Description = tape[ptr++];
  31617. let ObjectType = tape[ptr++];
  31618. let ObjectPlacement = tape[ptr++];
  31619. let Representation = tape[ptr++];
  31620. let LongName = tape[ptr++];
  31621. let CompositionType = tape[ptr++];
  31622. return new IfcFacilityPart(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
  31623. }
  31624. ToTape() {
  31625. let args = [];
  31626. args.push(this.GlobalId);
  31627. ;
  31628. args.push(this.OwnerHistory);
  31629. ;
  31630. args.push(this.Name);
  31631. ;
  31632. args.push(this.Description);
  31633. ;
  31634. args.push(this.ObjectType);
  31635. ;
  31636. args.push(this.ObjectPlacement);
  31637. ;
  31638. args.push(this.Representation);
  31639. ;
  31640. args.push(this.LongName);
  31641. ;
  31642. args.push(this.CompositionType);
  31643. ;
  31644. return args;
  31645. }
  31646. };
  31647. var IfcFailureConnectionCondition = class {
  31648. constructor(expressID, type, Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) {
  31649. this.expressID = expressID;
  31650. this.type = type;
  31651. this.Name = Name;
  31652. this.TensionFailureX = TensionFailureX;
  31653. this.TensionFailureY = TensionFailureY;
  31654. this.TensionFailureZ = TensionFailureZ;
  31655. this.CompressionFailureX = CompressionFailureX;
  31656. this.CompressionFailureY = CompressionFailureY;
  31657. this.CompressionFailureZ = CompressionFailureZ;
  31658. }
  31659. static FromTape(expressID, type, tape) {
  31660. let ptr = 0;
  31661. let Name = tape[ptr++];
  31662. let TensionFailureX = tape[ptr++];
  31663. let TensionFailureY = tape[ptr++];
  31664. let TensionFailureZ = tape[ptr++];
  31665. let CompressionFailureX = tape[ptr++];
  31666. let CompressionFailureY = tape[ptr++];
  31667. let CompressionFailureZ = tape[ptr++];
  31668. return new IfcFailureConnectionCondition(expressID, type, Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ);
  31669. }
  31670. ToTape() {
  31671. let args = [];
  31672. args.push(this.Name);
  31673. ;
  31674. args.push(this.TensionFailureX);
  31675. ;
  31676. args.push(this.TensionFailureY);
  31677. ;
  31678. args.push(this.TensionFailureZ);
  31679. ;
  31680. args.push(this.CompressionFailureX);
  31681. ;
  31682. args.push(this.CompressionFailureY);
  31683. ;
  31684. args.push(this.CompressionFailureZ);
  31685. ;
  31686. return args;
  31687. }
  31688. };
  31689. var IfcFan = class {
  31690. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  31691. this.expressID = expressID;
  31692. this.type = type;
  31693. this.GlobalId = GlobalId;
  31694. this.OwnerHistory = OwnerHistory;
  31695. this.Name = Name;
  31696. this.Description = Description;
  31697. this.ObjectType = ObjectType;
  31698. this.ObjectPlacement = ObjectPlacement;
  31699. this.Representation = Representation;
  31700. this.Tag = Tag;
  31701. this.PredefinedType = PredefinedType;
  31702. }
  31703. static FromTape(expressID, type, tape) {
  31704. let ptr = 0;
  31705. let GlobalId = tape[ptr++];
  31706. let OwnerHistory = tape[ptr++];
  31707. let Name = tape[ptr++];
  31708. let Description = tape[ptr++];
  31709. let ObjectType = tape[ptr++];
  31710. let ObjectPlacement = tape[ptr++];
  31711. let Representation = tape[ptr++];
  31712. let Tag = tape[ptr++];
  31713. let PredefinedType = tape[ptr++];
  31714. return new IfcFan(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  31715. }
  31716. ToTape() {
  31717. let args = [];
  31718. args.push(this.GlobalId);
  31719. ;
  31720. args.push(this.OwnerHistory);
  31721. ;
  31722. args.push(this.Name);
  31723. ;
  31724. args.push(this.Description);
  31725. ;
  31726. args.push(this.ObjectType);
  31727. ;
  31728. args.push(this.ObjectPlacement);
  31729. ;
  31730. args.push(this.Representation);
  31731. ;
  31732. args.push(this.Tag);
  31733. ;
  31734. args.push(this.PredefinedType);
  31735. ;
  31736. return args;
  31737. }
  31738. };
  31739. var IfcFanType = class {
  31740. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  31741. this.expressID = expressID;
  31742. this.type = type;
  31743. this.GlobalId = GlobalId;
  31744. this.OwnerHistory = OwnerHistory;
  31745. this.Name = Name;
  31746. this.Description = Description;
  31747. this.ApplicableOccurrence = ApplicableOccurrence;
  31748. this.HasPropertySets = HasPropertySets;
  31749. this.RepresentationMaps = RepresentationMaps;
  31750. this.Tag = Tag;
  31751. this.ElementType = ElementType;
  31752. this.PredefinedType = PredefinedType;
  31753. }
  31754. static FromTape(expressID, type, tape) {
  31755. let ptr = 0;
  31756. let GlobalId = tape[ptr++];
  31757. let OwnerHistory = tape[ptr++];
  31758. let Name = tape[ptr++];
  31759. let Description = tape[ptr++];
  31760. let ApplicableOccurrence = tape[ptr++];
  31761. let HasPropertySets = tape[ptr++];
  31762. let RepresentationMaps = tape[ptr++];
  31763. let Tag = tape[ptr++];
  31764. let ElementType = tape[ptr++];
  31765. let PredefinedType = tape[ptr++];
  31766. return new IfcFanType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  31767. }
  31768. ToTape() {
  31769. let args = [];
  31770. args.push(this.GlobalId);
  31771. ;
  31772. args.push(this.OwnerHistory);
  31773. ;
  31774. args.push(this.Name);
  31775. ;
  31776. args.push(this.Description);
  31777. ;
  31778. args.push(this.ApplicableOccurrence);
  31779. ;
  31780. args.push(this.HasPropertySets);
  31781. ;
  31782. args.push(this.RepresentationMaps);
  31783. ;
  31784. args.push(this.Tag);
  31785. ;
  31786. args.push(this.ElementType);
  31787. ;
  31788. args.push(this.PredefinedType);
  31789. ;
  31790. return args;
  31791. }
  31792. };
  31793. var IfcFastener = class {
  31794. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  31795. this.expressID = expressID;
  31796. this.type = type;
  31797. this.GlobalId = GlobalId;
  31798. this.OwnerHistory = OwnerHistory;
  31799. this.Name = Name;
  31800. this.Description = Description;
  31801. this.ObjectType = ObjectType;
  31802. this.ObjectPlacement = ObjectPlacement;
  31803. this.Representation = Representation;
  31804. this.Tag = Tag;
  31805. this.PredefinedType = PredefinedType;
  31806. }
  31807. static FromTape(expressID, type, tape) {
  31808. let ptr = 0;
  31809. let GlobalId = tape[ptr++];
  31810. let OwnerHistory = tape[ptr++];
  31811. let Name = tape[ptr++];
  31812. let Description = tape[ptr++];
  31813. let ObjectType = tape[ptr++];
  31814. let ObjectPlacement = tape[ptr++];
  31815. let Representation = tape[ptr++];
  31816. let Tag = tape[ptr++];
  31817. let PredefinedType = tape[ptr++];
  31818. return new IfcFastener(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  31819. }
  31820. ToTape() {
  31821. let args = [];
  31822. args.push(this.GlobalId);
  31823. ;
  31824. args.push(this.OwnerHistory);
  31825. ;
  31826. args.push(this.Name);
  31827. ;
  31828. args.push(this.Description);
  31829. ;
  31830. args.push(this.ObjectType);
  31831. ;
  31832. args.push(this.ObjectPlacement);
  31833. ;
  31834. args.push(this.Representation);
  31835. ;
  31836. args.push(this.Tag);
  31837. ;
  31838. args.push(this.PredefinedType);
  31839. ;
  31840. return args;
  31841. }
  31842. };
  31843. var IfcFastenerType = class {
  31844. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  31845. this.expressID = expressID;
  31846. this.type = type;
  31847. this.GlobalId = GlobalId;
  31848. this.OwnerHistory = OwnerHistory;
  31849. this.Name = Name;
  31850. this.Description = Description;
  31851. this.ApplicableOccurrence = ApplicableOccurrence;
  31852. this.HasPropertySets = HasPropertySets;
  31853. this.RepresentationMaps = RepresentationMaps;
  31854. this.Tag = Tag;
  31855. this.ElementType = ElementType;
  31856. this.PredefinedType = PredefinedType;
  31857. }
  31858. static FromTape(expressID, type, tape) {
  31859. let ptr = 0;
  31860. let GlobalId = tape[ptr++];
  31861. let OwnerHistory = tape[ptr++];
  31862. let Name = tape[ptr++];
  31863. let Description = tape[ptr++];
  31864. let ApplicableOccurrence = tape[ptr++];
  31865. let HasPropertySets = tape[ptr++];
  31866. let RepresentationMaps = tape[ptr++];
  31867. let Tag = tape[ptr++];
  31868. let ElementType = tape[ptr++];
  31869. let PredefinedType = tape[ptr++];
  31870. return new IfcFastenerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  31871. }
  31872. ToTape() {
  31873. let args = [];
  31874. args.push(this.GlobalId);
  31875. ;
  31876. args.push(this.OwnerHistory);
  31877. ;
  31878. args.push(this.Name);
  31879. ;
  31880. args.push(this.Description);
  31881. ;
  31882. args.push(this.ApplicableOccurrence);
  31883. ;
  31884. args.push(this.HasPropertySets);
  31885. ;
  31886. args.push(this.RepresentationMaps);
  31887. ;
  31888. args.push(this.Tag);
  31889. ;
  31890. args.push(this.ElementType);
  31891. ;
  31892. args.push(this.PredefinedType);
  31893. ;
  31894. return args;
  31895. }
  31896. };
  31897. var IfcFeatureElement = class {
  31898. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  31899. this.expressID = expressID;
  31900. this.type = type;
  31901. this.GlobalId = GlobalId;
  31902. this.OwnerHistory = OwnerHistory;
  31903. this.Name = Name;
  31904. this.Description = Description;
  31905. this.ObjectType = ObjectType;
  31906. this.ObjectPlacement = ObjectPlacement;
  31907. this.Representation = Representation;
  31908. this.Tag = Tag;
  31909. }
  31910. static FromTape(expressID, type, tape) {
  31911. let ptr = 0;
  31912. let GlobalId = tape[ptr++];
  31913. let OwnerHistory = tape[ptr++];
  31914. let Name = tape[ptr++];
  31915. let Description = tape[ptr++];
  31916. let ObjectType = tape[ptr++];
  31917. let ObjectPlacement = tape[ptr++];
  31918. let Representation = tape[ptr++];
  31919. let Tag = tape[ptr++];
  31920. return new IfcFeatureElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  31921. }
  31922. ToTape() {
  31923. let args = [];
  31924. args.push(this.GlobalId);
  31925. ;
  31926. args.push(this.OwnerHistory);
  31927. ;
  31928. args.push(this.Name);
  31929. ;
  31930. args.push(this.Description);
  31931. ;
  31932. args.push(this.ObjectType);
  31933. ;
  31934. args.push(this.ObjectPlacement);
  31935. ;
  31936. args.push(this.Representation);
  31937. ;
  31938. args.push(this.Tag);
  31939. ;
  31940. return args;
  31941. }
  31942. };
  31943. var IfcFeatureElementAddition = class {
  31944. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  31945. this.expressID = expressID;
  31946. this.type = type;
  31947. this.GlobalId = GlobalId;
  31948. this.OwnerHistory = OwnerHistory;
  31949. this.Name = Name;
  31950. this.Description = Description;
  31951. this.ObjectType = ObjectType;
  31952. this.ObjectPlacement = ObjectPlacement;
  31953. this.Representation = Representation;
  31954. this.Tag = Tag;
  31955. }
  31956. static FromTape(expressID, type, tape) {
  31957. let ptr = 0;
  31958. let GlobalId = tape[ptr++];
  31959. let OwnerHistory = tape[ptr++];
  31960. let Name = tape[ptr++];
  31961. let Description = tape[ptr++];
  31962. let ObjectType = tape[ptr++];
  31963. let ObjectPlacement = tape[ptr++];
  31964. let Representation = tape[ptr++];
  31965. let Tag = tape[ptr++];
  31966. return new IfcFeatureElementAddition(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  31967. }
  31968. ToTape() {
  31969. let args = [];
  31970. args.push(this.GlobalId);
  31971. ;
  31972. args.push(this.OwnerHistory);
  31973. ;
  31974. args.push(this.Name);
  31975. ;
  31976. args.push(this.Description);
  31977. ;
  31978. args.push(this.ObjectType);
  31979. ;
  31980. args.push(this.ObjectPlacement);
  31981. ;
  31982. args.push(this.Representation);
  31983. ;
  31984. args.push(this.Tag);
  31985. ;
  31986. return args;
  31987. }
  31988. };
  31989. var IfcFeatureElementSubtraction = class {
  31990. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  31991. this.expressID = expressID;
  31992. this.type = type;
  31993. this.GlobalId = GlobalId;
  31994. this.OwnerHistory = OwnerHistory;
  31995. this.Name = Name;
  31996. this.Description = Description;
  31997. this.ObjectType = ObjectType;
  31998. this.ObjectPlacement = ObjectPlacement;
  31999. this.Representation = Representation;
  32000. this.Tag = Tag;
  32001. }
  32002. static FromTape(expressID, type, tape) {
  32003. let ptr = 0;
  32004. let GlobalId = tape[ptr++];
  32005. let OwnerHistory = tape[ptr++];
  32006. let Name = tape[ptr++];
  32007. let Description = tape[ptr++];
  32008. let ObjectType = tape[ptr++];
  32009. let ObjectPlacement = tape[ptr++];
  32010. let Representation = tape[ptr++];
  32011. let Tag = tape[ptr++];
  32012. return new IfcFeatureElementSubtraction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  32013. }
  32014. ToTape() {
  32015. let args = [];
  32016. args.push(this.GlobalId);
  32017. ;
  32018. args.push(this.OwnerHistory);
  32019. ;
  32020. args.push(this.Name);
  32021. ;
  32022. args.push(this.Description);
  32023. ;
  32024. args.push(this.ObjectType);
  32025. ;
  32026. args.push(this.ObjectPlacement);
  32027. ;
  32028. args.push(this.Representation);
  32029. ;
  32030. args.push(this.Tag);
  32031. ;
  32032. return args;
  32033. }
  32034. };
  32035. var IfcFillAreaStyle = class {
  32036. constructor(expressID, type, Name, FillStyles, ModelorDraughting) {
  32037. this.expressID = expressID;
  32038. this.type = type;
  32039. this.Name = Name;
  32040. this.FillStyles = FillStyles;
  32041. this.ModelorDraughting = ModelorDraughting;
  32042. }
  32043. static FromTape(expressID, type, tape) {
  32044. let ptr = 0;
  32045. let Name = tape[ptr++];
  32046. let FillStyles = tape[ptr++];
  32047. let ModelorDraughting = tape[ptr++];
  32048. return new IfcFillAreaStyle(expressID, type, Name, FillStyles, ModelorDraughting);
  32049. }
  32050. ToTape() {
  32051. let args = [];
  32052. args.push(this.Name);
  32053. ;
  32054. args.push(this.FillStyles);
  32055. ;
  32056. args.push(this.ModelorDraughting);
  32057. ;
  32058. return args;
  32059. }
  32060. };
  32061. var IfcFillAreaStyleHatching = class {
  32062. constructor(expressID, type, HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) {
  32063. this.expressID = expressID;
  32064. this.type = type;
  32065. this.HatchLineAppearance = HatchLineAppearance;
  32066. this.StartOfNextHatchLine = StartOfNextHatchLine;
  32067. this.PointOfReferenceHatchLine = PointOfReferenceHatchLine;
  32068. this.PatternStart = PatternStart;
  32069. this.HatchLineAngle = HatchLineAngle;
  32070. }
  32071. static FromTape(expressID, type, tape) {
  32072. let ptr = 0;
  32073. let HatchLineAppearance = tape[ptr++];
  32074. let StartOfNextHatchLine = tape[ptr++];
  32075. let PointOfReferenceHatchLine = tape[ptr++];
  32076. let PatternStart = tape[ptr++];
  32077. let HatchLineAngle = tape[ptr++];
  32078. return new IfcFillAreaStyleHatching(expressID, type, HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle);
  32079. }
  32080. ToTape() {
  32081. let args = [];
  32082. args.push(this.HatchLineAppearance);
  32083. ;
  32084. args.push(this.StartOfNextHatchLine);
  32085. ;
  32086. args.push(this.PointOfReferenceHatchLine);
  32087. ;
  32088. args.push(this.PatternStart);
  32089. ;
  32090. args.push(this.HatchLineAngle);
  32091. ;
  32092. return args;
  32093. }
  32094. };
  32095. var IfcFillAreaStyleTiles = class {
  32096. constructor(expressID, type, TilingPattern, Tiles, TilingScale) {
  32097. this.expressID = expressID;
  32098. this.type = type;
  32099. this.TilingPattern = TilingPattern;
  32100. this.Tiles = Tiles;
  32101. this.TilingScale = TilingScale;
  32102. }
  32103. static FromTape(expressID, type, tape) {
  32104. let ptr = 0;
  32105. let TilingPattern = tape[ptr++];
  32106. let Tiles = tape[ptr++];
  32107. let TilingScale = tape[ptr++];
  32108. return new IfcFillAreaStyleTiles(expressID, type, TilingPattern, Tiles, TilingScale);
  32109. }
  32110. ToTape() {
  32111. let args = [];
  32112. args.push(this.TilingPattern);
  32113. ;
  32114. args.push(this.Tiles);
  32115. ;
  32116. args.push(this.TilingScale);
  32117. ;
  32118. return args;
  32119. }
  32120. };
  32121. var IfcFilter = class {
  32122. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  32123. this.expressID = expressID;
  32124. this.type = type;
  32125. this.GlobalId = GlobalId;
  32126. this.OwnerHistory = OwnerHistory;
  32127. this.Name = Name;
  32128. this.Description = Description;
  32129. this.ObjectType = ObjectType;
  32130. this.ObjectPlacement = ObjectPlacement;
  32131. this.Representation = Representation;
  32132. this.Tag = Tag;
  32133. this.PredefinedType = PredefinedType;
  32134. }
  32135. static FromTape(expressID, type, tape) {
  32136. let ptr = 0;
  32137. let GlobalId = tape[ptr++];
  32138. let OwnerHistory = tape[ptr++];
  32139. let Name = tape[ptr++];
  32140. let Description = tape[ptr++];
  32141. let ObjectType = tape[ptr++];
  32142. let ObjectPlacement = tape[ptr++];
  32143. let Representation = tape[ptr++];
  32144. let Tag = tape[ptr++];
  32145. let PredefinedType = tape[ptr++];
  32146. return new IfcFilter(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  32147. }
  32148. ToTape() {
  32149. let args = [];
  32150. args.push(this.GlobalId);
  32151. ;
  32152. args.push(this.OwnerHistory);
  32153. ;
  32154. args.push(this.Name);
  32155. ;
  32156. args.push(this.Description);
  32157. ;
  32158. args.push(this.ObjectType);
  32159. ;
  32160. args.push(this.ObjectPlacement);
  32161. ;
  32162. args.push(this.Representation);
  32163. ;
  32164. args.push(this.Tag);
  32165. ;
  32166. args.push(this.PredefinedType);
  32167. ;
  32168. return args;
  32169. }
  32170. };
  32171. var IfcFilterType = class {
  32172. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  32173. this.expressID = expressID;
  32174. this.type = type;
  32175. this.GlobalId = GlobalId;
  32176. this.OwnerHistory = OwnerHistory;
  32177. this.Name = Name;
  32178. this.Description = Description;
  32179. this.ApplicableOccurrence = ApplicableOccurrence;
  32180. this.HasPropertySets = HasPropertySets;
  32181. this.RepresentationMaps = RepresentationMaps;
  32182. this.Tag = Tag;
  32183. this.ElementType = ElementType;
  32184. this.PredefinedType = PredefinedType;
  32185. }
  32186. static FromTape(expressID, type, tape) {
  32187. let ptr = 0;
  32188. let GlobalId = tape[ptr++];
  32189. let OwnerHistory = tape[ptr++];
  32190. let Name = tape[ptr++];
  32191. let Description = tape[ptr++];
  32192. let ApplicableOccurrence = tape[ptr++];
  32193. let HasPropertySets = tape[ptr++];
  32194. let RepresentationMaps = tape[ptr++];
  32195. let Tag = tape[ptr++];
  32196. let ElementType = tape[ptr++];
  32197. let PredefinedType = tape[ptr++];
  32198. return new IfcFilterType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  32199. }
  32200. ToTape() {
  32201. let args = [];
  32202. args.push(this.GlobalId);
  32203. ;
  32204. args.push(this.OwnerHistory);
  32205. ;
  32206. args.push(this.Name);
  32207. ;
  32208. args.push(this.Description);
  32209. ;
  32210. args.push(this.ApplicableOccurrence);
  32211. ;
  32212. args.push(this.HasPropertySets);
  32213. ;
  32214. args.push(this.RepresentationMaps);
  32215. ;
  32216. args.push(this.Tag);
  32217. ;
  32218. args.push(this.ElementType);
  32219. ;
  32220. args.push(this.PredefinedType);
  32221. ;
  32222. return args;
  32223. }
  32224. };
  32225. var IfcFireSuppressionTerminal = class {
  32226. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  32227. this.expressID = expressID;
  32228. this.type = type;
  32229. this.GlobalId = GlobalId;
  32230. this.OwnerHistory = OwnerHistory;
  32231. this.Name = Name;
  32232. this.Description = Description;
  32233. this.ObjectType = ObjectType;
  32234. this.ObjectPlacement = ObjectPlacement;
  32235. this.Representation = Representation;
  32236. this.Tag = Tag;
  32237. this.PredefinedType = PredefinedType;
  32238. }
  32239. static FromTape(expressID, type, tape) {
  32240. let ptr = 0;
  32241. let GlobalId = tape[ptr++];
  32242. let OwnerHistory = tape[ptr++];
  32243. let Name = tape[ptr++];
  32244. let Description = tape[ptr++];
  32245. let ObjectType = tape[ptr++];
  32246. let ObjectPlacement = tape[ptr++];
  32247. let Representation = tape[ptr++];
  32248. let Tag = tape[ptr++];
  32249. let PredefinedType = tape[ptr++];
  32250. return new IfcFireSuppressionTerminal(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  32251. }
  32252. ToTape() {
  32253. let args = [];
  32254. args.push(this.GlobalId);
  32255. ;
  32256. args.push(this.OwnerHistory);
  32257. ;
  32258. args.push(this.Name);
  32259. ;
  32260. args.push(this.Description);
  32261. ;
  32262. args.push(this.ObjectType);
  32263. ;
  32264. args.push(this.ObjectPlacement);
  32265. ;
  32266. args.push(this.Representation);
  32267. ;
  32268. args.push(this.Tag);
  32269. ;
  32270. args.push(this.PredefinedType);
  32271. ;
  32272. return args;
  32273. }
  32274. };
  32275. var IfcFireSuppressionTerminalType = class {
  32276. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  32277. this.expressID = expressID;
  32278. this.type = type;
  32279. this.GlobalId = GlobalId;
  32280. this.OwnerHistory = OwnerHistory;
  32281. this.Name = Name;
  32282. this.Description = Description;
  32283. this.ApplicableOccurrence = ApplicableOccurrence;
  32284. this.HasPropertySets = HasPropertySets;
  32285. this.RepresentationMaps = RepresentationMaps;
  32286. this.Tag = Tag;
  32287. this.ElementType = ElementType;
  32288. this.PredefinedType = PredefinedType;
  32289. }
  32290. static FromTape(expressID, type, tape) {
  32291. let ptr = 0;
  32292. let GlobalId = tape[ptr++];
  32293. let OwnerHistory = tape[ptr++];
  32294. let Name = tape[ptr++];
  32295. let Description = tape[ptr++];
  32296. let ApplicableOccurrence = tape[ptr++];
  32297. let HasPropertySets = tape[ptr++];
  32298. let RepresentationMaps = tape[ptr++];
  32299. let Tag = tape[ptr++];
  32300. let ElementType = tape[ptr++];
  32301. let PredefinedType = tape[ptr++];
  32302. return new IfcFireSuppressionTerminalType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  32303. }
  32304. ToTape() {
  32305. let args = [];
  32306. args.push(this.GlobalId);
  32307. ;
  32308. args.push(this.OwnerHistory);
  32309. ;
  32310. args.push(this.Name);
  32311. ;
  32312. args.push(this.Description);
  32313. ;
  32314. args.push(this.ApplicableOccurrence);
  32315. ;
  32316. args.push(this.HasPropertySets);
  32317. ;
  32318. args.push(this.RepresentationMaps);
  32319. ;
  32320. args.push(this.Tag);
  32321. ;
  32322. args.push(this.ElementType);
  32323. ;
  32324. args.push(this.PredefinedType);
  32325. ;
  32326. return args;
  32327. }
  32328. };
  32329. var IfcFixedReferenceSweptAreaSolid = class {
  32330. constructor(expressID, type, SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) {
  32331. this.expressID = expressID;
  32332. this.type = type;
  32333. this.SweptArea = SweptArea;
  32334. this.Position = Position;
  32335. this.Directrix = Directrix;
  32336. this.StartParam = StartParam;
  32337. this.EndParam = EndParam;
  32338. this.FixedReference = FixedReference;
  32339. }
  32340. static FromTape(expressID, type, tape) {
  32341. let ptr = 0;
  32342. let SweptArea = tape[ptr++];
  32343. let Position = tape[ptr++];
  32344. let Directrix = tape[ptr++];
  32345. let StartParam = tape[ptr++];
  32346. let EndParam = tape[ptr++];
  32347. let FixedReference = tape[ptr++];
  32348. return new IfcFixedReferenceSweptAreaSolid(expressID, type, SweptArea, Position, Directrix, StartParam, EndParam, FixedReference);
  32349. }
  32350. ToTape() {
  32351. let args = [];
  32352. args.push(this.SweptArea);
  32353. ;
  32354. args.push(this.Position);
  32355. ;
  32356. args.push(this.Directrix);
  32357. ;
  32358. args.push(this.StartParam);
  32359. ;
  32360. args.push(this.EndParam);
  32361. ;
  32362. args.push(this.FixedReference);
  32363. ;
  32364. return args;
  32365. }
  32366. };
  32367. var IfcFlowController = class {
  32368. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  32369. this.expressID = expressID;
  32370. this.type = type;
  32371. this.GlobalId = GlobalId;
  32372. this.OwnerHistory = OwnerHistory;
  32373. this.Name = Name;
  32374. this.Description = Description;
  32375. this.ObjectType = ObjectType;
  32376. this.ObjectPlacement = ObjectPlacement;
  32377. this.Representation = Representation;
  32378. this.Tag = Tag;
  32379. }
  32380. static FromTape(expressID, type, tape) {
  32381. let ptr = 0;
  32382. let GlobalId = tape[ptr++];
  32383. let OwnerHistory = tape[ptr++];
  32384. let Name = tape[ptr++];
  32385. let Description = tape[ptr++];
  32386. let ObjectType = tape[ptr++];
  32387. let ObjectPlacement = tape[ptr++];
  32388. let Representation = tape[ptr++];
  32389. let Tag = tape[ptr++];
  32390. return new IfcFlowController(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  32391. }
  32392. ToTape() {
  32393. let args = [];
  32394. args.push(this.GlobalId);
  32395. ;
  32396. args.push(this.OwnerHistory);
  32397. ;
  32398. args.push(this.Name);
  32399. ;
  32400. args.push(this.Description);
  32401. ;
  32402. args.push(this.ObjectType);
  32403. ;
  32404. args.push(this.ObjectPlacement);
  32405. ;
  32406. args.push(this.Representation);
  32407. ;
  32408. args.push(this.Tag);
  32409. ;
  32410. return args;
  32411. }
  32412. };
  32413. var IfcFlowControllerType = class {
  32414. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  32415. this.expressID = expressID;
  32416. this.type = type;
  32417. this.GlobalId = GlobalId;
  32418. this.OwnerHistory = OwnerHistory;
  32419. this.Name = Name;
  32420. this.Description = Description;
  32421. this.ApplicableOccurrence = ApplicableOccurrence;
  32422. this.HasPropertySets = HasPropertySets;
  32423. this.RepresentationMaps = RepresentationMaps;
  32424. this.Tag = Tag;
  32425. this.ElementType = ElementType;
  32426. }
  32427. static FromTape(expressID, type, tape) {
  32428. let ptr = 0;
  32429. let GlobalId = tape[ptr++];
  32430. let OwnerHistory = tape[ptr++];
  32431. let Name = tape[ptr++];
  32432. let Description = tape[ptr++];
  32433. let ApplicableOccurrence = tape[ptr++];
  32434. let HasPropertySets = tape[ptr++];
  32435. let RepresentationMaps = tape[ptr++];
  32436. let Tag = tape[ptr++];
  32437. let ElementType = tape[ptr++];
  32438. return new IfcFlowControllerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  32439. }
  32440. ToTape() {
  32441. let args = [];
  32442. args.push(this.GlobalId);
  32443. ;
  32444. args.push(this.OwnerHistory);
  32445. ;
  32446. args.push(this.Name);
  32447. ;
  32448. args.push(this.Description);
  32449. ;
  32450. args.push(this.ApplicableOccurrence);
  32451. ;
  32452. args.push(this.HasPropertySets);
  32453. ;
  32454. args.push(this.RepresentationMaps);
  32455. ;
  32456. args.push(this.Tag);
  32457. ;
  32458. args.push(this.ElementType);
  32459. ;
  32460. return args;
  32461. }
  32462. };
  32463. var IfcFlowFitting = class {
  32464. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  32465. this.expressID = expressID;
  32466. this.type = type;
  32467. this.GlobalId = GlobalId;
  32468. this.OwnerHistory = OwnerHistory;
  32469. this.Name = Name;
  32470. this.Description = Description;
  32471. this.ObjectType = ObjectType;
  32472. this.ObjectPlacement = ObjectPlacement;
  32473. this.Representation = Representation;
  32474. this.Tag = Tag;
  32475. }
  32476. static FromTape(expressID, type, tape) {
  32477. let ptr = 0;
  32478. let GlobalId = tape[ptr++];
  32479. let OwnerHistory = tape[ptr++];
  32480. let Name = tape[ptr++];
  32481. let Description = tape[ptr++];
  32482. let ObjectType = tape[ptr++];
  32483. let ObjectPlacement = tape[ptr++];
  32484. let Representation = tape[ptr++];
  32485. let Tag = tape[ptr++];
  32486. return new IfcFlowFitting(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  32487. }
  32488. ToTape() {
  32489. let args = [];
  32490. args.push(this.GlobalId);
  32491. ;
  32492. args.push(this.OwnerHistory);
  32493. ;
  32494. args.push(this.Name);
  32495. ;
  32496. args.push(this.Description);
  32497. ;
  32498. args.push(this.ObjectType);
  32499. ;
  32500. args.push(this.ObjectPlacement);
  32501. ;
  32502. args.push(this.Representation);
  32503. ;
  32504. args.push(this.Tag);
  32505. ;
  32506. return args;
  32507. }
  32508. };
  32509. var IfcFlowFittingType = class {
  32510. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  32511. this.expressID = expressID;
  32512. this.type = type;
  32513. this.GlobalId = GlobalId;
  32514. this.OwnerHistory = OwnerHistory;
  32515. this.Name = Name;
  32516. this.Description = Description;
  32517. this.ApplicableOccurrence = ApplicableOccurrence;
  32518. this.HasPropertySets = HasPropertySets;
  32519. this.RepresentationMaps = RepresentationMaps;
  32520. this.Tag = Tag;
  32521. this.ElementType = ElementType;
  32522. }
  32523. static FromTape(expressID, type, tape) {
  32524. let ptr = 0;
  32525. let GlobalId = tape[ptr++];
  32526. let OwnerHistory = tape[ptr++];
  32527. let Name = tape[ptr++];
  32528. let Description = tape[ptr++];
  32529. let ApplicableOccurrence = tape[ptr++];
  32530. let HasPropertySets = tape[ptr++];
  32531. let RepresentationMaps = tape[ptr++];
  32532. let Tag = tape[ptr++];
  32533. let ElementType = tape[ptr++];
  32534. return new IfcFlowFittingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  32535. }
  32536. ToTape() {
  32537. let args = [];
  32538. args.push(this.GlobalId);
  32539. ;
  32540. args.push(this.OwnerHistory);
  32541. ;
  32542. args.push(this.Name);
  32543. ;
  32544. args.push(this.Description);
  32545. ;
  32546. args.push(this.ApplicableOccurrence);
  32547. ;
  32548. args.push(this.HasPropertySets);
  32549. ;
  32550. args.push(this.RepresentationMaps);
  32551. ;
  32552. args.push(this.Tag);
  32553. ;
  32554. args.push(this.ElementType);
  32555. ;
  32556. return args;
  32557. }
  32558. };
  32559. var IfcFlowInstrument = class {
  32560. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  32561. this.expressID = expressID;
  32562. this.type = type;
  32563. this.GlobalId = GlobalId;
  32564. this.OwnerHistory = OwnerHistory;
  32565. this.Name = Name;
  32566. this.Description = Description;
  32567. this.ObjectType = ObjectType;
  32568. this.ObjectPlacement = ObjectPlacement;
  32569. this.Representation = Representation;
  32570. this.Tag = Tag;
  32571. this.PredefinedType = PredefinedType;
  32572. }
  32573. static FromTape(expressID, type, tape) {
  32574. let ptr = 0;
  32575. let GlobalId = tape[ptr++];
  32576. let OwnerHistory = tape[ptr++];
  32577. let Name = tape[ptr++];
  32578. let Description = tape[ptr++];
  32579. let ObjectType = tape[ptr++];
  32580. let ObjectPlacement = tape[ptr++];
  32581. let Representation = tape[ptr++];
  32582. let Tag = tape[ptr++];
  32583. let PredefinedType = tape[ptr++];
  32584. return new IfcFlowInstrument(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  32585. }
  32586. ToTape() {
  32587. let args = [];
  32588. args.push(this.GlobalId);
  32589. ;
  32590. args.push(this.OwnerHistory);
  32591. ;
  32592. args.push(this.Name);
  32593. ;
  32594. args.push(this.Description);
  32595. ;
  32596. args.push(this.ObjectType);
  32597. ;
  32598. args.push(this.ObjectPlacement);
  32599. ;
  32600. args.push(this.Representation);
  32601. ;
  32602. args.push(this.Tag);
  32603. ;
  32604. args.push(this.PredefinedType);
  32605. ;
  32606. return args;
  32607. }
  32608. };
  32609. var IfcFlowInstrumentType = class {
  32610. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  32611. this.expressID = expressID;
  32612. this.type = type;
  32613. this.GlobalId = GlobalId;
  32614. this.OwnerHistory = OwnerHistory;
  32615. this.Name = Name;
  32616. this.Description = Description;
  32617. this.ApplicableOccurrence = ApplicableOccurrence;
  32618. this.HasPropertySets = HasPropertySets;
  32619. this.RepresentationMaps = RepresentationMaps;
  32620. this.Tag = Tag;
  32621. this.ElementType = ElementType;
  32622. this.PredefinedType = PredefinedType;
  32623. }
  32624. static FromTape(expressID, type, tape) {
  32625. let ptr = 0;
  32626. let GlobalId = tape[ptr++];
  32627. let OwnerHistory = tape[ptr++];
  32628. let Name = tape[ptr++];
  32629. let Description = tape[ptr++];
  32630. let ApplicableOccurrence = tape[ptr++];
  32631. let HasPropertySets = tape[ptr++];
  32632. let RepresentationMaps = tape[ptr++];
  32633. let Tag = tape[ptr++];
  32634. let ElementType = tape[ptr++];
  32635. let PredefinedType = tape[ptr++];
  32636. return new IfcFlowInstrumentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  32637. }
  32638. ToTape() {
  32639. let args = [];
  32640. args.push(this.GlobalId);
  32641. ;
  32642. args.push(this.OwnerHistory);
  32643. ;
  32644. args.push(this.Name);
  32645. ;
  32646. args.push(this.Description);
  32647. ;
  32648. args.push(this.ApplicableOccurrence);
  32649. ;
  32650. args.push(this.HasPropertySets);
  32651. ;
  32652. args.push(this.RepresentationMaps);
  32653. ;
  32654. args.push(this.Tag);
  32655. ;
  32656. args.push(this.ElementType);
  32657. ;
  32658. args.push(this.PredefinedType);
  32659. ;
  32660. return args;
  32661. }
  32662. };
  32663. var IfcFlowMeter = class {
  32664. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  32665. this.expressID = expressID;
  32666. this.type = type;
  32667. this.GlobalId = GlobalId;
  32668. this.OwnerHistory = OwnerHistory;
  32669. this.Name = Name;
  32670. this.Description = Description;
  32671. this.ObjectType = ObjectType;
  32672. this.ObjectPlacement = ObjectPlacement;
  32673. this.Representation = Representation;
  32674. this.Tag = Tag;
  32675. this.PredefinedType = PredefinedType;
  32676. }
  32677. static FromTape(expressID, type, tape) {
  32678. let ptr = 0;
  32679. let GlobalId = tape[ptr++];
  32680. let OwnerHistory = tape[ptr++];
  32681. let Name = tape[ptr++];
  32682. let Description = tape[ptr++];
  32683. let ObjectType = tape[ptr++];
  32684. let ObjectPlacement = tape[ptr++];
  32685. let Representation = tape[ptr++];
  32686. let Tag = tape[ptr++];
  32687. let PredefinedType = tape[ptr++];
  32688. return new IfcFlowMeter(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  32689. }
  32690. ToTape() {
  32691. let args = [];
  32692. args.push(this.GlobalId);
  32693. ;
  32694. args.push(this.OwnerHistory);
  32695. ;
  32696. args.push(this.Name);
  32697. ;
  32698. args.push(this.Description);
  32699. ;
  32700. args.push(this.ObjectType);
  32701. ;
  32702. args.push(this.ObjectPlacement);
  32703. ;
  32704. args.push(this.Representation);
  32705. ;
  32706. args.push(this.Tag);
  32707. ;
  32708. args.push(this.PredefinedType);
  32709. ;
  32710. return args;
  32711. }
  32712. };
  32713. var IfcFlowMeterType = class {
  32714. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  32715. this.expressID = expressID;
  32716. this.type = type;
  32717. this.GlobalId = GlobalId;
  32718. this.OwnerHistory = OwnerHistory;
  32719. this.Name = Name;
  32720. this.Description = Description;
  32721. this.ApplicableOccurrence = ApplicableOccurrence;
  32722. this.HasPropertySets = HasPropertySets;
  32723. this.RepresentationMaps = RepresentationMaps;
  32724. this.Tag = Tag;
  32725. this.ElementType = ElementType;
  32726. this.PredefinedType = PredefinedType;
  32727. }
  32728. static FromTape(expressID, type, tape) {
  32729. let ptr = 0;
  32730. let GlobalId = tape[ptr++];
  32731. let OwnerHistory = tape[ptr++];
  32732. let Name = tape[ptr++];
  32733. let Description = tape[ptr++];
  32734. let ApplicableOccurrence = tape[ptr++];
  32735. let HasPropertySets = tape[ptr++];
  32736. let RepresentationMaps = tape[ptr++];
  32737. let Tag = tape[ptr++];
  32738. let ElementType = tape[ptr++];
  32739. let PredefinedType = tape[ptr++];
  32740. return new IfcFlowMeterType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  32741. }
  32742. ToTape() {
  32743. let args = [];
  32744. args.push(this.GlobalId);
  32745. ;
  32746. args.push(this.OwnerHistory);
  32747. ;
  32748. args.push(this.Name);
  32749. ;
  32750. args.push(this.Description);
  32751. ;
  32752. args.push(this.ApplicableOccurrence);
  32753. ;
  32754. args.push(this.HasPropertySets);
  32755. ;
  32756. args.push(this.RepresentationMaps);
  32757. ;
  32758. args.push(this.Tag);
  32759. ;
  32760. args.push(this.ElementType);
  32761. ;
  32762. args.push(this.PredefinedType);
  32763. ;
  32764. return args;
  32765. }
  32766. };
  32767. var IfcFlowMovingDevice = class {
  32768. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  32769. this.expressID = expressID;
  32770. this.type = type;
  32771. this.GlobalId = GlobalId;
  32772. this.OwnerHistory = OwnerHistory;
  32773. this.Name = Name;
  32774. this.Description = Description;
  32775. this.ObjectType = ObjectType;
  32776. this.ObjectPlacement = ObjectPlacement;
  32777. this.Representation = Representation;
  32778. this.Tag = Tag;
  32779. }
  32780. static FromTape(expressID, type, tape) {
  32781. let ptr = 0;
  32782. let GlobalId = tape[ptr++];
  32783. let OwnerHistory = tape[ptr++];
  32784. let Name = tape[ptr++];
  32785. let Description = tape[ptr++];
  32786. let ObjectType = tape[ptr++];
  32787. let ObjectPlacement = tape[ptr++];
  32788. let Representation = tape[ptr++];
  32789. let Tag = tape[ptr++];
  32790. return new IfcFlowMovingDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  32791. }
  32792. ToTape() {
  32793. let args = [];
  32794. args.push(this.GlobalId);
  32795. ;
  32796. args.push(this.OwnerHistory);
  32797. ;
  32798. args.push(this.Name);
  32799. ;
  32800. args.push(this.Description);
  32801. ;
  32802. args.push(this.ObjectType);
  32803. ;
  32804. args.push(this.ObjectPlacement);
  32805. ;
  32806. args.push(this.Representation);
  32807. ;
  32808. args.push(this.Tag);
  32809. ;
  32810. return args;
  32811. }
  32812. };
  32813. var IfcFlowMovingDeviceType = class {
  32814. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  32815. this.expressID = expressID;
  32816. this.type = type;
  32817. this.GlobalId = GlobalId;
  32818. this.OwnerHistory = OwnerHistory;
  32819. this.Name = Name;
  32820. this.Description = Description;
  32821. this.ApplicableOccurrence = ApplicableOccurrence;
  32822. this.HasPropertySets = HasPropertySets;
  32823. this.RepresentationMaps = RepresentationMaps;
  32824. this.Tag = Tag;
  32825. this.ElementType = ElementType;
  32826. }
  32827. static FromTape(expressID, type, tape) {
  32828. let ptr = 0;
  32829. let GlobalId = tape[ptr++];
  32830. let OwnerHistory = tape[ptr++];
  32831. let Name = tape[ptr++];
  32832. let Description = tape[ptr++];
  32833. let ApplicableOccurrence = tape[ptr++];
  32834. let HasPropertySets = tape[ptr++];
  32835. let RepresentationMaps = tape[ptr++];
  32836. let Tag = tape[ptr++];
  32837. let ElementType = tape[ptr++];
  32838. return new IfcFlowMovingDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  32839. }
  32840. ToTape() {
  32841. let args = [];
  32842. args.push(this.GlobalId);
  32843. ;
  32844. args.push(this.OwnerHistory);
  32845. ;
  32846. args.push(this.Name);
  32847. ;
  32848. args.push(this.Description);
  32849. ;
  32850. args.push(this.ApplicableOccurrence);
  32851. ;
  32852. args.push(this.HasPropertySets);
  32853. ;
  32854. args.push(this.RepresentationMaps);
  32855. ;
  32856. args.push(this.Tag);
  32857. ;
  32858. args.push(this.ElementType);
  32859. ;
  32860. return args;
  32861. }
  32862. };
  32863. var IfcFlowSegment = class {
  32864. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  32865. this.expressID = expressID;
  32866. this.type = type;
  32867. this.GlobalId = GlobalId;
  32868. this.OwnerHistory = OwnerHistory;
  32869. this.Name = Name;
  32870. this.Description = Description;
  32871. this.ObjectType = ObjectType;
  32872. this.ObjectPlacement = ObjectPlacement;
  32873. this.Representation = Representation;
  32874. this.Tag = Tag;
  32875. }
  32876. static FromTape(expressID, type, tape) {
  32877. let ptr = 0;
  32878. let GlobalId = tape[ptr++];
  32879. let OwnerHistory = tape[ptr++];
  32880. let Name = tape[ptr++];
  32881. let Description = tape[ptr++];
  32882. let ObjectType = tape[ptr++];
  32883. let ObjectPlacement = tape[ptr++];
  32884. let Representation = tape[ptr++];
  32885. let Tag = tape[ptr++];
  32886. return new IfcFlowSegment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  32887. }
  32888. ToTape() {
  32889. let args = [];
  32890. args.push(this.GlobalId);
  32891. ;
  32892. args.push(this.OwnerHistory);
  32893. ;
  32894. args.push(this.Name);
  32895. ;
  32896. args.push(this.Description);
  32897. ;
  32898. args.push(this.ObjectType);
  32899. ;
  32900. args.push(this.ObjectPlacement);
  32901. ;
  32902. args.push(this.Representation);
  32903. ;
  32904. args.push(this.Tag);
  32905. ;
  32906. return args;
  32907. }
  32908. };
  32909. var IfcFlowSegmentType = class {
  32910. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  32911. this.expressID = expressID;
  32912. this.type = type;
  32913. this.GlobalId = GlobalId;
  32914. this.OwnerHistory = OwnerHistory;
  32915. this.Name = Name;
  32916. this.Description = Description;
  32917. this.ApplicableOccurrence = ApplicableOccurrence;
  32918. this.HasPropertySets = HasPropertySets;
  32919. this.RepresentationMaps = RepresentationMaps;
  32920. this.Tag = Tag;
  32921. this.ElementType = ElementType;
  32922. }
  32923. static FromTape(expressID, type, tape) {
  32924. let ptr = 0;
  32925. let GlobalId = tape[ptr++];
  32926. let OwnerHistory = tape[ptr++];
  32927. let Name = tape[ptr++];
  32928. let Description = tape[ptr++];
  32929. let ApplicableOccurrence = tape[ptr++];
  32930. let HasPropertySets = tape[ptr++];
  32931. let RepresentationMaps = tape[ptr++];
  32932. let Tag = tape[ptr++];
  32933. let ElementType = tape[ptr++];
  32934. return new IfcFlowSegmentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  32935. }
  32936. ToTape() {
  32937. let args = [];
  32938. args.push(this.GlobalId);
  32939. ;
  32940. args.push(this.OwnerHistory);
  32941. ;
  32942. args.push(this.Name);
  32943. ;
  32944. args.push(this.Description);
  32945. ;
  32946. args.push(this.ApplicableOccurrence);
  32947. ;
  32948. args.push(this.HasPropertySets);
  32949. ;
  32950. args.push(this.RepresentationMaps);
  32951. ;
  32952. args.push(this.Tag);
  32953. ;
  32954. args.push(this.ElementType);
  32955. ;
  32956. return args;
  32957. }
  32958. };
  32959. var IfcFlowStorageDevice = class {
  32960. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  32961. this.expressID = expressID;
  32962. this.type = type;
  32963. this.GlobalId = GlobalId;
  32964. this.OwnerHistory = OwnerHistory;
  32965. this.Name = Name;
  32966. this.Description = Description;
  32967. this.ObjectType = ObjectType;
  32968. this.ObjectPlacement = ObjectPlacement;
  32969. this.Representation = Representation;
  32970. this.Tag = Tag;
  32971. }
  32972. static FromTape(expressID, type, tape) {
  32973. let ptr = 0;
  32974. let GlobalId = tape[ptr++];
  32975. let OwnerHistory = tape[ptr++];
  32976. let Name = tape[ptr++];
  32977. let Description = tape[ptr++];
  32978. let ObjectType = tape[ptr++];
  32979. let ObjectPlacement = tape[ptr++];
  32980. let Representation = tape[ptr++];
  32981. let Tag = tape[ptr++];
  32982. return new IfcFlowStorageDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  32983. }
  32984. ToTape() {
  32985. let args = [];
  32986. args.push(this.GlobalId);
  32987. ;
  32988. args.push(this.OwnerHistory);
  32989. ;
  32990. args.push(this.Name);
  32991. ;
  32992. args.push(this.Description);
  32993. ;
  32994. args.push(this.ObjectType);
  32995. ;
  32996. args.push(this.ObjectPlacement);
  32997. ;
  32998. args.push(this.Representation);
  32999. ;
  33000. args.push(this.Tag);
  33001. ;
  33002. return args;
  33003. }
  33004. };
  33005. var IfcFlowStorageDeviceType = class {
  33006. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  33007. this.expressID = expressID;
  33008. this.type = type;
  33009. this.GlobalId = GlobalId;
  33010. this.OwnerHistory = OwnerHistory;
  33011. this.Name = Name;
  33012. this.Description = Description;
  33013. this.ApplicableOccurrence = ApplicableOccurrence;
  33014. this.HasPropertySets = HasPropertySets;
  33015. this.RepresentationMaps = RepresentationMaps;
  33016. this.Tag = Tag;
  33017. this.ElementType = ElementType;
  33018. }
  33019. static FromTape(expressID, type, tape) {
  33020. let ptr = 0;
  33021. let GlobalId = tape[ptr++];
  33022. let OwnerHistory = tape[ptr++];
  33023. let Name = tape[ptr++];
  33024. let Description = tape[ptr++];
  33025. let ApplicableOccurrence = tape[ptr++];
  33026. let HasPropertySets = tape[ptr++];
  33027. let RepresentationMaps = tape[ptr++];
  33028. let Tag = tape[ptr++];
  33029. let ElementType = tape[ptr++];
  33030. return new IfcFlowStorageDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  33031. }
  33032. ToTape() {
  33033. let args = [];
  33034. args.push(this.GlobalId);
  33035. ;
  33036. args.push(this.OwnerHistory);
  33037. ;
  33038. args.push(this.Name);
  33039. ;
  33040. args.push(this.Description);
  33041. ;
  33042. args.push(this.ApplicableOccurrence);
  33043. ;
  33044. args.push(this.HasPropertySets);
  33045. ;
  33046. args.push(this.RepresentationMaps);
  33047. ;
  33048. args.push(this.Tag);
  33049. ;
  33050. args.push(this.ElementType);
  33051. ;
  33052. return args;
  33053. }
  33054. };
  33055. var IfcFlowTerminal = class {
  33056. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  33057. this.expressID = expressID;
  33058. this.type = type;
  33059. this.GlobalId = GlobalId;
  33060. this.OwnerHistory = OwnerHistory;
  33061. this.Name = Name;
  33062. this.Description = Description;
  33063. this.ObjectType = ObjectType;
  33064. this.ObjectPlacement = ObjectPlacement;
  33065. this.Representation = Representation;
  33066. this.Tag = Tag;
  33067. }
  33068. static FromTape(expressID, type, tape) {
  33069. let ptr = 0;
  33070. let GlobalId = tape[ptr++];
  33071. let OwnerHistory = tape[ptr++];
  33072. let Name = tape[ptr++];
  33073. let Description = tape[ptr++];
  33074. let ObjectType = tape[ptr++];
  33075. let ObjectPlacement = tape[ptr++];
  33076. let Representation = tape[ptr++];
  33077. let Tag = tape[ptr++];
  33078. return new IfcFlowTerminal(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  33079. }
  33080. ToTape() {
  33081. let args = [];
  33082. args.push(this.GlobalId);
  33083. ;
  33084. args.push(this.OwnerHistory);
  33085. ;
  33086. args.push(this.Name);
  33087. ;
  33088. args.push(this.Description);
  33089. ;
  33090. args.push(this.ObjectType);
  33091. ;
  33092. args.push(this.ObjectPlacement);
  33093. ;
  33094. args.push(this.Representation);
  33095. ;
  33096. args.push(this.Tag);
  33097. ;
  33098. return args;
  33099. }
  33100. };
  33101. var IfcFlowTerminalType = class {
  33102. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  33103. this.expressID = expressID;
  33104. this.type = type;
  33105. this.GlobalId = GlobalId;
  33106. this.OwnerHistory = OwnerHistory;
  33107. this.Name = Name;
  33108. this.Description = Description;
  33109. this.ApplicableOccurrence = ApplicableOccurrence;
  33110. this.HasPropertySets = HasPropertySets;
  33111. this.RepresentationMaps = RepresentationMaps;
  33112. this.Tag = Tag;
  33113. this.ElementType = ElementType;
  33114. }
  33115. static FromTape(expressID, type, tape) {
  33116. let ptr = 0;
  33117. let GlobalId = tape[ptr++];
  33118. let OwnerHistory = tape[ptr++];
  33119. let Name = tape[ptr++];
  33120. let Description = tape[ptr++];
  33121. let ApplicableOccurrence = tape[ptr++];
  33122. let HasPropertySets = tape[ptr++];
  33123. let RepresentationMaps = tape[ptr++];
  33124. let Tag = tape[ptr++];
  33125. let ElementType = tape[ptr++];
  33126. return new IfcFlowTerminalType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  33127. }
  33128. ToTape() {
  33129. let args = [];
  33130. args.push(this.GlobalId);
  33131. ;
  33132. args.push(this.OwnerHistory);
  33133. ;
  33134. args.push(this.Name);
  33135. ;
  33136. args.push(this.Description);
  33137. ;
  33138. args.push(this.ApplicableOccurrence);
  33139. ;
  33140. args.push(this.HasPropertySets);
  33141. ;
  33142. args.push(this.RepresentationMaps);
  33143. ;
  33144. args.push(this.Tag);
  33145. ;
  33146. args.push(this.ElementType);
  33147. ;
  33148. return args;
  33149. }
  33150. };
  33151. var IfcFlowTreatmentDevice = class {
  33152. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  33153. this.expressID = expressID;
  33154. this.type = type;
  33155. this.GlobalId = GlobalId;
  33156. this.OwnerHistory = OwnerHistory;
  33157. this.Name = Name;
  33158. this.Description = Description;
  33159. this.ObjectType = ObjectType;
  33160. this.ObjectPlacement = ObjectPlacement;
  33161. this.Representation = Representation;
  33162. this.Tag = Tag;
  33163. }
  33164. static FromTape(expressID, type, tape) {
  33165. let ptr = 0;
  33166. let GlobalId = tape[ptr++];
  33167. let OwnerHistory = tape[ptr++];
  33168. let Name = tape[ptr++];
  33169. let Description = tape[ptr++];
  33170. let ObjectType = tape[ptr++];
  33171. let ObjectPlacement = tape[ptr++];
  33172. let Representation = tape[ptr++];
  33173. let Tag = tape[ptr++];
  33174. return new IfcFlowTreatmentDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  33175. }
  33176. ToTape() {
  33177. let args = [];
  33178. args.push(this.GlobalId);
  33179. ;
  33180. args.push(this.OwnerHistory);
  33181. ;
  33182. args.push(this.Name);
  33183. ;
  33184. args.push(this.Description);
  33185. ;
  33186. args.push(this.ObjectType);
  33187. ;
  33188. args.push(this.ObjectPlacement);
  33189. ;
  33190. args.push(this.Representation);
  33191. ;
  33192. args.push(this.Tag);
  33193. ;
  33194. return args;
  33195. }
  33196. };
  33197. var IfcFlowTreatmentDeviceType = class {
  33198. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  33199. this.expressID = expressID;
  33200. this.type = type;
  33201. this.GlobalId = GlobalId;
  33202. this.OwnerHistory = OwnerHistory;
  33203. this.Name = Name;
  33204. this.Description = Description;
  33205. this.ApplicableOccurrence = ApplicableOccurrence;
  33206. this.HasPropertySets = HasPropertySets;
  33207. this.RepresentationMaps = RepresentationMaps;
  33208. this.Tag = Tag;
  33209. this.ElementType = ElementType;
  33210. }
  33211. static FromTape(expressID, type, tape) {
  33212. let ptr = 0;
  33213. let GlobalId = tape[ptr++];
  33214. let OwnerHistory = tape[ptr++];
  33215. let Name = tape[ptr++];
  33216. let Description = tape[ptr++];
  33217. let ApplicableOccurrence = tape[ptr++];
  33218. let HasPropertySets = tape[ptr++];
  33219. let RepresentationMaps = tape[ptr++];
  33220. let Tag = tape[ptr++];
  33221. let ElementType = tape[ptr++];
  33222. return new IfcFlowTreatmentDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  33223. }
  33224. ToTape() {
  33225. let args = [];
  33226. args.push(this.GlobalId);
  33227. ;
  33228. args.push(this.OwnerHistory);
  33229. ;
  33230. args.push(this.Name);
  33231. ;
  33232. args.push(this.Description);
  33233. ;
  33234. args.push(this.ApplicableOccurrence);
  33235. ;
  33236. args.push(this.HasPropertySets);
  33237. ;
  33238. args.push(this.RepresentationMaps);
  33239. ;
  33240. args.push(this.Tag);
  33241. ;
  33242. args.push(this.ElementType);
  33243. ;
  33244. return args;
  33245. }
  33246. };
  33247. var IfcFooting = class {
  33248. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  33249. this.expressID = expressID;
  33250. this.type = type;
  33251. this.GlobalId = GlobalId;
  33252. this.OwnerHistory = OwnerHistory;
  33253. this.Name = Name;
  33254. this.Description = Description;
  33255. this.ObjectType = ObjectType;
  33256. this.ObjectPlacement = ObjectPlacement;
  33257. this.Representation = Representation;
  33258. this.Tag = Tag;
  33259. this.PredefinedType = PredefinedType;
  33260. }
  33261. static FromTape(expressID, type, tape) {
  33262. let ptr = 0;
  33263. let GlobalId = tape[ptr++];
  33264. let OwnerHistory = tape[ptr++];
  33265. let Name = tape[ptr++];
  33266. let Description = tape[ptr++];
  33267. let ObjectType = tape[ptr++];
  33268. let ObjectPlacement = tape[ptr++];
  33269. let Representation = tape[ptr++];
  33270. let Tag = tape[ptr++];
  33271. let PredefinedType = tape[ptr++];
  33272. return new IfcFooting(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  33273. }
  33274. ToTape() {
  33275. let args = [];
  33276. args.push(this.GlobalId);
  33277. ;
  33278. args.push(this.OwnerHistory);
  33279. ;
  33280. args.push(this.Name);
  33281. ;
  33282. args.push(this.Description);
  33283. ;
  33284. args.push(this.ObjectType);
  33285. ;
  33286. args.push(this.ObjectPlacement);
  33287. ;
  33288. args.push(this.Representation);
  33289. ;
  33290. args.push(this.Tag);
  33291. ;
  33292. args.push(this.PredefinedType);
  33293. ;
  33294. return args;
  33295. }
  33296. };
  33297. var IfcFootingType = class {
  33298. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  33299. this.expressID = expressID;
  33300. this.type = type;
  33301. this.GlobalId = GlobalId;
  33302. this.OwnerHistory = OwnerHistory;
  33303. this.Name = Name;
  33304. this.Description = Description;
  33305. this.ApplicableOccurrence = ApplicableOccurrence;
  33306. this.HasPropertySets = HasPropertySets;
  33307. this.RepresentationMaps = RepresentationMaps;
  33308. this.Tag = Tag;
  33309. this.ElementType = ElementType;
  33310. this.PredefinedType = PredefinedType;
  33311. }
  33312. static FromTape(expressID, type, tape) {
  33313. let ptr = 0;
  33314. let GlobalId = tape[ptr++];
  33315. let OwnerHistory = tape[ptr++];
  33316. let Name = tape[ptr++];
  33317. let Description = tape[ptr++];
  33318. let ApplicableOccurrence = tape[ptr++];
  33319. let HasPropertySets = tape[ptr++];
  33320. let RepresentationMaps = tape[ptr++];
  33321. let Tag = tape[ptr++];
  33322. let ElementType = tape[ptr++];
  33323. let PredefinedType = tape[ptr++];
  33324. return new IfcFootingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  33325. }
  33326. ToTape() {
  33327. let args = [];
  33328. args.push(this.GlobalId);
  33329. ;
  33330. args.push(this.OwnerHistory);
  33331. ;
  33332. args.push(this.Name);
  33333. ;
  33334. args.push(this.Description);
  33335. ;
  33336. args.push(this.ApplicableOccurrence);
  33337. ;
  33338. args.push(this.HasPropertySets);
  33339. ;
  33340. args.push(this.RepresentationMaps);
  33341. ;
  33342. args.push(this.Tag);
  33343. ;
  33344. args.push(this.ElementType);
  33345. ;
  33346. args.push(this.PredefinedType);
  33347. ;
  33348. return args;
  33349. }
  33350. };
  33351. var IfcFurnishingElement = class {
  33352. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  33353. this.expressID = expressID;
  33354. this.type = type;
  33355. this.GlobalId = GlobalId;
  33356. this.OwnerHistory = OwnerHistory;
  33357. this.Name = Name;
  33358. this.Description = Description;
  33359. this.ObjectType = ObjectType;
  33360. this.ObjectPlacement = ObjectPlacement;
  33361. this.Representation = Representation;
  33362. this.Tag = Tag;
  33363. }
  33364. static FromTape(expressID, type, tape) {
  33365. let ptr = 0;
  33366. let GlobalId = tape[ptr++];
  33367. let OwnerHistory = tape[ptr++];
  33368. let Name = tape[ptr++];
  33369. let Description = tape[ptr++];
  33370. let ObjectType = tape[ptr++];
  33371. let ObjectPlacement = tape[ptr++];
  33372. let Representation = tape[ptr++];
  33373. let Tag = tape[ptr++];
  33374. return new IfcFurnishingElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  33375. }
  33376. ToTape() {
  33377. let args = [];
  33378. args.push(this.GlobalId);
  33379. ;
  33380. args.push(this.OwnerHistory);
  33381. ;
  33382. args.push(this.Name);
  33383. ;
  33384. args.push(this.Description);
  33385. ;
  33386. args.push(this.ObjectType);
  33387. ;
  33388. args.push(this.ObjectPlacement);
  33389. ;
  33390. args.push(this.Representation);
  33391. ;
  33392. args.push(this.Tag);
  33393. ;
  33394. return args;
  33395. }
  33396. };
  33397. var IfcFurnishingElementType = class {
  33398. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  33399. this.expressID = expressID;
  33400. this.type = type;
  33401. this.GlobalId = GlobalId;
  33402. this.OwnerHistory = OwnerHistory;
  33403. this.Name = Name;
  33404. this.Description = Description;
  33405. this.ApplicableOccurrence = ApplicableOccurrence;
  33406. this.HasPropertySets = HasPropertySets;
  33407. this.RepresentationMaps = RepresentationMaps;
  33408. this.Tag = Tag;
  33409. this.ElementType = ElementType;
  33410. }
  33411. static FromTape(expressID, type, tape) {
  33412. let ptr = 0;
  33413. let GlobalId = tape[ptr++];
  33414. let OwnerHistory = tape[ptr++];
  33415. let Name = tape[ptr++];
  33416. let Description = tape[ptr++];
  33417. let ApplicableOccurrence = tape[ptr++];
  33418. let HasPropertySets = tape[ptr++];
  33419. let RepresentationMaps = tape[ptr++];
  33420. let Tag = tape[ptr++];
  33421. let ElementType = tape[ptr++];
  33422. return new IfcFurnishingElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  33423. }
  33424. ToTape() {
  33425. let args = [];
  33426. args.push(this.GlobalId);
  33427. ;
  33428. args.push(this.OwnerHistory);
  33429. ;
  33430. args.push(this.Name);
  33431. ;
  33432. args.push(this.Description);
  33433. ;
  33434. args.push(this.ApplicableOccurrence);
  33435. ;
  33436. args.push(this.HasPropertySets);
  33437. ;
  33438. args.push(this.RepresentationMaps);
  33439. ;
  33440. args.push(this.Tag);
  33441. ;
  33442. args.push(this.ElementType);
  33443. ;
  33444. return args;
  33445. }
  33446. };
  33447. var IfcFurniture = class {
  33448. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  33449. this.expressID = expressID;
  33450. this.type = type;
  33451. this.GlobalId = GlobalId;
  33452. this.OwnerHistory = OwnerHistory;
  33453. this.Name = Name;
  33454. this.Description = Description;
  33455. this.ObjectType = ObjectType;
  33456. this.ObjectPlacement = ObjectPlacement;
  33457. this.Representation = Representation;
  33458. this.Tag = Tag;
  33459. this.PredefinedType = PredefinedType;
  33460. }
  33461. static FromTape(expressID, type, tape) {
  33462. let ptr = 0;
  33463. let GlobalId = tape[ptr++];
  33464. let OwnerHistory = tape[ptr++];
  33465. let Name = tape[ptr++];
  33466. let Description = tape[ptr++];
  33467. let ObjectType = tape[ptr++];
  33468. let ObjectPlacement = tape[ptr++];
  33469. let Representation = tape[ptr++];
  33470. let Tag = tape[ptr++];
  33471. let PredefinedType = tape[ptr++];
  33472. return new IfcFurniture(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  33473. }
  33474. ToTape() {
  33475. let args = [];
  33476. args.push(this.GlobalId);
  33477. ;
  33478. args.push(this.OwnerHistory);
  33479. ;
  33480. args.push(this.Name);
  33481. ;
  33482. args.push(this.Description);
  33483. ;
  33484. args.push(this.ObjectType);
  33485. ;
  33486. args.push(this.ObjectPlacement);
  33487. ;
  33488. args.push(this.Representation);
  33489. ;
  33490. args.push(this.Tag);
  33491. ;
  33492. args.push(this.PredefinedType);
  33493. ;
  33494. return args;
  33495. }
  33496. };
  33497. var IfcFurnitureType = class {
  33498. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) {
  33499. this.expressID = expressID;
  33500. this.type = type;
  33501. this.GlobalId = GlobalId;
  33502. this.OwnerHistory = OwnerHistory;
  33503. this.Name = Name;
  33504. this.Description = Description;
  33505. this.ApplicableOccurrence = ApplicableOccurrence;
  33506. this.HasPropertySets = HasPropertySets;
  33507. this.RepresentationMaps = RepresentationMaps;
  33508. this.Tag = Tag;
  33509. this.ElementType = ElementType;
  33510. this.AssemblyPlace = AssemblyPlace;
  33511. this.PredefinedType = PredefinedType;
  33512. }
  33513. static FromTape(expressID, type, tape) {
  33514. let ptr = 0;
  33515. let GlobalId = tape[ptr++];
  33516. let OwnerHistory = tape[ptr++];
  33517. let Name = tape[ptr++];
  33518. let Description = tape[ptr++];
  33519. let ApplicableOccurrence = tape[ptr++];
  33520. let HasPropertySets = tape[ptr++];
  33521. let RepresentationMaps = tape[ptr++];
  33522. let Tag = tape[ptr++];
  33523. let ElementType = tape[ptr++];
  33524. let AssemblyPlace = tape[ptr++];
  33525. let PredefinedType = tape[ptr++];
  33526. return new IfcFurnitureType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType);
  33527. }
  33528. ToTape() {
  33529. let args = [];
  33530. args.push(this.GlobalId);
  33531. ;
  33532. args.push(this.OwnerHistory);
  33533. ;
  33534. args.push(this.Name);
  33535. ;
  33536. args.push(this.Description);
  33537. ;
  33538. args.push(this.ApplicableOccurrence);
  33539. ;
  33540. args.push(this.HasPropertySets);
  33541. ;
  33542. args.push(this.RepresentationMaps);
  33543. ;
  33544. args.push(this.Tag);
  33545. ;
  33546. args.push(this.ElementType);
  33547. ;
  33548. args.push(this.AssemblyPlace);
  33549. ;
  33550. args.push(this.PredefinedType);
  33551. ;
  33552. return args;
  33553. }
  33554. };
  33555. var IfcGeographicElement = class {
  33556. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  33557. this.expressID = expressID;
  33558. this.type = type;
  33559. this.GlobalId = GlobalId;
  33560. this.OwnerHistory = OwnerHistory;
  33561. this.Name = Name;
  33562. this.Description = Description;
  33563. this.ObjectType = ObjectType;
  33564. this.ObjectPlacement = ObjectPlacement;
  33565. this.Representation = Representation;
  33566. this.Tag = Tag;
  33567. this.PredefinedType = PredefinedType;
  33568. }
  33569. static FromTape(expressID, type, tape) {
  33570. let ptr = 0;
  33571. let GlobalId = tape[ptr++];
  33572. let OwnerHistory = tape[ptr++];
  33573. let Name = tape[ptr++];
  33574. let Description = tape[ptr++];
  33575. let ObjectType = tape[ptr++];
  33576. let ObjectPlacement = tape[ptr++];
  33577. let Representation = tape[ptr++];
  33578. let Tag = tape[ptr++];
  33579. let PredefinedType = tape[ptr++];
  33580. return new IfcGeographicElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  33581. }
  33582. ToTape() {
  33583. let args = [];
  33584. args.push(this.GlobalId);
  33585. ;
  33586. args.push(this.OwnerHistory);
  33587. ;
  33588. args.push(this.Name);
  33589. ;
  33590. args.push(this.Description);
  33591. ;
  33592. args.push(this.ObjectType);
  33593. ;
  33594. args.push(this.ObjectPlacement);
  33595. ;
  33596. args.push(this.Representation);
  33597. ;
  33598. args.push(this.Tag);
  33599. ;
  33600. args.push(this.PredefinedType);
  33601. ;
  33602. return args;
  33603. }
  33604. };
  33605. var IfcGeographicElementType = class {
  33606. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  33607. this.expressID = expressID;
  33608. this.type = type;
  33609. this.GlobalId = GlobalId;
  33610. this.OwnerHistory = OwnerHistory;
  33611. this.Name = Name;
  33612. this.Description = Description;
  33613. this.ApplicableOccurrence = ApplicableOccurrence;
  33614. this.HasPropertySets = HasPropertySets;
  33615. this.RepresentationMaps = RepresentationMaps;
  33616. this.Tag = Tag;
  33617. this.ElementType = ElementType;
  33618. this.PredefinedType = PredefinedType;
  33619. }
  33620. static FromTape(expressID, type, tape) {
  33621. let ptr = 0;
  33622. let GlobalId = tape[ptr++];
  33623. let OwnerHistory = tape[ptr++];
  33624. let Name = tape[ptr++];
  33625. let Description = tape[ptr++];
  33626. let ApplicableOccurrence = tape[ptr++];
  33627. let HasPropertySets = tape[ptr++];
  33628. let RepresentationMaps = tape[ptr++];
  33629. let Tag = tape[ptr++];
  33630. let ElementType = tape[ptr++];
  33631. let PredefinedType = tape[ptr++];
  33632. return new IfcGeographicElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  33633. }
  33634. ToTape() {
  33635. let args = [];
  33636. args.push(this.GlobalId);
  33637. ;
  33638. args.push(this.OwnerHistory);
  33639. ;
  33640. args.push(this.Name);
  33641. ;
  33642. args.push(this.Description);
  33643. ;
  33644. args.push(this.ApplicableOccurrence);
  33645. ;
  33646. args.push(this.HasPropertySets);
  33647. ;
  33648. args.push(this.RepresentationMaps);
  33649. ;
  33650. args.push(this.Tag);
  33651. ;
  33652. args.push(this.ElementType);
  33653. ;
  33654. args.push(this.PredefinedType);
  33655. ;
  33656. return args;
  33657. }
  33658. };
  33659. var IfcGeometricCurveSet = class {
  33660. constructor(expressID, type, Elements) {
  33661. this.expressID = expressID;
  33662. this.type = type;
  33663. this.Elements = Elements;
  33664. }
  33665. static FromTape(expressID, type, tape) {
  33666. let ptr = 0;
  33667. let Elements = tape[ptr++];
  33668. return new IfcGeometricCurveSet(expressID, type, Elements);
  33669. }
  33670. ToTape() {
  33671. let args = [];
  33672. args.push(this.Elements);
  33673. ;
  33674. return args;
  33675. }
  33676. };
  33677. var IfcGeometricRepresentationContext = class {
  33678. constructor(expressID, type, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) {
  33679. this.expressID = expressID;
  33680. this.type = type;
  33681. this.ContextIdentifier = ContextIdentifier;
  33682. this.ContextType = ContextType;
  33683. this.CoordinateSpaceDimension = CoordinateSpaceDimension;
  33684. this.Precision = Precision;
  33685. this.WorldCoordinateSystem = WorldCoordinateSystem;
  33686. this.TrueNorth = TrueNorth;
  33687. }
  33688. static FromTape(expressID, type, tape) {
  33689. let ptr = 0;
  33690. let ContextIdentifier = tape[ptr++];
  33691. let ContextType = tape[ptr++];
  33692. let CoordinateSpaceDimension = tape[ptr++];
  33693. let Precision = tape[ptr++];
  33694. let WorldCoordinateSystem = tape[ptr++];
  33695. let TrueNorth = tape[ptr++];
  33696. return new IfcGeometricRepresentationContext(expressID, type, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth);
  33697. }
  33698. ToTape() {
  33699. let args = [];
  33700. args.push(this.ContextIdentifier);
  33701. ;
  33702. args.push(this.ContextType);
  33703. ;
  33704. args.push(this.CoordinateSpaceDimension);
  33705. ;
  33706. args.push(this.Precision);
  33707. ;
  33708. args.push(this.WorldCoordinateSystem);
  33709. ;
  33710. args.push(this.TrueNorth);
  33711. ;
  33712. return args;
  33713. }
  33714. };
  33715. var IfcGeometricRepresentationItem = class {
  33716. constructor(expressID, type) {
  33717. this.expressID = expressID;
  33718. this.type = type;
  33719. }
  33720. static FromTape(expressID, type, tape) {
  33721. let ptr = 0;
  33722. return new IfcGeometricRepresentationItem(expressID, type);
  33723. }
  33724. ToTape() {
  33725. let args = [];
  33726. return args;
  33727. }
  33728. };
  33729. var IfcGeometricRepresentationSubContext = class {
  33730. constructor(expressID, type, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth, ParentContext, TargetScale, TargetView, UserDefinedTargetView) {
  33731. this.expressID = expressID;
  33732. this.type = type;
  33733. this.ContextIdentifier = ContextIdentifier;
  33734. this.ContextType = ContextType;
  33735. this.CoordinateSpaceDimension = CoordinateSpaceDimension;
  33736. this.Precision = Precision;
  33737. this.WorldCoordinateSystem = WorldCoordinateSystem;
  33738. this.TrueNorth = TrueNorth;
  33739. this.ParentContext = ParentContext;
  33740. this.TargetScale = TargetScale;
  33741. this.TargetView = TargetView;
  33742. this.UserDefinedTargetView = UserDefinedTargetView;
  33743. }
  33744. static FromTape(expressID, type, tape) {
  33745. let ptr = 0;
  33746. let ContextIdentifier = tape[ptr++];
  33747. let ContextType = tape[ptr++];
  33748. let CoordinateSpaceDimension = tape[ptr++];
  33749. let Precision = tape[ptr++];
  33750. let WorldCoordinateSystem = tape[ptr++];
  33751. let TrueNorth = tape[ptr++];
  33752. let ParentContext = tape[ptr++];
  33753. let TargetScale = tape[ptr++];
  33754. let TargetView = tape[ptr++];
  33755. let UserDefinedTargetView = tape[ptr++];
  33756. return new IfcGeometricRepresentationSubContext(expressID, type, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth, ParentContext, TargetScale, TargetView, UserDefinedTargetView);
  33757. }
  33758. ToTape() {
  33759. let args = [];
  33760. args.push(this.ContextIdentifier);
  33761. ;
  33762. args.push(this.ContextType);
  33763. ;
  33764. args.push(this.CoordinateSpaceDimension);
  33765. ;
  33766. args.push(this.Precision);
  33767. ;
  33768. args.push(this.WorldCoordinateSystem);
  33769. ;
  33770. args.push(this.TrueNorth);
  33771. ;
  33772. args.push(this.ParentContext);
  33773. ;
  33774. args.push(this.TargetScale);
  33775. ;
  33776. args.push(this.TargetView);
  33777. ;
  33778. args.push(this.UserDefinedTargetView);
  33779. ;
  33780. return args;
  33781. }
  33782. };
  33783. var IfcGeometricSet = class {
  33784. constructor(expressID, type, Elements) {
  33785. this.expressID = expressID;
  33786. this.type = type;
  33787. this.Elements = Elements;
  33788. }
  33789. static FromTape(expressID, type, tape) {
  33790. let ptr = 0;
  33791. let Elements = tape[ptr++];
  33792. return new IfcGeometricSet(expressID, type, Elements);
  33793. }
  33794. ToTape() {
  33795. let args = [];
  33796. args.push(this.Elements);
  33797. ;
  33798. return args;
  33799. }
  33800. };
  33801. var IfcGrid = class {
  33802. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) {
  33803. this.expressID = expressID;
  33804. this.type = type;
  33805. this.GlobalId = GlobalId;
  33806. this.OwnerHistory = OwnerHistory;
  33807. this.Name = Name;
  33808. this.Description = Description;
  33809. this.ObjectType = ObjectType;
  33810. this.ObjectPlacement = ObjectPlacement;
  33811. this.Representation = Representation;
  33812. this.UAxes = UAxes;
  33813. this.VAxes = VAxes;
  33814. this.WAxes = WAxes;
  33815. this.PredefinedType = PredefinedType;
  33816. }
  33817. static FromTape(expressID, type, tape) {
  33818. let ptr = 0;
  33819. let GlobalId = tape[ptr++];
  33820. let OwnerHistory = tape[ptr++];
  33821. let Name = tape[ptr++];
  33822. let Description = tape[ptr++];
  33823. let ObjectType = tape[ptr++];
  33824. let ObjectPlacement = tape[ptr++];
  33825. let Representation = tape[ptr++];
  33826. let UAxes = tape[ptr++];
  33827. let VAxes = tape[ptr++];
  33828. let WAxes = tape[ptr++];
  33829. let PredefinedType = tape[ptr++];
  33830. return new IfcGrid(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType);
  33831. }
  33832. ToTape() {
  33833. let args = [];
  33834. args.push(this.GlobalId);
  33835. ;
  33836. args.push(this.OwnerHistory);
  33837. ;
  33838. args.push(this.Name);
  33839. ;
  33840. args.push(this.Description);
  33841. ;
  33842. args.push(this.ObjectType);
  33843. ;
  33844. args.push(this.ObjectPlacement);
  33845. ;
  33846. args.push(this.Representation);
  33847. ;
  33848. args.push(this.UAxes);
  33849. ;
  33850. args.push(this.VAxes);
  33851. ;
  33852. args.push(this.WAxes);
  33853. ;
  33854. args.push(this.PredefinedType);
  33855. ;
  33856. return args;
  33857. }
  33858. };
  33859. var IfcGridAxis = class {
  33860. constructor(expressID, type, AxisTag, AxisCurve, SameSense) {
  33861. this.expressID = expressID;
  33862. this.type = type;
  33863. this.AxisTag = AxisTag;
  33864. this.AxisCurve = AxisCurve;
  33865. this.SameSense = SameSense;
  33866. }
  33867. static FromTape(expressID, type, tape) {
  33868. let ptr = 0;
  33869. let AxisTag = tape[ptr++];
  33870. let AxisCurve = tape[ptr++];
  33871. let SameSense = tape[ptr++];
  33872. return new IfcGridAxis(expressID, type, AxisTag, AxisCurve, SameSense);
  33873. }
  33874. ToTape() {
  33875. let args = [];
  33876. args.push(this.AxisTag);
  33877. ;
  33878. args.push(this.AxisCurve);
  33879. ;
  33880. args.push(this.SameSense);
  33881. ;
  33882. return args;
  33883. }
  33884. };
  33885. var IfcGridPlacement = class {
  33886. constructor(expressID, type, PlacementRelTo, PlacementLocation, PlacementRefDirection) {
  33887. this.expressID = expressID;
  33888. this.type = type;
  33889. this.PlacementRelTo = PlacementRelTo;
  33890. this.PlacementLocation = PlacementLocation;
  33891. this.PlacementRefDirection = PlacementRefDirection;
  33892. }
  33893. static FromTape(expressID, type, tape) {
  33894. let ptr = 0;
  33895. let PlacementRelTo = tape[ptr++];
  33896. let PlacementLocation = tape[ptr++];
  33897. let PlacementRefDirection = tape[ptr++];
  33898. return new IfcGridPlacement(expressID, type, PlacementRelTo, PlacementLocation, PlacementRefDirection);
  33899. }
  33900. ToTape() {
  33901. let args = [];
  33902. args.push(this.PlacementRelTo);
  33903. ;
  33904. args.push(this.PlacementLocation);
  33905. ;
  33906. args.push(this.PlacementRefDirection);
  33907. ;
  33908. return args;
  33909. }
  33910. };
  33911. var IfcGroup = class {
  33912. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType) {
  33913. this.expressID = expressID;
  33914. this.type = type;
  33915. this.GlobalId = GlobalId;
  33916. this.OwnerHistory = OwnerHistory;
  33917. this.Name = Name;
  33918. this.Description = Description;
  33919. this.ObjectType = ObjectType;
  33920. }
  33921. static FromTape(expressID, type, tape) {
  33922. let ptr = 0;
  33923. let GlobalId = tape[ptr++];
  33924. let OwnerHistory = tape[ptr++];
  33925. let Name = tape[ptr++];
  33926. let Description = tape[ptr++];
  33927. let ObjectType = tape[ptr++];
  33928. return new IfcGroup(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType);
  33929. }
  33930. ToTape() {
  33931. let args = [];
  33932. args.push(this.GlobalId);
  33933. ;
  33934. args.push(this.OwnerHistory);
  33935. ;
  33936. args.push(this.Name);
  33937. ;
  33938. args.push(this.Description);
  33939. ;
  33940. args.push(this.ObjectType);
  33941. ;
  33942. return args;
  33943. }
  33944. };
  33945. var IfcHalfSpaceSolid = class {
  33946. constructor(expressID, type, BaseSurface, AgreementFlag) {
  33947. this.expressID = expressID;
  33948. this.type = type;
  33949. this.BaseSurface = BaseSurface;
  33950. this.AgreementFlag = AgreementFlag;
  33951. }
  33952. static FromTape(expressID, type, tape) {
  33953. let ptr = 0;
  33954. let BaseSurface = tape[ptr++];
  33955. let AgreementFlag = tape[ptr++];
  33956. return new IfcHalfSpaceSolid(expressID, type, BaseSurface, AgreementFlag);
  33957. }
  33958. ToTape() {
  33959. let args = [];
  33960. args.push(this.BaseSurface);
  33961. ;
  33962. args.push(this.AgreementFlag);
  33963. ;
  33964. return args;
  33965. }
  33966. };
  33967. var IfcHeatExchanger = class {
  33968. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  33969. this.expressID = expressID;
  33970. this.type = type;
  33971. this.GlobalId = GlobalId;
  33972. this.OwnerHistory = OwnerHistory;
  33973. this.Name = Name;
  33974. this.Description = Description;
  33975. this.ObjectType = ObjectType;
  33976. this.ObjectPlacement = ObjectPlacement;
  33977. this.Representation = Representation;
  33978. this.Tag = Tag;
  33979. this.PredefinedType = PredefinedType;
  33980. }
  33981. static FromTape(expressID, type, tape) {
  33982. let ptr = 0;
  33983. let GlobalId = tape[ptr++];
  33984. let OwnerHistory = tape[ptr++];
  33985. let Name = tape[ptr++];
  33986. let Description = tape[ptr++];
  33987. let ObjectType = tape[ptr++];
  33988. let ObjectPlacement = tape[ptr++];
  33989. let Representation = tape[ptr++];
  33990. let Tag = tape[ptr++];
  33991. let PredefinedType = tape[ptr++];
  33992. return new IfcHeatExchanger(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  33993. }
  33994. ToTape() {
  33995. let args = [];
  33996. args.push(this.GlobalId);
  33997. ;
  33998. args.push(this.OwnerHistory);
  33999. ;
  34000. args.push(this.Name);
  34001. ;
  34002. args.push(this.Description);
  34003. ;
  34004. args.push(this.ObjectType);
  34005. ;
  34006. args.push(this.ObjectPlacement);
  34007. ;
  34008. args.push(this.Representation);
  34009. ;
  34010. args.push(this.Tag);
  34011. ;
  34012. args.push(this.PredefinedType);
  34013. ;
  34014. return args;
  34015. }
  34016. };
  34017. var IfcHeatExchangerType = class {
  34018. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  34019. this.expressID = expressID;
  34020. this.type = type;
  34021. this.GlobalId = GlobalId;
  34022. this.OwnerHistory = OwnerHistory;
  34023. this.Name = Name;
  34024. this.Description = Description;
  34025. this.ApplicableOccurrence = ApplicableOccurrence;
  34026. this.HasPropertySets = HasPropertySets;
  34027. this.RepresentationMaps = RepresentationMaps;
  34028. this.Tag = Tag;
  34029. this.ElementType = ElementType;
  34030. this.PredefinedType = PredefinedType;
  34031. }
  34032. static FromTape(expressID, type, tape) {
  34033. let ptr = 0;
  34034. let GlobalId = tape[ptr++];
  34035. let OwnerHistory = tape[ptr++];
  34036. let Name = tape[ptr++];
  34037. let Description = tape[ptr++];
  34038. let ApplicableOccurrence = tape[ptr++];
  34039. let HasPropertySets = tape[ptr++];
  34040. let RepresentationMaps = tape[ptr++];
  34041. let Tag = tape[ptr++];
  34042. let ElementType = tape[ptr++];
  34043. let PredefinedType = tape[ptr++];
  34044. return new IfcHeatExchangerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  34045. }
  34046. ToTape() {
  34047. let args = [];
  34048. args.push(this.GlobalId);
  34049. ;
  34050. args.push(this.OwnerHistory);
  34051. ;
  34052. args.push(this.Name);
  34053. ;
  34054. args.push(this.Description);
  34055. ;
  34056. args.push(this.ApplicableOccurrence);
  34057. ;
  34058. args.push(this.HasPropertySets);
  34059. ;
  34060. args.push(this.RepresentationMaps);
  34061. ;
  34062. args.push(this.Tag);
  34063. ;
  34064. args.push(this.ElementType);
  34065. ;
  34066. args.push(this.PredefinedType);
  34067. ;
  34068. return args;
  34069. }
  34070. };
  34071. var IfcHumidifier = class {
  34072. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  34073. this.expressID = expressID;
  34074. this.type = type;
  34075. this.GlobalId = GlobalId;
  34076. this.OwnerHistory = OwnerHistory;
  34077. this.Name = Name;
  34078. this.Description = Description;
  34079. this.ObjectType = ObjectType;
  34080. this.ObjectPlacement = ObjectPlacement;
  34081. this.Representation = Representation;
  34082. this.Tag = Tag;
  34083. this.PredefinedType = PredefinedType;
  34084. }
  34085. static FromTape(expressID, type, tape) {
  34086. let ptr = 0;
  34087. let GlobalId = tape[ptr++];
  34088. let OwnerHistory = tape[ptr++];
  34089. let Name = tape[ptr++];
  34090. let Description = tape[ptr++];
  34091. let ObjectType = tape[ptr++];
  34092. let ObjectPlacement = tape[ptr++];
  34093. let Representation = tape[ptr++];
  34094. let Tag = tape[ptr++];
  34095. let PredefinedType = tape[ptr++];
  34096. return new IfcHumidifier(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  34097. }
  34098. ToTape() {
  34099. let args = [];
  34100. args.push(this.GlobalId);
  34101. ;
  34102. args.push(this.OwnerHistory);
  34103. ;
  34104. args.push(this.Name);
  34105. ;
  34106. args.push(this.Description);
  34107. ;
  34108. args.push(this.ObjectType);
  34109. ;
  34110. args.push(this.ObjectPlacement);
  34111. ;
  34112. args.push(this.Representation);
  34113. ;
  34114. args.push(this.Tag);
  34115. ;
  34116. args.push(this.PredefinedType);
  34117. ;
  34118. return args;
  34119. }
  34120. };
  34121. var IfcHumidifierType = class {
  34122. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  34123. this.expressID = expressID;
  34124. this.type = type;
  34125. this.GlobalId = GlobalId;
  34126. this.OwnerHistory = OwnerHistory;
  34127. this.Name = Name;
  34128. this.Description = Description;
  34129. this.ApplicableOccurrence = ApplicableOccurrence;
  34130. this.HasPropertySets = HasPropertySets;
  34131. this.RepresentationMaps = RepresentationMaps;
  34132. this.Tag = Tag;
  34133. this.ElementType = ElementType;
  34134. this.PredefinedType = PredefinedType;
  34135. }
  34136. static FromTape(expressID, type, tape) {
  34137. let ptr = 0;
  34138. let GlobalId = tape[ptr++];
  34139. let OwnerHistory = tape[ptr++];
  34140. let Name = tape[ptr++];
  34141. let Description = tape[ptr++];
  34142. let ApplicableOccurrence = tape[ptr++];
  34143. let HasPropertySets = tape[ptr++];
  34144. let RepresentationMaps = tape[ptr++];
  34145. let Tag = tape[ptr++];
  34146. let ElementType = tape[ptr++];
  34147. let PredefinedType = tape[ptr++];
  34148. return new IfcHumidifierType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  34149. }
  34150. ToTape() {
  34151. let args = [];
  34152. args.push(this.GlobalId);
  34153. ;
  34154. args.push(this.OwnerHistory);
  34155. ;
  34156. args.push(this.Name);
  34157. ;
  34158. args.push(this.Description);
  34159. ;
  34160. args.push(this.ApplicableOccurrence);
  34161. ;
  34162. args.push(this.HasPropertySets);
  34163. ;
  34164. args.push(this.RepresentationMaps);
  34165. ;
  34166. args.push(this.Tag);
  34167. ;
  34168. args.push(this.ElementType);
  34169. ;
  34170. args.push(this.PredefinedType);
  34171. ;
  34172. return args;
  34173. }
  34174. };
  34175. var IfcIShapeProfileDef = class {
  34176. constructor(expressID, type, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) {
  34177. this.expressID = expressID;
  34178. this.type = type;
  34179. this.ProfileType = ProfileType;
  34180. this.ProfileName = ProfileName;
  34181. this.Position = Position;
  34182. this.OverallWidth = OverallWidth;
  34183. this.OverallDepth = OverallDepth;
  34184. this.WebThickness = WebThickness;
  34185. this.FlangeThickness = FlangeThickness;
  34186. this.FilletRadius = FilletRadius;
  34187. this.FlangeEdgeRadius = FlangeEdgeRadius;
  34188. this.FlangeSlope = FlangeSlope;
  34189. }
  34190. static FromTape(expressID, type, tape) {
  34191. let ptr = 0;
  34192. let ProfileType = tape[ptr++];
  34193. let ProfileName = tape[ptr++];
  34194. let Position = tape[ptr++];
  34195. let OverallWidth = tape[ptr++];
  34196. let OverallDepth = tape[ptr++];
  34197. let WebThickness = tape[ptr++];
  34198. let FlangeThickness = tape[ptr++];
  34199. let FilletRadius = tape[ptr++];
  34200. let FlangeEdgeRadius = tape[ptr++];
  34201. let FlangeSlope = tape[ptr++];
  34202. return new IfcIShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope);
  34203. }
  34204. ToTape() {
  34205. let args = [];
  34206. args.push(this.ProfileType);
  34207. ;
  34208. args.push(this.ProfileName);
  34209. ;
  34210. args.push(this.Position);
  34211. ;
  34212. args.push(this.OverallWidth);
  34213. ;
  34214. args.push(this.OverallDepth);
  34215. ;
  34216. args.push(this.WebThickness);
  34217. ;
  34218. args.push(this.FlangeThickness);
  34219. ;
  34220. args.push(this.FilletRadius);
  34221. ;
  34222. args.push(this.FlangeEdgeRadius);
  34223. ;
  34224. args.push(this.FlangeSlope);
  34225. ;
  34226. return args;
  34227. }
  34228. };
  34229. var IfcImageTexture = class {
  34230. constructor(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) {
  34231. this.expressID = expressID;
  34232. this.type = type;
  34233. this.RepeatS = RepeatS;
  34234. this.RepeatT = RepeatT;
  34235. this.Mode = Mode;
  34236. this.TextureTransform = TextureTransform;
  34237. this.Parameter = Parameter;
  34238. this.URLReference = URLReference;
  34239. }
  34240. static FromTape(expressID, type, tape) {
  34241. let ptr = 0;
  34242. let RepeatS = tape[ptr++];
  34243. let RepeatT = tape[ptr++];
  34244. let Mode = tape[ptr++];
  34245. let TextureTransform = tape[ptr++];
  34246. let Parameter = tape[ptr++];
  34247. let URLReference = tape[ptr++];
  34248. return new IfcImageTexture(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference);
  34249. }
  34250. ToTape() {
  34251. let args = [];
  34252. args.push(this.RepeatS);
  34253. ;
  34254. args.push(this.RepeatT);
  34255. ;
  34256. args.push(this.Mode);
  34257. ;
  34258. args.push(this.TextureTransform);
  34259. ;
  34260. args.push(this.Parameter);
  34261. ;
  34262. args.push(this.URLReference);
  34263. ;
  34264. return args;
  34265. }
  34266. };
  34267. var IfcIndexedColourMap = class {
  34268. constructor(expressID, type, MappedTo, Opacity, Colours, ColourIndex) {
  34269. this.expressID = expressID;
  34270. this.type = type;
  34271. this.MappedTo = MappedTo;
  34272. this.Opacity = Opacity;
  34273. this.Colours = Colours;
  34274. this.ColourIndex = ColourIndex;
  34275. }
  34276. static FromTape(expressID, type, tape) {
  34277. let ptr = 0;
  34278. let MappedTo = tape[ptr++];
  34279. let Opacity = tape[ptr++];
  34280. let Colours = tape[ptr++];
  34281. let ColourIndex = tape[ptr++];
  34282. return new IfcIndexedColourMap(expressID, type, MappedTo, Opacity, Colours, ColourIndex);
  34283. }
  34284. ToTape() {
  34285. let args = [];
  34286. args.push(this.MappedTo);
  34287. ;
  34288. args.push(this.Opacity);
  34289. ;
  34290. args.push(this.Colours);
  34291. ;
  34292. args.push(this.ColourIndex);
  34293. ;
  34294. return args;
  34295. }
  34296. };
  34297. var IfcIndexedPolyCurve = class {
  34298. constructor(expressID, type, Points, Segments, SelfIntersect) {
  34299. this.expressID = expressID;
  34300. this.type = type;
  34301. this.Points = Points;
  34302. this.Segments = Segments;
  34303. this.SelfIntersect = SelfIntersect;
  34304. }
  34305. static FromTape(expressID, type, tape) {
  34306. let ptr = 0;
  34307. let Points = tape[ptr++];
  34308. let Segments = tape[ptr++];
  34309. let SelfIntersect = tape[ptr++];
  34310. return new IfcIndexedPolyCurve(expressID, type, Points, Segments, SelfIntersect);
  34311. }
  34312. ToTape() {
  34313. let args = [];
  34314. args.push(this.Points);
  34315. ;
  34316. args.push(this.Segments);
  34317. ;
  34318. args.push(this.SelfIntersect);
  34319. ;
  34320. return args;
  34321. }
  34322. };
  34323. var IfcIndexedPolygonalFace = class {
  34324. constructor(expressID, type, CoordIndex) {
  34325. this.expressID = expressID;
  34326. this.type = type;
  34327. this.CoordIndex = CoordIndex;
  34328. }
  34329. static FromTape(expressID, type, tape) {
  34330. let ptr = 0;
  34331. let CoordIndex = tape[ptr++];
  34332. return new IfcIndexedPolygonalFace(expressID, type, CoordIndex);
  34333. }
  34334. ToTape() {
  34335. let args = [];
  34336. args.push(this.CoordIndex);
  34337. ;
  34338. return args;
  34339. }
  34340. };
  34341. var IfcIndexedPolygonalFaceWithVoids = class {
  34342. constructor(expressID, type, CoordIndex, InnerCoordIndices) {
  34343. this.expressID = expressID;
  34344. this.type = type;
  34345. this.CoordIndex = CoordIndex;
  34346. this.InnerCoordIndices = InnerCoordIndices;
  34347. }
  34348. static FromTape(expressID, type, tape) {
  34349. let ptr = 0;
  34350. let CoordIndex = tape[ptr++];
  34351. let InnerCoordIndices = tape[ptr++];
  34352. return new IfcIndexedPolygonalFaceWithVoids(expressID, type, CoordIndex, InnerCoordIndices);
  34353. }
  34354. ToTape() {
  34355. let args = [];
  34356. args.push(this.CoordIndex);
  34357. ;
  34358. args.push(this.InnerCoordIndices);
  34359. ;
  34360. return args;
  34361. }
  34362. };
  34363. var IfcIndexedTextureMap = class {
  34364. constructor(expressID, type, Maps, MappedTo, TexCoords) {
  34365. this.expressID = expressID;
  34366. this.type = type;
  34367. this.Maps = Maps;
  34368. this.MappedTo = MappedTo;
  34369. this.TexCoords = TexCoords;
  34370. }
  34371. static FromTape(expressID, type, tape) {
  34372. let ptr = 0;
  34373. let Maps = tape[ptr++];
  34374. let MappedTo = tape[ptr++];
  34375. let TexCoords = tape[ptr++];
  34376. return new IfcIndexedTextureMap(expressID, type, Maps, MappedTo, TexCoords);
  34377. }
  34378. ToTape() {
  34379. let args = [];
  34380. args.push(this.Maps);
  34381. ;
  34382. args.push(this.MappedTo);
  34383. ;
  34384. args.push(this.TexCoords);
  34385. ;
  34386. return args;
  34387. }
  34388. };
  34389. var IfcIndexedTriangleTextureMap = class {
  34390. constructor(expressID, type, Maps, MappedTo, TexCoords, TexCoordIndex) {
  34391. this.expressID = expressID;
  34392. this.type = type;
  34393. this.Maps = Maps;
  34394. this.MappedTo = MappedTo;
  34395. this.TexCoords = TexCoords;
  34396. this.TexCoordIndex = TexCoordIndex;
  34397. }
  34398. static FromTape(expressID, type, tape) {
  34399. let ptr = 0;
  34400. let Maps = tape[ptr++];
  34401. let MappedTo = tape[ptr++];
  34402. let TexCoords = tape[ptr++];
  34403. let TexCoordIndex = tape[ptr++];
  34404. return new IfcIndexedTriangleTextureMap(expressID, type, Maps, MappedTo, TexCoords, TexCoordIndex);
  34405. }
  34406. ToTape() {
  34407. let args = [];
  34408. args.push(this.Maps);
  34409. ;
  34410. args.push(this.MappedTo);
  34411. ;
  34412. args.push(this.TexCoords);
  34413. ;
  34414. args.push(this.TexCoordIndex);
  34415. ;
  34416. return args;
  34417. }
  34418. };
  34419. var IfcInterceptor = class {
  34420. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  34421. this.expressID = expressID;
  34422. this.type = type;
  34423. this.GlobalId = GlobalId;
  34424. this.OwnerHistory = OwnerHistory;
  34425. this.Name = Name;
  34426. this.Description = Description;
  34427. this.ObjectType = ObjectType;
  34428. this.ObjectPlacement = ObjectPlacement;
  34429. this.Representation = Representation;
  34430. this.Tag = Tag;
  34431. this.PredefinedType = PredefinedType;
  34432. }
  34433. static FromTape(expressID, type, tape) {
  34434. let ptr = 0;
  34435. let GlobalId = tape[ptr++];
  34436. let OwnerHistory = tape[ptr++];
  34437. let Name = tape[ptr++];
  34438. let Description = tape[ptr++];
  34439. let ObjectType = tape[ptr++];
  34440. let ObjectPlacement = tape[ptr++];
  34441. let Representation = tape[ptr++];
  34442. let Tag = tape[ptr++];
  34443. let PredefinedType = tape[ptr++];
  34444. return new IfcInterceptor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  34445. }
  34446. ToTape() {
  34447. let args = [];
  34448. args.push(this.GlobalId);
  34449. ;
  34450. args.push(this.OwnerHistory);
  34451. ;
  34452. args.push(this.Name);
  34453. ;
  34454. args.push(this.Description);
  34455. ;
  34456. args.push(this.ObjectType);
  34457. ;
  34458. args.push(this.ObjectPlacement);
  34459. ;
  34460. args.push(this.Representation);
  34461. ;
  34462. args.push(this.Tag);
  34463. ;
  34464. args.push(this.PredefinedType);
  34465. ;
  34466. return args;
  34467. }
  34468. };
  34469. var IfcInterceptorType = class {
  34470. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  34471. this.expressID = expressID;
  34472. this.type = type;
  34473. this.GlobalId = GlobalId;
  34474. this.OwnerHistory = OwnerHistory;
  34475. this.Name = Name;
  34476. this.Description = Description;
  34477. this.ApplicableOccurrence = ApplicableOccurrence;
  34478. this.HasPropertySets = HasPropertySets;
  34479. this.RepresentationMaps = RepresentationMaps;
  34480. this.Tag = Tag;
  34481. this.ElementType = ElementType;
  34482. this.PredefinedType = PredefinedType;
  34483. }
  34484. static FromTape(expressID, type, tape) {
  34485. let ptr = 0;
  34486. let GlobalId = tape[ptr++];
  34487. let OwnerHistory = tape[ptr++];
  34488. let Name = tape[ptr++];
  34489. let Description = tape[ptr++];
  34490. let ApplicableOccurrence = tape[ptr++];
  34491. let HasPropertySets = tape[ptr++];
  34492. let RepresentationMaps = tape[ptr++];
  34493. let Tag = tape[ptr++];
  34494. let ElementType = tape[ptr++];
  34495. let PredefinedType = tape[ptr++];
  34496. return new IfcInterceptorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  34497. }
  34498. ToTape() {
  34499. let args = [];
  34500. args.push(this.GlobalId);
  34501. ;
  34502. args.push(this.OwnerHistory);
  34503. ;
  34504. args.push(this.Name);
  34505. ;
  34506. args.push(this.Description);
  34507. ;
  34508. args.push(this.ApplicableOccurrence);
  34509. ;
  34510. args.push(this.HasPropertySets);
  34511. ;
  34512. args.push(this.RepresentationMaps);
  34513. ;
  34514. args.push(this.Tag);
  34515. ;
  34516. args.push(this.ElementType);
  34517. ;
  34518. args.push(this.PredefinedType);
  34519. ;
  34520. return args;
  34521. }
  34522. };
  34523. var IfcIntersectionCurve = class {
  34524. constructor(expressID, type, Curve3D, AssociatedGeometry, MasterRepresentation) {
  34525. this.expressID = expressID;
  34526. this.type = type;
  34527. this.Curve3D = Curve3D;
  34528. this.AssociatedGeometry = AssociatedGeometry;
  34529. this.MasterRepresentation = MasterRepresentation;
  34530. }
  34531. static FromTape(expressID, type, tape) {
  34532. let ptr = 0;
  34533. let Curve3D = tape[ptr++];
  34534. let AssociatedGeometry = tape[ptr++];
  34535. let MasterRepresentation = tape[ptr++];
  34536. return new IfcIntersectionCurve(expressID, type, Curve3D, AssociatedGeometry, MasterRepresentation);
  34537. }
  34538. ToTape() {
  34539. let args = [];
  34540. args.push(this.Curve3D);
  34541. ;
  34542. args.push(this.AssociatedGeometry);
  34543. ;
  34544. args.push(this.MasterRepresentation);
  34545. ;
  34546. return args;
  34547. }
  34548. };
  34549. var IfcInventory = class {
  34550. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) {
  34551. this.expressID = expressID;
  34552. this.type = type;
  34553. this.GlobalId = GlobalId;
  34554. this.OwnerHistory = OwnerHistory;
  34555. this.Name = Name;
  34556. this.Description = Description;
  34557. this.ObjectType = ObjectType;
  34558. this.PredefinedType = PredefinedType;
  34559. this.Jurisdiction = Jurisdiction;
  34560. this.ResponsiblePersons = ResponsiblePersons;
  34561. this.LastUpdateDate = LastUpdateDate;
  34562. this.CurrentValue = CurrentValue;
  34563. this.OriginalValue = OriginalValue;
  34564. }
  34565. static FromTape(expressID, type, tape) {
  34566. let ptr = 0;
  34567. let GlobalId = tape[ptr++];
  34568. let OwnerHistory = tape[ptr++];
  34569. let Name = tape[ptr++];
  34570. let Description = tape[ptr++];
  34571. let ObjectType = tape[ptr++];
  34572. let PredefinedType = tape[ptr++];
  34573. let Jurisdiction = tape[ptr++];
  34574. let ResponsiblePersons = tape[ptr++];
  34575. let LastUpdateDate = tape[ptr++];
  34576. let CurrentValue = tape[ptr++];
  34577. let OriginalValue = tape[ptr++];
  34578. return new IfcInventory(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue);
  34579. }
  34580. ToTape() {
  34581. let args = [];
  34582. args.push(this.GlobalId);
  34583. ;
  34584. args.push(this.OwnerHistory);
  34585. ;
  34586. args.push(this.Name);
  34587. ;
  34588. args.push(this.Description);
  34589. ;
  34590. args.push(this.ObjectType);
  34591. ;
  34592. args.push(this.PredefinedType);
  34593. ;
  34594. args.push(this.Jurisdiction);
  34595. ;
  34596. args.push(this.ResponsiblePersons);
  34597. ;
  34598. args.push(this.LastUpdateDate);
  34599. ;
  34600. args.push(this.CurrentValue);
  34601. ;
  34602. args.push(this.OriginalValue);
  34603. ;
  34604. return args;
  34605. }
  34606. };
  34607. var IfcIrregularTimeSeries = class {
  34608. constructor(expressID, type, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) {
  34609. this.expressID = expressID;
  34610. this.type = type;
  34611. this.Name = Name;
  34612. this.Description = Description;
  34613. this.StartTime = StartTime;
  34614. this.EndTime = EndTime;
  34615. this.TimeSeriesDataType = TimeSeriesDataType;
  34616. this.DataOrigin = DataOrigin;
  34617. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  34618. this.Unit = Unit;
  34619. this.Values = Values;
  34620. }
  34621. static FromTape(expressID, type, tape) {
  34622. let ptr = 0;
  34623. let Name = tape[ptr++];
  34624. let Description = tape[ptr++];
  34625. let StartTime = tape[ptr++];
  34626. let EndTime = tape[ptr++];
  34627. let TimeSeriesDataType = tape[ptr++];
  34628. let DataOrigin = tape[ptr++];
  34629. let UserDefinedDataOrigin = tape[ptr++];
  34630. let Unit = tape[ptr++];
  34631. let Values = tape[ptr++];
  34632. return new IfcIrregularTimeSeries(expressID, type, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values);
  34633. }
  34634. ToTape() {
  34635. let args = [];
  34636. args.push(this.Name);
  34637. ;
  34638. args.push(this.Description);
  34639. ;
  34640. args.push(this.StartTime);
  34641. ;
  34642. args.push(this.EndTime);
  34643. ;
  34644. args.push(this.TimeSeriesDataType);
  34645. ;
  34646. args.push(this.DataOrigin);
  34647. ;
  34648. args.push(this.UserDefinedDataOrigin);
  34649. ;
  34650. args.push(this.Unit);
  34651. ;
  34652. args.push(this.Values);
  34653. ;
  34654. return args;
  34655. }
  34656. };
  34657. var IfcIrregularTimeSeriesValue = class {
  34658. constructor(expressID, type, TimeStamp, ListValues) {
  34659. this.expressID = expressID;
  34660. this.type = type;
  34661. this.TimeStamp = TimeStamp;
  34662. this.ListValues = ListValues;
  34663. }
  34664. static FromTape(expressID, type, tape) {
  34665. let ptr = 0;
  34666. let TimeStamp = tape[ptr++];
  34667. let ListValues = tape[ptr++];
  34668. return new IfcIrregularTimeSeriesValue(expressID, type, TimeStamp, ListValues);
  34669. }
  34670. ToTape() {
  34671. let args = [];
  34672. args.push(this.TimeStamp);
  34673. ;
  34674. args.push(this.ListValues);
  34675. ;
  34676. return args;
  34677. }
  34678. };
  34679. var IfcJunctionBox = class {
  34680. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  34681. this.expressID = expressID;
  34682. this.type = type;
  34683. this.GlobalId = GlobalId;
  34684. this.OwnerHistory = OwnerHistory;
  34685. this.Name = Name;
  34686. this.Description = Description;
  34687. this.ObjectType = ObjectType;
  34688. this.ObjectPlacement = ObjectPlacement;
  34689. this.Representation = Representation;
  34690. this.Tag = Tag;
  34691. this.PredefinedType = PredefinedType;
  34692. }
  34693. static FromTape(expressID, type, tape) {
  34694. let ptr = 0;
  34695. let GlobalId = tape[ptr++];
  34696. let OwnerHistory = tape[ptr++];
  34697. let Name = tape[ptr++];
  34698. let Description = tape[ptr++];
  34699. let ObjectType = tape[ptr++];
  34700. let ObjectPlacement = tape[ptr++];
  34701. let Representation = tape[ptr++];
  34702. let Tag = tape[ptr++];
  34703. let PredefinedType = tape[ptr++];
  34704. return new IfcJunctionBox(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  34705. }
  34706. ToTape() {
  34707. let args = [];
  34708. args.push(this.GlobalId);
  34709. ;
  34710. args.push(this.OwnerHistory);
  34711. ;
  34712. args.push(this.Name);
  34713. ;
  34714. args.push(this.Description);
  34715. ;
  34716. args.push(this.ObjectType);
  34717. ;
  34718. args.push(this.ObjectPlacement);
  34719. ;
  34720. args.push(this.Representation);
  34721. ;
  34722. args.push(this.Tag);
  34723. ;
  34724. args.push(this.PredefinedType);
  34725. ;
  34726. return args;
  34727. }
  34728. };
  34729. var IfcJunctionBoxType = class {
  34730. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  34731. this.expressID = expressID;
  34732. this.type = type;
  34733. this.GlobalId = GlobalId;
  34734. this.OwnerHistory = OwnerHistory;
  34735. this.Name = Name;
  34736. this.Description = Description;
  34737. this.ApplicableOccurrence = ApplicableOccurrence;
  34738. this.HasPropertySets = HasPropertySets;
  34739. this.RepresentationMaps = RepresentationMaps;
  34740. this.Tag = Tag;
  34741. this.ElementType = ElementType;
  34742. this.PredefinedType = PredefinedType;
  34743. }
  34744. static FromTape(expressID, type, tape) {
  34745. let ptr = 0;
  34746. let GlobalId = tape[ptr++];
  34747. let OwnerHistory = tape[ptr++];
  34748. let Name = tape[ptr++];
  34749. let Description = tape[ptr++];
  34750. let ApplicableOccurrence = tape[ptr++];
  34751. let HasPropertySets = tape[ptr++];
  34752. let RepresentationMaps = tape[ptr++];
  34753. let Tag = tape[ptr++];
  34754. let ElementType = tape[ptr++];
  34755. let PredefinedType = tape[ptr++];
  34756. return new IfcJunctionBoxType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  34757. }
  34758. ToTape() {
  34759. let args = [];
  34760. args.push(this.GlobalId);
  34761. ;
  34762. args.push(this.OwnerHistory);
  34763. ;
  34764. args.push(this.Name);
  34765. ;
  34766. args.push(this.Description);
  34767. ;
  34768. args.push(this.ApplicableOccurrence);
  34769. ;
  34770. args.push(this.HasPropertySets);
  34771. ;
  34772. args.push(this.RepresentationMaps);
  34773. ;
  34774. args.push(this.Tag);
  34775. ;
  34776. args.push(this.ElementType);
  34777. ;
  34778. args.push(this.PredefinedType);
  34779. ;
  34780. return args;
  34781. }
  34782. };
  34783. var IfcLShapeProfileDef = class {
  34784. constructor(expressID, type, ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) {
  34785. this.expressID = expressID;
  34786. this.type = type;
  34787. this.ProfileType = ProfileType;
  34788. this.ProfileName = ProfileName;
  34789. this.Position = Position;
  34790. this.Depth = Depth;
  34791. this.Width = Width;
  34792. this.Thickness = Thickness;
  34793. this.FilletRadius = FilletRadius;
  34794. this.EdgeRadius = EdgeRadius;
  34795. this.LegSlope = LegSlope;
  34796. }
  34797. static FromTape(expressID, type, tape) {
  34798. let ptr = 0;
  34799. let ProfileType = tape[ptr++];
  34800. let ProfileName = tape[ptr++];
  34801. let Position = tape[ptr++];
  34802. let Depth = tape[ptr++];
  34803. let Width = tape[ptr++];
  34804. let Thickness = tape[ptr++];
  34805. let FilletRadius = tape[ptr++];
  34806. let EdgeRadius = tape[ptr++];
  34807. let LegSlope = tape[ptr++];
  34808. return new IfcLShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope);
  34809. }
  34810. ToTape() {
  34811. let args = [];
  34812. args.push(this.ProfileType);
  34813. ;
  34814. args.push(this.ProfileName);
  34815. ;
  34816. args.push(this.Position);
  34817. ;
  34818. args.push(this.Depth);
  34819. ;
  34820. args.push(this.Width);
  34821. ;
  34822. args.push(this.Thickness);
  34823. ;
  34824. args.push(this.FilletRadius);
  34825. ;
  34826. args.push(this.EdgeRadius);
  34827. ;
  34828. args.push(this.LegSlope);
  34829. ;
  34830. return args;
  34831. }
  34832. };
  34833. var IfcLaborResource = class {
  34834. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
  34835. this.expressID = expressID;
  34836. this.type = type;
  34837. this.GlobalId = GlobalId;
  34838. this.OwnerHistory = OwnerHistory;
  34839. this.Name = Name;
  34840. this.Description = Description;
  34841. this.ObjectType = ObjectType;
  34842. this.Identification = Identification;
  34843. this.LongDescription = LongDescription;
  34844. this.Usage = Usage;
  34845. this.BaseCosts = BaseCosts;
  34846. this.BaseQuantity = BaseQuantity;
  34847. this.PredefinedType = PredefinedType;
  34848. }
  34849. static FromTape(expressID, type, tape) {
  34850. let ptr = 0;
  34851. let GlobalId = tape[ptr++];
  34852. let OwnerHistory = tape[ptr++];
  34853. let Name = tape[ptr++];
  34854. let Description = tape[ptr++];
  34855. let ObjectType = tape[ptr++];
  34856. let Identification = tape[ptr++];
  34857. let LongDescription = tape[ptr++];
  34858. let Usage = tape[ptr++];
  34859. let BaseCosts = tape[ptr++];
  34860. let BaseQuantity = tape[ptr++];
  34861. let PredefinedType = tape[ptr++];
  34862. return new IfcLaborResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType);
  34863. }
  34864. ToTape() {
  34865. let args = [];
  34866. args.push(this.GlobalId);
  34867. ;
  34868. args.push(this.OwnerHistory);
  34869. ;
  34870. args.push(this.Name);
  34871. ;
  34872. args.push(this.Description);
  34873. ;
  34874. args.push(this.ObjectType);
  34875. ;
  34876. args.push(this.Identification);
  34877. ;
  34878. args.push(this.LongDescription);
  34879. ;
  34880. args.push(this.Usage);
  34881. ;
  34882. args.push(this.BaseCosts);
  34883. ;
  34884. args.push(this.BaseQuantity);
  34885. ;
  34886. args.push(this.PredefinedType);
  34887. ;
  34888. return args;
  34889. }
  34890. };
  34891. var IfcLaborResourceType = class {
  34892. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
  34893. this.expressID = expressID;
  34894. this.type = type;
  34895. this.GlobalId = GlobalId;
  34896. this.OwnerHistory = OwnerHistory;
  34897. this.Name = Name;
  34898. this.Description = Description;
  34899. this.ApplicableOccurrence = ApplicableOccurrence;
  34900. this.HasPropertySets = HasPropertySets;
  34901. this.Identification = Identification;
  34902. this.LongDescription = LongDescription;
  34903. this.ResourceType = ResourceType;
  34904. this.BaseCosts = BaseCosts;
  34905. this.BaseQuantity = BaseQuantity;
  34906. this.PredefinedType = PredefinedType;
  34907. }
  34908. static FromTape(expressID, type, tape) {
  34909. let ptr = 0;
  34910. let GlobalId = tape[ptr++];
  34911. let OwnerHistory = tape[ptr++];
  34912. let Name = tape[ptr++];
  34913. let Description = tape[ptr++];
  34914. let ApplicableOccurrence = tape[ptr++];
  34915. let HasPropertySets = tape[ptr++];
  34916. let Identification = tape[ptr++];
  34917. let LongDescription = tape[ptr++];
  34918. let ResourceType = tape[ptr++];
  34919. let BaseCosts = tape[ptr++];
  34920. let BaseQuantity = tape[ptr++];
  34921. let PredefinedType = tape[ptr++];
  34922. return new IfcLaborResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType);
  34923. }
  34924. ToTape() {
  34925. let args = [];
  34926. args.push(this.GlobalId);
  34927. ;
  34928. args.push(this.OwnerHistory);
  34929. ;
  34930. args.push(this.Name);
  34931. ;
  34932. args.push(this.Description);
  34933. ;
  34934. args.push(this.ApplicableOccurrence);
  34935. ;
  34936. args.push(this.HasPropertySets);
  34937. ;
  34938. args.push(this.Identification);
  34939. ;
  34940. args.push(this.LongDescription);
  34941. ;
  34942. args.push(this.ResourceType);
  34943. ;
  34944. args.push(this.BaseCosts);
  34945. ;
  34946. args.push(this.BaseQuantity);
  34947. ;
  34948. args.push(this.PredefinedType);
  34949. ;
  34950. return args;
  34951. }
  34952. };
  34953. var IfcLagTime = class {
  34954. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) {
  34955. this.expressID = expressID;
  34956. this.type = type;
  34957. this.Name = Name;
  34958. this.DataOrigin = DataOrigin;
  34959. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  34960. this.LagValue = LagValue;
  34961. this.DurationType = DurationType;
  34962. }
  34963. static FromTape(expressID, type, tape) {
  34964. let ptr = 0;
  34965. let Name = tape[ptr++];
  34966. let DataOrigin = tape[ptr++];
  34967. let UserDefinedDataOrigin = tape[ptr++];
  34968. let LagValue = tape[ptr++];
  34969. let DurationType = tape[ptr++];
  34970. return new IfcLagTime(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType);
  34971. }
  34972. ToTape() {
  34973. let args = [];
  34974. args.push(this.Name);
  34975. ;
  34976. args.push(this.DataOrigin);
  34977. ;
  34978. args.push(this.UserDefinedDataOrigin);
  34979. ;
  34980. args.push(this.LagValue);
  34981. ;
  34982. args.push(this.DurationType);
  34983. ;
  34984. return args;
  34985. }
  34986. };
  34987. var IfcLamp = class {
  34988. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  34989. this.expressID = expressID;
  34990. this.type = type;
  34991. this.GlobalId = GlobalId;
  34992. this.OwnerHistory = OwnerHistory;
  34993. this.Name = Name;
  34994. this.Description = Description;
  34995. this.ObjectType = ObjectType;
  34996. this.ObjectPlacement = ObjectPlacement;
  34997. this.Representation = Representation;
  34998. this.Tag = Tag;
  34999. this.PredefinedType = PredefinedType;
  35000. }
  35001. static FromTape(expressID, type, tape) {
  35002. let ptr = 0;
  35003. let GlobalId = tape[ptr++];
  35004. let OwnerHistory = tape[ptr++];
  35005. let Name = tape[ptr++];
  35006. let Description = tape[ptr++];
  35007. let ObjectType = tape[ptr++];
  35008. let ObjectPlacement = tape[ptr++];
  35009. let Representation = tape[ptr++];
  35010. let Tag = tape[ptr++];
  35011. let PredefinedType = tape[ptr++];
  35012. return new IfcLamp(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  35013. }
  35014. ToTape() {
  35015. let args = [];
  35016. args.push(this.GlobalId);
  35017. ;
  35018. args.push(this.OwnerHistory);
  35019. ;
  35020. args.push(this.Name);
  35021. ;
  35022. args.push(this.Description);
  35023. ;
  35024. args.push(this.ObjectType);
  35025. ;
  35026. args.push(this.ObjectPlacement);
  35027. ;
  35028. args.push(this.Representation);
  35029. ;
  35030. args.push(this.Tag);
  35031. ;
  35032. args.push(this.PredefinedType);
  35033. ;
  35034. return args;
  35035. }
  35036. };
  35037. var IfcLampType = class {
  35038. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  35039. this.expressID = expressID;
  35040. this.type = type;
  35041. this.GlobalId = GlobalId;
  35042. this.OwnerHistory = OwnerHistory;
  35043. this.Name = Name;
  35044. this.Description = Description;
  35045. this.ApplicableOccurrence = ApplicableOccurrence;
  35046. this.HasPropertySets = HasPropertySets;
  35047. this.RepresentationMaps = RepresentationMaps;
  35048. this.Tag = Tag;
  35049. this.ElementType = ElementType;
  35050. this.PredefinedType = PredefinedType;
  35051. }
  35052. static FromTape(expressID, type, tape) {
  35053. let ptr = 0;
  35054. let GlobalId = tape[ptr++];
  35055. let OwnerHistory = tape[ptr++];
  35056. let Name = tape[ptr++];
  35057. let Description = tape[ptr++];
  35058. let ApplicableOccurrence = tape[ptr++];
  35059. let HasPropertySets = tape[ptr++];
  35060. let RepresentationMaps = tape[ptr++];
  35061. let Tag = tape[ptr++];
  35062. let ElementType = tape[ptr++];
  35063. let PredefinedType = tape[ptr++];
  35064. return new IfcLampType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  35065. }
  35066. ToTape() {
  35067. let args = [];
  35068. args.push(this.GlobalId);
  35069. ;
  35070. args.push(this.OwnerHistory);
  35071. ;
  35072. args.push(this.Name);
  35073. ;
  35074. args.push(this.Description);
  35075. ;
  35076. args.push(this.ApplicableOccurrence);
  35077. ;
  35078. args.push(this.HasPropertySets);
  35079. ;
  35080. args.push(this.RepresentationMaps);
  35081. ;
  35082. args.push(this.Tag);
  35083. ;
  35084. args.push(this.ElementType);
  35085. ;
  35086. args.push(this.PredefinedType);
  35087. ;
  35088. return args;
  35089. }
  35090. };
  35091. var IfcLibraryInformation = class {
  35092. constructor(expressID, type, Name, Version, Publisher, VersionDate, Location, Description) {
  35093. this.expressID = expressID;
  35094. this.type = type;
  35095. this.Name = Name;
  35096. this.Version = Version;
  35097. this.Publisher = Publisher;
  35098. this.VersionDate = VersionDate;
  35099. this.Location = Location;
  35100. this.Description = Description;
  35101. }
  35102. static FromTape(expressID, type, tape) {
  35103. let ptr = 0;
  35104. let Name = tape[ptr++];
  35105. let Version = tape[ptr++];
  35106. let Publisher = tape[ptr++];
  35107. let VersionDate = tape[ptr++];
  35108. let Location = tape[ptr++];
  35109. let Description = tape[ptr++];
  35110. return new IfcLibraryInformation(expressID, type, Name, Version, Publisher, VersionDate, Location, Description);
  35111. }
  35112. ToTape() {
  35113. let args = [];
  35114. args.push(this.Name);
  35115. ;
  35116. args.push(this.Version);
  35117. ;
  35118. args.push(this.Publisher);
  35119. ;
  35120. args.push(this.VersionDate);
  35121. ;
  35122. args.push(this.Location);
  35123. ;
  35124. args.push(this.Description);
  35125. ;
  35126. return args;
  35127. }
  35128. };
  35129. var IfcLibraryReference = class {
  35130. constructor(expressID, type, Location, Identification, Name, Description, Language, ReferencedLibrary) {
  35131. this.expressID = expressID;
  35132. this.type = type;
  35133. this.Location = Location;
  35134. this.Identification = Identification;
  35135. this.Name = Name;
  35136. this.Description = Description;
  35137. this.Language = Language;
  35138. this.ReferencedLibrary = ReferencedLibrary;
  35139. }
  35140. static FromTape(expressID, type, tape) {
  35141. let ptr = 0;
  35142. let Location = tape[ptr++];
  35143. let Identification = tape[ptr++];
  35144. let Name = tape[ptr++];
  35145. let Description = tape[ptr++];
  35146. let Language = tape[ptr++];
  35147. let ReferencedLibrary = tape[ptr++];
  35148. return new IfcLibraryReference(expressID, type, Location, Identification, Name, Description, Language, ReferencedLibrary);
  35149. }
  35150. ToTape() {
  35151. let args = [];
  35152. args.push(this.Location);
  35153. ;
  35154. args.push(this.Identification);
  35155. ;
  35156. args.push(this.Name);
  35157. ;
  35158. args.push(this.Description);
  35159. ;
  35160. args.push(this.Language);
  35161. ;
  35162. args.push(this.ReferencedLibrary);
  35163. ;
  35164. return args;
  35165. }
  35166. };
  35167. var IfcLightDistributionData = class {
  35168. constructor(expressID, type, MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) {
  35169. this.expressID = expressID;
  35170. this.type = type;
  35171. this.MainPlaneAngle = MainPlaneAngle;
  35172. this.SecondaryPlaneAngle = SecondaryPlaneAngle;
  35173. this.LuminousIntensity = LuminousIntensity;
  35174. }
  35175. static FromTape(expressID, type, tape) {
  35176. let ptr = 0;
  35177. let MainPlaneAngle = tape[ptr++];
  35178. let SecondaryPlaneAngle = tape[ptr++];
  35179. let LuminousIntensity = tape[ptr++];
  35180. return new IfcLightDistributionData(expressID, type, MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity);
  35181. }
  35182. ToTape() {
  35183. let args = [];
  35184. args.push(this.MainPlaneAngle);
  35185. ;
  35186. args.push(this.SecondaryPlaneAngle);
  35187. ;
  35188. args.push(this.LuminousIntensity);
  35189. ;
  35190. return args;
  35191. }
  35192. };
  35193. var IfcLightFixture = class {
  35194. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  35195. this.expressID = expressID;
  35196. this.type = type;
  35197. this.GlobalId = GlobalId;
  35198. this.OwnerHistory = OwnerHistory;
  35199. this.Name = Name;
  35200. this.Description = Description;
  35201. this.ObjectType = ObjectType;
  35202. this.ObjectPlacement = ObjectPlacement;
  35203. this.Representation = Representation;
  35204. this.Tag = Tag;
  35205. this.PredefinedType = PredefinedType;
  35206. }
  35207. static FromTape(expressID, type, tape) {
  35208. let ptr = 0;
  35209. let GlobalId = tape[ptr++];
  35210. let OwnerHistory = tape[ptr++];
  35211. let Name = tape[ptr++];
  35212. let Description = tape[ptr++];
  35213. let ObjectType = tape[ptr++];
  35214. let ObjectPlacement = tape[ptr++];
  35215. let Representation = tape[ptr++];
  35216. let Tag = tape[ptr++];
  35217. let PredefinedType = tape[ptr++];
  35218. return new IfcLightFixture(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  35219. }
  35220. ToTape() {
  35221. let args = [];
  35222. args.push(this.GlobalId);
  35223. ;
  35224. args.push(this.OwnerHistory);
  35225. ;
  35226. args.push(this.Name);
  35227. ;
  35228. args.push(this.Description);
  35229. ;
  35230. args.push(this.ObjectType);
  35231. ;
  35232. args.push(this.ObjectPlacement);
  35233. ;
  35234. args.push(this.Representation);
  35235. ;
  35236. args.push(this.Tag);
  35237. ;
  35238. args.push(this.PredefinedType);
  35239. ;
  35240. return args;
  35241. }
  35242. };
  35243. var IfcLightFixtureType = class {
  35244. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  35245. this.expressID = expressID;
  35246. this.type = type;
  35247. this.GlobalId = GlobalId;
  35248. this.OwnerHistory = OwnerHistory;
  35249. this.Name = Name;
  35250. this.Description = Description;
  35251. this.ApplicableOccurrence = ApplicableOccurrence;
  35252. this.HasPropertySets = HasPropertySets;
  35253. this.RepresentationMaps = RepresentationMaps;
  35254. this.Tag = Tag;
  35255. this.ElementType = ElementType;
  35256. this.PredefinedType = PredefinedType;
  35257. }
  35258. static FromTape(expressID, type, tape) {
  35259. let ptr = 0;
  35260. let GlobalId = tape[ptr++];
  35261. let OwnerHistory = tape[ptr++];
  35262. let Name = tape[ptr++];
  35263. let Description = tape[ptr++];
  35264. let ApplicableOccurrence = tape[ptr++];
  35265. let HasPropertySets = tape[ptr++];
  35266. let RepresentationMaps = tape[ptr++];
  35267. let Tag = tape[ptr++];
  35268. let ElementType = tape[ptr++];
  35269. let PredefinedType = tape[ptr++];
  35270. return new IfcLightFixtureType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  35271. }
  35272. ToTape() {
  35273. let args = [];
  35274. args.push(this.GlobalId);
  35275. ;
  35276. args.push(this.OwnerHistory);
  35277. ;
  35278. args.push(this.Name);
  35279. ;
  35280. args.push(this.Description);
  35281. ;
  35282. args.push(this.ApplicableOccurrence);
  35283. ;
  35284. args.push(this.HasPropertySets);
  35285. ;
  35286. args.push(this.RepresentationMaps);
  35287. ;
  35288. args.push(this.Tag);
  35289. ;
  35290. args.push(this.ElementType);
  35291. ;
  35292. args.push(this.PredefinedType);
  35293. ;
  35294. return args;
  35295. }
  35296. };
  35297. var IfcLightIntensityDistribution = class {
  35298. constructor(expressID, type, LightDistributionCurve, DistributionData) {
  35299. this.expressID = expressID;
  35300. this.type = type;
  35301. this.LightDistributionCurve = LightDistributionCurve;
  35302. this.DistributionData = DistributionData;
  35303. }
  35304. static FromTape(expressID, type, tape) {
  35305. let ptr = 0;
  35306. let LightDistributionCurve = tape[ptr++];
  35307. let DistributionData = tape[ptr++];
  35308. return new IfcLightIntensityDistribution(expressID, type, LightDistributionCurve, DistributionData);
  35309. }
  35310. ToTape() {
  35311. let args = [];
  35312. args.push(this.LightDistributionCurve);
  35313. ;
  35314. args.push(this.DistributionData);
  35315. ;
  35316. return args;
  35317. }
  35318. };
  35319. var IfcLightSource = class {
  35320. constructor(expressID, type, Name, LightColour, AmbientIntensity, Intensity) {
  35321. this.expressID = expressID;
  35322. this.type = type;
  35323. this.Name = Name;
  35324. this.LightColour = LightColour;
  35325. this.AmbientIntensity = AmbientIntensity;
  35326. this.Intensity = Intensity;
  35327. }
  35328. static FromTape(expressID, type, tape) {
  35329. let ptr = 0;
  35330. let Name = tape[ptr++];
  35331. let LightColour = tape[ptr++];
  35332. let AmbientIntensity = tape[ptr++];
  35333. let Intensity = tape[ptr++];
  35334. return new IfcLightSource(expressID, type, Name, LightColour, AmbientIntensity, Intensity);
  35335. }
  35336. ToTape() {
  35337. let args = [];
  35338. args.push(this.Name);
  35339. ;
  35340. args.push(this.LightColour);
  35341. ;
  35342. args.push(this.AmbientIntensity);
  35343. ;
  35344. args.push(this.Intensity);
  35345. ;
  35346. return args;
  35347. }
  35348. };
  35349. var IfcLightSourceAmbient = class {
  35350. constructor(expressID, type, Name, LightColour, AmbientIntensity, Intensity) {
  35351. this.expressID = expressID;
  35352. this.type = type;
  35353. this.Name = Name;
  35354. this.LightColour = LightColour;
  35355. this.AmbientIntensity = AmbientIntensity;
  35356. this.Intensity = Intensity;
  35357. }
  35358. static FromTape(expressID, type, tape) {
  35359. let ptr = 0;
  35360. let Name = tape[ptr++];
  35361. let LightColour = tape[ptr++];
  35362. let AmbientIntensity = tape[ptr++];
  35363. let Intensity = tape[ptr++];
  35364. return new IfcLightSourceAmbient(expressID, type, Name, LightColour, AmbientIntensity, Intensity);
  35365. }
  35366. ToTape() {
  35367. let args = [];
  35368. args.push(this.Name);
  35369. ;
  35370. args.push(this.LightColour);
  35371. ;
  35372. args.push(this.AmbientIntensity);
  35373. ;
  35374. args.push(this.Intensity);
  35375. ;
  35376. return args;
  35377. }
  35378. };
  35379. var IfcLightSourceDirectional = class {
  35380. constructor(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Orientation) {
  35381. this.expressID = expressID;
  35382. this.type = type;
  35383. this.Name = Name;
  35384. this.LightColour = LightColour;
  35385. this.AmbientIntensity = AmbientIntensity;
  35386. this.Intensity = Intensity;
  35387. this.Orientation = Orientation;
  35388. }
  35389. static FromTape(expressID, type, tape) {
  35390. let ptr = 0;
  35391. let Name = tape[ptr++];
  35392. let LightColour = tape[ptr++];
  35393. let AmbientIntensity = tape[ptr++];
  35394. let Intensity = tape[ptr++];
  35395. let Orientation = tape[ptr++];
  35396. return new IfcLightSourceDirectional(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Orientation);
  35397. }
  35398. ToTape() {
  35399. let args = [];
  35400. args.push(this.Name);
  35401. ;
  35402. args.push(this.LightColour);
  35403. ;
  35404. args.push(this.AmbientIntensity);
  35405. ;
  35406. args.push(this.Intensity);
  35407. ;
  35408. args.push(this.Orientation);
  35409. ;
  35410. return args;
  35411. }
  35412. };
  35413. var IfcLightSourceGoniometric = class {
  35414. constructor(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) {
  35415. this.expressID = expressID;
  35416. this.type = type;
  35417. this.Name = Name;
  35418. this.LightColour = LightColour;
  35419. this.AmbientIntensity = AmbientIntensity;
  35420. this.Intensity = Intensity;
  35421. this.Position = Position;
  35422. this.ColourAppearance = ColourAppearance;
  35423. this.ColourTemperature = ColourTemperature;
  35424. this.LuminousFlux = LuminousFlux;
  35425. this.LightEmissionSource = LightEmissionSource;
  35426. this.LightDistributionDataSource = LightDistributionDataSource;
  35427. }
  35428. static FromTape(expressID, type, tape) {
  35429. let ptr = 0;
  35430. let Name = tape[ptr++];
  35431. let LightColour = tape[ptr++];
  35432. let AmbientIntensity = tape[ptr++];
  35433. let Intensity = tape[ptr++];
  35434. let Position = tape[ptr++];
  35435. let ColourAppearance = tape[ptr++];
  35436. let ColourTemperature = tape[ptr++];
  35437. let LuminousFlux = tape[ptr++];
  35438. let LightEmissionSource = tape[ptr++];
  35439. let LightDistributionDataSource = tape[ptr++];
  35440. return new IfcLightSourceGoniometric(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource);
  35441. }
  35442. ToTape() {
  35443. let args = [];
  35444. args.push(this.Name);
  35445. ;
  35446. args.push(this.LightColour);
  35447. ;
  35448. args.push(this.AmbientIntensity);
  35449. ;
  35450. args.push(this.Intensity);
  35451. ;
  35452. args.push(this.Position);
  35453. ;
  35454. args.push(this.ColourAppearance);
  35455. ;
  35456. args.push(this.ColourTemperature);
  35457. ;
  35458. args.push(this.LuminousFlux);
  35459. ;
  35460. args.push(this.LightEmissionSource);
  35461. ;
  35462. args.push(this.LightDistributionDataSource);
  35463. ;
  35464. return args;
  35465. }
  35466. };
  35467. var IfcLightSourcePositional = class {
  35468. constructor(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) {
  35469. this.expressID = expressID;
  35470. this.type = type;
  35471. this.Name = Name;
  35472. this.LightColour = LightColour;
  35473. this.AmbientIntensity = AmbientIntensity;
  35474. this.Intensity = Intensity;
  35475. this.Position = Position;
  35476. this.Radius = Radius;
  35477. this.ConstantAttenuation = ConstantAttenuation;
  35478. this.DistanceAttenuation = DistanceAttenuation;
  35479. this.QuadricAttenuation = QuadricAttenuation;
  35480. }
  35481. static FromTape(expressID, type, tape) {
  35482. let ptr = 0;
  35483. let Name = tape[ptr++];
  35484. let LightColour = tape[ptr++];
  35485. let AmbientIntensity = tape[ptr++];
  35486. let Intensity = tape[ptr++];
  35487. let Position = tape[ptr++];
  35488. let Radius = tape[ptr++];
  35489. let ConstantAttenuation = tape[ptr++];
  35490. let DistanceAttenuation = tape[ptr++];
  35491. let QuadricAttenuation = tape[ptr++];
  35492. return new IfcLightSourcePositional(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation);
  35493. }
  35494. ToTape() {
  35495. let args = [];
  35496. args.push(this.Name);
  35497. ;
  35498. args.push(this.LightColour);
  35499. ;
  35500. args.push(this.AmbientIntensity);
  35501. ;
  35502. args.push(this.Intensity);
  35503. ;
  35504. args.push(this.Position);
  35505. ;
  35506. args.push(this.Radius);
  35507. ;
  35508. args.push(this.ConstantAttenuation);
  35509. ;
  35510. args.push(this.DistanceAttenuation);
  35511. ;
  35512. args.push(this.QuadricAttenuation);
  35513. ;
  35514. return args;
  35515. }
  35516. };
  35517. var IfcLightSourceSpot = class {
  35518. constructor(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) {
  35519. this.expressID = expressID;
  35520. this.type = type;
  35521. this.Name = Name;
  35522. this.LightColour = LightColour;
  35523. this.AmbientIntensity = AmbientIntensity;
  35524. this.Intensity = Intensity;
  35525. this.Position = Position;
  35526. this.Radius = Radius;
  35527. this.ConstantAttenuation = ConstantAttenuation;
  35528. this.DistanceAttenuation = DistanceAttenuation;
  35529. this.QuadricAttenuation = QuadricAttenuation;
  35530. this.Orientation = Orientation;
  35531. this.ConcentrationExponent = ConcentrationExponent;
  35532. this.SpreadAngle = SpreadAngle;
  35533. this.BeamWidthAngle = BeamWidthAngle;
  35534. }
  35535. static FromTape(expressID, type, tape) {
  35536. let ptr = 0;
  35537. let Name = tape[ptr++];
  35538. let LightColour = tape[ptr++];
  35539. let AmbientIntensity = tape[ptr++];
  35540. let Intensity = tape[ptr++];
  35541. let Position = tape[ptr++];
  35542. let Radius = tape[ptr++];
  35543. let ConstantAttenuation = tape[ptr++];
  35544. let DistanceAttenuation = tape[ptr++];
  35545. let QuadricAttenuation = tape[ptr++];
  35546. let Orientation = tape[ptr++];
  35547. let ConcentrationExponent = tape[ptr++];
  35548. let SpreadAngle = tape[ptr++];
  35549. let BeamWidthAngle = tape[ptr++];
  35550. return new IfcLightSourceSpot(expressID, type, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle);
  35551. }
  35552. ToTape() {
  35553. let args = [];
  35554. args.push(this.Name);
  35555. ;
  35556. args.push(this.LightColour);
  35557. ;
  35558. args.push(this.AmbientIntensity);
  35559. ;
  35560. args.push(this.Intensity);
  35561. ;
  35562. args.push(this.Position);
  35563. ;
  35564. args.push(this.Radius);
  35565. ;
  35566. args.push(this.ConstantAttenuation);
  35567. ;
  35568. args.push(this.DistanceAttenuation);
  35569. ;
  35570. args.push(this.QuadricAttenuation);
  35571. ;
  35572. args.push(this.Orientation);
  35573. ;
  35574. args.push(this.ConcentrationExponent);
  35575. ;
  35576. args.push(this.SpreadAngle);
  35577. ;
  35578. args.push(this.BeamWidthAngle);
  35579. ;
  35580. return args;
  35581. }
  35582. };
  35583. var IfcLine = class {
  35584. constructor(expressID, type, Pnt, Dir) {
  35585. this.expressID = expressID;
  35586. this.type = type;
  35587. this.Pnt = Pnt;
  35588. this.Dir = Dir;
  35589. }
  35590. static FromTape(expressID, type, tape) {
  35591. let ptr = 0;
  35592. let Pnt = tape[ptr++];
  35593. let Dir = tape[ptr++];
  35594. return new IfcLine(expressID, type, Pnt, Dir);
  35595. }
  35596. ToTape() {
  35597. let args = [];
  35598. args.push(this.Pnt);
  35599. ;
  35600. args.push(this.Dir);
  35601. ;
  35602. return args;
  35603. }
  35604. };
  35605. var IfcLineSegment2D = class {
  35606. constructor(expressID, type, StartPoint, StartDirection, SegmentLength) {
  35607. this.expressID = expressID;
  35608. this.type = type;
  35609. this.StartPoint = StartPoint;
  35610. this.StartDirection = StartDirection;
  35611. this.SegmentLength = SegmentLength;
  35612. }
  35613. static FromTape(expressID, type, tape) {
  35614. let ptr = 0;
  35615. let StartPoint = tape[ptr++];
  35616. let StartDirection = tape[ptr++];
  35617. let SegmentLength = tape[ptr++];
  35618. return new IfcLineSegment2D(expressID, type, StartPoint, StartDirection, SegmentLength);
  35619. }
  35620. ToTape() {
  35621. let args = [];
  35622. args.push(this.StartPoint);
  35623. ;
  35624. args.push(this.StartDirection);
  35625. ;
  35626. args.push(this.SegmentLength);
  35627. ;
  35628. return args;
  35629. }
  35630. };
  35631. var IfcLinearPlacement = class {
  35632. constructor(expressID, type, PlacementRelTo, PlacementMeasuredAlong, Distance, Orientation, CartesianPosition) {
  35633. this.expressID = expressID;
  35634. this.type = type;
  35635. this.PlacementRelTo = PlacementRelTo;
  35636. this.PlacementMeasuredAlong = PlacementMeasuredAlong;
  35637. this.Distance = Distance;
  35638. this.Orientation = Orientation;
  35639. this.CartesianPosition = CartesianPosition;
  35640. }
  35641. static FromTape(expressID, type, tape) {
  35642. let ptr = 0;
  35643. let PlacementRelTo = tape[ptr++];
  35644. let PlacementMeasuredAlong = tape[ptr++];
  35645. let Distance = tape[ptr++];
  35646. let Orientation = tape[ptr++];
  35647. let CartesianPosition = tape[ptr++];
  35648. return new IfcLinearPlacement(expressID, type, PlacementRelTo, PlacementMeasuredAlong, Distance, Orientation, CartesianPosition);
  35649. }
  35650. ToTape() {
  35651. let args = [];
  35652. args.push(this.PlacementRelTo);
  35653. ;
  35654. args.push(this.PlacementMeasuredAlong);
  35655. ;
  35656. args.push(this.Distance);
  35657. ;
  35658. args.push(this.Orientation);
  35659. ;
  35660. args.push(this.CartesianPosition);
  35661. ;
  35662. return args;
  35663. }
  35664. };
  35665. var IfcLinearPositioningElement = class {
  35666. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Axis) {
  35667. this.expressID = expressID;
  35668. this.type = type;
  35669. this.GlobalId = GlobalId;
  35670. this.OwnerHistory = OwnerHistory;
  35671. this.Name = Name;
  35672. this.Description = Description;
  35673. this.ObjectType = ObjectType;
  35674. this.ObjectPlacement = ObjectPlacement;
  35675. this.Representation = Representation;
  35676. this.Axis = Axis;
  35677. }
  35678. static FromTape(expressID, type, tape) {
  35679. let ptr = 0;
  35680. let GlobalId = tape[ptr++];
  35681. let OwnerHistory = tape[ptr++];
  35682. let Name = tape[ptr++];
  35683. let Description = tape[ptr++];
  35684. let ObjectType = tape[ptr++];
  35685. let ObjectPlacement = tape[ptr++];
  35686. let Representation = tape[ptr++];
  35687. let Axis = tape[ptr++];
  35688. return new IfcLinearPositioningElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Axis);
  35689. }
  35690. ToTape() {
  35691. let args = [];
  35692. args.push(this.GlobalId);
  35693. ;
  35694. args.push(this.OwnerHistory);
  35695. ;
  35696. args.push(this.Name);
  35697. ;
  35698. args.push(this.Description);
  35699. ;
  35700. args.push(this.ObjectType);
  35701. ;
  35702. args.push(this.ObjectPlacement);
  35703. ;
  35704. args.push(this.Representation);
  35705. ;
  35706. args.push(this.Axis);
  35707. ;
  35708. return args;
  35709. }
  35710. };
  35711. var IfcLocalPlacement = class {
  35712. constructor(expressID, type, PlacementRelTo, RelativePlacement) {
  35713. this.expressID = expressID;
  35714. this.type = type;
  35715. this.PlacementRelTo = PlacementRelTo;
  35716. this.RelativePlacement = RelativePlacement;
  35717. }
  35718. static FromTape(expressID, type, tape) {
  35719. let ptr = 0;
  35720. let PlacementRelTo = tape[ptr++];
  35721. let RelativePlacement = tape[ptr++];
  35722. return new IfcLocalPlacement(expressID, type, PlacementRelTo, RelativePlacement);
  35723. }
  35724. ToTape() {
  35725. let args = [];
  35726. args.push(this.PlacementRelTo);
  35727. ;
  35728. args.push(this.RelativePlacement);
  35729. ;
  35730. return args;
  35731. }
  35732. };
  35733. var IfcLoop = class {
  35734. constructor(expressID, type) {
  35735. this.expressID = expressID;
  35736. this.type = type;
  35737. }
  35738. static FromTape(expressID, type, tape) {
  35739. let ptr = 0;
  35740. return new IfcLoop(expressID, type);
  35741. }
  35742. ToTape() {
  35743. let args = [];
  35744. return args;
  35745. }
  35746. };
  35747. var IfcManifoldSolidBrep = class {
  35748. constructor(expressID, type, Outer) {
  35749. this.expressID = expressID;
  35750. this.type = type;
  35751. this.Outer = Outer;
  35752. }
  35753. static FromTape(expressID, type, tape) {
  35754. let ptr = 0;
  35755. let Outer = tape[ptr++];
  35756. return new IfcManifoldSolidBrep(expressID, type, Outer);
  35757. }
  35758. ToTape() {
  35759. let args = [];
  35760. args.push(this.Outer);
  35761. ;
  35762. return args;
  35763. }
  35764. };
  35765. var IfcMapConversion = class {
  35766. constructor(expressID, type, SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale) {
  35767. this.expressID = expressID;
  35768. this.type = type;
  35769. this.SourceCRS = SourceCRS;
  35770. this.TargetCRS = TargetCRS;
  35771. this.Eastings = Eastings;
  35772. this.Northings = Northings;
  35773. this.OrthogonalHeight = OrthogonalHeight;
  35774. this.XAxisAbscissa = XAxisAbscissa;
  35775. this.XAxisOrdinate = XAxisOrdinate;
  35776. this.Scale = Scale;
  35777. }
  35778. static FromTape(expressID, type, tape) {
  35779. let ptr = 0;
  35780. let SourceCRS = tape[ptr++];
  35781. let TargetCRS = tape[ptr++];
  35782. let Eastings = tape[ptr++];
  35783. let Northings = tape[ptr++];
  35784. let OrthogonalHeight = tape[ptr++];
  35785. let XAxisAbscissa = tape[ptr++];
  35786. let XAxisOrdinate = tape[ptr++];
  35787. let Scale = tape[ptr++];
  35788. return new IfcMapConversion(expressID, type, SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale);
  35789. }
  35790. ToTape() {
  35791. let args = [];
  35792. args.push(this.SourceCRS);
  35793. ;
  35794. args.push(this.TargetCRS);
  35795. ;
  35796. args.push(this.Eastings);
  35797. ;
  35798. args.push(this.Northings);
  35799. ;
  35800. args.push(this.OrthogonalHeight);
  35801. ;
  35802. args.push(this.XAxisAbscissa);
  35803. ;
  35804. args.push(this.XAxisOrdinate);
  35805. ;
  35806. args.push(this.Scale);
  35807. ;
  35808. return args;
  35809. }
  35810. };
  35811. var IfcMappedItem = class {
  35812. constructor(expressID, type, MappingSource, MappingTarget) {
  35813. this.expressID = expressID;
  35814. this.type = type;
  35815. this.MappingSource = MappingSource;
  35816. this.MappingTarget = MappingTarget;
  35817. }
  35818. static FromTape(expressID, type, tape) {
  35819. let ptr = 0;
  35820. let MappingSource = tape[ptr++];
  35821. let MappingTarget = tape[ptr++];
  35822. return new IfcMappedItem(expressID, type, MappingSource, MappingTarget);
  35823. }
  35824. ToTape() {
  35825. let args = [];
  35826. args.push(this.MappingSource);
  35827. ;
  35828. args.push(this.MappingTarget);
  35829. ;
  35830. return args;
  35831. }
  35832. };
  35833. var IfcMaterial = class {
  35834. constructor(expressID, type, Name, Description, Category) {
  35835. this.expressID = expressID;
  35836. this.type = type;
  35837. this.Name = Name;
  35838. this.Description = Description;
  35839. this.Category = Category;
  35840. }
  35841. static FromTape(expressID, type, tape) {
  35842. let ptr = 0;
  35843. let Name = tape[ptr++];
  35844. let Description = tape[ptr++];
  35845. let Category = tape[ptr++];
  35846. return new IfcMaterial(expressID, type, Name, Description, Category);
  35847. }
  35848. ToTape() {
  35849. let args = [];
  35850. args.push(this.Name);
  35851. ;
  35852. args.push(this.Description);
  35853. ;
  35854. args.push(this.Category);
  35855. ;
  35856. return args;
  35857. }
  35858. };
  35859. var IfcMaterialClassificationRelationship = class {
  35860. constructor(expressID, type, MaterialClassifications, ClassifiedMaterial) {
  35861. this.expressID = expressID;
  35862. this.type = type;
  35863. this.MaterialClassifications = MaterialClassifications;
  35864. this.ClassifiedMaterial = ClassifiedMaterial;
  35865. }
  35866. static FromTape(expressID, type, tape) {
  35867. let ptr = 0;
  35868. let MaterialClassifications = tape[ptr++];
  35869. let ClassifiedMaterial = tape[ptr++];
  35870. return new IfcMaterialClassificationRelationship(expressID, type, MaterialClassifications, ClassifiedMaterial);
  35871. }
  35872. ToTape() {
  35873. let args = [];
  35874. args.push(this.MaterialClassifications);
  35875. ;
  35876. args.push(this.ClassifiedMaterial);
  35877. ;
  35878. return args;
  35879. }
  35880. };
  35881. var IfcMaterialConstituent = class {
  35882. constructor(expressID, type, Name, Description, Material, Fraction, Category) {
  35883. this.expressID = expressID;
  35884. this.type = type;
  35885. this.Name = Name;
  35886. this.Description = Description;
  35887. this.Material = Material;
  35888. this.Fraction = Fraction;
  35889. this.Category = Category;
  35890. }
  35891. static FromTape(expressID, type, tape) {
  35892. let ptr = 0;
  35893. let Name = tape[ptr++];
  35894. let Description = tape[ptr++];
  35895. let Material = tape[ptr++];
  35896. let Fraction = tape[ptr++];
  35897. let Category = tape[ptr++];
  35898. return new IfcMaterialConstituent(expressID, type, Name, Description, Material, Fraction, Category);
  35899. }
  35900. ToTape() {
  35901. let args = [];
  35902. args.push(this.Name);
  35903. ;
  35904. args.push(this.Description);
  35905. ;
  35906. args.push(this.Material);
  35907. ;
  35908. args.push(this.Fraction);
  35909. ;
  35910. args.push(this.Category);
  35911. ;
  35912. return args;
  35913. }
  35914. };
  35915. var IfcMaterialConstituentSet = class {
  35916. constructor(expressID, type, Name, Description, MaterialConstituents) {
  35917. this.expressID = expressID;
  35918. this.type = type;
  35919. this.Name = Name;
  35920. this.Description = Description;
  35921. this.MaterialConstituents = MaterialConstituents;
  35922. }
  35923. static FromTape(expressID, type, tape) {
  35924. let ptr = 0;
  35925. let Name = tape[ptr++];
  35926. let Description = tape[ptr++];
  35927. let MaterialConstituents = tape[ptr++];
  35928. return new IfcMaterialConstituentSet(expressID, type, Name, Description, MaterialConstituents);
  35929. }
  35930. ToTape() {
  35931. let args = [];
  35932. args.push(this.Name);
  35933. ;
  35934. args.push(this.Description);
  35935. ;
  35936. args.push(this.MaterialConstituents);
  35937. ;
  35938. return args;
  35939. }
  35940. };
  35941. var IfcMaterialDefinition = class {
  35942. constructor(expressID, type) {
  35943. this.expressID = expressID;
  35944. this.type = type;
  35945. }
  35946. static FromTape(expressID, type, tape) {
  35947. let ptr = 0;
  35948. return new IfcMaterialDefinition(expressID, type);
  35949. }
  35950. ToTape() {
  35951. let args = [];
  35952. return args;
  35953. }
  35954. };
  35955. var IfcMaterialDefinitionRepresentation = class {
  35956. constructor(expressID, type, Name, Description, Representations, RepresentedMaterial) {
  35957. this.expressID = expressID;
  35958. this.type = type;
  35959. this.Name = Name;
  35960. this.Description = Description;
  35961. this.Representations = Representations;
  35962. this.RepresentedMaterial = RepresentedMaterial;
  35963. }
  35964. static FromTape(expressID, type, tape) {
  35965. let ptr = 0;
  35966. let Name = tape[ptr++];
  35967. let Description = tape[ptr++];
  35968. let Representations = tape[ptr++];
  35969. let RepresentedMaterial = tape[ptr++];
  35970. return new IfcMaterialDefinitionRepresentation(expressID, type, Name, Description, Representations, RepresentedMaterial);
  35971. }
  35972. ToTape() {
  35973. let args = [];
  35974. args.push(this.Name);
  35975. ;
  35976. args.push(this.Description);
  35977. ;
  35978. args.push(this.Representations);
  35979. ;
  35980. args.push(this.RepresentedMaterial);
  35981. ;
  35982. return args;
  35983. }
  35984. };
  35985. var IfcMaterialLayer = class {
  35986. constructor(expressID, type, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) {
  35987. this.expressID = expressID;
  35988. this.type = type;
  35989. this.Material = Material;
  35990. this.LayerThickness = LayerThickness;
  35991. this.IsVentilated = IsVentilated;
  35992. this.Name = Name;
  35993. this.Description = Description;
  35994. this.Category = Category;
  35995. this.Priority = Priority;
  35996. }
  35997. static FromTape(expressID, type, tape) {
  35998. let ptr = 0;
  35999. let Material = tape[ptr++];
  36000. let LayerThickness = tape[ptr++];
  36001. let IsVentilated = tape[ptr++];
  36002. let Name = tape[ptr++];
  36003. let Description = tape[ptr++];
  36004. let Category = tape[ptr++];
  36005. let Priority = tape[ptr++];
  36006. return new IfcMaterialLayer(expressID, type, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority);
  36007. }
  36008. ToTape() {
  36009. let args = [];
  36010. args.push(this.Material);
  36011. ;
  36012. args.push(this.LayerThickness);
  36013. ;
  36014. args.push(this.IsVentilated);
  36015. ;
  36016. args.push(this.Name);
  36017. ;
  36018. args.push(this.Description);
  36019. ;
  36020. args.push(this.Category);
  36021. ;
  36022. args.push(this.Priority);
  36023. ;
  36024. return args;
  36025. }
  36026. };
  36027. var IfcMaterialLayerSet = class {
  36028. constructor(expressID, type, MaterialLayers, LayerSetName, Description) {
  36029. this.expressID = expressID;
  36030. this.type = type;
  36031. this.MaterialLayers = MaterialLayers;
  36032. this.LayerSetName = LayerSetName;
  36033. this.Description = Description;
  36034. }
  36035. static FromTape(expressID, type, tape) {
  36036. let ptr = 0;
  36037. let MaterialLayers = tape[ptr++];
  36038. let LayerSetName = tape[ptr++];
  36039. let Description = tape[ptr++];
  36040. return new IfcMaterialLayerSet(expressID, type, MaterialLayers, LayerSetName, Description);
  36041. }
  36042. ToTape() {
  36043. let args = [];
  36044. args.push(this.MaterialLayers);
  36045. ;
  36046. args.push(this.LayerSetName);
  36047. ;
  36048. args.push(this.Description);
  36049. ;
  36050. return args;
  36051. }
  36052. };
  36053. var IfcMaterialLayerSetUsage = class {
  36054. constructor(expressID, type, ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) {
  36055. this.expressID = expressID;
  36056. this.type = type;
  36057. this.ForLayerSet = ForLayerSet;
  36058. this.LayerSetDirection = LayerSetDirection;
  36059. this.DirectionSense = DirectionSense;
  36060. this.OffsetFromReferenceLine = OffsetFromReferenceLine;
  36061. this.ReferenceExtent = ReferenceExtent;
  36062. }
  36063. static FromTape(expressID, type, tape) {
  36064. let ptr = 0;
  36065. let ForLayerSet = tape[ptr++];
  36066. let LayerSetDirection = tape[ptr++];
  36067. let DirectionSense = tape[ptr++];
  36068. let OffsetFromReferenceLine = tape[ptr++];
  36069. let ReferenceExtent = tape[ptr++];
  36070. return new IfcMaterialLayerSetUsage(expressID, type, ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent);
  36071. }
  36072. ToTape() {
  36073. let args = [];
  36074. args.push(this.ForLayerSet);
  36075. ;
  36076. args.push(this.LayerSetDirection);
  36077. ;
  36078. args.push(this.DirectionSense);
  36079. ;
  36080. args.push(this.OffsetFromReferenceLine);
  36081. ;
  36082. args.push(this.ReferenceExtent);
  36083. ;
  36084. return args;
  36085. }
  36086. };
  36087. var IfcMaterialLayerWithOffsets = class {
  36088. constructor(expressID, type, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) {
  36089. this.expressID = expressID;
  36090. this.type = type;
  36091. this.Material = Material;
  36092. this.LayerThickness = LayerThickness;
  36093. this.IsVentilated = IsVentilated;
  36094. this.Name = Name;
  36095. this.Description = Description;
  36096. this.Category = Category;
  36097. this.Priority = Priority;
  36098. this.OffsetDirection = OffsetDirection;
  36099. this.OffsetValues = OffsetValues;
  36100. }
  36101. static FromTape(expressID, type, tape) {
  36102. let ptr = 0;
  36103. let Material = tape[ptr++];
  36104. let LayerThickness = tape[ptr++];
  36105. let IsVentilated = tape[ptr++];
  36106. let Name = tape[ptr++];
  36107. let Description = tape[ptr++];
  36108. let Category = tape[ptr++];
  36109. let Priority = tape[ptr++];
  36110. let OffsetDirection = tape[ptr++];
  36111. let OffsetValues = tape[ptr++];
  36112. return new IfcMaterialLayerWithOffsets(expressID, type, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues);
  36113. }
  36114. ToTape() {
  36115. let args = [];
  36116. args.push(this.Material);
  36117. ;
  36118. args.push(this.LayerThickness);
  36119. ;
  36120. args.push(this.IsVentilated);
  36121. ;
  36122. args.push(this.Name);
  36123. ;
  36124. args.push(this.Description);
  36125. ;
  36126. args.push(this.Category);
  36127. ;
  36128. args.push(this.Priority);
  36129. ;
  36130. args.push(this.OffsetDirection);
  36131. ;
  36132. args.push(this.OffsetValues);
  36133. ;
  36134. return args;
  36135. }
  36136. };
  36137. var IfcMaterialList = class {
  36138. constructor(expressID, type, Materials) {
  36139. this.expressID = expressID;
  36140. this.type = type;
  36141. this.Materials = Materials;
  36142. }
  36143. static FromTape(expressID, type, tape) {
  36144. let ptr = 0;
  36145. let Materials = tape[ptr++];
  36146. return new IfcMaterialList(expressID, type, Materials);
  36147. }
  36148. ToTape() {
  36149. let args = [];
  36150. args.push(this.Materials);
  36151. ;
  36152. return args;
  36153. }
  36154. };
  36155. var IfcMaterialProfile = class {
  36156. constructor(expressID, type, Name, Description, Material, Profile, Priority, Category) {
  36157. this.expressID = expressID;
  36158. this.type = type;
  36159. this.Name = Name;
  36160. this.Description = Description;
  36161. this.Material = Material;
  36162. this.Profile = Profile;
  36163. this.Priority = Priority;
  36164. this.Category = Category;
  36165. }
  36166. static FromTape(expressID, type, tape) {
  36167. let ptr = 0;
  36168. let Name = tape[ptr++];
  36169. let Description = tape[ptr++];
  36170. let Material = tape[ptr++];
  36171. let Profile = tape[ptr++];
  36172. let Priority = tape[ptr++];
  36173. let Category = tape[ptr++];
  36174. return new IfcMaterialProfile(expressID, type, Name, Description, Material, Profile, Priority, Category);
  36175. }
  36176. ToTape() {
  36177. let args = [];
  36178. args.push(this.Name);
  36179. ;
  36180. args.push(this.Description);
  36181. ;
  36182. args.push(this.Material);
  36183. ;
  36184. args.push(this.Profile);
  36185. ;
  36186. args.push(this.Priority);
  36187. ;
  36188. args.push(this.Category);
  36189. ;
  36190. return args;
  36191. }
  36192. };
  36193. var IfcMaterialProfileSet = class {
  36194. constructor(expressID, type, Name, Description, MaterialProfiles, CompositeProfile) {
  36195. this.expressID = expressID;
  36196. this.type = type;
  36197. this.Name = Name;
  36198. this.Description = Description;
  36199. this.MaterialProfiles = MaterialProfiles;
  36200. this.CompositeProfile = CompositeProfile;
  36201. }
  36202. static FromTape(expressID, type, tape) {
  36203. let ptr = 0;
  36204. let Name = tape[ptr++];
  36205. let Description = tape[ptr++];
  36206. let MaterialProfiles = tape[ptr++];
  36207. let CompositeProfile = tape[ptr++];
  36208. return new IfcMaterialProfileSet(expressID, type, Name, Description, MaterialProfiles, CompositeProfile);
  36209. }
  36210. ToTape() {
  36211. let args = [];
  36212. args.push(this.Name);
  36213. ;
  36214. args.push(this.Description);
  36215. ;
  36216. args.push(this.MaterialProfiles);
  36217. ;
  36218. args.push(this.CompositeProfile);
  36219. ;
  36220. return args;
  36221. }
  36222. };
  36223. var IfcMaterialProfileSetUsage = class {
  36224. constructor(expressID, type, ForProfileSet, CardinalPoint, ReferenceExtent) {
  36225. this.expressID = expressID;
  36226. this.type = type;
  36227. this.ForProfileSet = ForProfileSet;
  36228. this.CardinalPoint = CardinalPoint;
  36229. this.ReferenceExtent = ReferenceExtent;
  36230. }
  36231. static FromTape(expressID, type, tape) {
  36232. let ptr = 0;
  36233. let ForProfileSet = tape[ptr++];
  36234. let CardinalPoint = tape[ptr++];
  36235. let ReferenceExtent = tape[ptr++];
  36236. return new IfcMaterialProfileSetUsage(expressID, type, ForProfileSet, CardinalPoint, ReferenceExtent);
  36237. }
  36238. ToTape() {
  36239. let args = [];
  36240. args.push(this.ForProfileSet);
  36241. ;
  36242. args.push(this.CardinalPoint);
  36243. ;
  36244. args.push(this.ReferenceExtent);
  36245. ;
  36246. return args;
  36247. }
  36248. };
  36249. var IfcMaterialProfileSetUsageTapering = class {
  36250. constructor(expressID, type, ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) {
  36251. this.expressID = expressID;
  36252. this.type = type;
  36253. this.ForProfileSet = ForProfileSet;
  36254. this.CardinalPoint = CardinalPoint;
  36255. this.ReferenceExtent = ReferenceExtent;
  36256. this.ForProfileEndSet = ForProfileEndSet;
  36257. this.CardinalEndPoint = CardinalEndPoint;
  36258. }
  36259. static FromTape(expressID, type, tape) {
  36260. let ptr = 0;
  36261. let ForProfileSet = tape[ptr++];
  36262. let CardinalPoint = tape[ptr++];
  36263. let ReferenceExtent = tape[ptr++];
  36264. let ForProfileEndSet = tape[ptr++];
  36265. let CardinalEndPoint = tape[ptr++];
  36266. return new IfcMaterialProfileSetUsageTapering(expressID, type, ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint);
  36267. }
  36268. ToTape() {
  36269. let args = [];
  36270. args.push(this.ForProfileSet);
  36271. ;
  36272. args.push(this.CardinalPoint);
  36273. ;
  36274. args.push(this.ReferenceExtent);
  36275. ;
  36276. args.push(this.ForProfileEndSet);
  36277. ;
  36278. args.push(this.CardinalEndPoint);
  36279. ;
  36280. return args;
  36281. }
  36282. };
  36283. var IfcMaterialProfileWithOffsets = class {
  36284. constructor(expressID, type, Name, Description, Material, Profile, Priority, Category, OffsetValues) {
  36285. this.expressID = expressID;
  36286. this.type = type;
  36287. this.Name = Name;
  36288. this.Description = Description;
  36289. this.Material = Material;
  36290. this.Profile = Profile;
  36291. this.Priority = Priority;
  36292. this.Category = Category;
  36293. this.OffsetValues = OffsetValues;
  36294. }
  36295. static FromTape(expressID, type, tape) {
  36296. let ptr = 0;
  36297. let Name = tape[ptr++];
  36298. let Description = tape[ptr++];
  36299. let Material = tape[ptr++];
  36300. let Profile = tape[ptr++];
  36301. let Priority = tape[ptr++];
  36302. let Category = tape[ptr++];
  36303. let OffsetValues = tape[ptr++];
  36304. return new IfcMaterialProfileWithOffsets(expressID, type, Name, Description, Material, Profile, Priority, Category, OffsetValues);
  36305. }
  36306. ToTape() {
  36307. let args = [];
  36308. args.push(this.Name);
  36309. ;
  36310. args.push(this.Description);
  36311. ;
  36312. args.push(this.Material);
  36313. ;
  36314. args.push(this.Profile);
  36315. ;
  36316. args.push(this.Priority);
  36317. ;
  36318. args.push(this.Category);
  36319. ;
  36320. args.push(this.OffsetValues);
  36321. ;
  36322. return args;
  36323. }
  36324. };
  36325. var IfcMaterialProperties = class {
  36326. constructor(expressID, type, Name, Description, Properties2, Material) {
  36327. this.expressID = expressID;
  36328. this.type = type;
  36329. this.Name = Name;
  36330. this.Description = Description;
  36331. this.Properties = Properties2;
  36332. this.Material = Material;
  36333. }
  36334. static FromTape(expressID, type, tape) {
  36335. let ptr = 0;
  36336. let Name = tape[ptr++];
  36337. let Description = tape[ptr++];
  36338. let Properties2 = tape[ptr++];
  36339. let Material = tape[ptr++];
  36340. return new IfcMaterialProperties(expressID, type, Name, Description, Properties2, Material);
  36341. }
  36342. ToTape() {
  36343. let args = [];
  36344. args.push(this.Name);
  36345. ;
  36346. args.push(this.Description);
  36347. ;
  36348. args.push(this.Properties);
  36349. ;
  36350. args.push(this.Material);
  36351. ;
  36352. return args;
  36353. }
  36354. };
  36355. var IfcMaterialRelationship = class {
  36356. constructor(expressID, type, Name, Description, RelatingMaterial, RelatedMaterials, Expression) {
  36357. this.expressID = expressID;
  36358. this.type = type;
  36359. this.Name = Name;
  36360. this.Description = Description;
  36361. this.RelatingMaterial = RelatingMaterial;
  36362. this.RelatedMaterials = RelatedMaterials;
  36363. this.Expression = Expression;
  36364. }
  36365. static FromTape(expressID, type, tape) {
  36366. let ptr = 0;
  36367. let Name = tape[ptr++];
  36368. let Description = tape[ptr++];
  36369. let RelatingMaterial = tape[ptr++];
  36370. let RelatedMaterials = tape[ptr++];
  36371. let Expression = tape[ptr++];
  36372. return new IfcMaterialRelationship(expressID, type, Name, Description, RelatingMaterial, RelatedMaterials, Expression);
  36373. }
  36374. ToTape() {
  36375. let args = [];
  36376. args.push(this.Name);
  36377. ;
  36378. args.push(this.Description);
  36379. ;
  36380. args.push(this.RelatingMaterial);
  36381. ;
  36382. args.push(this.RelatedMaterials);
  36383. ;
  36384. args.push(this.Expression);
  36385. ;
  36386. return args;
  36387. }
  36388. };
  36389. var IfcMaterialUsageDefinition = class {
  36390. constructor(expressID, type) {
  36391. this.expressID = expressID;
  36392. this.type = type;
  36393. }
  36394. static FromTape(expressID, type, tape) {
  36395. let ptr = 0;
  36396. return new IfcMaterialUsageDefinition(expressID, type);
  36397. }
  36398. ToTape() {
  36399. let args = [];
  36400. return args;
  36401. }
  36402. };
  36403. var IfcMeasureWithUnit = class {
  36404. constructor(expressID, type, ValueComponent, UnitComponent) {
  36405. this.expressID = expressID;
  36406. this.type = type;
  36407. this.ValueComponent = ValueComponent;
  36408. this.UnitComponent = UnitComponent;
  36409. }
  36410. static FromTape(expressID, type, tape) {
  36411. let ptr = 0;
  36412. let ValueComponent = tape[ptr++];
  36413. let UnitComponent = tape[ptr++];
  36414. return new IfcMeasureWithUnit(expressID, type, ValueComponent, UnitComponent);
  36415. }
  36416. ToTape() {
  36417. let args = [];
  36418. args.push(this.ValueComponent);
  36419. ;
  36420. args.push(this.UnitComponent);
  36421. ;
  36422. return args;
  36423. }
  36424. };
  36425. var IfcMechanicalFastener = class {
  36426. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) {
  36427. this.expressID = expressID;
  36428. this.type = type;
  36429. this.GlobalId = GlobalId;
  36430. this.OwnerHistory = OwnerHistory;
  36431. this.Name = Name;
  36432. this.Description = Description;
  36433. this.ObjectType = ObjectType;
  36434. this.ObjectPlacement = ObjectPlacement;
  36435. this.Representation = Representation;
  36436. this.Tag = Tag;
  36437. this.NominalDiameter = NominalDiameter;
  36438. this.NominalLength = NominalLength;
  36439. this.PredefinedType = PredefinedType;
  36440. }
  36441. static FromTape(expressID, type, tape) {
  36442. let ptr = 0;
  36443. let GlobalId = tape[ptr++];
  36444. let OwnerHistory = tape[ptr++];
  36445. let Name = tape[ptr++];
  36446. let Description = tape[ptr++];
  36447. let ObjectType = tape[ptr++];
  36448. let ObjectPlacement = tape[ptr++];
  36449. let Representation = tape[ptr++];
  36450. let Tag = tape[ptr++];
  36451. let NominalDiameter = tape[ptr++];
  36452. let NominalLength = tape[ptr++];
  36453. let PredefinedType = tape[ptr++];
  36454. return new IfcMechanicalFastener(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType);
  36455. }
  36456. ToTape() {
  36457. let args = [];
  36458. args.push(this.GlobalId);
  36459. ;
  36460. args.push(this.OwnerHistory);
  36461. ;
  36462. args.push(this.Name);
  36463. ;
  36464. args.push(this.Description);
  36465. ;
  36466. args.push(this.ObjectType);
  36467. ;
  36468. args.push(this.ObjectPlacement);
  36469. ;
  36470. args.push(this.Representation);
  36471. ;
  36472. args.push(this.Tag);
  36473. ;
  36474. args.push(this.NominalDiameter);
  36475. ;
  36476. args.push(this.NominalLength);
  36477. ;
  36478. args.push(this.PredefinedType);
  36479. ;
  36480. return args;
  36481. }
  36482. };
  36483. var IfcMechanicalFastenerType = class {
  36484. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) {
  36485. this.expressID = expressID;
  36486. this.type = type;
  36487. this.GlobalId = GlobalId;
  36488. this.OwnerHistory = OwnerHistory;
  36489. this.Name = Name;
  36490. this.Description = Description;
  36491. this.ApplicableOccurrence = ApplicableOccurrence;
  36492. this.HasPropertySets = HasPropertySets;
  36493. this.RepresentationMaps = RepresentationMaps;
  36494. this.Tag = Tag;
  36495. this.ElementType = ElementType;
  36496. this.PredefinedType = PredefinedType;
  36497. this.NominalDiameter = NominalDiameter;
  36498. this.NominalLength = NominalLength;
  36499. }
  36500. static FromTape(expressID, type, tape) {
  36501. let ptr = 0;
  36502. let GlobalId = tape[ptr++];
  36503. let OwnerHistory = tape[ptr++];
  36504. let Name = tape[ptr++];
  36505. let Description = tape[ptr++];
  36506. let ApplicableOccurrence = tape[ptr++];
  36507. let HasPropertySets = tape[ptr++];
  36508. let RepresentationMaps = tape[ptr++];
  36509. let Tag = tape[ptr++];
  36510. let ElementType = tape[ptr++];
  36511. let PredefinedType = tape[ptr++];
  36512. let NominalDiameter = tape[ptr++];
  36513. let NominalLength = tape[ptr++];
  36514. return new IfcMechanicalFastenerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength);
  36515. }
  36516. ToTape() {
  36517. let args = [];
  36518. args.push(this.GlobalId);
  36519. ;
  36520. args.push(this.OwnerHistory);
  36521. ;
  36522. args.push(this.Name);
  36523. ;
  36524. args.push(this.Description);
  36525. ;
  36526. args.push(this.ApplicableOccurrence);
  36527. ;
  36528. args.push(this.HasPropertySets);
  36529. ;
  36530. args.push(this.RepresentationMaps);
  36531. ;
  36532. args.push(this.Tag);
  36533. ;
  36534. args.push(this.ElementType);
  36535. ;
  36536. args.push(this.PredefinedType);
  36537. ;
  36538. args.push(this.NominalDiameter);
  36539. ;
  36540. args.push(this.NominalLength);
  36541. ;
  36542. return args;
  36543. }
  36544. };
  36545. var IfcMedicalDevice = class {
  36546. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  36547. this.expressID = expressID;
  36548. this.type = type;
  36549. this.GlobalId = GlobalId;
  36550. this.OwnerHistory = OwnerHistory;
  36551. this.Name = Name;
  36552. this.Description = Description;
  36553. this.ObjectType = ObjectType;
  36554. this.ObjectPlacement = ObjectPlacement;
  36555. this.Representation = Representation;
  36556. this.Tag = Tag;
  36557. this.PredefinedType = PredefinedType;
  36558. }
  36559. static FromTape(expressID, type, tape) {
  36560. let ptr = 0;
  36561. let GlobalId = tape[ptr++];
  36562. let OwnerHistory = tape[ptr++];
  36563. let Name = tape[ptr++];
  36564. let Description = tape[ptr++];
  36565. let ObjectType = tape[ptr++];
  36566. let ObjectPlacement = tape[ptr++];
  36567. let Representation = tape[ptr++];
  36568. let Tag = tape[ptr++];
  36569. let PredefinedType = tape[ptr++];
  36570. return new IfcMedicalDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  36571. }
  36572. ToTape() {
  36573. let args = [];
  36574. args.push(this.GlobalId);
  36575. ;
  36576. args.push(this.OwnerHistory);
  36577. ;
  36578. args.push(this.Name);
  36579. ;
  36580. args.push(this.Description);
  36581. ;
  36582. args.push(this.ObjectType);
  36583. ;
  36584. args.push(this.ObjectPlacement);
  36585. ;
  36586. args.push(this.Representation);
  36587. ;
  36588. args.push(this.Tag);
  36589. ;
  36590. args.push(this.PredefinedType);
  36591. ;
  36592. return args;
  36593. }
  36594. };
  36595. var IfcMedicalDeviceType = class {
  36596. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  36597. this.expressID = expressID;
  36598. this.type = type;
  36599. this.GlobalId = GlobalId;
  36600. this.OwnerHistory = OwnerHistory;
  36601. this.Name = Name;
  36602. this.Description = Description;
  36603. this.ApplicableOccurrence = ApplicableOccurrence;
  36604. this.HasPropertySets = HasPropertySets;
  36605. this.RepresentationMaps = RepresentationMaps;
  36606. this.Tag = Tag;
  36607. this.ElementType = ElementType;
  36608. this.PredefinedType = PredefinedType;
  36609. }
  36610. static FromTape(expressID, type, tape) {
  36611. let ptr = 0;
  36612. let GlobalId = tape[ptr++];
  36613. let OwnerHistory = tape[ptr++];
  36614. let Name = tape[ptr++];
  36615. let Description = tape[ptr++];
  36616. let ApplicableOccurrence = tape[ptr++];
  36617. let HasPropertySets = tape[ptr++];
  36618. let RepresentationMaps = tape[ptr++];
  36619. let Tag = tape[ptr++];
  36620. let ElementType = tape[ptr++];
  36621. let PredefinedType = tape[ptr++];
  36622. return new IfcMedicalDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  36623. }
  36624. ToTape() {
  36625. let args = [];
  36626. args.push(this.GlobalId);
  36627. ;
  36628. args.push(this.OwnerHistory);
  36629. ;
  36630. args.push(this.Name);
  36631. ;
  36632. args.push(this.Description);
  36633. ;
  36634. args.push(this.ApplicableOccurrence);
  36635. ;
  36636. args.push(this.HasPropertySets);
  36637. ;
  36638. args.push(this.RepresentationMaps);
  36639. ;
  36640. args.push(this.Tag);
  36641. ;
  36642. args.push(this.ElementType);
  36643. ;
  36644. args.push(this.PredefinedType);
  36645. ;
  36646. return args;
  36647. }
  36648. };
  36649. var IfcMember = class {
  36650. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  36651. this.expressID = expressID;
  36652. this.type = type;
  36653. this.GlobalId = GlobalId;
  36654. this.OwnerHistory = OwnerHistory;
  36655. this.Name = Name;
  36656. this.Description = Description;
  36657. this.ObjectType = ObjectType;
  36658. this.ObjectPlacement = ObjectPlacement;
  36659. this.Representation = Representation;
  36660. this.Tag = Tag;
  36661. this.PredefinedType = PredefinedType;
  36662. }
  36663. static FromTape(expressID, type, tape) {
  36664. let ptr = 0;
  36665. let GlobalId = tape[ptr++];
  36666. let OwnerHistory = tape[ptr++];
  36667. let Name = tape[ptr++];
  36668. let Description = tape[ptr++];
  36669. let ObjectType = tape[ptr++];
  36670. let ObjectPlacement = tape[ptr++];
  36671. let Representation = tape[ptr++];
  36672. let Tag = tape[ptr++];
  36673. let PredefinedType = tape[ptr++];
  36674. return new IfcMember(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  36675. }
  36676. ToTape() {
  36677. let args = [];
  36678. args.push(this.GlobalId);
  36679. ;
  36680. args.push(this.OwnerHistory);
  36681. ;
  36682. args.push(this.Name);
  36683. ;
  36684. args.push(this.Description);
  36685. ;
  36686. args.push(this.ObjectType);
  36687. ;
  36688. args.push(this.ObjectPlacement);
  36689. ;
  36690. args.push(this.Representation);
  36691. ;
  36692. args.push(this.Tag);
  36693. ;
  36694. args.push(this.PredefinedType);
  36695. ;
  36696. return args;
  36697. }
  36698. };
  36699. var IfcMemberStandardCase = class {
  36700. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  36701. this.expressID = expressID;
  36702. this.type = type;
  36703. this.GlobalId = GlobalId;
  36704. this.OwnerHistory = OwnerHistory;
  36705. this.Name = Name;
  36706. this.Description = Description;
  36707. this.ObjectType = ObjectType;
  36708. this.ObjectPlacement = ObjectPlacement;
  36709. this.Representation = Representation;
  36710. this.Tag = Tag;
  36711. this.PredefinedType = PredefinedType;
  36712. }
  36713. static FromTape(expressID, type, tape) {
  36714. let ptr = 0;
  36715. let GlobalId = tape[ptr++];
  36716. let OwnerHistory = tape[ptr++];
  36717. let Name = tape[ptr++];
  36718. let Description = tape[ptr++];
  36719. let ObjectType = tape[ptr++];
  36720. let ObjectPlacement = tape[ptr++];
  36721. let Representation = tape[ptr++];
  36722. let Tag = tape[ptr++];
  36723. let PredefinedType = tape[ptr++];
  36724. return new IfcMemberStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  36725. }
  36726. ToTape() {
  36727. let args = [];
  36728. args.push(this.GlobalId);
  36729. ;
  36730. args.push(this.OwnerHistory);
  36731. ;
  36732. args.push(this.Name);
  36733. ;
  36734. args.push(this.Description);
  36735. ;
  36736. args.push(this.ObjectType);
  36737. ;
  36738. args.push(this.ObjectPlacement);
  36739. ;
  36740. args.push(this.Representation);
  36741. ;
  36742. args.push(this.Tag);
  36743. ;
  36744. args.push(this.PredefinedType);
  36745. ;
  36746. return args;
  36747. }
  36748. };
  36749. var IfcMemberType = class {
  36750. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  36751. this.expressID = expressID;
  36752. this.type = type;
  36753. this.GlobalId = GlobalId;
  36754. this.OwnerHistory = OwnerHistory;
  36755. this.Name = Name;
  36756. this.Description = Description;
  36757. this.ApplicableOccurrence = ApplicableOccurrence;
  36758. this.HasPropertySets = HasPropertySets;
  36759. this.RepresentationMaps = RepresentationMaps;
  36760. this.Tag = Tag;
  36761. this.ElementType = ElementType;
  36762. this.PredefinedType = PredefinedType;
  36763. }
  36764. static FromTape(expressID, type, tape) {
  36765. let ptr = 0;
  36766. let GlobalId = tape[ptr++];
  36767. let OwnerHistory = tape[ptr++];
  36768. let Name = tape[ptr++];
  36769. let Description = tape[ptr++];
  36770. let ApplicableOccurrence = tape[ptr++];
  36771. let HasPropertySets = tape[ptr++];
  36772. let RepresentationMaps = tape[ptr++];
  36773. let Tag = tape[ptr++];
  36774. let ElementType = tape[ptr++];
  36775. let PredefinedType = tape[ptr++];
  36776. return new IfcMemberType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  36777. }
  36778. ToTape() {
  36779. let args = [];
  36780. args.push(this.GlobalId);
  36781. ;
  36782. args.push(this.OwnerHistory);
  36783. ;
  36784. args.push(this.Name);
  36785. ;
  36786. args.push(this.Description);
  36787. ;
  36788. args.push(this.ApplicableOccurrence);
  36789. ;
  36790. args.push(this.HasPropertySets);
  36791. ;
  36792. args.push(this.RepresentationMaps);
  36793. ;
  36794. args.push(this.Tag);
  36795. ;
  36796. args.push(this.ElementType);
  36797. ;
  36798. args.push(this.PredefinedType);
  36799. ;
  36800. return args;
  36801. }
  36802. };
  36803. var IfcMetric = class {
  36804. constructor(expressID, type, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) {
  36805. this.expressID = expressID;
  36806. this.type = type;
  36807. this.Name = Name;
  36808. this.Description = Description;
  36809. this.ConstraintGrade = ConstraintGrade;
  36810. this.ConstraintSource = ConstraintSource;
  36811. this.CreatingActor = CreatingActor;
  36812. this.CreationTime = CreationTime;
  36813. this.UserDefinedGrade = UserDefinedGrade;
  36814. this.Benchmark = Benchmark;
  36815. this.ValueSource = ValueSource;
  36816. this.DataValue = DataValue;
  36817. this.ReferencePath = ReferencePath;
  36818. }
  36819. static FromTape(expressID, type, tape) {
  36820. let ptr = 0;
  36821. let Name = tape[ptr++];
  36822. let Description = tape[ptr++];
  36823. let ConstraintGrade = tape[ptr++];
  36824. let ConstraintSource = tape[ptr++];
  36825. let CreatingActor = tape[ptr++];
  36826. let CreationTime = tape[ptr++];
  36827. let UserDefinedGrade = tape[ptr++];
  36828. let Benchmark = tape[ptr++];
  36829. let ValueSource = tape[ptr++];
  36830. let DataValue = tape[ptr++];
  36831. let ReferencePath = tape[ptr++];
  36832. return new IfcMetric(expressID, type, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath);
  36833. }
  36834. ToTape() {
  36835. let args = [];
  36836. args.push(this.Name);
  36837. ;
  36838. args.push(this.Description);
  36839. ;
  36840. args.push(this.ConstraintGrade);
  36841. ;
  36842. args.push(this.ConstraintSource);
  36843. ;
  36844. args.push(this.CreatingActor);
  36845. ;
  36846. args.push(this.CreationTime);
  36847. ;
  36848. args.push(this.UserDefinedGrade);
  36849. ;
  36850. args.push(this.Benchmark);
  36851. ;
  36852. args.push(this.ValueSource);
  36853. ;
  36854. args.push(this.DataValue);
  36855. ;
  36856. args.push(this.ReferencePath);
  36857. ;
  36858. return args;
  36859. }
  36860. };
  36861. var IfcMirroredProfileDef = class {
  36862. constructor(expressID, type, ProfileType, ProfileName, ParentProfile, Operator, Label) {
  36863. this.expressID = expressID;
  36864. this.type = type;
  36865. this.ProfileType = ProfileType;
  36866. this.ProfileName = ProfileName;
  36867. this.ParentProfile = ParentProfile;
  36868. this.Operator = Operator;
  36869. this.Label = Label;
  36870. }
  36871. static FromTape(expressID, type, tape) {
  36872. let ptr = 0;
  36873. let ProfileType = tape[ptr++];
  36874. let ProfileName = tape[ptr++];
  36875. let ParentProfile = tape[ptr++];
  36876. let Operator = tape[ptr++];
  36877. let Label = tape[ptr++];
  36878. return new IfcMirroredProfileDef(expressID, type, ProfileType, ProfileName, ParentProfile, Operator, Label);
  36879. }
  36880. ToTape() {
  36881. let args = [];
  36882. args.push(this.ProfileType);
  36883. ;
  36884. args.push(this.ProfileName);
  36885. ;
  36886. args.push(this.ParentProfile);
  36887. ;
  36888. args.push(this.Operator);
  36889. ;
  36890. args.push(this.Label);
  36891. ;
  36892. return args;
  36893. }
  36894. };
  36895. var IfcMonetaryUnit = class {
  36896. constructor(expressID, type, Currency) {
  36897. this.expressID = expressID;
  36898. this.type = type;
  36899. this.Currency = Currency;
  36900. }
  36901. static FromTape(expressID, type, tape) {
  36902. let ptr = 0;
  36903. let Currency = tape[ptr++];
  36904. return new IfcMonetaryUnit(expressID, type, Currency);
  36905. }
  36906. ToTape() {
  36907. let args = [];
  36908. args.push(this.Currency);
  36909. ;
  36910. return args;
  36911. }
  36912. };
  36913. var IfcMotorConnection = class {
  36914. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  36915. this.expressID = expressID;
  36916. this.type = type;
  36917. this.GlobalId = GlobalId;
  36918. this.OwnerHistory = OwnerHistory;
  36919. this.Name = Name;
  36920. this.Description = Description;
  36921. this.ObjectType = ObjectType;
  36922. this.ObjectPlacement = ObjectPlacement;
  36923. this.Representation = Representation;
  36924. this.Tag = Tag;
  36925. this.PredefinedType = PredefinedType;
  36926. }
  36927. static FromTape(expressID, type, tape) {
  36928. let ptr = 0;
  36929. let GlobalId = tape[ptr++];
  36930. let OwnerHistory = tape[ptr++];
  36931. let Name = tape[ptr++];
  36932. let Description = tape[ptr++];
  36933. let ObjectType = tape[ptr++];
  36934. let ObjectPlacement = tape[ptr++];
  36935. let Representation = tape[ptr++];
  36936. let Tag = tape[ptr++];
  36937. let PredefinedType = tape[ptr++];
  36938. return new IfcMotorConnection(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  36939. }
  36940. ToTape() {
  36941. let args = [];
  36942. args.push(this.GlobalId);
  36943. ;
  36944. args.push(this.OwnerHistory);
  36945. ;
  36946. args.push(this.Name);
  36947. ;
  36948. args.push(this.Description);
  36949. ;
  36950. args.push(this.ObjectType);
  36951. ;
  36952. args.push(this.ObjectPlacement);
  36953. ;
  36954. args.push(this.Representation);
  36955. ;
  36956. args.push(this.Tag);
  36957. ;
  36958. args.push(this.PredefinedType);
  36959. ;
  36960. return args;
  36961. }
  36962. };
  36963. var IfcMotorConnectionType = class {
  36964. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  36965. this.expressID = expressID;
  36966. this.type = type;
  36967. this.GlobalId = GlobalId;
  36968. this.OwnerHistory = OwnerHistory;
  36969. this.Name = Name;
  36970. this.Description = Description;
  36971. this.ApplicableOccurrence = ApplicableOccurrence;
  36972. this.HasPropertySets = HasPropertySets;
  36973. this.RepresentationMaps = RepresentationMaps;
  36974. this.Tag = Tag;
  36975. this.ElementType = ElementType;
  36976. this.PredefinedType = PredefinedType;
  36977. }
  36978. static FromTape(expressID, type, tape) {
  36979. let ptr = 0;
  36980. let GlobalId = tape[ptr++];
  36981. let OwnerHistory = tape[ptr++];
  36982. let Name = tape[ptr++];
  36983. let Description = tape[ptr++];
  36984. let ApplicableOccurrence = tape[ptr++];
  36985. let HasPropertySets = tape[ptr++];
  36986. let RepresentationMaps = tape[ptr++];
  36987. let Tag = tape[ptr++];
  36988. let ElementType = tape[ptr++];
  36989. let PredefinedType = tape[ptr++];
  36990. return new IfcMotorConnectionType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  36991. }
  36992. ToTape() {
  36993. let args = [];
  36994. args.push(this.GlobalId);
  36995. ;
  36996. args.push(this.OwnerHistory);
  36997. ;
  36998. args.push(this.Name);
  36999. ;
  37000. args.push(this.Description);
  37001. ;
  37002. args.push(this.ApplicableOccurrence);
  37003. ;
  37004. args.push(this.HasPropertySets);
  37005. ;
  37006. args.push(this.RepresentationMaps);
  37007. ;
  37008. args.push(this.Tag);
  37009. ;
  37010. args.push(this.ElementType);
  37011. ;
  37012. args.push(this.PredefinedType);
  37013. ;
  37014. return args;
  37015. }
  37016. };
  37017. var IfcNamedUnit = class {
  37018. constructor(expressID, type, Dimensions, UnitType) {
  37019. this.expressID = expressID;
  37020. this.type = type;
  37021. this.Dimensions = Dimensions;
  37022. this.UnitType = UnitType;
  37023. }
  37024. static FromTape(expressID, type, tape) {
  37025. let ptr = 0;
  37026. let Dimensions = tape[ptr++];
  37027. let UnitType = tape[ptr++];
  37028. return new IfcNamedUnit(expressID, type, Dimensions, UnitType);
  37029. }
  37030. ToTape() {
  37031. let args = [];
  37032. args.push(this.Dimensions);
  37033. ;
  37034. args.push(this.UnitType);
  37035. ;
  37036. return args;
  37037. }
  37038. };
  37039. var IfcObject = class {
  37040. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType) {
  37041. this.expressID = expressID;
  37042. this.type = type;
  37043. this.GlobalId = GlobalId;
  37044. this.OwnerHistory = OwnerHistory;
  37045. this.Name = Name;
  37046. this.Description = Description;
  37047. this.ObjectType = ObjectType;
  37048. }
  37049. static FromTape(expressID, type, tape) {
  37050. let ptr = 0;
  37051. let GlobalId = tape[ptr++];
  37052. let OwnerHistory = tape[ptr++];
  37053. let Name = tape[ptr++];
  37054. let Description = tape[ptr++];
  37055. let ObjectType = tape[ptr++];
  37056. return new IfcObject(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType);
  37057. }
  37058. ToTape() {
  37059. let args = [];
  37060. args.push(this.GlobalId);
  37061. ;
  37062. args.push(this.OwnerHistory);
  37063. ;
  37064. args.push(this.Name);
  37065. ;
  37066. args.push(this.Description);
  37067. ;
  37068. args.push(this.ObjectType);
  37069. ;
  37070. return args;
  37071. }
  37072. };
  37073. var IfcObjectDefinition = class {
  37074. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  37075. this.expressID = expressID;
  37076. this.type = type;
  37077. this.GlobalId = GlobalId;
  37078. this.OwnerHistory = OwnerHistory;
  37079. this.Name = Name;
  37080. this.Description = Description;
  37081. }
  37082. static FromTape(expressID, type, tape) {
  37083. let ptr = 0;
  37084. let GlobalId = tape[ptr++];
  37085. let OwnerHistory = tape[ptr++];
  37086. let Name = tape[ptr++];
  37087. let Description = tape[ptr++];
  37088. return new IfcObjectDefinition(expressID, type, GlobalId, OwnerHistory, Name, Description);
  37089. }
  37090. ToTape() {
  37091. let args = [];
  37092. args.push(this.GlobalId);
  37093. ;
  37094. args.push(this.OwnerHistory);
  37095. ;
  37096. args.push(this.Name);
  37097. ;
  37098. args.push(this.Description);
  37099. ;
  37100. return args;
  37101. }
  37102. };
  37103. var IfcObjectPlacement = class {
  37104. constructor(expressID, type, PlacementRelTo) {
  37105. this.expressID = expressID;
  37106. this.type = type;
  37107. this.PlacementRelTo = PlacementRelTo;
  37108. }
  37109. static FromTape(expressID, type, tape) {
  37110. let ptr = 0;
  37111. let PlacementRelTo = tape[ptr++];
  37112. return new IfcObjectPlacement(expressID, type, PlacementRelTo);
  37113. }
  37114. ToTape() {
  37115. let args = [];
  37116. args.push(this.PlacementRelTo);
  37117. ;
  37118. return args;
  37119. }
  37120. };
  37121. var IfcObjective = class {
  37122. constructor(expressID, type, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) {
  37123. this.expressID = expressID;
  37124. this.type = type;
  37125. this.Name = Name;
  37126. this.Description = Description;
  37127. this.ConstraintGrade = ConstraintGrade;
  37128. this.ConstraintSource = ConstraintSource;
  37129. this.CreatingActor = CreatingActor;
  37130. this.CreationTime = CreationTime;
  37131. this.UserDefinedGrade = UserDefinedGrade;
  37132. this.BenchmarkValues = BenchmarkValues;
  37133. this.LogicalAggregator = LogicalAggregator;
  37134. this.ObjectiveQualifier = ObjectiveQualifier;
  37135. this.UserDefinedQualifier = UserDefinedQualifier;
  37136. }
  37137. static FromTape(expressID, type, tape) {
  37138. let ptr = 0;
  37139. let Name = tape[ptr++];
  37140. let Description = tape[ptr++];
  37141. let ConstraintGrade = tape[ptr++];
  37142. let ConstraintSource = tape[ptr++];
  37143. let CreatingActor = tape[ptr++];
  37144. let CreationTime = tape[ptr++];
  37145. let UserDefinedGrade = tape[ptr++];
  37146. let BenchmarkValues = tape[ptr++];
  37147. let LogicalAggregator = tape[ptr++];
  37148. let ObjectiveQualifier = tape[ptr++];
  37149. let UserDefinedQualifier = tape[ptr++];
  37150. return new IfcObjective(expressID, type, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier);
  37151. }
  37152. ToTape() {
  37153. let args = [];
  37154. args.push(this.Name);
  37155. ;
  37156. args.push(this.Description);
  37157. ;
  37158. args.push(this.ConstraintGrade);
  37159. ;
  37160. args.push(this.ConstraintSource);
  37161. ;
  37162. args.push(this.CreatingActor);
  37163. ;
  37164. args.push(this.CreationTime);
  37165. ;
  37166. args.push(this.UserDefinedGrade);
  37167. ;
  37168. args.push(this.BenchmarkValues);
  37169. ;
  37170. args.push(this.LogicalAggregator);
  37171. ;
  37172. args.push(this.ObjectiveQualifier);
  37173. ;
  37174. args.push(this.UserDefinedQualifier);
  37175. ;
  37176. return args;
  37177. }
  37178. };
  37179. var IfcOccupant = class {
  37180. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) {
  37181. this.expressID = expressID;
  37182. this.type = type;
  37183. this.GlobalId = GlobalId;
  37184. this.OwnerHistory = OwnerHistory;
  37185. this.Name = Name;
  37186. this.Description = Description;
  37187. this.ObjectType = ObjectType;
  37188. this.TheActor = TheActor;
  37189. this.PredefinedType = PredefinedType;
  37190. }
  37191. static FromTape(expressID, type, tape) {
  37192. let ptr = 0;
  37193. let GlobalId = tape[ptr++];
  37194. let OwnerHistory = tape[ptr++];
  37195. let Name = tape[ptr++];
  37196. let Description = tape[ptr++];
  37197. let ObjectType = tape[ptr++];
  37198. let TheActor = tape[ptr++];
  37199. let PredefinedType = tape[ptr++];
  37200. return new IfcOccupant(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType);
  37201. }
  37202. ToTape() {
  37203. let args = [];
  37204. args.push(this.GlobalId);
  37205. ;
  37206. args.push(this.OwnerHistory);
  37207. ;
  37208. args.push(this.Name);
  37209. ;
  37210. args.push(this.Description);
  37211. ;
  37212. args.push(this.ObjectType);
  37213. ;
  37214. args.push(this.TheActor);
  37215. ;
  37216. args.push(this.PredefinedType);
  37217. ;
  37218. return args;
  37219. }
  37220. };
  37221. var IfcOffsetCurve = class {
  37222. constructor(expressID, type, BasisCurve) {
  37223. this.expressID = expressID;
  37224. this.type = type;
  37225. this.BasisCurve = BasisCurve;
  37226. }
  37227. static FromTape(expressID, type, tape) {
  37228. let ptr = 0;
  37229. let BasisCurve = tape[ptr++];
  37230. return new IfcOffsetCurve(expressID, type, BasisCurve);
  37231. }
  37232. ToTape() {
  37233. let args = [];
  37234. args.push(this.BasisCurve);
  37235. ;
  37236. return args;
  37237. }
  37238. };
  37239. var IfcOffsetCurve2D = class {
  37240. constructor(expressID, type, BasisCurve, Distance, SelfIntersect) {
  37241. this.expressID = expressID;
  37242. this.type = type;
  37243. this.BasisCurve = BasisCurve;
  37244. this.Distance = Distance;
  37245. this.SelfIntersect = SelfIntersect;
  37246. }
  37247. static FromTape(expressID, type, tape) {
  37248. let ptr = 0;
  37249. let BasisCurve = tape[ptr++];
  37250. let Distance = tape[ptr++];
  37251. let SelfIntersect = tape[ptr++];
  37252. return new IfcOffsetCurve2D(expressID, type, BasisCurve, Distance, SelfIntersect);
  37253. }
  37254. ToTape() {
  37255. let args = [];
  37256. args.push(this.BasisCurve);
  37257. ;
  37258. args.push(this.Distance);
  37259. ;
  37260. args.push(this.SelfIntersect);
  37261. ;
  37262. return args;
  37263. }
  37264. };
  37265. var IfcOffsetCurve3D = class {
  37266. constructor(expressID, type, BasisCurve, Distance, SelfIntersect, RefDirection) {
  37267. this.expressID = expressID;
  37268. this.type = type;
  37269. this.BasisCurve = BasisCurve;
  37270. this.Distance = Distance;
  37271. this.SelfIntersect = SelfIntersect;
  37272. this.RefDirection = RefDirection;
  37273. }
  37274. static FromTape(expressID, type, tape) {
  37275. let ptr = 0;
  37276. let BasisCurve = tape[ptr++];
  37277. let Distance = tape[ptr++];
  37278. let SelfIntersect = tape[ptr++];
  37279. let RefDirection = tape[ptr++];
  37280. return new IfcOffsetCurve3D(expressID, type, BasisCurve, Distance, SelfIntersect, RefDirection);
  37281. }
  37282. ToTape() {
  37283. let args = [];
  37284. args.push(this.BasisCurve);
  37285. ;
  37286. args.push(this.Distance);
  37287. ;
  37288. args.push(this.SelfIntersect);
  37289. ;
  37290. args.push(this.RefDirection);
  37291. ;
  37292. return args;
  37293. }
  37294. };
  37295. var IfcOffsetCurveByDistances = class {
  37296. constructor(expressID, type, BasisCurve, OffsetValues, Tag) {
  37297. this.expressID = expressID;
  37298. this.type = type;
  37299. this.BasisCurve = BasisCurve;
  37300. this.OffsetValues = OffsetValues;
  37301. this.Tag = Tag;
  37302. }
  37303. static FromTape(expressID, type, tape) {
  37304. let ptr = 0;
  37305. let BasisCurve = tape[ptr++];
  37306. let OffsetValues = tape[ptr++];
  37307. let Tag = tape[ptr++];
  37308. return new IfcOffsetCurveByDistances(expressID, type, BasisCurve, OffsetValues, Tag);
  37309. }
  37310. ToTape() {
  37311. let args = [];
  37312. args.push(this.BasisCurve);
  37313. ;
  37314. args.push(this.OffsetValues);
  37315. ;
  37316. args.push(this.Tag);
  37317. ;
  37318. return args;
  37319. }
  37320. };
  37321. var IfcOpenShell = class {
  37322. constructor(expressID, type, CfsFaces) {
  37323. this.expressID = expressID;
  37324. this.type = type;
  37325. this.CfsFaces = CfsFaces;
  37326. }
  37327. static FromTape(expressID, type, tape) {
  37328. let ptr = 0;
  37329. let CfsFaces = tape[ptr++];
  37330. return new IfcOpenShell(expressID, type, CfsFaces);
  37331. }
  37332. ToTape() {
  37333. let args = [];
  37334. args.push(this.CfsFaces);
  37335. ;
  37336. return args;
  37337. }
  37338. };
  37339. var IfcOpeningElement = class {
  37340. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  37341. this.expressID = expressID;
  37342. this.type = type;
  37343. this.GlobalId = GlobalId;
  37344. this.OwnerHistory = OwnerHistory;
  37345. this.Name = Name;
  37346. this.Description = Description;
  37347. this.ObjectType = ObjectType;
  37348. this.ObjectPlacement = ObjectPlacement;
  37349. this.Representation = Representation;
  37350. this.Tag = Tag;
  37351. this.PredefinedType = PredefinedType;
  37352. }
  37353. static FromTape(expressID, type, tape) {
  37354. let ptr = 0;
  37355. let GlobalId = tape[ptr++];
  37356. let OwnerHistory = tape[ptr++];
  37357. let Name = tape[ptr++];
  37358. let Description = tape[ptr++];
  37359. let ObjectType = tape[ptr++];
  37360. let ObjectPlacement = tape[ptr++];
  37361. let Representation = tape[ptr++];
  37362. let Tag = tape[ptr++];
  37363. let PredefinedType = tape[ptr++];
  37364. return new IfcOpeningElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  37365. }
  37366. ToTape() {
  37367. let args = [];
  37368. args.push(this.GlobalId);
  37369. ;
  37370. args.push(this.OwnerHistory);
  37371. ;
  37372. args.push(this.Name);
  37373. ;
  37374. args.push(this.Description);
  37375. ;
  37376. args.push(this.ObjectType);
  37377. ;
  37378. args.push(this.ObjectPlacement);
  37379. ;
  37380. args.push(this.Representation);
  37381. ;
  37382. args.push(this.Tag);
  37383. ;
  37384. args.push(this.PredefinedType);
  37385. ;
  37386. return args;
  37387. }
  37388. };
  37389. var IfcOpeningStandardCase = class {
  37390. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  37391. this.expressID = expressID;
  37392. this.type = type;
  37393. this.GlobalId = GlobalId;
  37394. this.OwnerHistory = OwnerHistory;
  37395. this.Name = Name;
  37396. this.Description = Description;
  37397. this.ObjectType = ObjectType;
  37398. this.ObjectPlacement = ObjectPlacement;
  37399. this.Representation = Representation;
  37400. this.Tag = Tag;
  37401. this.PredefinedType = PredefinedType;
  37402. }
  37403. static FromTape(expressID, type, tape) {
  37404. let ptr = 0;
  37405. let GlobalId = tape[ptr++];
  37406. let OwnerHistory = tape[ptr++];
  37407. let Name = tape[ptr++];
  37408. let Description = tape[ptr++];
  37409. let ObjectType = tape[ptr++];
  37410. let ObjectPlacement = tape[ptr++];
  37411. let Representation = tape[ptr++];
  37412. let Tag = tape[ptr++];
  37413. let PredefinedType = tape[ptr++];
  37414. return new IfcOpeningStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  37415. }
  37416. ToTape() {
  37417. let args = [];
  37418. args.push(this.GlobalId);
  37419. ;
  37420. args.push(this.OwnerHistory);
  37421. ;
  37422. args.push(this.Name);
  37423. ;
  37424. args.push(this.Description);
  37425. ;
  37426. args.push(this.ObjectType);
  37427. ;
  37428. args.push(this.ObjectPlacement);
  37429. ;
  37430. args.push(this.Representation);
  37431. ;
  37432. args.push(this.Tag);
  37433. ;
  37434. args.push(this.PredefinedType);
  37435. ;
  37436. return args;
  37437. }
  37438. };
  37439. var IfcOrganization = class {
  37440. constructor(expressID, type, Identification, Name, Description, Roles, Addresses) {
  37441. this.expressID = expressID;
  37442. this.type = type;
  37443. this.Identification = Identification;
  37444. this.Name = Name;
  37445. this.Description = Description;
  37446. this.Roles = Roles;
  37447. this.Addresses = Addresses;
  37448. }
  37449. static FromTape(expressID, type, tape) {
  37450. let ptr = 0;
  37451. let Identification = tape[ptr++];
  37452. let Name = tape[ptr++];
  37453. let Description = tape[ptr++];
  37454. let Roles = tape[ptr++];
  37455. let Addresses = tape[ptr++];
  37456. return new IfcOrganization(expressID, type, Identification, Name, Description, Roles, Addresses);
  37457. }
  37458. ToTape() {
  37459. let args = [];
  37460. args.push(this.Identification);
  37461. ;
  37462. args.push(this.Name);
  37463. ;
  37464. args.push(this.Description);
  37465. ;
  37466. args.push(this.Roles);
  37467. ;
  37468. args.push(this.Addresses);
  37469. ;
  37470. return args;
  37471. }
  37472. };
  37473. var IfcOrganizationRelationship = class {
  37474. constructor(expressID, type, Name, Description, RelatingOrganization, RelatedOrganizations) {
  37475. this.expressID = expressID;
  37476. this.type = type;
  37477. this.Name = Name;
  37478. this.Description = Description;
  37479. this.RelatingOrganization = RelatingOrganization;
  37480. this.RelatedOrganizations = RelatedOrganizations;
  37481. }
  37482. static FromTape(expressID, type, tape) {
  37483. let ptr = 0;
  37484. let Name = tape[ptr++];
  37485. let Description = tape[ptr++];
  37486. let RelatingOrganization = tape[ptr++];
  37487. let RelatedOrganizations = tape[ptr++];
  37488. return new IfcOrganizationRelationship(expressID, type, Name, Description, RelatingOrganization, RelatedOrganizations);
  37489. }
  37490. ToTape() {
  37491. let args = [];
  37492. args.push(this.Name);
  37493. ;
  37494. args.push(this.Description);
  37495. ;
  37496. args.push(this.RelatingOrganization);
  37497. ;
  37498. args.push(this.RelatedOrganizations);
  37499. ;
  37500. return args;
  37501. }
  37502. };
  37503. var IfcOrientationExpression = class {
  37504. constructor(expressID, type, LateralAxisDirection, VerticalAxisDirection) {
  37505. this.expressID = expressID;
  37506. this.type = type;
  37507. this.LateralAxisDirection = LateralAxisDirection;
  37508. this.VerticalAxisDirection = VerticalAxisDirection;
  37509. }
  37510. static FromTape(expressID, type, tape) {
  37511. let ptr = 0;
  37512. let LateralAxisDirection = tape[ptr++];
  37513. let VerticalAxisDirection = tape[ptr++];
  37514. return new IfcOrientationExpression(expressID, type, LateralAxisDirection, VerticalAxisDirection);
  37515. }
  37516. ToTape() {
  37517. let args = [];
  37518. args.push(this.LateralAxisDirection);
  37519. ;
  37520. args.push(this.VerticalAxisDirection);
  37521. ;
  37522. return args;
  37523. }
  37524. };
  37525. var IfcOrientedEdge = class {
  37526. constructor(expressID, type, EdgeStart, EdgeEnd, EdgeElement, Orientation) {
  37527. this.expressID = expressID;
  37528. this.type = type;
  37529. this.EdgeStart = EdgeStart;
  37530. this.EdgeEnd = EdgeEnd;
  37531. this.EdgeElement = EdgeElement;
  37532. this.Orientation = Orientation;
  37533. }
  37534. static FromTape(expressID, type, tape) {
  37535. let ptr = 0;
  37536. let EdgeStart = tape[ptr++];
  37537. let EdgeEnd = tape[ptr++];
  37538. let EdgeElement = tape[ptr++];
  37539. let Orientation = tape[ptr++];
  37540. return new IfcOrientedEdge(expressID, type, EdgeStart, EdgeEnd, EdgeElement, Orientation);
  37541. }
  37542. ToTape() {
  37543. let args = [];
  37544. args.push(this.EdgeStart);
  37545. ;
  37546. args.push(this.EdgeEnd);
  37547. ;
  37548. args.push(this.EdgeElement);
  37549. ;
  37550. args.push(this.Orientation);
  37551. ;
  37552. return args;
  37553. }
  37554. };
  37555. var IfcOuterBoundaryCurve = class {
  37556. constructor(expressID, type, Segments, SelfIntersect) {
  37557. this.expressID = expressID;
  37558. this.type = type;
  37559. this.Segments = Segments;
  37560. this.SelfIntersect = SelfIntersect;
  37561. }
  37562. static FromTape(expressID, type, tape) {
  37563. let ptr = 0;
  37564. let Segments = tape[ptr++];
  37565. let SelfIntersect = tape[ptr++];
  37566. return new IfcOuterBoundaryCurve(expressID, type, Segments, SelfIntersect);
  37567. }
  37568. ToTape() {
  37569. let args = [];
  37570. args.push(this.Segments);
  37571. ;
  37572. args.push(this.SelfIntersect);
  37573. ;
  37574. return args;
  37575. }
  37576. };
  37577. var IfcOutlet = class {
  37578. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  37579. this.expressID = expressID;
  37580. this.type = type;
  37581. this.GlobalId = GlobalId;
  37582. this.OwnerHistory = OwnerHistory;
  37583. this.Name = Name;
  37584. this.Description = Description;
  37585. this.ObjectType = ObjectType;
  37586. this.ObjectPlacement = ObjectPlacement;
  37587. this.Representation = Representation;
  37588. this.Tag = Tag;
  37589. this.PredefinedType = PredefinedType;
  37590. }
  37591. static FromTape(expressID, type, tape) {
  37592. let ptr = 0;
  37593. let GlobalId = tape[ptr++];
  37594. let OwnerHistory = tape[ptr++];
  37595. let Name = tape[ptr++];
  37596. let Description = tape[ptr++];
  37597. let ObjectType = tape[ptr++];
  37598. let ObjectPlacement = tape[ptr++];
  37599. let Representation = tape[ptr++];
  37600. let Tag = tape[ptr++];
  37601. let PredefinedType = tape[ptr++];
  37602. return new IfcOutlet(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  37603. }
  37604. ToTape() {
  37605. let args = [];
  37606. args.push(this.GlobalId);
  37607. ;
  37608. args.push(this.OwnerHistory);
  37609. ;
  37610. args.push(this.Name);
  37611. ;
  37612. args.push(this.Description);
  37613. ;
  37614. args.push(this.ObjectType);
  37615. ;
  37616. args.push(this.ObjectPlacement);
  37617. ;
  37618. args.push(this.Representation);
  37619. ;
  37620. args.push(this.Tag);
  37621. ;
  37622. args.push(this.PredefinedType);
  37623. ;
  37624. return args;
  37625. }
  37626. };
  37627. var IfcOutletType = class {
  37628. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  37629. this.expressID = expressID;
  37630. this.type = type;
  37631. this.GlobalId = GlobalId;
  37632. this.OwnerHistory = OwnerHistory;
  37633. this.Name = Name;
  37634. this.Description = Description;
  37635. this.ApplicableOccurrence = ApplicableOccurrence;
  37636. this.HasPropertySets = HasPropertySets;
  37637. this.RepresentationMaps = RepresentationMaps;
  37638. this.Tag = Tag;
  37639. this.ElementType = ElementType;
  37640. this.PredefinedType = PredefinedType;
  37641. }
  37642. static FromTape(expressID, type, tape) {
  37643. let ptr = 0;
  37644. let GlobalId = tape[ptr++];
  37645. let OwnerHistory = tape[ptr++];
  37646. let Name = tape[ptr++];
  37647. let Description = tape[ptr++];
  37648. let ApplicableOccurrence = tape[ptr++];
  37649. let HasPropertySets = tape[ptr++];
  37650. let RepresentationMaps = tape[ptr++];
  37651. let Tag = tape[ptr++];
  37652. let ElementType = tape[ptr++];
  37653. let PredefinedType = tape[ptr++];
  37654. return new IfcOutletType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  37655. }
  37656. ToTape() {
  37657. let args = [];
  37658. args.push(this.GlobalId);
  37659. ;
  37660. args.push(this.OwnerHistory);
  37661. ;
  37662. args.push(this.Name);
  37663. ;
  37664. args.push(this.Description);
  37665. ;
  37666. args.push(this.ApplicableOccurrence);
  37667. ;
  37668. args.push(this.HasPropertySets);
  37669. ;
  37670. args.push(this.RepresentationMaps);
  37671. ;
  37672. args.push(this.Tag);
  37673. ;
  37674. args.push(this.ElementType);
  37675. ;
  37676. args.push(this.PredefinedType);
  37677. ;
  37678. return args;
  37679. }
  37680. };
  37681. var IfcOwnerHistory = class {
  37682. constructor(expressID, type, OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) {
  37683. this.expressID = expressID;
  37684. this.type = type;
  37685. this.OwningUser = OwningUser;
  37686. this.OwningApplication = OwningApplication;
  37687. this.State = State;
  37688. this.ChangeAction = ChangeAction;
  37689. this.LastModifiedDate = LastModifiedDate;
  37690. this.LastModifyingUser = LastModifyingUser;
  37691. this.LastModifyingApplication = LastModifyingApplication;
  37692. this.CreationDate = CreationDate;
  37693. }
  37694. static FromTape(expressID, type, tape) {
  37695. let ptr = 0;
  37696. let OwningUser = tape[ptr++];
  37697. let OwningApplication = tape[ptr++];
  37698. let State = tape[ptr++];
  37699. let ChangeAction = tape[ptr++];
  37700. let LastModifiedDate = tape[ptr++];
  37701. let LastModifyingUser = tape[ptr++];
  37702. let LastModifyingApplication = tape[ptr++];
  37703. let CreationDate = tape[ptr++];
  37704. return new IfcOwnerHistory(expressID, type, OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate);
  37705. }
  37706. ToTape() {
  37707. let args = [];
  37708. args.push(this.OwningUser);
  37709. ;
  37710. args.push(this.OwningApplication);
  37711. ;
  37712. args.push(this.State);
  37713. ;
  37714. args.push(this.ChangeAction);
  37715. ;
  37716. args.push(this.LastModifiedDate);
  37717. ;
  37718. args.push(this.LastModifyingUser);
  37719. ;
  37720. args.push(this.LastModifyingApplication);
  37721. ;
  37722. args.push(this.CreationDate);
  37723. ;
  37724. return args;
  37725. }
  37726. };
  37727. var IfcParameterizedProfileDef = class {
  37728. constructor(expressID, type, ProfileType, ProfileName, Position) {
  37729. this.expressID = expressID;
  37730. this.type = type;
  37731. this.ProfileType = ProfileType;
  37732. this.ProfileName = ProfileName;
  37733. this.Position = Position;
  37734. }
  37735. static FromTape(expressID, type, tape) {
  37736. let ptr = 0;
  37737. let ProfileType = tape[ptr++];
  37738. let ProfileName = tape[ptr++];
  37739. let Position = tape[ptr++];
  37740. return new IfcParameterizedProfileDef(expressID, type, ProfileType, ProfileName, Position);
  37741. }
  37742. ToTape() {
  37743. let args = [];
  37744. args.push(this.ProfileType);
  37745. ;
  37746. args.push(this.ProfileName);
  37747. ;
  37748. args.push(this.Position);
  37749. ;
  37750. return args;
  37751. }
  37752. };
  37753. var IfcPath = class {
  37754. constructor(expressID, type, EdgeList) {
  37755. this.expressID = expressID;
  37756. this.type = type;
  37757. this.EdgeList = EdgeList;
  37758. }
  37759. static FromTape(expressID, type, tape) {
  37760. let ptr = 0;
  37761. let EdgeList = tape[ptr++];
  37762. return new IfcPath(expressID, type, EdgeList);
  37763. }
  37764. ToTape() {
  37765. let args = [];
  37766. args.push(this.EdgeList);
  37767. ;
  37768. return args;
  37769. }
  37770. };
  37771. var IfcPcurve = class {
  37772. constructor(expressID, type, BasisSurface, ReferenceCurve) {
  37773. this.expressID = expressID;
  37774. this.type = type;
  37775. this.BasisSurface = BasisSurface;
  37776. this.ReferenceCurve = ReferenceCurve;
  37777. }
  37778. static FromTape(expressID, type, tape) {
  37779. let ptr = 0;
  37780. let BasisSurface = tape[ptr++];
  37781. let ReferenceCurve = tape[ptr++];
  37782. return new IfcPcurve(expressID, type, BasisSurface, ReferenceCurve);
  37783. }
  37784. ToTape() {
  37785. let args = [];
  37786. args.push(this.BasisSurface);
  37787. ;
  37788. args.push(this.ReferenceCurve);
  37789. ;
  37790. return args;
  37791. }
  37792. };
  37793. var IfcPerformanceHistory = class {
  37794. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) {
  37795. this.expressID = expressID;
  37796. this.type = type;
  37797. this.GlobalId = GlobalId;
  37798. this.OwnerHistory = OwnerHistory;
  37799. this.Name = Name;
  37800. this.Description = Description;
  37801. this.ObjectType = ObjectType;
  37802. this.Identification = Identification;
  37803. this.LifeCyclePhase = LifeCyclePhase;
  37804. this.PredefinedType = PredefinedType;
  37805. }
  37806. static FromTape(expressID, type, tape) {
  37807. let ptr = 0;
  37808. let GlobalId = tape[ptr++];
  37809. let OwnerHistory = tape[ptr++];
  37810. let Name = tape[ptr++];
  37811. let Description = tape[ptr++];
  37812. let ObjectType = tape[ptr++];
  37813. let Identification = tape[ptr++];
  37814. let LifeCyclePhase = tape[ptr++];
  37815. let PredefinedType = tape[ptr++];
  37816. return new IfcPerformanceHistory(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType);
  37817. }
  37818. ToTape() {
  37819. let args = [];
  37820. args.push(this.GlobalId);
  37821. ;
  37822. args.push(this.OwnerHistory);
  37823. ;
  37824. args.push(this.Name);
  37825. ;
  37826. args.push(this.Description);
  37827. ;
  37828. args.push(this.ObjectType);
  37829. ;
  37830. args.push(this.Identification);
  37831. ;
  37832. args.push(this.LifeCyclePhase);
  37833. ;
  37834. args.push(this.PredefinedType);
  37835. ;
  37836. return args;
  37837. }
  37838. };
  37839. var IfcPermeableCoveringProperties = class {
  37840. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
  37841. this.expressID = expressID;
  37842. this.type = type;
  37843. this.GlobalId = GlobalId;
  37844. this.OwnerHistory = OwnerHistory;
  37845. this.Name = Name;
  37846. this.Description = Description;
  37847. this.OperationType = OperationType;
  37848. this.PanelPosition = PanelPosition;
  37849. this.FrameDepth = FrameDepth;
  37850. this.FrameThickness = FrameThickness;
  37851. this.ShapeAspectStyle = ShapeAspectStyle;
  37852. }
  37853. static FromTape(expressID, type, tape) {
  37854. let ptr = 0;
  37855. let GlobalId = tape[ptr++];
  37856. let OwnerHistory = tape[ptr++];
  37857. let Name = tape[ptr++];
  37858. let Description = tape[ptr++];
  37859. let OperationType = tape[ptr++];
  37860. let PanelPosition = tape[ptr++];
  37861. let FrameDepth = tape[ptr++];
  37862. let FrameThickness = tape[ptr++];
  37863. let ShapeAspectStyle = tape[ptr++];
  37864. return new IfcPermeableCoveringProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle);
  37865. }
  37866. ToTape() {
  37867. let args = [];
  37868. args.push(this.GlobalId);
  37869. ;
  37870. args.push(this.OwnerHistory);
  37871. ;
  37872. args.push(this.Name);
  37873. ;
  37874. args.push(this.Description);
  37875. ;
  37876. args.push(this.OperationType);
  37877. ;
  37878. args.push(this.PanelPosition);
  37879. ;
  37880. args.push(this.FrameDepth);
  37881. ;
  37882. args.push(this.FrameThickness);
  37883. ;
  37884. args.push(this.ShapeAspectStyle);
  37885. ;
  37886. return args;
  37887. }
  37888. };
  37889. var IfcPermit = class {
  37890. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
  37891. this.expressID = expressID;
  37892. this.type = type;
  37893. this.GlobalId = GlobalId;
  37894. this.OwnerHistory = OwnerHistory;
  37895. this.Name = Name;
  37896. this.Description = Description;
  37897. this.ObjectType = ObjectType;
  37898. this.Identification = Identification;
  37899. this.PredefinedType = PredefinedType;
  37900. this.Status = Status;
  37901. this.LongDescription = LongDescription;
  37902. }
  37903. static FromTape(expressID, type, tape) {
  37904. let ptr = 0;
  37905. let GlobalId = tape[ptr++];
  37906. let OwnerHistory = tape[ptr++];
  37907. let Name = tape[ptr++];
  37908. let Description = tape[ptr++];
  37909. let ObjectType = tape[ptr++];
  37910. let Identification = tape[ptr++];
  37911. let PredefinedType = tape[ptr++];
  37912. let Status = tape[ptr++];
  37913. let LongDescription = tape[ptr++];
  37914. return new IfcPermit(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription);
  37915. }
  37916. ToTape() {
  37917. let args = [];
  37918. args.push(this.GlobalId);
  37919. ;
  37920. args.push(this.OwnerHistory);
  37921. ;
  37922. args.push(this.Name);
  37923. ;
  37924. args.push(this.Description);
  37925. ;
  37926. args.push(this.ObjectType);
  37927. ;
  37928. args.push(this.Identification);
  37929. ;
  37930. args.push(this.PredefinedType);
  37931. ;
  37932. args.push(this.Status);
  37933. ;
  37934. args.push(this.LongDescription);
  37935. ;
  37936. return args;
  37937. }
  37938. };
  37939. var IfcPerson = class {
  37940. constructor(expressID, type, Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) {
  37941. this.expressID = expressID;
  37942. this.type = type;
  37943. this.Identification = Identification;
  37944. this.FamilyName = FamilyName;
  37945. this.GivenName = GivenName;
  37946. this.MiddleNames = MiddleNames;
  37947. this.PrefixTitles = PrefixTitles;
  37948. this.SuffixTitles = SuffixTitles;
  37949. this.Roles = Roles;
  37950. this.Addresses = Addresses;
  37951. }
  37952. static FromTape(expressID, type, tape) {
  37953. let ptr = 0;
  37954. let Identification = tape[ptr++];
  37955. let FamilyName = tape[ptr++];
  37956. let GivenName = tape[ptr++];
  37957. let MiddleNames = tape[ptr++];
  37958. let PrefixTitles = tape[ptr++];
  37959. let SuffixTitles = tape[ptr++];
  37960. let Roles = tape[ptr++];
  37961. let Addresses = tape[ptr++];
  37962. return new IfcPerson(expressID, type, Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses);
  37963. }
  37964. ToTape() {
  37965. let args = [];
  37966. args.push(this.Identification);
  37967. ;
  37968. args.push(this.FamilyName);
  37969. ;
  37970. args.push(this.GivenName);
  37971. ;
  37972. args.push(this.MiddleNames);
  37973. ;
  37974. args.push(this.PrefixTitles);
  37975. ;
  37976. args.push(this.SuffixTitles);
  37977. ;
  37978. args.push(this.Roles);
  37979. ;
  37980. args.push(this.Addresses);
  37981. ;
  37982. return args;
  37983. }
  37984. };
  37985. var IfcPersonAndOrganization = class {
  37986. constructor(expressID, type, ThePerson, TheOrganization, Roles) {
  37987. this.expressID = expressID;
  37988. this.type = type;
  37989. this.ThePerson = ThePerson;
  37990. this.TheOrganization = TheOrganization;
  37991. this.Roles = Roles;
  37992. }
  37993. static FromTape(expressID, type, tape) {
  37994. let ptr = 0;
  37995. let ThePerson = tape[ptr++];
  37996. let TheOrganization = tape[ptr++];
  37997. let Roles = tape[ptr++];
  37998. return new IfcPersonAndOrganization(expressID, type, ThePerson, TheOrganization, Roles);
  37999. }
  38000. ToTape() {
  38001. let args = [];
  38002. args.push(this.ThePerson);
  38003. ;
  38004. args.push(this.TheOrganization);
  38005. ;
  38006. args.push(this.Roles);
  38007. ;
  38008. return args;
  38009. }
  38010. };
  38011. var IfcPhysicalComplexQuantity = class {
  38012. constructor(expressID, type, Name, Description, HasQuantities, Discrimination, Quality, Usage) {
  38013. this.expressID = expressID;
  38014. this.type = type;
  38015. this.Name = Name;
  38016. this.Description = Description;
  38017. this.HasQuantities = HasQuantities;
  38018. this.Discrimination = Discrimination;
  38019. this.Quality = Quality;
  38020. this.Usage = Usage;
  38021. }
  38022. static FromTape(expressID, type, tape) {
  38023. let ptr = 0;
  38024. let Name = tape[ptr++];
  38025. let Description = tape[ptr++];
  38026. let HasQuantities = tape[ptr++];
  38027. let Discrimination = tape[ptr++];
  38028. let Quality = tape[ptr++];
  38029. let Usage = tape[ptr++];
  38030. return new IfcPhysicalComplexQuantity(expressID, type, Name, Description, HasQuantities, Discrimination, Quality, Usage);
  38031. }
  38032. ToTape() {
  38033. let args = [];
  38034. args.push(this.Name);
  38035. ;
  38036. args.push(this.Description);
  38037. ;
  38038. args.push(this.HasQuantities);
  38039. ;
  38040. args.push(this.Discrimination);
  38041. ;
  38042. args.push(this.Quality);
  38043. ;
  38044. args.push(this.Usage);
  38045. ;
  38046. return args;
  38047. }
  38048. };
  38049. var IfcPhysicalQuantity = class {
  38050. constructor(expressID, type, Name, Description) {
  38051. this.expressID = expressID;
  38052. this.type = type;
  38053. this.Name = Name;
  38054. this.Description = Description;
  38055. }
  38056. static FromTape(expressID, type, tape) {
  38057. let ptr = 0;
  38058. let Name = tape[ptr++];
  38059. let Description = tape[ptr++];
  38060. return new IfcPhysicalQuantity(expressID, type, Name, Description);
  38061. }
  38062. ToTape() {
  38063. let args = [];
  38064. args.push(this.Name);
  38065. ;
  38066. args.push(this.Description);
  38067. ;
  38068. return args;
  38069. }
  38070. };
  38071. var IfcPhysicalSimpleQuantity = class {
  38072. constructor(expressID, type, Name, Description, Unit) {
  38073. this.expressID = expressID;
  38074. this.type = type;
  38075. this.Name = Name;
  38076. this.Description = Description;
  38077. this.Unit = Unit;
  38078. }
  38079. static FromTape(expressID, type, tape) {
  38080. let ptr = 0;
  38081. let Name = tape[ptr++];
  38082. let Description = tape[ptr++];
  38083. let Unit = tape[ptr++];
  38084. return new IfcPhysicalSimpleQuantity(expressID, type, Name, Description, Unit);
  38085. }
  38086. ToTape() {
  38087. let args = [];
  38088. args.push(this.Name);
  38089. ;
  38090. args.push(this.Description);
  38091. ;
  38092. args.push(this.Unit);
  38093. ;
  38094. return args;
  38095. }
  38096. };
  38097. var IfcPile = class {
  38098. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) {
  38099. this.expressID = expressID;
  38100. this.type = type;
  38101. this.GlobalId = GlobalId;
  38102. this.OwnerHistory = OwnerHistory;
  38103. this.Name = Name;
  38104. this.Description = Description;
  38105. this.ObjectType = ObjectType;
  38106. this.ObjectPlacement = ObjectPlacement;
  38107. this.Representation = Representation;
  38108. this.Tag = Tag;
  38109. this.PredefinedType = PredefinedType;
  38110. this.ConstructionType = ConstructionType;
  38111. }
  38112. static FromTape(expressID, type, tape) {
  38113. let ptr = 0;
  38114. let GlobalId = tape[ptr++];
  38115. let OwnerHistory = tape[ptr++];
  38116. let Name = tape[ptr++];
  38117. let Description = tape[ptr++];
  38118. let ObjectType = tape[ptr++];
  38119. let ObjectPlacement = tape[ptr++];
  38120. let Representation = tape[ptr++];
  38121. let Tag = tape[ptr++];
  38122. let PredefinedType = tape[ptr++];
  38123. let ConstructionType = tape[ptr++];
  38124. return new IfcPile(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType);
  38125. }
  38126. ToTape() {
  38127. let args = [];
  38128. args.push(this.GlobalId);
  38129. ;
  38130. args.push(this.OwnerHistory);
  38131. ;
  38132. args.push(this.Name);
  38133. ;
  38134. args.push(this.Description);
  38135. ;
  38136. args.push(this.ObjectType);
  38137. ;
  38138. args.push(this.ObjectPlacement);
  38139. ;
  38140. args.push(this.Representation);
  38141. ;
  38142. args.push(this.Tag);
  38143. ;
  38144. args.push(this.PredefinedType);
  38145. ;
  38146. args.push(this.ConstructionType);
  38147. ;
  38148. return args;
  38149. }
  38150. };
  38151. var IfcPileType = class {
  38152. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  38153. this.expressID = expressID;
  38154. this.type = type;
  38155. this.GlobalId = GlobalId;
  38156. this.OwnerHistory = OwnerHistory;
  38157. this.Name = Name;
  38158. this.Description = Description;
  38159. this.ApplicableOccurrence = ApplicableOccurrence;
  38160. this.HasPropertySets = HasPropertySets;
  38161. this.RepresentationMaps = RepresentationMaps;
  38162. this.Tag = Tag;
  38163. this.ElementType = ElementType;
  38164. this.PredefinedType = PredefinedType;
  38165. }
  38166. static FromTape(expressID, type, tape) {
  38167. let ptr = 0;
  38168. let GlobalId = tape[ptr++];
  38169. let OwnerHistory = tape[ptr++];
  38170. let Name = tape[ptr++];
  38171. let Description = tape[ptr++];
  38172. let ApplicableOccurrence = tape[ptr++];
  38173. let HasPropertySets = tape[ptr++];
  38174. let RepresentationMaps = tape[ptr++];
  38175. let Tag = tape[ptr++];
  38176. let ElementType = tape[ptr++];
  38177. let PredefinedType = tape[ptr++];
  38178. return new IfcPileType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  38179. }
  38180. ToTape() {
  38181. let args = [];
  38182. args.push(this.GlobalId);
  38183. ;
  38184. args.push(this.OwnerHistory);
  38185. ;
  38186. args.push(this.Name);
  38187. ;
  38188. args.push(this.Description);
  38189. ;
  38190. args.push(this.ApplicableOccurrence);
  38191. ;
  38192. args.push(this.HasPropertySets);
  38193. ;
  38194. args.push(this.RepresentationMaps);
  38195. ;
  38196. args.push(this.Tag);
  38197. ;
  38198. args.push(this.ElementType);
  38199. ;
  38200. args.push(this.PredefinedType);
  38201. ;
  38202. return args;
  38203. }
  38204. };
  38205. var IfcPipeFitting = class {
  38206. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  38207. this.expressID = expressID;
  38208. this.type = type;
  38209. this.GlobalId = GlobalId;
  38210. this.OwnerHistory = OwnerHistory;
  38211. this.Name = Name;
  38212. this.Description = Description;
  38213. this.ObjectType = ObjectType;
  38214. this.ObjectPlacement = ObjectPlacement;
  38215. this.Representation = Representation;
  38216. this.Tag = Tag;
  38217. this.PredefinedType = PredefinedType;
  38218. }
  38219. static FromTape(expressID, type, tape) {
  38220. let ptr = 0;
  38221. let GlobalId = tape[ptr++];
  38222. let OwnerHistory = tape[ptr++];
  38223. let Name = tape[ptr++];
  38224. let Description = tape[ptr++];
  38225. let ObjectType = tape[ptr++];
  38226. let ObjectPlacement = tape[ptr++];
  38227. let Representation = tape[ptr++];
  38228. let Tag = tape[ptr++];
  38229. let PredefinedType = tape[ptr++];
  38230. return new IfcPipeFitting(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  38231. }
  38232. ToTape() {
  38233. let args = [];
  38234. args.push(this.GlobalId);
  38235. ;
  38236. args.push(this.OwnerHistory);
  38237. ;
  38238. args.push(this.Name);
  38239. ;
  38240. args.push(this.Description);
  38241. ;
  38242. args.push(this.ObjectType);
  38243. ;
  38244. args.push(this.ObjectPlacement);
  38245. ;
  38246. args.push(this.Representation);
  38247. ;
  38248. args.push(this.Tag);
  38249. ;
  38250. args.push(this.PredefinedType);
  38251. ;
  38252. return args;
  38253. }
  38254. };
  38255. var IfcPipeFittingType = class {
  38256. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  38257. this.expressID = expressID;
  38258. this.type = type;
  38259. this.GlobalId = GlobalId;
  38260. this.OwnerHistory = OwnerHistory;
  38261. this.Name = Name;
  38262. this.Description = Description;
  38263. this.ApplicableOccurrence = ApplicableOccurrence;
  38264. this.HasPropertySets = HasPropertySets;
  38265. this.RepresentationMaps = RepresentationMaps;
  38266. this.Tag = Tag;
  38267. this.ElementType = ElementType;
  38268. this.PredefinedType = PredefinedType;
  38269. }
  38270. static FromTape(expressID, type, tape) {
  38271. let ptr = 0;
  38272. let GlobalId = tape[ptr++];
  38273. let OwnerHistory = tape[ptr++];
  38274. let Name = tape[ptr++];
  38275. let Description = tape[ptr++];
  38276. let ApplicableOccurrence = tape[ptr++];
  38277. let HasPropertySets = tape[ptr++];
  38278. let RepresentationMaps = tape[ptr++];
  38279. let Tag = tape[ptr++];
  38280. let ElementType = tape[ptr++];
  38281. let PredefinedType = tape[ptr++];
  38282. return new IfcPipeFittingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  38283. }
  38284. ToTape() {
  38285. let args = [];
  38286. args.push(this.GlobalId);
  38287. ;
  38288. args.push(this.OwnerHistory);
  38289. ;
  38290. args.push(this.Name);
  38291. ;
  38292. args.push(this.Description);
  38293. ;
  38294. args.push(this.ApplicableOccurrence);
  38295. ;
  38296. args.push(this.HasPropertySets);
  38297. ;
  38298. args.push(this.RepresentationMaps);
  38299. ;
  38300. args.push(this.Tag);
  38301. ;
  38302. args.push(this.ElementType);
  38303. ;
  38304. args.push(this.PredefinedType);
  38305. ;
  38306. return args;
  38307. }
  38308. };
  38309. var IfcPipeSegment = class {
  38310. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  38311. this.expressID = expressID;
  38312. this.type = type;
  38313. this.GlobalId = GlobalId;
  38314. this.OwnerHistory = OwnerHistory;
  38315. this.Name = Name;
  38316. this.Description = Description;
  38317. this.ObjectType = ObjectType;
  38318. this.ObjectPlacement = ObjectPlacement;
  38319. this.Representation = Representation;
  38320. this.Tag = Tag;
  38321. this.PredefinedType = PredefinedType;
  38322. }
  38323. static FromTape(expressID, type, tape) {
  38324. let ptr = 0;
  38325. let GlobalId = tape[ptr++];
  38326. let OwnerHistory = tape[ptr++];
  38327. let Name = tape[ptr++];
  38328. let Description = tape[ptr++];
  38329. let ObjectType = tape[ptr++];
  38330. let ObjectPlacement = tape[ptr++];
  38331. let Representation = tape[ptr++];
  38332. let Tag = tape[ptr++];
  38333. let PredefinedType = tape[ptr++];
  38334. return new IfcPipeSegment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  38335. }
  38336. ToTape() {
  38337. let args = [];
  38338. args.push(this.GlobalId);
  38339. ;
  38340. args.push(this.OwnerHistory);
  38341. ;
  38342. args.push(this.Name);
  38343. ;
  38344. args.push(this.Description);
  38345. ;
  38346. args.push(this.ObjectType);
  38347. ;
  38348. args.push(this.ObjectPlacement);
  38349. ;
  38350. args.push(this.Representation);
  38351. ;
  38352. args.push(this.Tag);
  38353. ;
  38354. args.push(this.PredefinedType);
  38355. ;
  38356. return args;
  38357. }
  38358. };
  38359. var IfcPipeSegmentType = class {
  38360. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  38361. this.expressID = expressID;
  38362. this.type = type;
  38363. this.GlobalId = GlobalId;
  38364. this.OwnerHistory = OwnerHistory;
  38365. this.Name = Name;
  38366. this.Description = Description;
  38367. this.ApplicableOccurrence = ApplicableOccurrence;
  38368. this.HasPropertySets = HasPropertySets;
  38369. this.RepresentationMaps = RepresentationMaps;
  38370. this.Tag = Tag;
  38371. this.ElementType = ElementType;
  38372. this.PredefinedType = PredefinedType;
  38373. }
  38374. static FromTape(expressID, type, tape) {
  38375. let ptr = 0;
  38376. let GlobalId = tape[ptr++];
  38377. let OwnerHistory = tape[ptr++];
  38378. let Name = tape[ptr++];
  38379. let Description = tape[ptr++];
  38380. let ApplicableOccurrence = tape[ptr++];
  38381. let HasPropertySets = tape[ptr++];
  38382. let RepresentationMaps = tape[ptr++];
  38383. let Tag = tape[ptr++];
  38384. let ElementType = tape[ptr++];
  38385. let PredefinedType = tape[ptr++];
  38386. return new IfcPipeSegmentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  38387. }
  38388. ToTape() {
  38389. let args = [];
  38390. args.push(this.GlobalId);
  38391. ;
  38392. args.push(this.OwnerHistory);
  38393. ;
  38394. args.push(this.Name);
  38395. ;
  38396. args.push(this.Description);
  38397. ;
  38398. args.push(this.ApplicableOccurrence);
  38399. ;
  38400. args.push(this.HasPropertySets);
  38401. ;
  38402. args.push(this.RepresentationMaps);
  38403. ;
  38404. args.push(this.Tag);
  38405. ;
  38406. args.push(this.ElementType);
  38407. ;
  38408. args.push(this.PredefinedType);
  38409. ;
  38410. return args;
  38411. }
  38412. };
  38413. var IfcPixelTexture = class {
  38414. constructor(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) {
  38415. this.expressID = expressID;
  38416. this.type = type;
  38417. this.RepeatS = RepeatS;
  38418. this.RepeatT = RepeatT;
  38419. this.Mode = Mode;
  38420. this.TextureTransform = TextureTransform;
  38421. this.Parameter = Parameter;
  38422. this.Width = Width;
  38423. this.Height = Height;
  38424. this.ColourComponents = ColourComponents;
  38425. this.Pixel = Pixel;
  38426. }
  38427. static FromTape(expressID, type, tape) {
  38428. let ptr = 0;
  38429. let RepeatS = tape[ptr++];
  38430. let RepeatT = tape[ptr++];
  38431. let Mode = tape[ptr++];
  38432. let TextureTransform = tape[ptr++];
  38433. let Parameter = tape[ptr++];
  38434. let Width = tape[ptr++];
  38435. let Height = tape[ptr++];
  38436. let ColourComponents = tape[ptr++];
  38437. let Pixel = tape[ptr++];
  38438. return new IfcPixelTexture(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel);
  38439. }
  38440. ToTape() {
  38441. let args = [];
  38442. args.push(this.RepeatS);
  38443. ;
  38444. args.push(this.RepeatT);
  38445. ;
  38446. args.push(this.Mode);
  38447. ;
  38448. args.push(this.TextureTransform);
  38449. ;
  38450. args.push(this.Parameter);
  38451. ;
  38452. args.push(this.Width);
  38453. ;
  38454. args.push(this.Height);
  38455. ;
  38456. args.push(this.ColourComponents);
  38457. ;
  38458. args.push(this.Pixel);
  38459. ;
  38460. return args;
  38461. }
  38462. };
  38463. var IfcPlacement = class {
  38464. constructor(expressID, type, Location) {
  38465. this.expressID = expressID;
  38466. this.type = type;
  38467. this.Location = Location;
  38468. }
  38469. static FromTape(expressID, type, tape) {
  38470. let ptr = 0;
  38471. let Location = tape[ptr++];
  38472. return new IfcPlacement(expressID, type, Location);
  38473. }
  38474. ToTape() {
  38475. let args = [];
  38476. args.push(this.Location);
  38477. ;
  38478. return args;
  38479. }
  38480. };
  38481. var IfcPlanarBox = class {
  38482. constructor(expressID, type, SizeInX, SizeInY, Placement) {
  38483. this.expressID = expressID;
  38484. this.type = type;
  38485. this.SizeInX = SizeInX;
  38486. this.SizeInY = SizeInY;
  38487. this.Placement = Placement;
  38488. }
  38489. static FromTape(expressID, type, tape) {
  38490. let ptr = 0;
  38491. let SizeInX = tape[ptr++];
  38492. let SizeInY = tape[ptr++];
  38493. let Placement = tape[ptr++];
  38494. return new IfcPlanarBox(expressID, type, SizeInX, SizeInY, Placement);
  38495. }
  38496. ToTape() {
  38497. let args = [];
  38498. args.push(this.SizeInX);
  38499. ;
  38500. args.push(this.SizeInY);
  38501. ;
  38502. args.push(this.Placement);
  38503. ;
  38504. return args;
  38505. }
  38506. };
  38507. var IfcPlanarExtent = class {
  38508. constructor(expressID, type, SizeInX, SizeInY) {
  38509. this.expressID = expressID;
  38510. this.type = type;
  38511. this.SizeInX = SizeInX;
  38512. this.SizeInY = SizeInY;
  38513. }
  38514. static FromTape(expressID, type, tape) {
  38515. let ptr = 0;
  38516. let SizeInX = tape[ptr++];
  38517. let SizeInY = tape[ptr++];
  38518. return new IfcPlanarExtent(expressID, type, SizeInX, SizeInY);
  38519. }
  38520. ToTape() {
  38521. let args = [];
  38522. args.push(this.SizeInX);
  38523. ;
  38524. args.push(this.SizeInY);
  38525. ;
  38526. return args;
  38527. }
  38528. };
  38529. var IfcPlane = class {
  38530. constructor(expressID, type, Position) {
  38531. this.expressID = expressID;
  38532. this.type = type;
  38533. this.Position = Position;
  38534. }
  38535. static FromTape(expressID, type, tape) {
  38536. let ptr = 0;
  38537. let Position = tape[ptr++];
  38538. return new IfcPlane(expressID, type, Position);
  38539. }
  38540. ToTape() {
  38541. let args = [];
  38542. args.push(this.Position);
  38543. ;
  38544. return args;
  38545. }
  38546. };
  38547. var IfcPlate = class {
  38548. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  38549. this.expressID = expressID;
  38550. this.type = type;
  38551. this.GlobalId = GlobalId;
  38552. this.OwnerHistory = OwnerHistory;
  38553. this.Name = Name;
  38554. this.Description = Description;
  38555. this.ObjectType = ObjectType;
  38556. this.ObjectPlacement = ObjectPlacement;
  38557. this.Representation = Representation;
  38558. this.Tag = Tag;
  38559. this.PredefinedType = PredefinedType;
  38560. }
  38561. static FromTape(expressID, type, tape) {
  38562. let ptr = 0;
  38563. let GlobalId = tape[ptr++];
  38564. let OwnerHistory = tape[ptr++];
  38565. let Name = tape[ptr++];
  38566. let Description = tape[ptr++];
  38567. let ObjectType = tape[ptr++];
  38568. let ObjectPlacement = tape[ptr++];
  38569. let Representation = tape[ptr++];
  38570. let Tag = tape[ptr++];
  38571. let PredefinedType = tape[ptr++];
  38572. return new IfcPlate(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  38573. }
  38574. ToTape() {
  38575. let args = [];
  38576. args.push(this.GlobalId);
  38577. ;
  38578. args.push(this.OwnerHistory);
  38579. ;
  38580. args.push(this.Name);
  38581. ;
  38582. args.push(this.Description);
  38583. ;
  38584. args.push(this.ObjectType);
  38585. ;
  38586. args.push(this.ObjectPlacement);
  38587. ;
  38588. args.push(this.Representation);
  38589. ;
  38590. args.push(this.Tag);
  38591. ;
  38592. args.push(this.PredefinedType);
  38593. ;
  38594. return args;
  38595. }
  38596. };
  38597. var IfcPlateStandardCase = class {
  38598. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  38599. this.expressID = expressID;
  38600. this.type = type;
  38601. this.GlobalId = GlobalId;
  38602. this.OwnerHistory = OwnerHistory;
  38603. this.Name = Name;
  38604. this.Description = Description;
  38605. this.ObjectType = ObjectType;
  38606. this.ObjectPlacement = ObjectPlacement;
  38607. this.Representation = Representation;
  38608. this.Tag = Tag;
  38609. this.PredefinedType = PredefinedType;
  38610. }
  38611. static FromTape(expressID, type, tape) {
  38612. let ptr = 0;
  38613. let GlobalId = tape[ptr++];
  38614. let OwnerHistory = tape[ptr++];
  38615. let Name = tape[ptr++];
  38616. let Description = tape[ptr++];
  38617. let ObjectType = tape[ptr++];
  38618. let ObjectPlacement = tape[ptr++];
  38619. let Representation = tape[ptr++];
  38620. let Tag = tape[ptr++];
  38621. let PredefinedType = tape[ptr++];
  38622. return new IfcPlateStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  38623. }
  38624. ToTape() {
  38625. let args = [];
  38626. args.push(this.GlobalId);
  38627. ;
  38628. args.push(this.OwnerHistory);
  38629. ;
  38630. args.push(this.Name);
  38631. ;
  38632. args.push(this.Description);
  38633. ;
  38634. args.push(this.ObjectType);
  38635. ;
  38636. args.push(this.ObjectPlacement);
  38637. ;
  38638. args.push(this.Representation);
  38639. ;
  38640. args.push(this.Tag);
  38641. ;
  38642. args.push(this.PredefinedType);
  38643. ;
  38644. return args;
  38645. }
  38646. };
  38647. var IfcPlateType = class {
  38648. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  38649. this.expressID = expressID;
  38650. this.type = type;
  38651. this.GlobalId = GlobalId;
  38652. this.OwnerHistory = OwnerHistory;
  38653. this.Name = Name;
  38654. this.Description = Description;
  38655. this.ApplicableOccurrence = ApplicableOccurrence;
  38656. this.HasPropertySets = HasPropertySets;
  38657. this.RepresentationMaps = RepresentationMaps;
  38658. this.Tag = Tag;
  38659. this.ElementType = ElementType;
  38660. this.PredefinedType = PredefinedType;
  38661. }
  38662. static FromTape(expressID, type, tape) {
  38663. let ptr = 0;
  38664. let GlobalId = tape[ptr++];
  38665. let OwnerHistory = tape[ptr++];
  38666. let Name = tape[ptr++];
  38667. let Description = tape[ptr++];
  38668. let ApplicableOccurrence = tape[ptr++];
  38669. let HasPropertySets = tape[ptr++];
  38670. let RepresentationMaps = tape[ptr++];
  38671. let Tag = tape[ptr++];
  38672. let ElementType = tape[ptr++];
  38673. let PredefinedType = tape[ptr++];
  38674. return new IfcPlateType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  38675. }
  38676. ToTape() {
  38677. let args = [];
  38678. args.push(this.GlobalId);
  38679. ;
  38680. args.push(this.OwnerHistory);
  38681. ;
  38682. args.push(this.Name);
  38683. ;
  38684. args.push(this.Description);
  38685. ;
  38686. args.push(this.ApplicableOccurrence);
  38687. ;
  38688. args.push(this.HasPropertySets);
  38689. ;
  38690. args.push(this.RepresentationMaps);
  38691. ;
  38692. args.push(this.Tag);
  38693. ;
  38694. args.push(this.ElementType);
  38695. ;
  38696. args.push(this.PredefinedType);
  38697. ;
  38698. return args;
  38699. }
  38700. };
  38701. var IfcPoint = class {
  38702. constructor(expressID, type) {
  38703. this.expressID = expressID;
  38704. this.type = type;
  38705. }
  38706. static FromTape(expressID, type, tape) {
  38707. let ptr = 0;
  38708. return new IfcPoint(expressID, type);
  38709. }
  38710. ToTape() {
  38711. let args = [];
  38712. return args;
  38713. }
  38714. };
  38715. var IfcPointOnCurve = class {
  38716. constructor(expressID, type, BasisCurve, PointParameter) {
  38717. this.expressID = expressID;
  38718. this.type = type;
  38719. this.BasisCurve = BasisCurve;
  38720. this.PointParameter = PointParameter;
  38721. }
  38722. static FromTape(expressID, type, tape) {
  38723. let ptr = 0;
  38724. let BasisCurve = tape[ptr++];
  38725. let PointParameter = tape[ptr++];
  38726. return new IfcPointOnCurve(expressID, type, BasisCurve, PointParameter);
  38727. }
  38728. ToTape() {
  38729. let args = [];
  38730. args.push(this.BasisCurve);
  38731. ;
  38732. args.push(this.PointParameter);
  38733. ;
  38734. return args;
  38735. }
  38736. };
  38737. var IfcPointOnSurface = class {
  38738. constructor(expressID, type, BasisSurface, PointParameterU, PointParameterV) {
  38739. this.expressID = expressID;
  38740. this.type = type;
  38741. this.BasisSurface = BasisSurface;
  38742. this.PointParameterU = PointParameterU;
  38743. this.PointParameterV = PointParameterV;
  38744. }
  38745. static FromTape(expressID, type, tape) {
  38746. let ptr = 0;
  38747. let BasisSurface = tape[ptr++];
  38748. let PointParameterU = tape[ptr++];
  38749. let PointParameterV = tape[ptr++];
  38750. return new IfcPointOnSurface(expressID, type, BasisSurface, PointParameterU, PointParameterV);
  38751. }
  38752. ToTape() {
  38753. let args = [];
  38754. args.push(this.BasisSurface);
  38755. ;
  38756. args.push(this.PointParameterU);
  38757. ;
  38758. args.push(this.PointParameterV);
  38759. ;
  38760. return args;
  38761. }
  38762. };
  38763. var IfcPolyLoop = class {
  38764. constructor(expressID, type, Polygon) {
  38765. this.expressID = expressID;
  38766. this.type = type;
  38767. this.Polygon = Polygon;
  38768. }
  38769. static FromTape(expressID, type, tape) {
  38770. let ptr = 0;
  38771. let Polygon = tape[ptr++];
  38772. return new IfcPolyLoop(expressID, type, Polygon);
  38773. }
  38774. ToTape() {
  38775. let args = [];
  38776. args.push(this.Polygon);
  38777. ;
  38778. return args;
  38779. }
  38780. };
  38781. var IfcPolygonalBoundedHalfSpace = class {
  38782. constructor(expressID, type, BaseSurface, AgreementFlag, Position, PolygonalBoundary) {
  38783. this.expressID = expressID;
  38784. this.type = type;
  38785. this.BaseSurface = BaseSurface;
  38786. this.AgreementFlag = AgreementFlag;
  38787. this.Position = Position;
  38788. this.PolygonalBoundary = PolygonalBoundary;
  38789. }
  38790. static FromTape(expressID, type, tape) {
  38791. let ptr = 0;
  38792. let BaseSurface = tape[ptr++];
  38793. let AgreementFlag = tape[ptr++];
  38794. let Position = tape[ptr++];
  38795. let PolygonalBoundary = tape[ptr++];
  38796. return new IfcPolygonalBoundedHalfSpace(expressID, type, BaseSurface, AgreementFlag, Position, PolygonalBoundary);
  38797. }
  38798. ToTape() {
  38799. let args = [];
  38800. args.push(this.BaseSurface);
  38801. ;
  38802. args.push(this.AgreementFlag);
  38803. ;
  38804. args.push(this.Position);
  38805. ;
  38806. args.push(this.PolygonalBoundary);
  38807. ;
  38808. return args;
  38809. }
  38810. };
  38811. var IfcPolygonalFaceSet = class {
  38812. constructor(expressID, type, Coordinates, Closed, Faces, PnIndex) {
  38813. this.expressID = expressID;
  38814. this.type = type;
  38815. this.Coordinates = Coordinates;
  38816. this.Closed = Closed;
  38817. this.Faces = Faces;
  38818. this.PnIndex = PnIndex;
  38819. }
  38820. static FromTape(expressID, type, tape) {
  38821. let ptr = 0;
  38822. let Coordinates = tape[ptr++];
  38823. let Closed = tape[ptr++];
  38824. let Faces = tape[ptr++];
  38825. let PnIndex = tape[ptr++];
  38826. return new IfcPolygonalFaceSet(expressID, type, Coordinates, Closed, Faces, PnIndex);
  38827. }
  38828. ToTape() {
  38829. let args = [];
  38830. args.push(this.Coordinates);
  38831. ;
  38832. args.push(this.Closed);
  38833. ;
  38834. args.push(this.Faces);
  38835. ;
  38836. args.push(this.PnIndex);
  38837. ;
  38838. return args;
  38839. }
  38840. };
  38841. var IfcPolyline = class {
  38842. constructor(expressID, type, Points) {
  38843. this.expressID = expressID;
  38844. this.type = type;
  38845. this.Points = Points;
  38846. }
  38847. static FromTape(expressID, type, tape) {
  38848. let ptr = 0;
  38849. let Points = tape[ptr++];
  38850. return new IfcPolyline(expressID, type, Points);
  38851. }
  38852. ToTape() {
  38853. let args = [];
  38854. args.push(this.Points);
  38855. ;
  38856. return args;
  38857. }
  38858. };
  38859. var IfcPort = class {
  38860. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
  38861. this.expressID = expressID;
  38862. this.type = type;
  38863. this.GlobalId = GlobalId;
  38864. this.OwnerHistory = OwnerHistory;
  38865. this.Name = Name;
  38866. this.Description = Description;
  38867. this.ObjectType = ObjectType;
  38868. this.ObjectPlacement = ObjectPlacement;
  38869. this.Representation = Representation;
  38870. }
  38871. static FromTape(expressID, type, tape) {
  38872. let ptr = 0;
  38873. let GlobalId = tape[ptr++];
  38874. let OwnerHistory = tape[ptr++];
  38875. let Name = tape[ptr++];
  38876. let Description = tape[ptr++];
  38877. let ObjectType = tape[ptr++];
  38878. let ObjectPlacement = tape[ptr++];
  38879. let Representation = tape[ptr++];
  38880. return new IfcPort(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
  38881. }
  38882. ToTape() {
  38883. let args = [];
  38884. args.push(this.GlobalId);
  38885. ;
  38886. args.push(this.OwnerHistory);
  38887. ;
  38888. args.push(this.Name);
  38889. ;
  38890. args.push(this.Description);
  38891. ;
  38892. args.push(this.ObjectType);
  38893. ;
  38894. args.push(this.ObjectPlacement);
  38895. ;
  38896. args.push(this.Representation);
  38897. ;
  38898. return args;
  38899. }
  38900. };
  38901. var IfcPositioningElement = class {
  38902. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
  38903. this.expressID = expressID;
  38904. this.type = type;
  38905. this.GlobalId = GlobalId;
  38906. this.OwnerHistory = OwnerHistory;
  38907. this.Name = Name;
  38908. this.Description = Description;
  38909. this.ObjectType = ObjectType;
  38910. this.ObjectPlacement = ObjectPlacement;
  38911. this.Representation = Representation;
  38912. }
  38913. static FromTape(expressID, type, tape) {
  38914. let ptr = 0;
  38915. let GlobalId = tape[ptr++];
  38916. let OwnerHistory = tape[ptr++];
  38917. let Name = tape[ptr++];
  38918. let Description = tape[ptr++];
  38919. let ObjectType = tape[ptr++];
  38920. let ObjectPlacement = tape[ptr++];
  38921. let Representation = tape[ptr++];
  38922. return new IfcPositioningElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
  38923. }
  38924. ToTape() {
  38925. let args = [];
  38926. args.push(this.GlobalId);
  38927. ;
  38928. args.push(this.OwnerHistory);
  38929. ;
  38930. args.push(this.Name);
  38931. ;
  38932. args.push(this.Description);
  38933. ;
  38934. args.push(this.ObjectType);
  38935. ;
  38936. args.push(this.ObjectPlacement);
  38937. ;
  38938. args.push(this.Representation);
  38939. ;
  38940. return args;
  38941. }
  38942. };
  38943. var IfcPostalAddress = class {
  38944. constructor(expressID, type, Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) {
  38945. this.expressID = expressID;
  38946. this.type = type;
  38947. this.Purpose = Purpose;
  38948. this.Description = Description;
  38949. this.UserDefinedPurpose = UserDefinedPurpose;
  38950. this.InternalLocation = InternalLocation;
  38951. this.AddressLines = AddressLines;
  38952. this.PostalBox = PostalBox;
  38953. this.Town = Town;
  38954. this.Region = Region;
  38955. this.PostalCode = PostalCode;
  38956. this.Country = Country;
  38957. }
  38958. static FromTape(expressID, type, tape) {
  38959. let ptr = 0;
  38960. let Purpose = tape[ptr++];
  38961. let Description = tape[ptr++];
  38962. let UserDefinedPurpose = tape[ptr++];
  38963. let InternalLocation = tape[ptr++];
  38964. let AddressLines = tape[ptr++];
  38965. let PostalBox = tape[ptr++];
  38966. let Town = tape[ptr++];
  38967. let Region = tape[ptr++];
  38968. let PostalCode = tape[ptr++];
  38969. let Country = tape[ptr++];
  38970. return new IfcPostalAddress(expressID, type, Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country);
  38971. }
  38972. ToTape() {
  38973. let args = [];
  38974. args.push(this.Purpose);
  38975. ;
  38976. args.push(this.Description);
  38977. ;
  38978. args.push(this.UserDefinedPurpose);
  38979. ;
  38980. args.push(this.InternalLocation);
  38981. ;
  38982. args.push(this.AddressLines);
  38983. ;
  38984. args.push(this.PostalBox);
  38985. ;
  38986. args.push(this.Town);
  38987. ;
  38988. args.push(this.Region);
  38989. ;
  38990. args.push(this.PostalCode);
  38991. ;
  38992. args.push(this.Country);
  38993. ;
  38994. return args;
  38995. }
  38996. };
  38997. var IfcPreDefinedColour = class {
  38998. constructor(expressID, type, Name) {
  38999. this.expressID = expressID;
  39000. this.type = type;
  39001. this.Name = Name;
  39002. }
  39003. static FromTape(expressID, type, tape) {
  39004. let ptr = 0;
  39005. let Name = tape[ptr++];
  39006. return new IfcPreDefinedColour(expressID, type, Name);
  39007. }
  39008. ToTape() {
  39009. let args = [];
  39010. args.push(this.Name);
  39011. ;
  39012. return args;
  39013. }
  39014. };
  39015. var IfcPreDefinedCurveFont = class {
  39016. constructor(expressID, type, Name) {
  39017. this.expressID = expressID;
  39018. this.type = type;
  39019. this.Name = Name;
  39020. }
  39021. static FromTape(expressID, type, tape) {
  39022. let ptr = 0;
  39023. let Name = tape[ptr++];
  39024. return new IfcPreDefinedCurveFont(expressID, type, Name);
  39025. }
  39026. ToTape() {
  39027. let args = [];
  39028. args.push(this.Name);
  39029. ;
  39030. return args;
  39031. }
  39032. };
  39033. var IfcPreDefinedItem = class {
  39034. constructor(expressID, type, Name) {
  39035. this.expressID = expressID;
  39036. this.type = type;
  39037. this.Name = Name;
  39038. }
  39039. static FromTape(expressID, type, tape) {
  39040. let ptr = 0;
  39041. let Name = tape[ptr++];
  39042. return new IfcPreDefinedItem(expressID, type, Name);
  39043. }
  39044. ToTape() {
  39045. let args = [];
  39046. args.push(this.Name);
  39047. ;
  39048. return args;
  39049. }
  39050. };
  39051. var IfcPreDefinedProperties = class {
  39052. constructor(expressID, type) {
  39053. this.expressID = expressID;
  39054. this.type = type;
  39055. }
  39056. static FromTape(expressID, type, tape) {
  39057. let ptr = 0;
  39058. return new IfcPreDefinedProperties(expressID, type);
  39059. }
  39060. ToTape() {
  39061. let args = [];
  39062. return args;
  39063. }
  39064. };
  39065. var IfcPreDefinedPropertySet = class {
  39066. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  39067. this.expressID = expressID;
  39068. this.type = type;
  39069. this.GlobalId = GlobalId;
  39070. this.OwnerHistory = OwnerHistory;
  39071. this.Name = Name;
  39072. this.Description = Description;
  39073. }
  39074. static FromTape(expressID, type, tape) {
  39075. let ptr = 0;
  39076. let GlobalId = tape[ptr++];
  39077. let OwnerHistory = tape[ptr++];
  39078. let Name = tape[ptr++];
  39079. let Description = tape[ptr++];
  39080. return new IfcPreDefinedPropertySet(expressID, type, GlobalId, OwnerHistory, Name, Description);
  39081. }
  39082. ToTape() {
  39083. let args = [];
  39084. args.push(this.GlobalId);
  39085. ;
  39086. args.push(this.OwnerHistory);
  39087. ;
  39088. args.push(this.Name);
  39089. ;
  39090. args.push(this.Description);
  39091. ;
  39092. return args;
  39093. }
  39094. };
  39095. var IfcPreDefinedTextFont = class {
  39096. constructor(expressID, type, Name) {
  39097. this.expressID = expressID;
  39098. this.type = type;
  39099. this.Name = Name;
  39100. }
  39101. static FromTape(expressID, type, tape) {
  39102. let ptr = 0;
  39103. let Name = tape[ptr++];
  39104. return new IfcPreDefinedTextFont(expressID, type, Name);
  39105. }
  39106. ToTape() {
  39107. let args = [];
  39108. args.push(this.Name);
  39109. ;
  39110. return args;
  39111. }
  39112. };
  39113. var IfcPresentationItem = class {
  39114. constructor(expressID, type) {
  39115. this.expressID = expressID;
  39116. this.type = type;
  39117. }
  39118. static FromTape(expressID, type, tape) {
  39119. let ptr = 0;
  39120. return new IfcPresentationItem(expressID, type);
  39121. }
  39122. ToTape() {
  39123. let args = [];
  39124. return args;
  39125. }
  39126. };
  39127. var IfcPresentationLayerAssignment = class {
  39128. constructor(expressID, type, Name, Description, AssignedItems, Identifier) {
  39129. this.expressID = expressID;
  39130. this.type = type;
  39131. this.Name = Name;
  39132. this.Description = Description;
  39133. this.AssignedItems = AssignedItems;
  39134. this.Identifier = Identifier;
  39135. }
  39136. static FromTape(expressID, type, tape) {
  39137. let ptr = 0;
  39138. let Name = tape[ptr++];
  39139. let Description = tape[ptr++];
  39140. let AssignedItems = tape[ptr++];
  39141. let Identifier = tape[ptr++];
  39142. return new IfcPresentationLayerAssignment(expressID, type, Name, Description, AssignedItems, Identifier);
  39143. }
  39144. ToTape() {
  39145. let args = [];
  39146. args.push(this.Name);
  39147. ;
  39148. args.push(this.Description);
  39149. ;
  39150. args.push(this.AssignedItems);
  39151. ;
  39152. args.push(this.Identifier);
  39153. ;
  39154. return args;
  39155. }
  39156. };
  39157. var IfcPresentationLayerWithStyle = class {
  39158. constructor(expressID, type, Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) {
  39159. this.expressID = expressID;
  39160. this.type = type;
  39161. this.Name = Name;
  39162. this.Description = Description;
  39163. this.AssignedItems = AssignedItems;
  39164. this.Identifier = Identifier;
  39165. this.LayerOn = LayerOn;
  39166. this.LayerFrozen = LayerFrozen;
  39167. this.LayerBlocked = LayerBlocked;
  39168. this.LayerStyles = LayerStyles;
  39169. }
  39170. static FromTape(expressID, type, tape) {
  39171. let ptr = 0;
  39172. let Name = tape[ptr++];
  39173. let Description = tape[ptr++];
  39174. let AssignedItems = tape[ptr++];
  39175. let Identifier = tape[ptr++];
  39176. let LayerOn = tape[ptr++];
  39177. let LayerFrozen = tape[ptr++];
  39178. let LayerBlocked = tape[ptr++];
  39179. let LayerStyles = tape[ptr++];
  39180. return new IfcPresentationLayerWithStyle(expressID, type, Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles);
  39181. }
  39182. ToTape() {
  39183. let args = [];
  39184. args.push(this.Name);
  39185. ;
  39186. args.push(this.Description);
  39187. ;
  39188. args.push(this.AssignedItems);
  39189. ;
  39190. args.push(this.Identifier);
  39191. ;
  39192. args.push(this.LayerOn);
  39193. ;
  39194. args.push(this.LayerFrozen);
  39195. ;
  39196. args.push(this.LayerBlocked);
  39197. ;
  39198. args.push(this.LayerStyles);
  39199. ;
  39200. return args;
  39201. }
  39202. };
  39203. var IfcPresentationStyle = class {
  39204. constructor(expressID, type, Name) {
  39205. this.expressID = expressID;
  39206. this.type = type;
  39207. this.Name = Name;
  39208. }
  39209. static FromTape(expressID, type, tape) {
  39210. let ptr = 0;
  39211. let Name = tape[ptr++];
  39212. return new IfcPresentationStyle(expressID, type, Name);
  39213. }
  39214. ToTape() {
  39215. let args = [];
  39216. args.push(this.Name);
  39217. ;
  39218. return args;
  39219. }
  39220. };
  39221. var IfcPresentationStyleAssignment = class {
  39222. constructor(expressID, type, Styles) {
  39223. this.expressID = expressID;
  39224. this.type = type;
  39225. this.Styles = Styles;
  39226. }
  39227. static FromTape(expressID, type, tape) {
  39228. let ptr = 0;
  39229. let Styles = tape[ptr++];
  39230. return new IfcPresentationStyleAssignment(expressID, type, Styles);
  39231. }
  39232. ToTape() {
  39233. let args = [];
  39234. args.push(this.Styles);
  39235. ;
  39236. return args;
  39237. }
  39238. };
  39239. var IfcProcedure = class {
  39240. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) {
  39241. this.expressID = expressID;
  39242. this.type = type;
  39243. this.GlobalId = GlobalId;
  39244. this.OwnerHistory = OwnerHistory;
  39245. this.Name = Name;
  39246. this.Description = Description;
  39247. this.ObjectType = ObjectType;
  39248. this.Identification = Identification;
  39249. this.LongDescription = LongDescription;
  39250. this.PredefinedType = PredefinedType;
  39251. }
  39252. static FromTape(expressID, type, tape) {
  39253. let ptr = 0;
  39254. let GlobalId = tape[ptr++];
  39255. let OwnerHistory = tape[ptr++];
  39256. let Name = tape[ptr++];
  39257. let Description = tape[ptr++];
  39258. let ObjectType = tape[ptr++];
  39259. let Identification = tape[ptr++];
  39260. let LongDescription = tape[ptr++];
  39261. let PredefinedType = tape[ptr++];
  39262. return new IfcProcedure(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType);
  39263. }
  39264. ToTape() {
  39265. let args = [];
  39266. args.push(this.GlobalId);
  39267. ;
  39268. args.push(this.OwnerHistory);
  39269. ;
  39270. args.push(this.Name);
  39271. ;
  39272. args.push(this.Description);
  39273. ;
  39274. args.push(this.ObjectType);
  39275. ;
  39276. args.push(this.Identification);
  39277. ;
  39278. args.push(this.LongDescription);
  39279. ;
  39280. args.push(this.PredefinedType);
  39281. ;
  39282. return args;
  39283. }
  39284. };
  39285. var IfcProcedureType = class {
  39286. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) {
  39287. this.expressID = expressID;
  39288. this.type = type;
  39289. this.GlobalId = GlobalId;
  39290. this.OwnerHistory = OwnerHistory;
  39291. this.Name = Name;
  39292. this.Description = Description;
  39293. this.ApplicableOccurrence = ApplicableOccurrence;
  39294. this.HasPropertySets = HasPropertySets;
  39295. this.Identification = Identification;
  39296. this.LongDescription = LongDescription;
  39297. this.ProcessType = ProcessType;
  39298. this.PredefinedType = PredefinedType;
  39299. }
  39300. static FromTape(expressID, type, tape) {
  39301. let ptr = 0;
  39302. let GlobalId = tape[ptr++];
  39303. let OwnerHistory = tape[ptr++];
  39304. let Name = tape[ptr++];
  39305. let Description = tape[ptr++];
  39306. let ApplicableOccurrence = tape[ptr++];
  39307. let HasPropertySets = tape[ptr++];
  39308. let Identification = tape[ptr++];
  39309. let LongDescription = tape[ptr++];
  39310. let ProcessType = tape[ptr++];
  39311. let PredefinedType = tape[ptr++];
  39312. return new IfcProcedureType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType);
  39313. }
  39314. ToTape() {
  39315. let args = [];
  39316. args.push(this.GlobalId);
  39317. ;
  39318. args.push(this.OwnerHistory);
  39319. ;
  39320. args.push(this.Name);
  39321. ;
  39322. args.push(this.Description);
  39323. ;
  39324. args.push(this.ApplicableOccurrence);
  39325. ;
  39326. args.push(this.HasPropertySets);
  39327. ;
  39328. args.push(this.Identification);
  39329. ;
  39330. args.push(this.LongDescription);
  39331. ;
  39332. args.push(this.ProcessType);
  39333. ;
  39334. args.push(this.PredefinedType);
  39335. ;
  39336. return args;
  39337. }
  39338. };
  39339. var IfcProcess = class {
  39340. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) {
  39341. this.expressID = expressID;
  39342. this.type = type;
  39343. this.GlobalId = GlobalId;
  39344. this.OwnerHistory = OwnerHistory;
  39345. this.Name = Name;
  39346. this.Description = Description;
  39347. this.ObjectType = ObjectType;
  39348. this.Identification = Identification;
  39349. this.LongDescription = LongDescription;
  39350. }
  39351. static FromTape(expressID, type, tape) {
  39352. let ptr = 0;
  39353. let GlobalId = tape[ptr++];
  39354. let OwnerHistory = tape[ptr++];
  39355. let Name = tape[ptr++];
  39356. let Description = tape[ptr++];
  39357. let ObjectType = tape[ptr++];
  39358. let Identification = tape[ptr++];
  39359. let LongDescription = tape[ptr++];
  39360. return new IfcProcess(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
  39361. }
  39362. ToTape() {
  39363. let args = [];
  39364. args.push(this.GlobalId);
  39365. ;
  39366. args.push(this.OwnerHistory);
  39367. ;
  39368. args.push(this.Name);
  39369. ;
  39370. args.push(this.Description);
  39371. ;
  39372. args.push(this.ObjectType);
  39373. ;
  39374. args.push(this.Identification);
  39375. ;
  39376. args.push(this.LongDescription);
  39377. ;
  39378. return args;
  39379. }
  39380. };
  39381. var IfcProduct = class {
  39382. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
  39383. this.expressID = expressID;
  39384. this.type = type;
  39385. this.GlobalId = GlobalId;
  39386. this.OwnerHistory = OwnerHistory;
  39387. this.Name = Name;
  39388. this.Description = Description;
  39389. this.ObjectType = ObjectType;
  39390. this.ObjectPlacement = ObjectPlacement;
  39391. this.Representation = Representation;
  39392. }
  39393. static FromTape(expressID, type, tape) {
  39394. let ptr = 0;
  39395. let GlobalId = tape[ptr++];
  39396. let OwnerHistory = tape[ptr++];
  39397. let Name = tape[ptr++];
  39398. let Description = tape[ptr++];
  39399. let ObjectType = tape[ptr++];
  39400. let ObjectPlacement = tape[ptr++];
  39401. let Representation = tape[ptr++];
  39402. return new IfcProduct(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
  39403. }
  39404. ToTape() {
  39405. let args = [];
  39406. args.push(this.GlobalId);
  39407. ;
  39408. args.push(this.OwnerHistory);
  39409. ;
  39410. args.push(this.Name);
  39411. ;
  39412. args.push(this.Description);
  39413. ;
  39414. args.push(this.ObjectType);
  39415. ;
  39416. args.push(this.ObjectPlacement);
  39417. ;
  39418. args.push(this.Representation);
  39419. ;
  39420. return args;
  39421. }
  39422. };
  39423. var IfcProductDefinitionShape = class {
  39424. constructor(expressID, type, Name, Description, Representations) {
  39425. this.expressID = expressID;
  39426. this.type = type;
  39427. this.Name = Name;
  39428. this.Description = Description;
  39429. this.Representations = Representations;
  39430. }
  39431. static FromTape(expressID, type, tape) {
  39432. let ptr = 0;
  39433. let Name = tape[ptr++];
  39434. let Description = tape[ptr++];
  39435. let Representations = tape[ptr++];
  39436. return new IfcProductDefinitionShape(expressID, type, Name, Description, Representations);
  39437. }
  39438. ToTape() {
  39439. let args = [];
  39440. args.push(this.Name);
  39441. ;
  39442. args.push(this.Description);
  39443. ;
  39444. args.push(this.Representations);
  39445. ;
  39446. return args;
  39447. }
  39448. };
  39449. var IfcProductRepresentation = class {
  39450. constructor(expressID, type, Name, Description, Representations) {
  39451. this.expressID = expressID;
  39452. this.type = type;
  39453. this.Name = Name;
  39454. this.Description = Description;
  39455. this.Representations = Representations;
  39456. }
  39457. static FromTape(expressID, type, tape) {
  39458. let ptr = 0;
  39459. let Name = tape[ptr++];
  39460. let Description = tape[ptr++];
  39461. let Representations = tape[ptr++];
  39462. return new IfcProductRepresentation(expressID, type, Name, Description, Representations);
  39463. }
  39464. ToTape() {
  39465. let args = [];
  39466. args.push(this.Name);
  39467. ;
  39468. args.push(this.Description);
  39469. ;
  39470. args.push(this.Representations);
  39471. ;
  39472. return args;
  39473. }
  39474. };
  39475. var IfcProfileDef = class {
  39476. constructor(expressID, type, ProfileType, ProfileName) {
  39477. this.expressID = expressID;
  39478. this.type = type;
  39479. this.ProfileType = ProfileType;
  39480. this.ProfileName = ProfileName;
  39481. }
  39482. static FromTape(expressID, type, tape) {
  39483. let ptr = 0;
  39484. let ProfileType = tape[ptr++];
  39485. let ProfileName = tape[ptr++];
  39486. return new IfcProfileDef(expressID, type, ProfileType, ProfileName);
  39487. }
  39488. ToTape() {
  39489. let args = [];
  39490. args.push(this.ProfileType);
  39491. ;
  39492. args.push(this.ProfileName);
  39493. ;
  39494. return args;
  39495. }
  39496. };
  39497. var IfcProfileProperties = class {
  39498. constructor(expressID, type, Name, Description, Properties2, ProfileDefinition) {
  39499. this.expressID = expressID;
  39500. this.type = type;
  39501. this.Name = Name;
  39502. this.Description = Description;
  39503. this.Properties = Properties2;
  39504. this.ProfileDefinition = ProfileDefinition;
  39505. }
  39506. static FromTape(expressID, type, tape) {
  39507. let ptr = 0;
  39508. let Name = tape[ptr++];
  39509. let Description = tape[ptr++];
  39510. let Properties2 = tape[ptr++];
  39511. let ProfileDefinition = tape[ptr++];
  39512. return new IfcProfileProperties(expressID, type, Name, Description, Properties2, ProfileDefinition);
  39513. }
  39514. ToTape() {
  39515. let args = [];
  39516. args.push(this.Name);
  39517. ;
  39518. args.push(this.Description);
  39519. ;
  39520. args.push(this.Properties);
  39521. ;
  39522. args.push(this.ProfileDefinition);
  39523. ;
  39524. return args;
  39525. }
  39526. };
  39527. var IfcProject = class {
  39528. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
  39529. this.expressID = expressID;
  39530. this.type = type;
  39531. this.GlobalId = GlobalId;
  39532. this.OwnerHistory = OwnerHistory;
  39533. this.Name = Name;
  39534. this.Description = Description;
  39535. this.ObjectType = ObjectType;
  39536. this.LongName = LongName;
  39537. this.Phase = Phase;
  39538. this.RepresentationContexts = RepresentationContexts;
  39539. this.UnitsInContext = UnitsInContext;
  39540. }
  39541. static FromTape(expressID, type, tape) {
  39542. let ptr = 0;
  39543. let GlobalId = tape[ptr++];
  39544. let OwnerHistory = tape[ptr++];
  39545. let Name = tape[ptr++];
  39546. let Description = tape[ptr++];
  39547. let ObjectType = tape[ptr++];
  39548. let LongName = tape[ptr++];
  39549. let Phase = tape[ptr++];
  39550. let RepresentationContexts = tape[ptr++];
  39551. let UnitsInContext = tape[ptr++];
  39552. return new IfcProject(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
  39553. }
  39554. ToTape() {
  39555. let args = [];
  39556. args.push(this.GlobalId);
  39557. ;
  39558. args.push(this.OwnerHistory);
  39559. ;
  39560. args.push(this.Name);
  39561. ;
  39562. args.push(this.Description);
  39563. ;
  39564. args.push(this.ObjectType);
  39565. ;
  39566. args.push(this.LongName);
  39567. ;
  39568. args.push(this.Phase);
  39569. ;
  39570. args.push(this.RepresentationContexts);
  39571. ;
  39572. args.push(this.UnitsInContext);
  39573. ;
  39574. return args;
  39575. }
  39576. };
  39577. var IfcProjectLibrary = class {
  39578. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
  39579. this.expressID = expressID;
  39580. this.type = type;
  39581. this.GlobalId = GlobalId;
  39582. this.OwnerHistory = OwnerHistory;
  39583. this.Name = Name;
  39584. this.Description = Description;
  39585. this.ObjectType = ObjectType;
  39586. this.LongName = LongName;
  39587. this.Phase = Phase;
  39588. this.RepresentationContexts = RepresentationContexts;
  39589. this.UnitsInContext = UnitsInContext;
  39590. }
  39591. static FromTape(expressID, type, tape) {
  39592. let ptr = 0;
  39593. let GlobalId = tape[ptr++];
  39594. let OwnerHistory = tape[ptr++];
  39595. let Name = tape[ptr++];
  39596. let Description = tape[ptr++];
  39597. let ObjectType = tape[ptr++];
  39598. let LongName = tape[ptr++];
  39599. let Phase = tape[ptr++];
  39600. let RepresentationContexts = tape[ptr++];
  39601. let UnitsInContext = tape[ptr++];
  39602. return new IfcProjectLibrary(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
  39603. }
  39604. ToTape() {
  39605. let args = [];
  39606. args.push(this.GlobalId);
  39607. ;
  39608. args.push(this.OwnerHistory);
  39609. ;
  39610. args.push(this.Name);
  39611. ;
  39612. args.push(this.Description);
  39613. ;
  39614. args.push(this.ObjectType);
  39615. ;
  39616. args.push(this.LongName);
  39617. ;
  39618. args.push(this.Phase);
  39619. ;
  39620. args.push(this.RepresentationContexts);
  39621. ;
  39622. args.push(this.UnitsInContext);
  39623. ;
  39624. return args;
  39625. }
  39626. };
  39627. var IfcProjectOrder = class {
  39628. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
  39629. this.expressID = expressID;
  39630. this.type = type;
  39631. this.GlobalId = GlobalId;
  39632. this.OwnerHistory = OwnerHistory;
  39633. this.Name = Name;
  39634. this.Description = Description;
  39635. this.ObjectType = ObjectType;
  39636. this.Identification = Identification;
  39637. this.PredefinedType = PredefinedType;
  39638. this.Status = Status;
  39639. this.LongDescription = LongDescription;
  39640. }
  39641. static FromTape(expressID, type, tape) {
  39642. let ptr = 0;
  39643. let GlobalId = tape[ptr++];
  39644. let OwnerHistory = tape[ptr++];
  39645. let Name = tape[ptr++];
  39646. let Description = tape[ptr++];
  39647. let ObjectType = tape[ptr++];
  39648. let Identification = tape[ptr++];
  39649. let PredefinedType = tape[ptr++];
  39650. let Status = tape[ptr++];
  39651. let LongDescription = tape[ptr++];
  39652. return new IfcProjectOrder(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription);
  39653. }
  39654. ToTape() {
  39655. let args = [];
  39656. args.push(this.GlobalId);
  39657. ;
  39658. args.push(this.OwnerHistory);
  39659. ;
  39660. args.push(this.Name);
  39661. ;
  39662. args.push(this.Description);
  39663. ;
  39664. args.push(this.ObjectType);
  39665. ;
  39666. args.push(this.Identification);
  39667. ;
  39668. args.push(this.PredefinedType);
  39669. ;
  39670. args.push(this.Status);
  39671. ;
  39672. args.push(this.LongDescription);
  39673. ;
  39674. return args;
  39675. }
  39676. };
  39677. var IfcProjectedCRS = class {
  39678. constructor(expressID, type, Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) {
  39679. this.expressID = expressID;
  39680. this.type = type;
  39681. this.Name = Name;
  39682. this.Description = Description;
  39683. this.GeodeticDatum = GeodeticDatum;
  39684. this.VerticalDatum = VerticalDatum;
  39685. this.MapProjection = MapProjection;
  39686. this.MapZone = MapZone;
  39687. this.MapUnit = MapUnit;
  39688. }
  39689. static FromTape(expressID, type, tape) {
  39690. let ptr = 0;
  39691. let Name = tape[ptr++];
  39692. let Description = tape[ptr++];
  39693. let GeodeticDatum = tape[ptr++];
  39694. let VerticalDatum = tape[ptr++];
  39695. let MapProjection = tape[ptr++];
  39696. let MapZone = tape[ptr++];
  39697. let MapUnit = tape[ptr++];
  39698. return new IfcProjectedCRS(expressID, type, Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit);
  39699. }
  39700. ToTape() {
  39701. let args = [];
  39702. args.push(this.Name);
  39703. ;
  39704. args.push(this.Description);
  39705. ;
  39706. args.push(this.GeodeticDatum);
  39707. ;
  39708. args.push(this.VerticalDatum);
  39709. ;
  39710. args.push(this.MapProjection);
  39711. ;
  39712. args.push(this.MapZone);
  39713. ;
  39714. args.push(this.MapUnit);
  39715. ;
  39716. return args;
  39717. }
  39718. };
  39719. var IfcProjectionElement = class {
  39720. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  39721. this.expressID = expressID;
  39722. this.type = type;
  39723. this.GlobalId = GlobalId;
  39724. this.OwnerHistory = OwnerHistory;
  39725. this.Name = Name;
  39726. this.Description = Description;
  39727. this.ObjectType = ObjectType;
  39728. this.ObjectPlacement = ObjectPlacement;
  39729. this.Representation = Representation;
  39730. this.Tag = Tag;
  39731. this.PredefinedType = PredefinedType;
  39732. }
  39733. static FromTape(expressID, type, tape) {
  39734. let ptr = 0;
  39735. let GlobalId = tape[ptr++];
  39736. let OwnerHistory = tape[ptr++];
  39737. let Name = tape[ptr++];
  39738. let Description = tape[ptr++];
  39739. let ObjectType = tape[ptr++];
  39740. let ObjectPlacement = tape[ptr++];
  39741. let Representation = tape[ptr++];
  39742. let Tag = tape[ptr++];
  39743. let PredefinedType = tape[ptr++];
  39744. return new IfcProjectionElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  39745. }
  39746. ToTape() {
  39747. let args = [];
  39748. args.push(this.GlobalId);
  39749. ;
  39750. args.push(this.OwnerHistory);
  39751. ;
  39752. args.push(this.Name);
  39753. ;
  39754. args.push(this.Description);
  39755. ;
  39756. args.push(this.ObjectType);
  39757. ;
  39758. args.push(this.ObjectPlacement);
  39759. ;
  39760. args.push(this.Representation);
  39761. ;
  39762. args.push(this.Tag);
  39763. ;
  39764. args.push(this.PredefinedType);
  39765. ;
  39766. return args;
  39767. }
  39768. };
  39769. var IfcProperty = class {
  39770. constructor(expressID, type, Name, Description) {
  39771. this.expressID = expressID;
  39772. this.type = type;
  39773. this.Name = Name;
  39774. this.Description = Description;
  39775. }
  39776. static FromTape(expressID, type, tape) {
  39777. let ptr = 0;
  39778. let Name = tape[ptr++];
  39779. let Description = tape[ptr++];
  39780. return new IfcProperty(expressID, type, Name, Description);
  39781. }
  39782. ToTape() {
  39783. let args = [];
  39784. args.push(this.Name);
  39785. ;
  39786. args.push(this.Description);
  39787. ;
  39788. return args;
  39789. }
  39790. };
  39791. var IfcPropertyAbstraction = class {
  39792. constructor(expressID, type) {
  39793. this.expressID = expressID;
  39794. this.type = type;
  39795. }
  39796. static FromTape(expressID, type, tape) {
  39797. let ptr = 0;
  39798. return new IfcPropertyAbstraction(expressID, type);
  39799. }
  39800. ToTape() {
  39801. let args = [];
  39802. return args;
  39803. }
  39804. };
  39805. var IfcPropertyBoundedValue = class {
  39806. constructor(expressID, type, Name, Description, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) {
  39807. this.expressID = expressID;
  39808. this.type = type;
  39809. this.Name = Name;
  39810. this.Description = Description;
  39811. this.UpperBoundValue = UpperBoundValue;
  39812. this.LowerBoundValue = LowerBoundValue;
  39813. this.Unit = Unit;
  39814. this.SetPointValue = SetPointValue;
  39815. }
  39816. static FromTape(expressID, type, tape) {
  39817. let ptr = 0;
  39818. let Name = tape[ptr++];
  39819. let Description = tape[ptr++];
  39820. let UpperBoundValue = tape[ptr++];
  39821. let LowerBoundValue = tape[ptr++];
  39822. let Unit = tape[ptr++];
  39823. let SetPointValue = tape[ptr++];
  39824. return new IfcPropertyBoundedValue(expressID, type, Name, Description, UpperBoundValue, LowerBoundValue, Unit, SetPointValue);
  39825. }
  39826. ToTape() {
  39827. let args = [];
  39828. args.push(this.Name);
  39829. ;
  39830. args.push(this.Description);
  39831. ;
  39832. args.push(this.UpperBoundValue);
  39833. ;
  39834. args.push(this.LowerBoundValue);
  39835. ;
  39836. args.push(this.Unit);
  39837. ;
  39838. args.push(this.SetPointValue);
  39839. ;
  39840. return args;
  39841. }
  39842. };
  39843. var IfcPropertyDefinition = class {
  39844. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  39845. this.expressID = expressID;
  39846. this.type = type;
  39847. this.GlobalId = GlobalId;
  39848. this.OwnerHistory = OwnerHistory;
  39849. this.Name = Name;
  39850. this.Description = Description;
  39851. }
  39852. static FromTape(expressID, type, tape) {
  39853. let ptr = 0;
  39854. let GlobalId = tape[ptr++];
  39855. let OwnerHistory = tape[ptr++];
  39856. let Name = tape[ptr++];
  39857. let Description = tape[ptr++];
  39858. return new IfcPropertyDefinition(expressID, type, GlobalId, OwnerHistory, Name, Description);
  39859. }
  39860. ToTape() {
  39861. let args = [];
  39862. args.push(this.GlobalId);
  39863. ;
  39864. args.push(this.OwnerHistory);
  39865. ;
  39866. args.push(this.Name);
  39867. ;
  39868. args.push(this.Description);
  39869. ;
  39870. return args;
  39871. }
  39872. };
  39873. var IfcPropertyDependencyRelationship = class {
  39874. constructor(expressID, type, Name, Description, DependingProperty, DependantProperty, Expression) {
  39875. this.expressID = expressID;
  39876. this.type = type;
  39877. this.Name = Name;
  39878. this.Description = Description;
  39879. this.DependingProperty = DependingProperty;
  39880. this.DependantProperty = DependantProperty;
  39881. this.Expression = Expression;
  39882. }
  39883. static FromTape(expressID, type, tape) {
  39884. let ptr = 0;
  39885. let Name = tape[ptr++];
  39886. let Description = tape[ptr++];
  39887. let DependingProperty = tape[ptr++];
  39888. let DependantProperty = tape[ptr++];
  39889. let Expression = tape[ptr++];
  39890. return new IfcPropertyDependencyRelationship(expressID, type, Name, Description, DependingProperty, DependantProperty, Expression);
  39891. }
  39892. ToTape() {
  39893. let args = [];
  39894. args.push(this.Name);
  39895. ;
  39896. args.push(this.Description);
  39897. ;
  39898. args.push(this.DependingProperty);
  39899. ;
  39900. args.push(this.DependantProperty);
  39901. ;
  39902. args.push(this.Expression);
  39903. ;
  39904. return args;
  39905. }
  39906. };
  39907. var IfcPropertyEnumeratedValue = class {
  39908. constructor(expressID, type, Name, Description, EnumerationValues, EnumerationReference) {
  39909. this.expressID = expressID;
  39910. this.type = type;
  39911. this.Name = Name;
  39912. this.Description = Description;
  39913. this.EnumerationValues = EnumerationValues;
  39914. this.EnumerationReference = EnumerationReference;
  39915. }
  39916. static FromTape(expressID, type, tape) {
  39917. let ptr = 0;
  39918. let Name = tape[ptr++];
  39919. let Description = tape[ptr++];
  39920. let EnumerationValues = tape[ptr++];
  39921. let EnumerationReference = tape[ptr++];
  39922. return new IfcPropertyEnumeratedValue(expressID, type, Name, Description, EnumerationValues, EnumerationReference);
  39923. }
  39924. ToTape() {
  39925. let args = [];
  39926. args.push(this.Name);
  39927. ;
  39928. args.push(this.Description);
  39929. ;
  39930. args.push(this.EnumerationValues);
  39931. ;
  39932. args.push(this.EnumerationReference);
  39933. ;
  39934. return args;
  39935. }
  39936. };
  39937. var IfcPropertyEnumeration = class {
  39938. constructor(expressID, type, Name, EnumerationValues, Unit) {
  39939. this.expressID = expressID;
  39940. this.type = type;
  39941. this.Name = Name;
  39942. this.EnumerationValues = EnumerationValues;
  39943. this.Unit = Unit;
  39944. }
  39945. static FromTape(expressID, type, tape) {
  39946. let ptr = 0;
  39947. let Name = tape[ptr++];
  39948. let EnumerationValues = tape[ptr++];
  39949. let Unit = tape[ptr++];
  39950. return new IfcPropertyEnumeration(expressID, type, Name, EnumerationValues, Unit);
  39951. }
  39952. ToTape() {
  39953. let args = [];
  39954. args.push(this.Name);
  39955. ;
  39956. args.push(this.EnumerationValues);
  39957. ;
  39958. args.push(this.Unit);
  39959. ;
  39960. return args;
  39961. }
  39962. };
  39963. var IfcPropertyListValue = class {
  39964. constructor(expressID, type, Name, Description, ListValues, Unit) {
  39965. this.expressID = expressID;
  39966. this.type = type;
  39967. this.Name = Name;
  39968. this.Description = Description;
  39969. this.ListValues = ListValues;
  39970. this.Unit = Unit;
  39971. }
  39972. static FromTape(expressID, type, tape) {
  39973. let ptr = 0;
  39974. let Name = tape[ptr++];
  39975. let Description = tape[ptr++];
  39976. let ListValues = tape[ptr++];
  39977. let Unit = tape[ptr++];
  39978. return new IfcPropertyListValue(expressID, type, Name, Description, ListValues, Unit);
  39979. }
  39980. ToTape() {
  39981. let args = [];
  39982. args.push(this.Name);
  39983. ;
  39984. args.push(this.Description);
  39985. ;
  39986. args.push(this.ListValues);
  39987. ;
  39988. args.push(this.Unit);
  39989. ;
  39990. return args;
  39991. }
  39992. };
  39993. var IfcPropertyReferenceValue = class {
  39994. constructor(expressID, type, Name, Description, UsageName, PropertyReference) {
  39995. this.expressID = expressID;
  39996. this.type = type;
  39997. this.Name = Name;
  39998. this.Description = Description;
  39999. this.UsageName = UsageName;
  40000. this.PropertyReference = PropertyReference;
  40001. }
  40002. static FromTape(expressID, type, tape) {
  40003. let ptr = 0;
  40004. let Name = tape[ptr++];
  40005. let Description = tape[ptr++];
  40006. let UsageName = tape[ptr++];
  40007. let PropertyReference = tape[ptr++];
  40008. return new IfcPropertyReferenceValue(expressID, type, Name, Description, UsageName, PropertyReference);
  40009. }
  40010. ToTape() {
  40011. let args = [];
  40012. args.push(this.Name);
  40013. ;
  40014. args.push(this.Description);
  40015. ;
  40016. args.push(this.UsageName);
  40017. ;
  40018. args.push(this.PropertyReference);
  40019. ;
  40020. return args;
  40021. }
  40022. };
  40023. var IfcPropertySet = class {
  40024. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, HasProperties) {
  40025. this.expressID = expressID;
  40026. this.type = type;
  40027. this.GlobalId = GlobalId;
  40028. this.OwnerHistory = OwnerHistory;
  40029. this.Name = Name;
  40030. this.Description = Description;
  40031. this.HasProperties = HasProperties;
  40032. }
  40033. static FromTape(expressID, type, tape) {
  40034. let ptr = 0;
  40035. let GlobalId = tape[ptr++];
  40036. let OwnerHistory = tape[ptr++];
  40037. let Name = tape[ptr++];
  40038. let Description = tape[ptr++];
  40039. let HasProperties = tape[ptr++];
  40040. return new IfcPropertySet(expressID, type, GlobalId, OwnerHistory, Name, Description, HasProperties);
  40041. }
  40042. ToTape() {
  40043. let args = [];
  40044. args.push(this.GlobalId);
  40045. ;
  40046. args.push(this.OwnerHistory);
  40047. ;
  40048. args.push(this.Name);
  40049. ;
  40050. args.push(this.Description);
  40051. ;
  40052. args.push(this.HasProperties);
  40053. ;
  40054. return args;
  40055. }
  40056. };
  40057. var IfcPropertySetDefinition = class {
  40058. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  40059. this.expressID = expressID;
  40060. this.type = type;
  40061. this.GlobalId = GlobalId;
  40062. this.OwnerHistory = OwnerHistory;
  40063. this.Name = Name;
  40064. this.Description = Description;
  40065. }
  40066. static FromTape(expressID, type, tape) {
  40067. let ptr = 0;
  40068. let GlobalId = tape[ptr++];
  40069. let OwnerHistory = tape[ptr++];
  40070. let Name = tape[ptr++];
  40071. let Description = tape[ptr++];
  40072. return new IfcPropertySetDefinition(expressID, type, GlobalId, OwnerHistory, Name, Description);
  40073. }
  40074. ToTape() {
  40075. let args = [];
  40076. args.push(this.GlobalId);
  40077. ;
  40078. args.push(this.OwnerHistory);
  40079. ;
  40080. args.push(this.Name);
  40081. ;
  40082. args.push(this.Description);
  40083. ;
  40084. return args;
  40085. }
  40086. };
  40087. var IfcPropertySetTemplate = class {
  40088. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) {
  40089. this.expressID = expressID;
  40090. this.type = type;
  40091. this.GlobalId = GlobalId;
  40092. this.OwnerHistory = OwnerHistory;
  40093. this.Name = Name;
  40094. this.Description = Description;
  40095. this.TemplateType = TemplateType;
  40096. this.ApplicableEntity = ApplicableEntity;
  40097. this.HasPropertyTemplates = HasPropertyTemplates;
  40098. }
  40099. static FromTape(expressID, type, tape) {
  40100. let ptr = 0;
  40101. let GlobalId = tape[ptr++];
  40102. let OwnerHistory = tape[ptr++];
  40103. let Name = tape[ptr++];
  40104. let Description = tape[ptr++];
  40105. let TemplateType = tape[ptr++];
  40106. let ApplicableEntity = tape[ptr++];
  40107. let HasPropertyTemplates = tape[ptr++];
  40108. return new IfcPropertySetTemplate(expressID, type, GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates);
  40109. }
  40110. ToTape() {
  40111. let args = [];
  40112. args.push(this.GlobalId);
  40113. ;
  40114. args.push(this.OwnerHistory);
  40115. ;
  40116. args.push(this.Name);
  40117. ;
  40118. args.push(this.Description);
  40119. ;
  40120. args.push(this.TemplateType);
  40121. ;
  40122. args.push(this.ApplicableEntity);
  40123. ;
  40124. args.push(this.HasPropertyTemplates);
  40125. ;
  40126. return args;
  40127. }
  40128. };
  40129. var IfcPropertySingleValue = class {
  40130. constructor(expressID, type, Name, Description, NominalValue, Unit) {
  40131. this.expressID = expressID;
  40132. this.type = type;
  40133. this.Name = Name;
  40134. this.Description = Description;
  40135. this.NominalValue = NominalValue;
  40136. this.Unit = Unit;
  40137. }
  40138. static FromTape(expressID, type, tape) {
  40139. let ptr = 0;
  40140. let Name = tape[ptr++];
  40141. let Description = tape[ptr++];
  40142. let NominalValue = tape[ptr++];
  40143. let Unit = tape[ptr++];
  40144. return new IfcPropertySingleValue(expressID, type, Name, Description, NominalValue, Unit);
  40145. }
  40146. ToTape() {
  40147. let args = [];
  40148. args.push(this.Name);
  40149. ;
  40150. args.push(this.Description);
  40151. ;
  40152. args.push(this.NominalValue);
  40153. ;
  40154. args.push(this.Unit);
  40155. ;
  40156. return args;
  40157. }
  40158. };
  40159. var IfcPropertyTableValue = class {
  40160. constructor(expressID, type, Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) {
  40161. this.expressID = expressID;
  40162. this.type = type;
  40163. this.Name = Name;
  40164. this.Description = Description;
  40165. this.DefiningValues = DefiningValues;
  40166. this.DefinedValues = DefinedValues;
  40167. this.Expression = Expression;
  40168. this.DefiningUnit = DefiningUnit;
  40169. this.DefinedUnit = DefinedUnit;
  40170. this.CurveInterpolation = CurveInterpolation;
  40171. }
  40172. static FromTape(expressID, type, tape) {
  40173. let ptr = 0;
  40174. let Name = tape[ptr++];
  40175. let Description = tape[ptr++];
  40176. let DefiningValues = tape[ptr++];
  40177. let DefinedValues = tape[ptr++];
  40178. let Expression = tape[ptr++];
  40179. let DefiningUnit = tape[ptr++];
  40180. let DefinedUnit = tape[ptr++];
  40181. let CurveInterpolation = tape[ptr++];
  40182. return new IfcPropertyTableValue(expressID, type, Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation);
  40183. }
  40184. ToTape() {
  40185. let args = [];
  40186. args.push(this.Name);
  40187. ;
  40188. args.push(this.Description);
  40189. ;
  40190. args.push(this.DefiningValues);
  40191. ;
  40192. args.push(this.DefinedValues);
  40193. ;
  40194. args.push(this.Expression);
  40195. ;
  40196. args.push(this.DefiningUnit);
  40197. ;
  40198. args.push(this.DefinedUnit);
  40199. ;
  40200. args.push(this.CurveInterpolation);
  40201. ;
  40202. return args;
  40203. }
  40204. };
  40205. var IfcPropertyTemplate = class {
  40206. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  40207. this.expressID = expressID;
  40208. this.type = type;
  40209. this.GlobalId = GlobalId;
  40210. this.OwnerHistory = OwnerHistory;
  40211. this.Name = Name;
  40212. this.Description = Description;
  40213. }
  40214. static FromTape(expressID, type, tape) {
  40215. let ptr = 0;
  40216. let GlobalId = tape[ptr++];
  40217. let OwnerHistory = tape[ptr++];
  40218. let Name = tape[ptr++];
  40219. let Description = tape[ptr++];
  40220. return new IfcPropertyTemplate(expressID, type, GlobalId, OwnerHistory, Name, Description);
  40221. }
  40222. ToTape() {
  40223. let args = [];
  40224. args.push(this.GlobalId);
  40225. ;
  40226. args.push(this.OwnerHistory);
  40227. ;
  40228. args.push(this.Name);
  40229. ;
  40230. args.push(this.Description);
  40231. ;
  40232. return args;
  40233. }
  40234. };
  40235. var IfcPropertyTemplateDefinition = class {
  40236. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  40237. this.expressID = expressID;
  40238. this.type = type;
  40239. this.GlobalId = GlobalId;
  40240. this.OwnerHistory = OwnerHistory;
  40241. this.Name = Name;
  40242. this.Description = Description;
  40243. }
  40244. static FromTape(expressID, type, tape) {
  40245. let ptr = 0;
  40246. let GlobalId = tape[ptr++];
  40247. let OwnerHistory = tape[ptr++];
  40248. let Name = tape[ptr++];
  40249. let Description = tape[ptr++];
  40250. return new IfcPropertyTemplateDefinition(expressID, type, GlobalId, OwnerHistory, Name, Description);
  40251. }
  40252. ToTape() {
  40253. let args = [];
  40254. args.push(this.GlobalId);
  40255. ;
  40256. args.push(this.OwnerHistory);
  40257. ;
  40258. args.push(this.Name);
  40259. ;
  40260. args.push(this.Description);
  40261. ;
  40262. return args;
  40263. }
  40264. };
  40265. var IfcProtectiveDevice = class {
  40266. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  40267. this.expressID = expressID;
  40268. this.type = type;
  40269. this.GlobalId = GlobalId;
  40270. this.OwnerHistory = OwnerHistory;
  40271. this.Name = Name;
  40272. this.Description = Description;
  40273. this.ObjectType = ObjectType;
  40274. this.ObjectPlacement = ObjectPlacement;
  40275. this.Representation = Representation;
  40276. this.Tag = Tag;
  40277. this.PredefinedType = PredefinedType;
  40278. }
  40279. static FromTape(expressID, type, tape) {
  40280. let ptr = 0;
  40281. let GlobalId = tape[ptr++];
  40282. let OwnerHistory = tape[ptr++];
  40283. let Name = tape[ptr++];
  40284. let Description = tape[ptr++];
  40285. let ObjectType = tape[ptr++];
  40286. let ObjectPlacement = tape[ptr++];
  40287. let Representation = tape[ptr++];
  40288. let Tag = tape[ptr++];
  40289. let PredefinedType = tape[ptr++];
  40290. return new IfcProtectiveDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  40291. }
  40292. ToTape() {
  40293. let args = [];
  40294. args.push(this.GlobalId);
  40295. ;
  40296. args.push(this.OwnerHistory);
  40297. ;
  40298. args.push(this.Name);
  40299. ;
  40300. args.push(this.Description);
  40301. ;
  40302. args.push(this.ObjectType);
  40303. ;
  40304. args.push(this.ObjectPlacement);
  40305. ;
  40306. args.push(this.Representation);
  40307. ;
  40308. args.push(this.Tag);
  40309. ;
  40310. args.push(this.PredefinedType);
  40311. ;
  40312. return args;
  40313. }
  40314. };
  40315. var IfcProtectiveDeviceTrippingUnit = class {
  40316. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  40317. this.expressID = expressID;
  40318. this.type = type;
  40319. this.GlobalId = GlobalId;
  40320. this.OwnerHistory = OwnerHistory;
  40321. this.Name = Name;
  40322. this.Description = Description;
  40323. this.ObjectType = ObjectType;
  40324. this.ObjectPlacement = ObjectPlacement;
  40325. this.Representation = Representation;
  40326. this.Tag = Tag;
  40327. this.PredefinedType = PredefinedType;
  40328. }
  40329. static FromTape(expressID, type, tape) {
  40330. let ptr = 0;
  40331. let GlobalId = tape[ptr++];
  40332. let OwnerHistory = tape[ptr++];
  40333. let Name = tape[ptr++];
  40334. let Description = tape[ptr++];
  40335. let ObjectType = tape[ptr++];
  40336. let ObjectPlacement = tape[ptr++];
  40337. let Representation = tape[ptr++];
  40338. let Tag = tape[ptr++];
  40339. let PredefinedType = tape[ptr++];
  40340. return new IfcProtectiveDeviceTrippingUnit(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  40341. }
  40342. ToTape() {
  40343. let args = [];
  40344. args.push(this.GlobalId);
  40345. ;
  40346. args.push(this.OwnerHistory);
  40347. ;
  40348. args.push(this.Name);
  40349. ;
  40350. args.push(this.Description);
  40351. ;
  40352. args.push(this.ObjectType);
  40353. ;
  40354. args.push(this.ObjectPlacement);
  40355. ;
  40356. args.push(this.Representation);
  40357. ;
  40358. args.push(this.Tag);
  40359. ;
  40360. args.push(this.PredefinedType);
  40361. ;
  40362. return args;
  40363. }
  40364. };
  40365. var IfcProtectiveDeviceTrippingUnitType = class {
  40366. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  40367. this.expressID = expressID;
  40368. this.type = type;
  40369. this.GlobalId = GlobalId;
  40370. this.OwnerHistory = OwnerHistory;
  40371. this.Name = Name;
  40372. this.Description = Description;
  40373. this.ApplicableOccurrence = ApplicableOccurrence;
  40374. this.HasPropertySets = HasPropertySets;
  40375. this.RepresentationMaps = RepresentationMaps;
  40376. this.Tag = Tag;
  40377. this.ElementType = ElementType;
  40378. this.PredefinedType = PredefinedType;
  40379. }
  40380. static FromTape(expressID, type, tape) {
  40381. let ptr = 0;
  40382. let GlobalId = tape[ptr++];
  40383. let OwnerHistory = tape[ptr++];
  40384. let Name = tape[ptr++];
  40385. let Description = tape[ptr++];
  40386. let ApplicableOccurrence = tape[ptr++];
  40387. let HasPropertySets = tape[ptr++];
  40388. let RepresentationMaps = tape[ptr++];
  40389. let Tag = tape[ptr++];
  40390. let ElementType = tape[ptr++];
  40391. let PredefinedType = tape[ptr++];
  40392. return new IfcProtectiveDeviceTrippingUnitType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  40393. }
  40394. ToTape() {
  40395. let args = [];
  40396. args.push(this.GlobalId);
  40397. ;
  40398. args.push(this.OwnerHistory);
  40399. ;
  40400. args.push(this.Name);
  40401. ;
  40402. args.push(this.Description);
  40403. ;
  40404. args.push(this.ApplicableOccurrence);
  40405. ;
  40406. args.push(this.HasPropertySets);
  40407. ;
  40408. args.push(this.RepresentationMaps);
  40409. ;
  40410. args.push(this.Tag);
  40411. ;
  40412. args.push(this.ElementType);
  40413. ;
  40414. args.push(this.PredefinedType);
  40415. ;
  40416. return args;
  40417. }
  40418. };
  40419. var IfcProtectiveDeviceType = class {
  40420. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  40421. this.expressID = expressID;
  40422. this.type = type;
  40423. this.GlobalId = GlobalId;
  40424. this.OwnerHistory = OwnerHistory;
  40425. this.Name = Name;
  40426. this.Description = Description;
  40427. this.ApplicableOccurrence = ApplicableOccurrence;
  40428. this.HasPropertySets = HasPropertySets;
  40429. this.RepresentationMaps = RepresentationMaps;
  40430. this.Tag = Tag;
  40431. this.ElementType = ElementType;
  40432. this.PredefinedType = PredefinedType;
  40433. }
  40434. static FromTape(expressID, type, tape) {
  40435. let ptr = 0;
  40436. let GlobalId = tape[ptr++];
  40437. let OwnerHistory = tape[ptr++];
  40438. let Name = tape[ptr++];
  40439. let Description = tape[ptr++];
  40440. let ApplicableOccurrence = tape[ptr++];
  40441. let HasPropertySets = tape[ptr++];
  40442. let RepresentationMaps = tape[ptr++];
  40443. let Tag = tape[ptr++];
  40444. let ElementType = tape[ptr++];
  40445. let PredefinedType = tape[ptr++];
  40446. return new IfcProtectiveDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  40447. }
  40448. ToTape() {
  40449. let args = [];
  40450. args.push(this.GlobalId);
  40451. ;
  40452. args.push(this.OwnerHistory);
  40453. ;
  40454. args.push(this.Name);
  40455. ;
  40456. args.push(this.Description);
  40457. ;
  40458. args.push(this.ApplicableOccurrence);
  40459. ;
  40460. args.push(this.HasPropertySets);
  40461. ;
  40462. args.push(this.RepresentationMaps);
  40463. ;
  40464. args.push(this.Tag);
  40465. ;
  40466. args.push(this.ElementType);
  40467. ;
  40468. args.push(this.PredefinedType);
  40469. ;
  40470. return args;
  40471. }
  40472. };
  40473. var IfcProxy = class {
  40474. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) {
  40475. this.expressID = expressID;
  40476. this.type = type;
  40477. this.GlobalId = GlobalId;
  40478. this.OwnerHistory = OwnerHistory;
  40479. this.Name = Name;
  40480. this.Description = Description;
  40481. this.ObjectType = ObjectType;
  40482. this.ObjectPlacement = ObjectPlacement;
  40483. this.Representation = Representation;
  40484. this.ProxyType = ProxyType;
  40485. this.Tag = Tag;
  40486. }
  40487. static FromTape(expressID, type, tape) {
  40488. let ptr = 0;
  40489. let GlobalId = tape[ptr++];
  40490. let OwnerHistory = tape[ptr++];
  40491. let Name = tape[ptr++];
  40492. let Description = tape[ptr++];
  40493. let ObjectType = tape[ptr++];
  40494. let ObjectPlacement = tape[ptr++];
  40495. let Representation = tape[ptr++];
  40496. let ProxyType = tape[ptr++];
  40497. let Tag = tape[ptr++];
  40498. return new IfcProxy(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag);
  40499. }
  40500. ToTape() {
  40501. let args = [];
  40502. args.push(this.GlobalId);
  40503. ;
  40504. args.push(this.OwnerHistory);
  40505. ;
  40506. args.push(this.Name);
  40507. ;
  40508. args.push(this.Description);
  40509. ;
  40510. args.push(this.ObjectType);
  40511. ;
  40512. args.push(this.ObjectPlacement);
  40513. ;
  40514. args.push(this.Representation);
  40515. ;
  40516. args.push(this.ProxyType);
  40517. ;
  40518. args.push(this.Tag);
  40519. ;
  40520. return args;
  40521. }
  40522. };
  40523. var IfcPump = class {
  40524. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  40525. this.expressID = expressID;
  40526. this.type = type;
  40527. this.GlobalId = GlobalId;
  40528. this.OwnerHistory = OwnerHistory;
  40529. this.Name = Name;
  40530. this.Description = Description;
  40531. this.ObjectType = ObjectType;
  40532. this.ObjectPlacement = ObjectPlacement;
  40533. this.Representation = Representation;
  40534. this.Tag = Tag;
  40535. this.PredefinedType = PredefinedType;
  40536. }
  40537. static FromTape(expressID, type, tape) {
  40538. let ptr = 0;
  40539. let GlobalId = tape[ptr++];
  40540. let OwnerHistory = tape[ptr++];
  40541. let Name = tape[ptr++];
  40542. let Description = tape[ptr++];
  40543. let ObjectType = tape[ptr++];
  40544. let ObjectPlacement = tape[ptr++];
  40545. let Representation = tape[ptr++];
  40546. let Tag = tape[ptr++];
  40547. let PredefinedType = tape[ptr++];
  40548. return new IfcPump(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  40549. }
  40550. ToTape() {
  40551. let args = [];
  40552. args.push(this.GlobalId);
  40553. ;
  40554. args.push(this.OwnerHistory);
  40555. ;
  40556. args.push(this.Name);
  40557. ;
  40558. args.push(this.Description);
  40559. ;
  40560. args.push(this.ObjectType);
  40561. ;
  40562. args.push(this.ObjectPlacement);
  40563. ;
  40564. args.push(this.Representation);
  40565. ;
  40566. args.push(this.Tag);
  40567. ;
  40568. args.push(this.PredefinedType);
  40569. ;
  40570. return args;
  40571. }
  40572. };
  40573. var IfcPumpType = class {
  40574. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  40575. this.expressID = expressID;
  40576. this.type = type;
  40577. this.GlobalId = GlobalId;
  40578. this.OwnerHistory = OwnerHistory;
  40579. this.Name = Name;
  40580. this.Description = Description;
  40581. this.ApplicableOccurrence = ApplicableOccurrence;
  40582. this.HasPropertySets = HasPropertySets;
  40583. this.RepresentationMaps = RepresentationMaps;
  40584. this.Tag = Tag;
  40585. this.ElementType = ElementType;
  40586. this.PredefinedType = PredefinedType;
  40587. }
  40588. static FromTape(expressID, type, tape) {
  40589. let ptr = 0;
  40590. let GlobalId = tape[ptr++];
  40591. let OwnerHistory = tape[ptr++];
  40592. let Name = tape[ptr++];
  40593. let Description = tape[ptr++];
  40594. let ApplicableOccurrence = tape[ptr++];
  40595. let HasPropertySets = tape[ptr++];
  40596. let RepresentationMaps = tape[ptr++];
  40597. let Tag = tape[ptr++];
  40598. let ElementType = tape[ptr++];
  40599. let PredefinedType = tape[ptr++];
  40600. return new IfcPumpType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  40601. }
  40602. ToTape() {
  40603. let args = [];
  40604. args.push(this.GlobalId);
  40605. ;
  40606. args.push(this.OwnerHistory);
  40607. ;
  40608. args.push(this.Name);
  40609. ;
  40610. args.push(this.Description);
  40611. ;
  40612. args.push(this.ApplicableOccurrence);
  40613. ;
  40614. args.push(this.HasPropertySets);
  40615. ;
  40616. args.push(this.RepresentationMaps);
  40617. ;
  40618. args.push(this.Tag);
  40619. ;
  40620. args.push(this.ElementType);
  40621. ;
  40622. args.push(this.PredefinedType);
  40623. ;
  40624. return args;
  40625. }
  40626. };
  40627. var IfcQuantityArea = class {
  40628. constructor(expressID, type, Name, Description, Unit, AreaValue, Formula) {
  40629. this.expressID = expressID;
  40630. this.type = type;
  40631. this.Name = Name;
  40632. this.Description = Description;
  40633. this.Unit = Unit;
  40634. this.AreaValue = AreaValue;
  40635. this.Formula = Formula;
  40636. }
  40637. static FromTape(expressID, type, tape) {
  40638. let ptr = 0;
  40639. let Name = tape[ptr++];
  40640. let Description = tape[ptr++];
  40641. let Unit = tape[ptr++];
  40642. let AreaValue = tape[ptr++];
  40643. let Formula = tape[ptr++];
  40644. return new IfcQuantityArea(expressID, type, Name, Description, Unit, AreaValue, Formula);
  40645. }
  40646. ToTape() {
  40647. let args = [];
  40648. args.push(this.Name);
  40649. ;
  40650. args.push(this.Description);
  40651. ;
  40652. args.push(this.Unit);
  40653. ;
  40654. args.push(this.AreaValue);
  40655. ;
  40656. args.push(this.Formula);
  40657. ;
  40658. return args;
  40659. }
  40660. };
  40661. var IfcQuantityCount = class {
  40662. constructor(expressID, type, Name, Description, Unit, CountValue, Formula) {
  40663. this.expressID = expressID;
  40664. this.type = type;
  40665. this.Name = Name;
  40666. this.Description = Description;
  40667. this.Unit = Unit;
  40668. this.CountValue = CountValue;
  40669. this.Formula = Formula;
  40670. }
  40671. static FromTape(expressID, type, tape) {
  40672. let ptr = 0;
  40673. let Name = tape[ptr++];
  40674. let Description = tape[ptr++];
  40675. let Unit = tape[ptr++];
  40676. let CountValue = tape[ptr++];
  40677. let Formula = tape[ptr++];
  40678. return new IfcQuantityCount(expressID, type, Name, Description, Unit, CountValue, Formula);
  40679. }
  40680. ToTape() {
  40681. let args = [];
  40682. args.push(this.Name);
  40683. ;
  40684. args.push(this.Description);
  40685. ;
  40686. args.push(this.Unit);
  40687. ;
  40688. args.push(this.CountValue);
  40689. ;
  40690. args.push(this.Formula);
  40691. ;
  40692. return args;
  40693. }
  40694. };
  40695. var IfcQuantityLength = class {
  40696. constructor(expressID, type, Name, Description, Unit, LengthValue, Formula) {
  40697. this.expressID = expressID;
  40698. this.type = type;
  40699. this.Name = Name;
  40700. this.Description = Description;
  40701. this.Unit = Unit;
  40702. this.LengthValue = LengthValue;
  40703. this.Formula = Formula;
  40704. }
  40705. static FromTape(expressID, type, tape) {
  40706. let ptr = 0;
  40707. let Name = tape[ptr++];
  40708. let Description = tape[ptr++];
  40709. let Unit = tape[ptr++];
  40710. let LengthValue = tape[ptr++];
  40711. let Formula = tape[ptr++];
  40712. return new IfcQuantityLength(expressID, type, Name, Description, Unit, LengthValue, Formula);
  40713. }
  40714. ToTape() {
  40715. let args = [];
  40716. args.push(this.Name);
  40717. ;
  40718. args.push(this.Description);
  40719. ;
  40720. args.push(this.Unit);
  40721. ;
  40722. args.push(this.LengthValue);
  40723. ;
  40724. args.push(this.Formula);
  40725. ;
  40726. return args;
  40727. }
  40728. };
  40729. var IfcQuantitySet = class {
  40730. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  40731. this.expressID = expressID;
  40732. this.type = type;
  40733. this.GlobalId = GlobalId;
  40734. this.OwnerHistory = OwnerHistory;
  40735. this.Name = Name;
  40736. this.Description = Description;
  40737. }
  40738. static FromTape(expressID, type, tape) {
  40739. let ptr = 0;
  40740. let GlobalId = tape[ptr++];
  40741. let OwnerHistory = tape[ptr++];
  40742. let Name = tape[ptr++];
  40743. let Description = tape[ptr++];
  40744. return new IfcQuantitySet(expressID, type, GlobalId, OwnerHistory, Name, Description);
  40745. }
  40746. ToTape() {
  40747. let args = [];
  40748. args.push(this.GlobalId);
  40749. ;
  40750. args.push(this.OwnerHistory);
  40751. ;
  40752. args.push(this.Name);
  40753. ;
  40754. args.push(this.Description);
  40755. ;
  40756. return args;
  40757. }
  40758. };
  40759. var IfcQuantityTime = class {
  40760. constructor(expressID, type, Name, Description, Unit, TimeValue, Formula) {
  40761. this.expressID = expressID;
  40762. this.type = type;
  40763. this.Name = Name;
  40764. this.Description = Description;
  40765. this.Unit = Unit;
  40766. this.TimeValue = TimeValue;
  40767. this.Formula = Formula;
  40768. }
  40769. static FromTape(expressID, type, tape) {
  40770. let ptr = 0;
  40771. let Name = tape[ptr++];
  40772. let Description = tape[ptr++];
  40773. let Unit = tape[ptr++];
  40774. let TimeValue = tape[ptr++];
  40775. let Formula = tape[ptr++];
  40776. return new IfcQuantityTime(expressID, type, Name, Description, Unit, TimeValue, Formula);
  40777. }
  40778. ToTape() {
  40779. let args = [];
  40780. args.push(this.Name);
  40781. ;
  40782. args.push(this.Description);
  40783. ;
  40784. args.push(this.Unit);
  40785. ;
  40786. args.push(this.TimeValue);
  40787. ;
  40788. args.push(this.Formula);
  40789. ;
  40790. return args;
  40791. }
  40792. };
  40793. var IfcQuantityVolume = class {
  40794. constructor(expressID, type, Name, Description, Unit, VolumeValue, Formula) {
  40795. this.expressID = expressID;
  40796. this.type = type;
  40797. this.Name = Name;
  40798. this.Description = Description;
  40799. this.Unit = Unit;
  40800. this.VolumeValue = VolumeValue;
  40801. this.Formula = Formula;
  40802. }
  40803. static FromTape(expressID, type, tape) {
  40804. let ptr = 0;
  40805. let Name = tape[ptr++];
  40806. let Description = tape[ptr++];
  40807. let Unit = tape[ptr++];
  40808. let VolumeValue = tape[ptr++];
  40809. let Formula = tape[ptr++];
  40810. return new IfcQuantityVolume(expressID, type, Name, Description, Unit, VolumeValue, Formula);
  40811. }
  40812. ToTape() {
  40813. let args = [];
  40814. args.push(this.Name);
  40815. ;
  40816. args.push(this.Description);
  40817. ;
  40818. args.push(this.Unit);
  40819. ;
  40820. args.push(this.VolumeValue);
  40821. ;
  40822. args.push(this.Formula);
  40823. ;
  40824. return args;
  40825. }
  40826. };
  40827. var IfcQuantityWeight = class {
  40828. constructor(expressID, type, Name, Description, Unit, WeightValue, Formula) {
  40829. this.expressID = expressID;
  40830. this.type = type;
  40831. this.Name = Name;
  40832. this.Description = Description;
  40833. this.Unit = Unit;
  40834. this.WeightValue = WeightValue;
  40835. this.Formula = Formula;
  40836. }
  40837. static FromTape(expressID, type, tape) {
  40838. let ptr = 0;
  40839. let Name = tape[ptr++];
  40840. let Description = tape[ptr++];
  40841. let Unit = tape[ptr++];
  40842. let WeightValue = tape[ptr++];
  40843. let Formula = tape[ptr++];
  40844. return new IfcQuantityWeight(expressID, type, Name, Description, Unit, WeightValue, Formula);
  40845. }
  40846. ToTape() {
  40847. let args = [];
  40848. args.push(this.Name);
  40849. ;
  40850. args.push(this.Description);
  40851. ;
  40852. args.push(this.Unit);
  40853. ;
  40854. args.push(this.WeightValue);
  40855. ;
  40856. args.push(this.Formula);
  40857. ;
  40858. return args;
  40859. }
  40860. };
  40861. var IfcRailing = class {
  40862. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  40863. this.expressID = expressID;
  40864. this.type = type;
  40865. this.GlobalId = GlobalId;
  40866. this.OwnerHistory = OwnerHistory;
  40867. this.Name = Name;
  40868. this.Description = Description;
  40869. this.ObjectType = ObjectType;
  40870. this.ObjectPlacement = ObjectPlacement;
  40871. this.Representation = Representation;
  40872. this.Tag = Tag;
  40873. this.PredefinedType = PredefinedType;
  40874. }
  40875. static FromTape(expressID, type, tape) {
  40876. let ptr = 0;
  40877. let GlobalId = tape[ptr++];
  40878. let OwnerHistory = tape[ptr++];
  40879. let Name = tape[ptr++];
  40880. let Description = tape[ptr++];
  40881. let ObjectType = tape[ptr++];
  40882. let ObjectPlacement = tape[ptr++];
  40883. let Representation = tape[ptr++];
  40884. let Tag = tape[ptr++];
  40885. let PredefinedType = tape[ptr++];
  40886. return new IfcRailing(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  40887. }
  40888. ToTape() {
  40889. let args = [];
  40890. args.push(this.GlobalId);
  40891. ;
  40892. args.push(this.OwnerHistory);
  40893. ;
  40894. args.push(this.Name);
  40895. ;
  40896. args.push(this.Description);
  40897. ;
  40898. args.push(this.ObjectType);
  40899. ;
  40900. args.push(this.ObjectPlacement);
  40901. ;
  40902. args.push(this.Representation);
  40903. ;
  40904. args.push(this.Tag);
  40905. ;
  40906. args.push(this.PredefinedType);
  40907. ;
  40908. return args;
  40909. }
  40910. };
  40911. var IfcRailingType = class {
  40912. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  40913. this.expressID = expressID;
  40914. this.type = type;
  40915. this.GlobalId = GlobalId;
  40916. this.OwnerHistory = OwnerHistory;
  40917. this.Name = Name;
  40918. this.Description = Description;
  40919. this.ApplicableOccurrence = ApplicableOccurrence;
  40920. this.HasPropertySets = HasPropertySets;
  40921. this.RepresentationMaps = RepresentationMaps;
  40922. this.Tag = Tag;
  40923. this.ElementType = ElementType;
  40924. this.PredefinedType = PredefinedType;
  40925. }
  40926. static FromTape(expressID, type, tape) {
  40927. let ptr = 0;
  40928. let GlobalId = tape[ptr++];
  40929. let OwnerHistory = tape[ptr++];
  40930. let Name = tape[ptr++];
  40931. let Description = tape[ptr++];
  40932. let ApplicableOccurrence = tape[ptr++];
  40933. let HasPropertySets = tape[ptr++];
  40934. let RepresentationMaps = tape[ptr++];
  40935. let Tag = tape[ptr++];
  40936. let ElementType = tape[ptr++];
  40937. let PredefinedType = tape[ptr++];
  40938. return new IfcRailingType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  40939. }
  40940. ToTape() {
  40941. let args = [];
  40942. args.push(this.GlobalId);
  40943. ;
  40944. args.push(this.OwnerHistory);
  40945. ;
  40946. args.push(this.Name);
  40947. ;
  40948. args.push(this.Description);
  40949. ;
  40950. args.push(this.ApplicableOccurrence);
  40951. ;
  40952. args.push(this.HasPropertySets);
  40953. ;
  40954. args.push(this.RepresentationMaps);
  40955. ;
  40956. args.push(this.Tag);
  40957. ;
  40958. args.push(this.ElementType);
  40959. ;
  40960. args.push(this.PredefinedType);
  40961. ;
  40962. return args;
  40963. }
  40964. };
  40965. var IfcRamp = class {
  40966. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  40967. this.expressID = expressID;
  40968. this.type = type;
  40969. this.GlobalId = GlobalId;
  40970. this.OwnerHistory = OwnerHistory;
  40971. this.Name = Name;
  40972. this.Description = Description;
  40973. this.ObjectType = ObjectType;
  40974. this.ObjectPlacement = ObjectPlacement;
  40975. this.Representation = Representation;
  40976. this.Tag = Tag;
  40977. this.PredefinedType = PredefinedType;
  40978. }
  40979. static FromTape(expressID, type, tape) {
  40980. let ptr = 0;
  40981. let GlobalId = tape[ptr++];
  40982. let OwnerHistory = tape[ptr++];
  40983. let Name = tape[ptr++];
  40984. let Description = tape[ptr++];
  40985. let ObjectType = tape[ptr++];
  40986. let ObjectPlacement = tape[ptr++];
  40987. let Representation = tape[ptr++];
  40988. let Tag = tape[ptr++];
  40989. let PredefinedType = tape[ptr++];
  40990. return new IfcRamp(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  40991. }
  40992. ToTape() {
  40993. let args = [];
  40994. args.push(this.GlobalId);
  40995. ;
  40996. args.push(this.OwnerHistory);
  40997. ;
  40998. args.push(this.Name);
  40999. ;
  41000. args.push(this.Description);
  41001. ;
  41002. args.push(this.ObjectType);
  41003. ;
  41004. args.push(this.ObjectPlacement);
  41005. ;
  41006. args.push(this.Representation);
  41007. ;
  41008. args.push(this.Tag);
  41009. ;
  41010. args.push(this.PredefinedType);
  41011. ;
  41012. return args;
  41013. }
  41014. };
  41015. var IfcRampFlight = class {
  41016. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  41017. this.expressID = expressID;
  41018. this.type = type;
  41019. this.GlobalId = GlobalId;
  41020. this.OwnerHistory = OwnerHistory;
  41021. this.Name = Name;
  41022. this.Description = Description;
  41023. this.ObjectType = ObjectType;
  41024. this.ObjectPlacement = ObjectPlacement;
  41025. this.Representation = Representation;
  41026. this.Tag = Tag;
  41027. this.PredefinedType = PredefinedType;
  41028. }
  41029. static FromTape(expressID, type, tape) {
  41030. let ptr = 0;
  41031. let GlobalId = tape[ptr++];
  41032. let OwnerHistory = tape[ptr++];
  41033. let Name = tape[ptr++];
  41034. let Description = tape[ptr++];
  41035. let ObjectType = tape[ptr++];
  41036. let ObjectPlacement = tape[ptr++];
  41037. let Representation = tape[ptr++];
  41038. let Tag = tape[ptr++];
  41039. let PredefinedType = tape[ptr++];
  41040. return new IfcRampFlight(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  41041. }
  41042. ToTape() {
  41043. let args = [];
  41044. args.push(this.GlobalId);
  41045. ;
  41046. args.push(this.OwnerHistory);
  41047. ;
  41048. args.push(this.Name);
  41049. ;
  41050. args.push(this.Description);
  41051. ;
  41052. args.push(this.ObjectType);
  41053. ;
  41054. args.push(this.ObjectPlacement);
  41055. ;
  41056. args.push(this.Representation);
  41057. ;
  41058. args.push(this.Tag);
  41059. ;
  41060. args.push(this.PredefinedType);
  41061. ;
  41062. return args;
  41063. }
  41064. };
  41065. var IfcRampFlightType = class {
  41066. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  41067. this.expressID = expressID;
  41068. this.type = type;
  41069. this.GlobalId = GlobalId;
  41070. this.OwnerHistory = OwnerHistory;
  41071. this.Name = Name;
  41072. this.Description = Description;
  41073. this.ApplicableOccurrence = ApplicableOccurrence;
  41074. this.HasPropertySets = HasPropertySets;
  41075. this.RepresentationMaps = RepresentationMaps;
  41076. this.Tag = Tag;
  41077. this.ElementType = ElementType;
  41078. this.PredefinedType = PredefinedType;
  41079. }
  41080. static FromTape(expressID, type, tape) {
  41081. let ptr = 0;
  41082. let GlobalId = tape[ptr++];
  41083. let OwnerHistory = tape[ptr++];
  41084. let Name = tape[ptr++];
  41085. let Description = tape[ptr++];
  41086. let ApplicableOccurrence = tape[ptr++];
  41087. let HasPropertySets = tape[ptr++];
  41088. let RepresentationMaps = tape[ptr++];
  41089. let Tag = tape[ptr++];
  41090. let ElementType = tape[ptr++];
  41091. let PredefinedType = tape[ptr++];
  41092. return new IfcRampFlightType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  41093. }
  41094. ToTape() {
  41095. let args = [];
  41096. args.push(this.GlobalId);
  41097. ;
  41098. args.push(this.OwnerHistory);
  41099. ;
  41100. args.push(this.Name);
  41101. ;
  41102. args.push(this.Description);
  41103. ;
  41104. args.push(this.ApplicableOccurrence);
  41105. ;
  41106. args.push(this.HasPropertySets);
  41107. ;
  41108. args.push(this.RepresentationMaps);
  41109. ;
  41110. args.push(this.Tag);
  41111. ;
  41112. args.push(this.ElementType);
  41113. ;
  41114. args.push(this.PredefinedType);
  41115. ;
  41116. return args;
  41117. }
  41118. };
  41119. var IfcRampType = class {
  41120. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  41121. this.expressID = expressID;
  41122. this.type = type;
  41123. this.GlobalId = GlobalId;
  41124. this.OwnerHistory = OwnerHistory;
  41125. this.Name = Name;
  41126. this.Description = Description;
  41127. this.ApplicableOccurrence = ApplicableOccurrence;
  41128. this.HasPropertySets = HasPropertySets;
  41129. this.RepresentationMaps = RepresentationMaps;
  41130. this.Tag = Tag;
  41131. this.ElementType = ElementType;
  41132. this.PredefinedType = PredefinedType;
  41133. }
  41134. static FromTape(expressID, type, tape) {
  41135. let ptr = 0;
  41136. let GlobalId = tape[ptr++];
  41137. let OwnerHistory = tape[ptr++];
  41138. let Name = tape[ptr++];
  41139. let Description = tape[ptr++];
  41140. let ApplicableOccurrence = tape[ptr++];
  41141. let HasPropertySets = tape[ptr++];
  41142. let RepresentationMaps = tape[ptr++];
  41143. let Tag = tape[ptr++];
  41144. let ElementType = tape[ptr++];
  41145. let PredefinedType = tape[ptr++];
  41146. return new IfcRampType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  41147. }
  41148. ToTape() {
  41149. let args = [];
  41150. args.push(this.GlobalId);
  41151. ;
  41152. args.push(this.OwnerHistory);
  41153. ;
  41154. args.push(this.Name);
  41155. ;
  41156. args.push(this.Description);
  41157. ;
  41158. args.push(this.ApplicableOccurrence);
  41159. ;
  41160. args.push(this.HasPropertySets);
  41161. ;
  41162. args.push(this.RepresentationMaps);
  41163. ;
  41164. args.push(this.Tag);
  41165. ;
  41166. args.push(this.ElementType);
  41167. ;
  41168. args.push(this.PredefinedType);
  41169. ;
  41170. return args;
  41171. }
  41172. };
  41173. var IfcRationalBSplineCurveWithKnots = class {
  41174. constructor(expressID, type, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) {
  41175. this.expressID = expressID;
  41176. this.type = type;
  41177. this.Degree = Degree;
  41178. this.ControlPointsList = ControlPointsList;
  41179. this.CurveForm = CurveForm;
  41180. this.ClosedCurve = ClosedCurve;
  41181. this.SelfIntersect = SelfIntersect;
  41182. this.KnotMultiplicities = KnotMultiplicities;
  41183. this.Knots = Knots;
  41184. this.KnotSpec = KnotSpec;
  41185. this.WeightsData = WeightsData;
  41186. }
  41187. static FromTape(expressID, type, tape) {
  41188. let ptr = 0;
  41189. let Degree = tape[ptr++];
  41190. let ControlPointsList = tape[ptr++];
  41191. let CurveForm = tape[ptr++];
  41192. let ClosedCurve = tape[ptr++];
  41193. let SelfIntersect = tape[ptr++];
  41194. let KnotMultiplicities = tape[ptr++];
  41195. let Knots = tape[ptr++];
  41196. let KnotSpec = tape[ptr++];
  41197. let WeightsData = tape[ptr++];
  41198. return new IfcRationalBSplineCurveWithKnots(expressID, type, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData);
  41199. }
  41200. ToTape() {
  41201. let args = [];
  41202. args.push(this.Degree);
  41203. ;
  41204. args.push(this.ControlPointsList);
  41205. ;
  41206. args.push(this.CurveForm);
  41207. ;
  41208. args.push(this.ClosedCurve);
  41209. ;
  41210. args.push(this.SelfIntersect);
  41211. ;
  41212. args.push(this.KnotMultiplicities);
  41213. ;
  41214. args.push(this.Knots);
  41215. ;
  41216. args.push(this.KnotSpec);
  41217. ;
  41218. args.push(this.WeightsData);
  41219. ;
  41220. return args;
  41221. }
  41222. };
  41223. var IfcRationalBSplineSurfaceWithKnots = class {
  41224. constructor(expressID, type, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) {
  41225. this.expressID = expressID;
  41226. this.type = type;
  41227. this.UDegree = UDegree;
  41228. this.VDegree = VDegree;
  41229. this.ControlPointsList = ControlPointsList;
  41230. this.SurfaceForm = SurfaceForm;
  41231. this.UClosed = UClosed;
  41232. this.VClosed = VClosed;
  41233. this.SelfIntersect = SelfIntersect;
  41234. this.UMultiplicities = UMultiplicities;
  41235. this.VMultiplicities = VMultiplicities;
  41236. this.UKnots = UKnots;
  41237. this.VKnots = VKnots;
  41238. this.KnotSpec = KnotSpec;
  41239. this.WeightsData = WeightsData;
  41240. }
  41241. static FromTape(expressID, type, tape) {
  41242. let ptr = 0;
  41243. let UDegree = tape[ptr++];
  41244. let VDegree = tape[ptr++];
  41245. let ControlPointsList = tape[ptr++];
  41246. let SurfaceForm = tape[ptr++];
  41247. let UClosed = tape[ptr++];
  41248. let VClosed = tape[ptr++];
  41249. let SelfIntersect = tape[ptr++];
  41250. let UMultiplicities = tape[ptr++];
  41251. let VMultiplicities = tape[ptr++];
  41252. let UKnots = tape[ptr++];
  41253. let VKnots = tape[ptr++];
  41254. let KnotSpec = tape[ptr++];
  41255. let WeightsData = tape[ptr++];
  41256. return new IfcRationalBSplineSurfaceWithKnots(expressID, type, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData);
  41257. }
  41258. ToTape() {
  41259. let args = [];
  41260. args.push(this.UDegree);
  41261. ;
  41262. args.push(this.VDegree);
  41263. ;
  41264. args.push(this.ControlPointsList);
  41265. ;
  41266. args.push(this.SurfaceForm);
  41267. ;
  41268. args.push(this.UClosed);
  41269. ;
  41270. args.push(this.VClosed);
  41271. ;
  41272. args.push(this.SelfIntersect);
  41273. ;
  41274. args.push(this.UMultiplicities);
  41275. ;
  41276. args.push(this.VMultiplicities);
  41277. ;
  41278. args.push(this.UKnots);
  41279. ;
  41280. args.push(this.VKnots);
  41281. ;
  41282. args.push(this.KnotSpec);
  41283. ;
  41284. args.push(this.WeightsData);
  41285. ;
  41286. return args;
  41287. }
  41288. };
  41289. var IfcRectangleHollowProfileDef = class {
  41290. constructor(expressID, type, ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) {
  41291. this.expressID = expressID;
  41292. this.type = type;
  41293. this.ProfileType = ProfileType;
  41294. this.ProfileName = ProfileName;
  41295. this.Position = Position;
  41296. this.XDim = XDim;
  41297. this.YDim = YDim;
  41298. this.WallThickness = WallThickness;
  41299. this.InnerFilletRadius = InnerFilletRadius;
  41300. this.OuterFilletRadius = OuterFilletRadius;
  41301. }
  41302. static FromTape(expressID, type, tape) {
  41303. let ptr = 0;
  41304. let ProfileType = tape[ptr++];
  41305. let ProfileName = tape[ptr++];
  41306. let Position = tape[ptr++];
  41307. let XDim = tape[ptr++];
  41308. let YDim = tape[ptr++];
  41309. let WallThickness = tape[ptr++];
  41310. let InnerFilletRadius = tape[ptr++];
  41311. let OuterFilletRadius = tape[ptr++];
  41312. return new IfcRectangleHollowProfileDef(expressID, type, ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius);
  41313. }
  41314. ToTape() {
  41315. let args = [];
  41316. args.push(this.ProfileType);
  41317. ;
  41318. args.push(this.ProfileName);
  41319. ;
  41320. args.push(this.Position);
  41321. ;
  41322. args.push(this.XDim);
  41323. ;
  41324. args.push(this.YDim);
  41325. ;
  41326. args.push(this.WallThickness);
  41327. ;
  41328. args.push(this.InnerFilletRadius);
  41329. ;
  41330. args.push(this.OuterFilletRadius);
  41331. ;
  41332. return args;
  41333. }
  41334. };
  41335. var IfcRectangleProfileDef = class {
  41336. constructor(expressID, type, ProfileType, ProfileName, Position, XDim, YDim) {
  41337. this.expressID = expressID;
  41338. this.type = type;
  41339. this.ProfileType = ProfileType;
  41340. this.ProfileName = ProfileName;
  41341. this.Position = Position;
  41342. this.XDim = XDim;
  41343. this.YDim = YDim;
  41344. }
  41345. static FromTape(expressID, type, tape) {
  41346. let ptr = 0;
  41347. let ProfileType = tape[ptr++];
  41348. let ProfileName = tape[ptr++];
  41349. let Position = tape[ptr++];
  41350. let XDim = tape[ptr++];
  41351. let YDim = tape[ptr++];
  41352. return new IfcRectangleProfileDef(expressID, type, ProfileType, ProfileName, Position, XDim, YDim);
  41353. }
  41354. ToTape() {
  41355. let args = [];
  41356. args.push(this.ProfileType);
  41357. ;
  41358. args.push(this.ProfileName);
  41359. ;
  41360. args.push(this.Position);
  41361. ;
  41362. args.push(this.XDim);
  41363. ;
  41364. args.push(this.YDim);
  41365. ;
  41366. return args;
  41367. }
  41368. };
  41369. var IfcRectangularPyramid = class {
  41370. constructor(expressID, type, Position, XLength, YLength, Height) {
  41371. this.expressID = expressID;
  41372. this.type = type;
  41373. this.Position = Position;
  41374. this.XLength = XLength;
  41375. this.YLength = YLength;
  41376. this.Height = Height;
  41377. }
  41378. static FromTape(expressID, type, tape) {
  41379. let ptr = 0;
  41380. let Position = tape[ptr++];
  41381. let XLength = tape[ptr++];
  41382. let YLength = tape[ptr++];
  41383. let Height = tape[ptr++];
  41384. return new IfcRectangularPyramid(expressID, type, Position, XLength, YLength, Height);
  41385. }
  41386. ToTape() {
  41387. let args = [];
  41388. args.push(this.Position);
  41389. ;
  41390. args.push(this.XLength);
  41391. ;
  41392. args.push(this.YLength);
  41393. ;
  41394. args.push(this.Height);
  41395. ;
  41396. return args;
  41397. }
  41398. };
  41399. var IfcRectangularTrimmedSurface = class {
  41400. constructor(expressID, type, BasisSurface, U1, V1, U2, V2, Usense, Vsense) {
  41401. this.expressID = expressID;
  41402. this.type = type;
  41403. this.BasisSurface = BasisSurface;
  41404. this.U1 = U1;
  41405. this.V1 = V1;
  41406. this.U2 = U2;
  41407. this.V2 = V2;
  41408. this.Usense = Usense;
  41409. this.Vsense = Vsense;
  41410. }
  41411. static FromTape(expressID, type, tape) {
  41412. let ptr = 0;
  41413. let BasisSurface = tape[ptr++];
  41414. let U1 = tape[ptr++];
  41415. let V1 = tape[ptr++];
  41416. let U2 = tape[ptr++];
  41417. let V2 = tape[ptr++];
  41418. let Usense = tape[ptr++];
  41419. let Vsense = tape[ptr++];
  41420. return new IfcRectangularTrimmedSurface(expressID, type, BasisSurface, U1, V1, U2, V2, Usense, Vsense);
  41421. }
  41422. ToTape() {
  41423. let args = [];
  41424. args.push(this.BasisSurface);
  41425. ;
  41426. args.push(this.U1);
  41427. ;
  41428. args.push(this.V1);
  41429. ;
  41430. args.push(this.U2);
  41431. ;
  41432. args.push(this.V2);
  41433. ;
  41434. args.push(this.Usense);
  41435. ;
  41436. args.push(this.Vsense);
  41437. ;
  41438. return args;
  41439. }
  41440. };
  41441. var IfcRecurrencePattern = class {
  41442. constructor(expressID, type, RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) {
  41443. this.expressID = expressID;
  41444. this.type = type;
  41445. this.RecurrenceType = RecurrenceType;
  41446. this.DayComponent = DayComponent;
  41447. this.WeekdayComponent = WeekdayComponent;
  41448. this.MonthComponent = MonthComponent;
  41449. this.Position = Position;
  41450. this.Interval = Interval;
  41451. this.Occurrences = Occurrences;
  41452. this.TimePeriods = TimePeriods;
  41453. }
  41454. static FromTape(expressID, type, tape) {
  41455. let ptr = 0;
  41456. let RecurrenceType = tape[ptr++];
  41457. let DayComponent = tape[ptr++];
  41458. let WeekdayComponent = tape[ptr++];
  41459. let MonthComponent = tape[ptr++];
  41460. let Position = tape[ptr++];
  41461. let Interval = tape[ptr++];
  41462. let Occurrences = tape[ptr++];
  41463. let TimePeriods = tape[ptr++];
  41464. return new IfcRecurrencePattern(expressID, type, RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods);
  41465. }
  41466. ToTape() {
  41467. let args = [];
  41468. args.push(this.RecurrenceType);
  41469. ;
  41470. args.push(this.DayComponent);
  41471. ;
  41472. args.push(this.WeekdayComponent);
  41473. ;
  41474. args.push(this.MonthComponent);
  41475. ;
  41476. args.push(this.Position);
  41477. ;
  41478. args.push(this.Interval);
  41479. ;
  41480. args.push(this.Occurrences);
  41481. ;
  41482. args.push(this.TimePeriods);
  41483. ;
  41484. return args;
  41485. }
  41486. };
  41487. var IfcReference = class {
  41488. constructor(expressID, type, TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) {
  41489. this.expressID = expressID;
  41490. this.type = type;
  41491. this.TypeIdentifier = TypeIdentifier;
  41492. this.AttributeIdentifier = AttributeIdentifier;
  41493. this.InstanceName = InstanceName;
  41494. this.ListPositions = ListPositions;
  41495. this.InnerReference = InnerReference;
  41496. }
  41497. static FromTape(expressID, type, tape) {
  41498. let ptr = 0;
  41499. let TypeIdentifier = tape[ptr++];
  41500. let AttributeIdentifier = tape[ptr++];
  41501. let InstanceName = tape[ptr++];
  41502. let ListPositions = tape[ptr++];
  41503. let InnerReference = tape[ptr++];
  41504. return new IfcReference(expressID, type, TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference);
  41505. }
  41506. ToTape() {
  41507. let args = [];
  41508. args.push(this.TypeIdentifier);
  41509. ;
  41510. args.push(this.AttributeIdentifier);
  41511. ;
  41512. args.push(this.InstanceName);
  41513. ;
  41514. args.push(this.ListPositions);
  41515. ;
  41516. args.push(this.InnerReference);
  41517. ;
  41518. return args;
  41519. }
  41520. };
  41521. var IfcReferent = class {
  41522. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, RestartDistance) {
  41523. this.expressID = expressID;
  41524. this.type = type;
  41525. this.GlobalId = GlobalId;
  41526. this.OwnerHistory = OwnerHistory;
  41527. this.Name = Name;
  41528. this.Description = Description;
  41529. this.ObjectType = ObjectType;
  41530. this.ObjectPlacement = ObjectPlacement;
  41531. this.Representation = Representation;
  41532. this.PredefinedType = PredefinedType;
  41533. this.RestartDistance = RestartDistance;
  41534. }
  41535. static FromTape(expressID, type, tape) {
  41536. let ptr = 0;
  41537. let GlobalId = tape[ptr++];
  41538. let OwnerHistory = tape[ptr++];
  41539. let Name = tape[ptr++];
  41540. let Description = tape[ptr++];
  41541. let ObjectType = tape[ptr++];
  41542. let ObjectPlacement = tape[ptr++];
  41543. let Representation = tape[ptr++];
  41544. let PredefinedType = tape[ptr++];
  41545. let RestartDistance = tape[ptr++];
  41546. return new IfcReferent(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, RestartDistance);
  41547. }
  41548. ToTape() {
  41549. let args = [];
  41550. args.push(this.GlobalId);
  41551. ;
  41552. args.push(this.OwnerHistory);
  41553. ;
  41554. args.push(this.Name);
  41555. ;
  41556. args.push(this.Description);
  41557. ;
  41558. args.push(this.ObjectType);
  41559. ;
  41560. args.push(this.ObjectPlacement);
  41561. ;
  41562. args.push(this.Representation);
  41563. ;
  41564. args.push(this.PredefinedType);
  41565. ;
  41566. args.push(this.RestartDistance);
  41567. ;
  41568. return args;
  41569. }
  41570. };
  41571. var IfcRegularTimeSeries = class {
  41572. constructor(expressID, type, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) {
  41573. this.expressID = expressID;
  41574. this.type = type;
  41575. this.Name = Name;
  41576. this.Description = Description;
  41577. this.StartTime = StartTime;
  41578. this.EndTime = EndTime;
  41579. this.TimeSeriesDataType = TimeSeriesDataType;
  41580. this.DataOrigin = DataOrigin;
  41581. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  41582. this.Unit = Unit;
  41583. this.TimeStep = TimeStep;
  41584. this.Values = Values;
  41585. }
  41586. static FromTape(expressID, type, tape) {
  41587. let ptr = 0;
  41588. let Name = tape[ptr++];
  41589. let Description = tape[ptr++];
  41590. let StartTime = tape[ptr++];
  41591. let EndTime = tape[ptr++];
  41592. let TimeSeriesDataType = tape[ptr++];
  41593. let DataOrigin = tape[ptr++];
  41594. let UserDefinedDataOrigin = tape[ptr++];
  41595. let Unit = tape[ptr++];
  41596. let TimeStep = tape[ptr++];
  41597. let Values = tape[ptr++];
  41598. return new IfcRegularTimeSeries(expressID, type, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values);
  41599. }
  41600. ToTape() {
  41601. let args = [];
  41602. args.push(this.Name);
  41603. ;
  41604. args.push(this.Description);
  41605. ;
  41606. args.push(this.StartTime);
  41607. ;
  41608. args.push(this.EndTime);
  41609. ;
  41610. args.push(this.TimeSeriesDataType);
  41611. ;
  41612. args.push(this.DataOrigin);
  41613. ;
  41614. args.push(this.UserDefinedDataOrigin);
  41615. ;
  41616. args.push(this.Unit);
  41617. ;
  41618. args.push(this.TimeStep);
  41619. ;
  41620. args.push(this.Values);
  41621. ;
  41622. return args;
  41623. }
  41624. };
  41625. var IfcReinforcementBarProperties = class {
  41626. constructor(expressID, type, TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) {
  41627. this.expressID = expressID;
  41628. this.type = type;
  41629. this.TotalCrossSectionArea = TotalCrossSectionArea;
  41630. this.SteelGrade = SteelGrade;
  41631. this.BarSurface = BarSurface;
  41632. this.EffectiveDepth = EffectiveDepth;
  41633. this.NominalBarDiameter = NominalBarDiameter;
  41634. this.BarCount = BarCount;
  41635. }
  41636. static FromTape(expressID, type, tape) {
  41637. let ptr = 0;
  41638. let TotalCrossSectionArea = tape[ptr++];
  41639. let SteelGrade = tape[ptr++];
  41640. let BarSurface = tape[ptr++];
  41641. let EffectiveDepth = tape[ptr++];
  41642. let NominalBarDiameter = tape[ptr++];
  41643. let BarCount = tape[ptr++];
  41644. return new IfcReinforcementBarProperties(expressID, type, TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount);
  41645. }
  41646. ToTape() {
  41647. let args = [];
  41648. args.push(this.TotalCrossSectionArea);
  41649. ;
  41650. args.push(this.SteelGrade);
  41651. ;
  41652. args.push(this.BarSurface);
  41653. ;
  41654. args.push(this.EffectiveDepth);
  41655. ;
  41656. args.push(this.NominalBarDiameter);
  41657. ;
  41658. args.push(this.BarCount);
  41659. ;
  41660. return args;
  41661. }
  41662. };
  41663. var IfcReinforcementDefinitionProperties = class {
  41664. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) {
  41665. this.expressID = expressID;
  41666. this.type = type;
  41667. this.GlobalId = GlobalId;
  41668. this.OwnerHistory = OwnerHistory;
  41669. this.Name = Name;
  41670. this.Description = Description;
  41671. this.DefinitionType = DefinitionType;
  41672. this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions;
  41673. }
  41674. static FromTape(expressID, type, tape) {
  41675. let ptr = 0;
  41676. let GlobalId = tape[ptr++];
  41677. let OwnerHistory = tape[ptr++];
  41678. let Name = tape[ptr++];
  41679. let Description = tape[ptr++];
  41680. let DefinitionType = tape[ptr++];
  41681. let ReinforcementSectionDefinitions = tape[ptr++];
  41682. return new IfcReinforcementDefinitionProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions);
  41683. }
  41684. ToTape() {
  41685. let args = [];
  41686. args.push(this.GlobalId);
  41687. ;
  41688. args.push(this.OwnerHistory);
  41689. ;
  41690. args.push(this.Name);
  41691. ;
  41692. args.push(this.Description);
  41693. ;
  41694. args.push(this.DefinitionType);
  41695. ;
  41696. args.push(this.ReinforcementSectionDefinitions);
  41697. ;
  41698. return args;
  41699. }
  41700. };
  41701. var IfcReinforcingBar = class {
  41702. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) {
  41703. this.expressID = expressID;
  41704. this.type = type;
  41705. this.GlobalId = GlobalId;
  41706. this.OwnerHistory = OwnerHistory;
  41707. this.Name = Name;
  41708. this.Description = Description;
  41709. this.ObjectType = ObjectType;
  41710. this.ObjectPlacement = ObjectPlacement;
  41711. this.Representation = Representation;
  41712. this.Tag = Tag;
  41713. this.SteelGrade = SteelGrade;
  41714. this.NominalDiameter = NominalDiameter;
  41715. this.CrossSectionArea = CrossSectionArea;
  41716. this.BarLength = BarLength;
  41717. this.PredefinedType = PredefinedType;
  41718. this.BarSurface = BarSurface;
  41719. }
  41720. static FromTape(expressID, type, tape) {
  41721. let ptr = 0;
  41722. let GlobalId = tape[ptr++];
  41723. let OwnerHistory = tape[ptr++];
  41724. let Name = tape[ptr++];
  41725. let Description = tape[ptr++];
  41726. let ObjectType = tape[ptr++];
  41727. let ObjectPlacement = tape[ptr++];
  41728. let Representation = tape[ptr++];
  41729. let Tag = tape[ptr++];
  41730. let SteelGrade = tape[ptr++];
  41731. let NominalDiameter = tape[ptr++];
  41732. let CrossSectionArea = tape[ptr++];
  41733. let BarLength = tape[ptr++];
  41734. let PredefinedType = tape[ptr++];
  41735. let BarSurface = tape[ptr++];
  41736. return new IfcReinforcingBar(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface);
  41737. }
  41738. ToTape() {
  41739. let args = [];
  41740. args.push(this.GlobalId);
  41741. ;
  41742. args.push(this.OwnerHistory);
  41743. ;
  41744. args.push(this.Name);
  41745. ;
  41746. args.push(this.Description);
  41747. ;
  41748. args.push(this.ObjectType);
  41749. ;
  41750. args.push(this.ObjectPlacement);
  41751. ;
  41752. args.push(this.Representation);
  41753. ;
  41754. args.push(this.Tag);
  41755. ;
  41756. args.push(this.SteelGrade);
  41757. ;
  41758. args.push(this.NominalDiameter);
  41759. ;
  41760. args.push(this.CrossSectionArea);
  41761. ;
  41762. args.push(this.BarLength);
  41763. ;
  41764. args.push(this.PredefinedType);
  41765. ;
  41766. args.push(this.BarSurface);
  41767. ;
  41768. return args;
  41769. }
  41770. };
  41771. var IfcReinforcingBarType = class {
  41772. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) {
  41773. this.expressID = expressID;
  41774. this.type = type;
  41775. this.GlobalId = GlobalId;
  41776. this.OwnerHistory = OwnerHistory;
  41777. this.Name = Name;
  41778. this.Description = Description;
  41779. this.ApplicableOccurrence = ApplicableOccurrence;
  41780. this.HasPropertySets = HasPropertySets;
  41781. this.RepresentationMaps = RepresentationMaps;
  41782. this.Tag = Tag;
  41783. this.ElementType = ElementType;
  41784. this.PredefinedType = PredefinedType;
  41785. this.NominalDiameter = NominalDiameter;
  41786. this.CrossSectionArea = CrossSectionArea;
  41787. this.BarLength = BarLength;
  41788. this.BarSurface = BarSurface;
  41789. this.BendingShapeCode = BendingShapeCode;
  41790. this.BendingParameters = BendingParameters;
  41791. }
  41792. static FromTape(expressID, type, tape) {
  41793. let ptr = 0;
  41794. let GlobalId = tape[ptr++];
  41795. let OwnerHistory = tape[ptr++];
  41796. let Name = tape[ptr++];
  41797. let Description = tape[ptr++];
  41798. let ApplicableOccurrence = tape[ptr++];
  41799. let HasPropertySets = tape[ptr++];
  41800. let RepresentationMaps = tape[ptr++];
  41801. let Tag = tape[ptr++];
  41802. let ElementType = tape[ptr++];
  41803. let PredefinedType = tape[ptr++];
  41804. let NominalDiameter = tape[ptr++];
  41805. let CrossSectionArea = tape[ptr++];
  41806. let BarLength = tape[ptr++];
  41807. let BarSurface = tape[ptr++];
  41808. let BendingShapeCode = tape[ptr++];
  41809. let BendingParameters = tape[ptr++];
  41810. return new IfcReinforcingBarType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters);
  41811. }
  41812. ToTape() {
  41813. let args = [];
  41814. args.push(this.GlobalId);
  41815. ;
  41816. args.push(this.OwnerHistory);
  41817. ;
  41818. args.push(this.Name);
  41819. ;
  41820. args.push(this.Description);
  41821. ;
  41822. args.push(this.ApplicableOccurrence);
  41823. ;
  41824. args.push(this.HasPropertySets);
  41825. ;
  41826. args.push(this.RepresentationMaps);
  41827. ;
  41828. args.push(this.Tag);
  41829. ;
  41830. args.push(this.ElementType);
  41831. ;
  41832. args.push(this.PredefinedType);
  41833. ;
  41834. args.push(this.NominalDiameter);
  41835. ;
  41836. args.push(this.CrossSectionArea);
  41837. ;
  41838. args.push(this.BarLength);
  41839. ;
  41840. args.push(this.BarSurface);
  41841. ;
  41842. args.push(this.BendingShapeCode);
  41843. ;
  41844. args.push(this.BendingParameters);
  41845. ;
  41846. return args;
  41847. }
  41848. };
  41849. var IfcReinforcingElement = class {
  41850. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) {
  41851. this.expressID = expressID;
  41852. this.type = type;
  41853. this.GlobalId = GlobalId;
  41854. this.OwnerHistory = OwnerHistory;
  41855. this.Name = Name;
  41856. this.Description = Description;
  41857. this.ObjectType = ObjectType;
  41858. this.ObjectPlacement = ObjectPlacement;
  41859. this.Representation = Representation;
  41860. this.Tag = Tag;
  41861. this.SteelGrade = SteelGrade;
  41862. }
  41863. static FromTape(expressID, type, tape) {
  41864. let ptr = 0;
  41865. let GlobalId = tape[ptr++];
  41866. let OwnerHistory = tape[ptr++];
  41867. let Name = tape[ptr++];
  41868. let Description = tape[ptr++];
  41869. let ObjectType = tape[ptr++];
  41870. let ObjectPlacement = tape[ptr++];
  41871. let Representation = tape[ptr++];
  41872. let Tag = tape[ptr++];
  41873. let SteelGrade = tape[ptr++];
  41874. return new IfcReinforcingElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
  41875. }
  41876. ToTape() {
  41877. let args = [];
  41878. args.push(this.GlobalId);
  41879. ;
  41880. args.push(this.OwnerHistory);
  41881. ;
  41882. args.push(this.Name);
  41883. ;
  41884. args.push(this.Description);
  41885. ;
  41886. args.push(this.ObjectType);
  41887. ;
  41888. args.push(this.ObjectPlacement);
  41889. ;
  41890. args.push(this.Representation);
  41891. ;
  41892. args.push(this.Tag);
  41893. ;
  41894. args.push(this.SteelGrade);
  41895. ;
  41896. return args;
  41897. }
  41898. };
  41899. var IfcReinforcingElementType = class {
  41900. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  41901. this.expressID = expressID;
  41902. this.type = type;
  41903. this.GlobalId = GlobalId;
  41904. this.OwnerHistory = OwnerHistory;
  41905. this.Name = Name;
  41906. this.Description = Description;
  41907. this.ApplicableOccurrence = ApplicableOccurrence;
  41908. this.HasPropertySets = HasPropertySets;
  41909. this.RepresentationMaps = RepresentationMaps;
  41910. this.Tag = Tag;
  41911. this.ElementType = ElementType;
  41912. }
  41913. static FromTape(expressID, type, tape) {
  41914. let ptr = 0;
  41915. let GlobalId = tape[ptr++];
  41916. let OwnerHistory = tape[ptr++];
  41917. let Name = tape[ptr++];
  41918. let Description = tape[ptr++];
  41919. let ApplicableOccurrence = tape[ptr++];
  41920. let HasPropertySets = tape[ptr++];
  41921. let RepresentationMaps = tape[ptr++];
  41922. let Tag = tape[ptr++];
  41923. let ElementType = tape[ptr++];
  41924. return new IfcReinforcingElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  41925. }
  41926. ToTape() {
  41927. let args = [];
  41928. args.push(this.GlobalId);
  41929. ;
  41930. args.push(this.OwnerHistory);
  41931. ;
  41932. args.push(this.Name);
  41933. ;
  41934. args.push(this.Description);
  41935. ;
  41936. args.push(this.ApplicableOccurrence);
  41937. ;
  41938. args.push(this.HasPropertySets);
  41939. ;
  41940. args.push(this.RepresentationMaps);
  41941. ;
  41942. args.push(this.Tag);
  41943. ;
  41944. args.push(this.ElementType);
  41945. ;
  41946. return args;
  41947. }
  41948. };
  41949. var IfcReinforcingMesh = class {
  41950. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) {
  41951. this.expressID = expressID;
  41952. this.type = type;
  41953. this.GlobalId = GlobalId;
  41954. this.OwnerHistory = OwnerHistory;
  41955. this.Name = Name;
  41956. this.Description = Description;
  41957. this.ObjectType = ObjectType;
  41958. this.ObjectPlacement = ObjectPlacement;
  41959. this.Representation = Representation;
  41960. this.Tag = Tag;
  41961. this.SteelGrade = SteelGrade;
  41962. this.MeshLength = MeshLength;
  41963. this.MeshWidth = MeshWidth;
  41964. this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
  41965. this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
  41966. this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
  41967. this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
  41968. this.LongitudinalBarSpacing = LongitudinalBarSpacing;
  41969. this.TransverseBarSpacing = TransverseBarSpacing;
  41970. this.PredefinedType = PredefinedType;
  41971. }
  41972. static FromTape(expressID, type, tape) {
  41973. let ptr = 0;
  41974. let GlobalId = tape[ptr++];
  41975. let OwnerHistory = tape[ptr++];
  41976. let Name = tape[ptr++];
  41977. let Description = tape[ptr++];
  41978. let ObjectType = tape[ptr++];
  41979. let ObjectPlacement = tape[ptr++];
  41980. let Representation = tape[ptr++];
  41981. let Tag = tape[ptr++];
  41982. let SteelGrade = tape[ptr++];
  41983. let MeshLength = tape[ptr++];
  41984. let MeshWidth = tape[ptr++];
  41985. let LongitudinalBarNominalDiameter = tape[ptr++];
  41986. let TransverseBarNominalDiameter = tape[ptr++];
  41987. let LongitudinalBarCrossSectionArea = tape[ptr++];
  41988. let TransverseBarCrossSectionArea = tape[ptr++];
  41989. let LongitudinalBarSpacing = tape[ptr++];
  41990. let TransverseBarSpacing = tape[ptr++];
  41991. let PredefinedType = tape[ptr++];
  41992. return new IfcReinforcingMesh(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType);
  41993. }
  41994. ToTape() {
  41995. let args = [];
  41996. args.push(this.GlobalId);
  41997. ;
  41998. args.push(this.OwnerHistory);
  41999. ;
  42000. args.push(this.Name);
  42001. ;
  42002. args.push(this.Description);
  42003. ;
  42004. args.push(this.ObjectType);
  42005. ;
  42006. args.push(this.ObjectPlacement);
  42007. ;
  42008. args.push(this.Representation);
  42009. ;
  42010. args.push(this.Tag);
  42011. ;
  42012. args.push(this.SteelGrade);
  42013. ;
  42014. args.push(this.MeshLength);
  42015. ;
  42016. args.push(this.MeshWidth);
  42017. ;
  42018. args.push(this.LongitudinalBarNominalDiameter);
  42019. ;
  42020. args.push(this.TransverseBarNominalDiameter);
  42021. ;
  42022. args.push(this.LongitudinalBarCrossSectionArea);
  42023. ;
  42024. args.push(this.TransverseBarCrossSectionArea);
  42025. ;
  42026. args.push(this.LongitudinalBarSpacing);
  42027. ;
  42028. args.push(this.TransverseBarSpacing);
  42029. ;
  42030. args.push(this.PredefinedType);
  42031. ;
  42032. return args;
  42033. }
  42034. };
  42035. var IfcReinforcingMeshType = class {
  42036. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) {
  42037. this.expressID = expressID;
  42038. this.type = type;
  42039. this.GlobalId = GlobalId;
  42040. this.OwnerHistory = OwnerHistory;
  42041. this.Name = Name;
  42042. this.Description = Description;
  42043. this.ApplicableOccurrence = ApplicableOccurrence;
  42044. this.HasPropertySets = HasPropertySets;
  42045. this.RepresentationMaps = RepresentationMaps;
  42046. this.Tag = Tag;
  42047. this.ElementType = ElementType;
  42048. this.PredefinedType = PredefinedType;
  42049. this.MeshLength = MeshLength;
  42050. this.MeshWidth = MeshWidth;
  42051. this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
  42052. this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
  42053. this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
  42054. this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
  42055. this.LongitudinalBarSpacing = LongitudinalBarSpacing;
  42056. this.TransverseBarSpacing = TransverseBarSpacing;
  42057. this.BendingShapeCode = BendingShapeCode;
  42058. this.BendingParameters = BendingParameters;
  42059. }
  42060. static FromTape(expressID, type, tape) {
  42061. let ptr = 0;
  42062. let GlobalId = tape[ptr++];
  42063. let OwnerHistory = tape[ptr++];
  42064. let Name = tape[ptr++];
  42065. let Description = tape[ptr++];
  42066. let ApplicableOccurrence = tape[ptr++];
  42067. let HasPropertySets = tape[ptr++];
  42068. let RepresentationMaps = tape[ptr++];
  42069. let Tag = tape[ptr++];
  42070. let ElementType = tape[ptr++];
  42071. let PredefinedType = tape[ptr++];
  42072. let MeshLength = tape[ptr++];
  42073. let MeshWidth = tape[ptr++];
  42074. let LongitudinalBarNominalDiameter = tape[ptr++];
  42075. let TransverseBarNominalDiameter = tape[ptr++];
  42076. let LongitudinalBarCrossSectionArea = tape[ptr++];
  42077. let TransverseBarCrossSectionArea = tape[ptr++];
  42078. let LongitudinalBarSpacing = tape[ptr++];
  42079. let TransverseBarSpacing = tape[ptr++];
  42080. let BendingShapeCode = tape[ptr++];
  42081. let BendingParameters = tape[ptr++];
  42082. return new IfcReinforcingMeshType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters);
  42083. }
  42084. ToTape() {
  42085. let args = [];
  42086. args.push(this.GlobalId);
  42087. ;
  42088. args.push(this.OwnerHistory);
  42089. ;
  42090. args.push(this.Name);
  42091. ;
  42092. args.push(this.Description);
  42093. ;
  42094. args.push(this.ApplicableOccurrence);
  42095. ;
  42096. args.push(this.HasPropertySets);
  42097. ;
  42098. args.push(this.RepresentationMaps);
  42099. ;
  42100. args.push(this.Tag);
  42101. ;
  42102. args.push(this.ElementType);
  42103. ;
  42104. args.push(this.PredefinedType);
  42105. ;
  42106. args.push(this.MeshLength);
  42107. ;
  42108. args.push(this.MeshWidth);
  42109. ;
  42110. args.push(this.LongitudinalBarNominalDiameter);
  42111. ;
  42112. args.push(this.TransverseBarNominalDiameter);
  42113. ;
  42114. args.push(this.LongitudinalBarCrossSectionArea);
  42115. ;
  42116. args.push(this.TransverseBarCrossSectionArea);
  42117. ;
  42118. args.push(this.LongitudinalBarSpacing);
  42119. ;
  42120. args.push(this.TransverseBarSpacing);
  42121. ;
  42122. args.push(this.BendingShapeCode);
  42123. ;
  42124. args.push(this.BendingParameters);
  42125. ;
  42126. return args;
  42127. }
  42128. };
  42129. var IfcRelAggregates = class {
  42130. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
  42131. this.expressID = expressID;
  42132. this.type = type;
  42133. this.GlobalId = GlobalId;
  42134. this.OwnerHistory = OwnerHistory;
  42135. this.Name = Name;
  42136. this.Description = Description;
  42137. this.RelatingObject = RelatingObject;
  42138. this.RelatedObjects = RelatedObjects;
  42139. }
  42140. static FromTape(expressID, type, tape) {
  42141. let ptr = 0;
  42142. let GlobalId = tape[ptr++];
  42143. let OwnerHistory = tape[ptr++];
  42144. let Name = tape[ptr++];
  42145. let Description = tape[ptr++];
  42146. let RelatingObject = tape[ptr++];
  42147. let RelatedObjects = tape[ptr++];
  42148. return new IfcRelAggregates(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects);
  42149. }
  42150. ToTape() {
  42151. let args = [];
  42152. args.push(this.GlobalId);
  42153. ;
  42154. args.push(this.OwnerHistory);
  42155. ;
  42156. args.push(this.Name);
  42157. ;
  42158. args.push(this.Description);
  42159. ;
  42160. args.push(this.RelatingObject);
  42161. ;
  42162. args.push(this.RelatedObjects);
  42163. ;
  42164. return args;
  42165. }
  42166. };
  42167. var IfcRelAssigns = class {
  42168. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) {
  42169. this.expressID = expressID;
  42170. this.type = type;
  42171. this.GlobalId = GlobalId;
  42172. this.OwnerHistory = OwnerHistory;
  42173. this.Name = Name;
  42174. this.Description = Description;
  42175. this.RelatedObjects = RelatedObjects;
  42176. this.RelatedObjectsType = RelatedObjectsType;
  42177. }
  42178. static FromTape(expressID, type, tape) {
  42179. let ptr = 0;
  42180. let GlobalId = tape[ptr++];
  42181. let OwnerHistory = tape[ptr++];
  42182. let Name = tape[ptr++];
  42183. let Description = tape[ptr++];
  42184. let RelatedObjects = tape[ptr++];
  42185. let RelatedObjectsType = tape[ptr++];
  42186. return new IfcRelAssigns(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
  42187. }
  42188. ToTape() {
  42189. let args = [];
  42190. args.push(this.GlobalId);
  42191. ;
  42192. args.push(this.OwnerHistory);
  42193. ;
  42194. args.push(this.Name);
  42195. ;
  42196. args.push(this.Description);
  42197. ;
  42198. args.push(this.RelatedObjects);
  42199. ;
  42200. args.push(this.RelatedObjectsType);
  42201. ;
  42202. return args;
  42203. }
  42204. };
  42205. var IfcRelAssignsToActor = class {
  42206. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) {
  42207. this.expressID = expressID;
  42208. this.type = type;
  42209. this.GlobalId = GlobalId;
  42210. this.OwnerHistory = OwnerHistory;
  42211. this.Name = Name;
  42212. this.Description = Description;
  42213. this.RelatedObjects = RelatedObjects;
  42214. this.RelatedObjectsType = RelatedObjectsType;
  42215. this.RelatingActor = RelatingActor;
  42216. this.ActingRole = ActingRole;
  42217. }
  42218. static FromTape(expressID, type, tape) {
  42219. let ptr = 0;
  42220. let GlobalId = tape[ptr++];
  42221. let OwnerHistory = tape[ptr++];
  42222. let Name = tape[ptr++];
  42223. let Description = tape[ptr++];
  42224. let RelatedObjects = tape[ptr++];
  42225. let RelatedObjectsType = tape[ptr++];
  42226. let RelatingActor = tape[ptr++];
  42227. let ActingRole = tape[ptr++];
  42228. return new IfcRelAssignsToActor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole);
  42229. }
  42230. ToTape() {
  42231. let args = [];
  42232. args.push(this.GlobalId);
  42233. ;
  42234. args.push(this.OwnerHistory);
  42235. ;
  42236. args.push(this.Name);
  42237. ;
  42238. args.push(this.Description);
  42239. ;
  42240. args.push(this.RelatedObjects);
  42241. ;
  42242. args.push(this.RelatedObjectsType);
  42243. ;
  42244. args.push(this.RelatingActor);
  42245. ;
  42246. args.push(this.ActingRole);
  42247. ;
  42248. return args;
  42249. }
  42250. };
  42251. var IfcRelAssignsToControl = class {
  42252. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) {
  42253. this.expressID = expressID;
  42254. this.type = type;
  42255. this.GlobalId = GlobalId;
  42256. this.OwnerHistory = OwnerHistory;
  42257. this.Name = Name;
  42258. this.Description = Description;
  42259. this.RelatedObjects = RelatedObjects;
  42260. this.RelatedObjectsType = RelatedObjectsType;
  42261. this.RelatingControl = RelatingControl;
  42262. }
  42263. static FromTape(expressID, type, tape) {
  42264. let ptr = 0;
  42265. let GlobalId = tape[ptr++];
  42266. let OwnerHistory = tape[ptr++];
  42267. let Name = tape[ptr++];
  42268. let Description = tape[ptr++];
  42269. let RelatedObjects = tape[ptr++];
  42270. let RelatedObjectsType = tape[ptr++];
  42271. let RelatingControl = tape[ptr++];
  42272. return new IfcRelAssignsToControl(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl);
  42273. }
  42274. ToTape() {
  42275. let args = [];
  42276. args.push(this.GlobalId);
  42277. ;
  42278. args.push(this.OwnerHistory);
  42279. ;
  42280. args.push(this.Name);
  42281. ;
  42282. args.push(this.Description);
  42283. ;
  42284. args.push(this.RelatedObjects);
  42285. ;
  42286. args.push(this.RelatedObjectsType);
  42287. ;
  42288. args.push(this.RelatingControl);
  42289. ;
  42290. return args;
  42291. }
  42292. };
  42293. var IfcRelAssignsToGroup = class {
  42294. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) {
  42295. this.expressID = expressID;
  42296. this.type = type;
  42297. this.GlobalId = GlobalId;
  42298. this.OwnerHistory = OwnerHistory;
  42299. this.Name = Name;
  42300. this.Description = Description;
  42301. this.RelatedObjects = RelatedObjects;
  42302. this.RelatedObjectsType = RelatedObjectsType;
  42303. this.RelatingGroup = RelatingGroup;
  42304. }
  42305. static FromTape(expressID, type, tape) {
  42306. let ptr = 0;
  42307. let GlobalId = tape[ptr++];
  42308. let OwnerHistory = tape[ptr++];
  42309. let Name = tape[ptr++];
  42310. let Description = tape[ptr++];
  42311. let RelatedObjects = tape[ptr++];
  42312. let RelatedObjectsType = tape[ptr++];
  42313. let RelatingGroup = tape[ptr++];
  42314. return new IfcRelAssignsToGroup(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup);
  42315. }
  42316. ToTape() {
  42317. let args = [];
  42318. args.push(this.GlobalId);
  42319. ;
  42320. args.push(this.OwnerHistory);
  42321. ;
  42322. args.push(this.Name);
  42323. ;
  42324. args.push(this.Description);
  42325. ;
  42326. args.push(this.RelatedObjects);
  42327. ;
  42328. args.push(this.RelatedObjectsType);
  42329. ;
  42330. args.push(this.RelatingGroup);
  42331. ;
  42332. return args;
  42333. }
  42334. };
  42335. var IfcRelAssignsToGroupByFactor = class {
  42336. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) {
  42337. this.expressID = expressID;
  42338. this.type = type;
  42339. this.GlobalId = GlobalId;
  42340. this.OwnerHistory = OwnerHistory;
  42341. this.Name = Name;
  42342. this.Description = Description;
  42343. this.RelatedObjects = RelatedObjects;
  42344. this.RelatedObjectsType = RelatedObjectsType;
  42345. this.RelatingGroup = RelatingGroup;
  42346. this.Factor = Factor;
  42347. }
  42348. static FromTape(expressID, type, tape) {
  42349. let ptr = 0;
  42350. let GlobalId = tape[ptr++];
  42351. let OwnerHistory = tape[ptr++];
  42352. let Name = tape[ptr++];
  42353. let Description = tape[ptr++];
  42354. let RelatedObjects = tape[ptr++];
  42355. let RelatedObjectsType = tape[ptr++];
  42356. let RelatingGroup = tape[ptr++];
  42357. let Factor = tape[ptr++];
  42358. return new IfcRelAssignsToGroupByFactor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor);
  42359. }
  42360. ToTape() {
  42361. let args = [];
  42362. args.push(this.GlobalId);
  42363. ;
  42364. args.push(this.OwnerHistory);
  42365. ;
  42366. args.push(this.Name);
  42367. ;
  42368. args.push(this.Description);
  42369. ;
  42370. args.push(this.RelatedObjects);
  42371. ;
  42372. args.push(this.RelatedObjectsType);
  42373. ;
  42374. args.push(this.RelatingGroup);
  42375. ;
  42376. args.push(this.Factor);
  42377. ;
  42378. return args;
  42379. }
  42380. };
  42381. var IfcRelAssignsToProcess = class {
  42382. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) {
  42383. this.expressID = expressID;
  42384. this.type = type;
  42385. this.GlobalId = GlobalId;
  42386. this.OwnerHistory = OwnerHistory;
  42387. this.Name = Name;
  42388. this.Description = Description;
  42389. this.RelatedObjects = RelatedObjects;
  42390. this.RelatedObjectsType = RelatedObjectsType;
  42391. this.RelatingProcess = RelatingProcess;
  42392. this.QuantityInProcess = QuantityInProcess;
  42393. }
  42394. static FromTape(expressID, type, tape) {
  42395. let ptr = 0;
  42396. let GlobalId = tape[ptr++];
  42397. let OwnerHistory = tape[ptr++];
  42398. let Name = tape[ptr++];
  42399. let Description = tape[ptr++];
  42400. let RelatedObjects = tape[ptr++];
  42401. let RelatedObjectsType = tape[ptr++];
  42402. let RelatingProcess = tape[ptr++];
  42403. let QuantityInProcess = tape[ptr++];
  42404. return new IfcRelAssignsToProcess(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess);
  42405. }
  42406. ToTape() {
  42407. let args = [];
  42408. args.push(this.GlobalId);
  42409. ;
  42410. args.push(this.OwnerHistory);
  42411. ;
  42412. args.push(this.Name);
  42413. ;
  42414. args.push(this.Description);
  42415. ;
  42416. args.push(this.RelatedObjects);
  42417. ;
  42418. args.push(this.RelatedObjectsType);
  42419. ;
  42420. args.push(this.RelatingProcess);
  42421. ;
  42422. args.push(this.QuantityInProcess);
  42423. ;
  42424. return args;
  42425. }
  42426. };
  42427. var IfcRelAssignsToProduct = class {
  42428. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) {
  42429. this.expressID = expressID;
  42430. this.type = type;
  42431. this.GlobalId = GlobalId;
  42432. this.OwnerHistory = OwnerHistory;
  42433. this.Name = Name;
  42434. this.Description = Description;
  42435. this.RelatedObjects = RelatedObjects;
  42436. this.RelatedObjectsType = RelatedObjectsType;
  42437. this.RelatingProduct = RelatingProduct;
  42438. }
  42439. static FromTape(expressID, type, tape) {
  42440. let ptr = 0;
  42441. let GlobalId = tape[ptr++];
  42442. let OwnerHistory = tape[ptr++];
  42443. let Name = tape[ptr++];
  42444. let Description = tape[ptr++];
  42445. let RelatedObjects = tape[ptr++];
  42446. let RelatedObjectsType = tape[ptr++];
  42447. let RelatingProduct = tape[ptr++];
  42448. return new IfcRelAssignsToProduct(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct);
  42449. }
  42450. ToTape() {
  42451. let args = [];
  42452. args.push(this.GlobalId);
  42453. ;
  42454. args.push(this.OwnerHistory);
  42455. ;
  42456. args.push(this.Name);
  42457. ;
  42458. args.push(this.Description);
  42459. ;
  42460. args.push(this.RelatedObjects);
  42461. ;
  42462. args.push(this.RelatedObjectsType);
  42463. ;
  42464. args.push(this.RelatingProduct);
  42465. ;
  42466. return args;
  42467. }
  42468. };
  42469. var IfcRelAssignsToResource = class {
  42470. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) {
  42471. this.expressID = expressID;
  42472. this.type = type;
  42473. this.GlobalId = GlobalId;
  42474. this.OwnerHistory = OwnerHistory;
  42475. this.Name = Name;
  42476. this.Description = Description;
  42477. this.RelatedObjects = RelatedObjects;
  42478. this.RelatedObjectsType = RelatedObjectsType;
  42479. this.RelatingResource = RelatingResource;
  42480. }
  42481. static FromTape(expressID, type, tape) {
  42482. let ptr = 0;
  42483. let GlobalId = tape[ptr++];
  42484. let OwnerHistory = tape[ptr++];
  42485. let Name = tape[ptr++];
  42486. let Description = tape[ptr++];
  42487. let RelatedObjects = tape[ptr++];
  42488. let RelatedObjectsType = tape[ptr++];
  42489. let RelatingResource = tape[ptr++];
  42490. return new IfcRelAssignsToResource(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource);
  42491. }
  42492. ToTape() {
  42493. let args = [];
  42494. args.push(this.GlobalId);
  42495. ;
  42496. args.push(this.OwnerHistory);
  42497. ;
  42498. args.push(this.Name);
  42499. ;
  42500. args.push(this.Description);
  42501. ;
  42502. args.push(this.RelatedObjects);
  42503. ;
  42504. args.push(this.RelatedObjectsType);
  42505. ;
  42506. args.push(this.RelatingResource);
  42507. ;
  42508. return args;
  42509. }
  42510. };
  42511. var IfcRelAssociates = class {
  42512. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects) {
  42513. this.expressID = expressID;
  42514. this.type = type;
  42515. this.GlobalId = GlobalId;
  42516. this.OwnerHistory = OwnerHistory;
  42517. this.Name = Name;
  42518. this.Description = Description;
  42519. this.RelatedObjects = RelatedObjects;
  42520. }
  42521. static FromTape(expressID, type, tape) {
  42522. let ptr = 0;
  42523. let GlobalId = tape[ptr++];
  42524. let OwnerHistory = tape[ptr++];
  42525. let Name = tape[ptr++];
  42526. let Description = tape[ptr++];
  42527. let RelatedObjects = tape[ptr++];
  42528. return new IfcRelAssociates(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects);
  42529. }
  42530. ToTape() {
  42531. let args = [];
  42532. args.push(this.GlobalId);
  42533. ;
  42534. args.push(this.OwnerHistory);
  42535. ;
  42536. args.push(this.Name);
  42537. ;
  42538. args.push(this.Description);
  42539. ;
  42540. args.push(this.RelatedObjects);
  42541. ;
  42542. return args;
  42543. }
  42544. };
  42545. var IfcRelAssociatesApproval = class {
  42546. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) {
  42547. this.expressID = expressID;
  42548. this.type = type;
  42549. this.GlobalId = GlobalId;
  42550. this.OwnerHistory = OwnerHistory;
  42551. this.Name = Name;
  42552. this.Description = Description;
  42553. this.RelatedObjects = RelatedObjects;
  42554. this.RelatingApproval = RelatingApproval;
  42555. }
  42556. static FromTape(expressID, type, tape) {
  42557. let ptr = 0;
  42558. let GlobalId = tape[ptr++];
  42559. let OwnerHistory = tape[ptr++];
  42560. let Name = tape[ptr++];
  42561. let Description = tape[ptr++];
  42562. let RelatedObjects = tape[ptr++];
  42563. let RelatingApproval = tape[ptr++];
  42564. return new IfcRelAssociatesApproval(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval);
  42565. }
  42566. ToTape() {
  42567. let args = [];
  42568. args.push(this.GlobalId);
  42569. ;
  42570. args.push(this.OwnerHistory);
  42571. ;
  42572. args.push(this.Name);
  42573. ;
  42574. args.push(this.Description);
  42575. ;
  42576. args.push(this.RelatedObjects);
  42577. ;
  42578. args.push(this.RelatingApproval);
  42579. ;
  42580. return args;
  42581. }
  42582. };
  42583. var IfcRelAssociatesClassification = class {
  42584. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) {
  42585. this.expressID = expressID;
  42586. this.type = type;
  42587. this.GlobalId = GlobalId;
  42588. this.OwnerHistory = OwnerHistory;
  42589. this.Name = Name;
  42590. this.Description = Description;
  42591. this.RelatedObjects = RelatedObjects;
  42592. this.RelatingClassification = RelatingClassification;
  42593. }
  42594. static FromTape(expressID, type, tape) {
  42595. let ptr = 0;
  42596. let GlobalId = tape[ptr++];
  42597. let OwnerHistory = tape[ptr++];
  42598. let Name = tape[ptr++];
  42599. let Description = tape[ptr++];
  42600. let RelatedObjects = tape[ptr++];
  42601. let RelatingClassification = tape[ptr++];
  42602. return new IfcRelAssociatesClassification(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification);
  42603. }
  42604. ToTape() {
  42605. let args = [];
  42606. args.push(this.GlobalId);
  42607. ;
  42608. args.push(this.OwnerHistory);
  42609. ;
  42610. args.push(this.Name);
  42611. ;
  42612. args.push(this.Description);
  42613. ;
  42614. args.push(this.RelatedObjects);
  42615. ;
  42616. args.push(this.RelatingClassification);
  42617. ;
  42618. return args;
  42619. }
  42620. };
  42621. var IfcRelAssociatesConstraint = class {
  42622. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) {
  42623. this.expressID = expressID;
  42624. this.type = type;
  42625. this.GlobalId = GlobalId;
  42626. this.OwnerHistory = OwnerHistory;
  42627. this.Name = Name;
  42628. this.Description = Description;
  42629. this.RelatedObjects = RelatedObjects;
  42630. this.Intent = Intent;
  42631. this.RelatingConstraint = RelatingConstraint;
  42632. }
  42633. static FromTape(expressID, type, tape) {
  42634. let ptr = 0;
  42635. let GlobalId = tape[ptr++];
  42636. let OwnerHistory = tape[ptr++];
  42637. let Name = tape[ptr++];
  42638. let Description = tape[ptr++];
  42639. let RelatedObjects = tape[ptr++];
  42640. let Intent = tape[ptr++];
  42641. let RelatingConstraint = tape[ptr++];
  42642. return new IfcRelAssociatesConstraint(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint);
  42643. }
  42644. ToTape() {
  42645. let args = [];
  42646. args.push(this.GlobalId);
  42647. ;
  42648. args.push(this.OwnerHistory);
  42649. ;
  42650. args.push(this.Name);
  42651. ;
  42652. args.push(this.Description);
  42653. ;
  42654. args.push(this.RelatedObjects);
  42655. ;
  42656. args.push(this.Intent);
  42657. ;
  42658. args.push(this.RelatingConstraint);
  42659. ;
  42660. return args;
  42661. }
  42662. };
  42663. var IfcRelAssociatesDocument = class {
  42664. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) {
  42665. this.expressID = expressID;
  42666. this.type = type;
  42667. this.GlobalId = GlobalId;
  42668. this.OwnerHistory = OwnerHistory;
  42669. this.Name = Name;
  42670. this.Description = Description;
  42671. this.RelatedObjects = RelatedObjects;
  42672. this.RelatingDocument = RelatingDocument;
  42673. }
  42674. static FromTape(expressID, type, tape) {
  42675. let ptr = 0;
  42676. let GlobalId = tape[ptr++];
  42677. let OwnerHistory = tape[ptr++];
  42678. let Name = tape[ptr++];
  42679. let Description = tape[ptr++];
  42680. let RelatedObjects = tape[ptr++];
  42681. let RelatingDocument = tape[ptr++];
  42682. return new IfcRelAssociatesDocument(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument);
  42683. }
  42684. ToTape() {
  42685. let args = [];
  42686. args.push(this.GlobalId);
  42687. ;
  42688. args.push(this.OwnerHistory);
  42689. ;
  42690. args.push(this.Name);
  42691. ;
  42692. args.push(this.Description);
  42693. ;
  42694. args.push(this.RelatedObjects);
  42695. ;
  42696. args.push(this.RelatingDocument);
  42697. ;
  42698. return args;
  42699. }
  42700. };
  42701. var IfcRelAssociatesLibrary = class {
  42702. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) {
  42703. this.expressID = expressID;
  42704. this.type = type;
  42705. this.GlobalId = GlobalId;
  42706. this.OwnerHistory = OwnerHistory;
  42707. this.Name = Name;
  42708. this.Description = Description;
  42709. this.RelatedObjects = RelatedObjects;
  42710. this.RelatingLibrary = RelatingLibrary;
  42711. }
  42712. static FromTape(expressID, type, tape) {
  42713. let ptr = 0;
  42714. let GlobalId = tape[ptr++];
  42715. let OwnerHistory = tape[ptr++];
  42716. let Name = tape[ptr++];
  42717. let Description = tape[ptr++];
  42718. let RelatedObjects = tape[ptr++];
  42719. let RelatingLibrary = tape[ptr++];
  42720. return new IfcRelAssociatesLibrary(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary);
  42721. }
  42722. ToTape() {
  42723. let args = [];
  42724. args.push(this.GlobalId);
  42725. ;
  42726. args.push(this.OwnerHistory);
  42727. ;
  42728. args.push(this.Name);
  42729. ;
  42730. args.push(this.Description);
  42731. ;
  42732. args.push(this.RelatedObjects);
  42733. ;
  42734. args.push(this.RelatingLibrary);
  42735. ;
  42736. return args;
  42737. }
  42738. };
  42739. var IfcRelAssociatesMaterial = class {
  42740. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) {
  42741. this.expressID = expressID;
  42742. this.type = type;
  42743. this.GlobalId = GlobalId;
  42744. this.OwnerHistory = OwnerHistory;
  42745. this.Name = Name;
  42746. this.Description = Description;
  42747. this.RelatedObjects = RelatedObjects;
  42748. this.RelatingMaterial = RelatingMaterial;
  42749. }
  42750. static FromTape(expressID, type, tape) {
  42751. let ptr = 0;
  42752. let GlobalId = tape[ptr++];
  42753. let OwnerHistory = tape[ptr++];
  42754. let Name = tape[ptr++];
  42755. let Description = tape[ptr++];
  42756. let RelatedObjects = tape[ptr++];
  42757. let RelatingMaterial = tape[ptr++];
  42758. return new IfcRelAssociatesMaterial(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial);
  42759. }
  42760. ToTape() {
  42761. let args = [];
  42762. args.push(this.GlobalId);
  42763. ;
  42764. args.push(this.OwnerHistory);
  42765. ;
  42766. args.push(this.Name);
  42767. ;
  42768. args.push(this.Description);
  42769. ;
  42770. args.push(this.RelatedObjects);
  42771. ;
  42772. args.push(this.RelatingMaterial);
  42773. ;
  42774. return args;
  42775. }
  42776. };
  42777. var IfcRelConnects = class {
  42778. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  42779. this.expressID = expressID;
  42780. this.type = type;
  42781. this.GlobalId = GlobalId;
  42782. this.OwnerHistory = OwnerHistory;
  42783. this.Name = Name;
  42784. this.Description = Description;
  42785. }
  42786. static FromTape(expressID, type, tape) {
  42787. let ptr = 0;
  42788. let GlobalId = tape[ptr++];
  42789. let OwnerHistory = tape[ptr++];
  42790. let Name = tape[ptr++];
  42791. let Description = tape[ptr++];
  42792. return new IfcRelConnects(expressID, type, GlobalId, OwnerHistory, Name, Description);
  42793. }
  42794. ToTape() {
  42795. let args = [];
  42796. args.push(this.GlobalId);
  42797. ;
  42798. args.push(this.OwnerHistory);
  42799. ;
  42800. args.push(this.Name);
  42801. ;
  42802. args.push(this.Description);
  42803. ;
  42804. return args;
  42805. }
  42806. };
  42807. var IfcRelConnectsElements = class {
  42808. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) {
  42809. this.expressID = expressID;
  42810. this.type = type;
  42811. this.GlobalId = GlobalId;
  42812. this.OwnerHistory = OwnerHistory;
  42813. this.Name = Name;
  42814. this.Description = Description;
  42815. this.ConnectionGeometry = ConnectionGeometry;
  42816. this.RelatingElement = RelatingElement;
  42817. this.RelatedElement = RelatedElement;
  42818. }
  42819. static FromTape(expressID, type, tape) {
  42820. let ptr = 0;
  42821. let GlobalId = tape[ptr++];
  42822. let OwnerHistory = tape[ptr++];
  42823. let Name = tape[ptr++];
  42824. let Description = tape[ptr++];
  42825. let ConnectionGeometry = tape[ptr++];
  42826. let RelatingElement = tape[ptr++];
  42827. let RelatedElement = tape[ptr++];
  42828. return new IfcRelConnectsElements(expressID, type, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
  42829. }
  42830. ToTape() {
  42831. let args = [];
  42832. args.push(this.GlobalId);
  42833. ;
  42834. args.push(this.OwnerHistory);
  42835. ;
  42836. args.push(this.Name);
  42837. ;
  42838. args.push(this.Description);
  42839. ;
  42840. args.push(this.ConnectionGeometry);
  42841. ;
  42842. args.push(this.RelatingElement);
  42843. ;
  42844. args.push(this.RelatedElement);
  42845. ;
  42846. return args;
  42847. }
  42848. };
  42849. var IfcRelConnectsPathElements = class {
  42850. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) {
  42851. this.expressID = expressID;
  42852. this.type = type;
  42853. this.GlobalId = GlobalId;
  42854. this.OwnerHistory = OwnerHistory;
  42855. this.Name = Name;
  42856. this.Description = Description;
  42857. this.ConnectionGeometry = ConnectionGeometry;
  42858. this.RelatingElement = RelatingElement;
  42859. this.RelatedElement = RelatedElement;
  42860. this.RelatingPriorities = RelatingPriorities;
  42861. this.RelatedPriorities = RelatedPriorities;
  42862. this.RelatedConnectionType = RelatedConnectionType;
  42863. this.RelatingConnectionType = RelatingConnectionType;
  42864. }
  42865. static FromTape(expressID, type, tape) {
  42866. let ptr = 0;
  42867. let GlobalId = tape[ptr++];
  42868. let OwnerHistory = tape[ptr++];
  42869. let Name = tape[ptr++];
  42870. let Description = tape[ptr++];
  42871. let ConnectionGeometry = tape[ptr++];
  42872. let RelatingElement = tape[ptr++];
  42873. let RelatedElement = tape[ptr++];
  42874. let RelatingPriorities = tape[ptr++];
  42875. let RelatedPriorities = tape[ptr++];
  42876. let RelatedConnectionType = tape[ptr++];
  42877. let RelatingConnectionType = tape[ptr++];
  42878. return new IfcRelConnectsPathElements(expressID, type, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType);
  42879. }
  42880. ToTape() {
  42881. let args = [];
  42882. args.push(this.GlobalId);
  42883. ;
  42884. args.push(this.OwnerHistory);
  42885. ;
  42886. args.push(this.Name);
  42887. ;
  42888. args.push(this.Description);
  42889. ;
  42890. args.push(this.ConnectionGeometry);
  42891. ;
  42892. args.push(this.RelatingElement);
  42893. ;
  42894. args.push(this.RelatedElement);
  42895. ;
  42896. args.push(this.RelatingPriorities);
  42897. ;
  42898. args.push(this.RelatedPriorities);
  42899. ;
  42900. args.push(this.RelatedConnectionType);
  42901. ;
  42902. args.push(this.RelatingConnectionType);
  42903. ;
  42904. return args;
  42905. }
  42906. };
  42907. var IfcRelConnectsPortToElement = class {
  42908. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) {
  42909. this.expressID = expressID;
  42910. this.type = type;
  42911. this.GlobalId = GlobalId;
  42912. this.OwnerHistory = OwnerHistory;
  42913. this.Name = Name;
  42914. this.Description = Description;
  42915. this.RelatingPort = RelatingPort;
  42916. this.RelatedElement = RelatedElement;
  42917. }
  42918. static FromTape(expressID, type, tape) {
  42919. let ptr = 0;
  42920. let GlobalId = tape[ptr++];
  42921. let OwnerHistory = tape[ptr++];
  42922. let Name = tape[ptr++];
  42923. let Description = tape[ptr++];
  42924. let RelatingPort = tape[ptr++];
  42925. let RelatedElement = tape[ptr++];
  42926. return new IfcRelConnectsPortToElement(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement);
  42927. }
  42928. ToTape() {
  42929. let args = [];
  42930. args.push(this.GlobalId);
  42931. ;
  42932. args.push(this.OwnerHistory);
  42933. ;
  42934. args.push(this.Name);
  42935. ;
  42936. args.push(this.Description);
  42937. ;
  42938. args.push(this.RelatingPort);
  42939. ;
  42940. args.push(this.RelatedElement);
  42941. ;
  42942. return args;
  42943. }
  42944. };
  42945. var IfcRelConnectsPorts = class {
  42946. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) {
  42947. this.expressID = expressID;
  42948. this.type = type;
  42949. this.GlobalId = GlobalId;
  42950. this.OwnerHistory = OwnerHistory;
  42951. this.Name = Name;
  42952. this.Description = Description;
  42953. this.RelatingPort = RelatingPort;
  42954. this.RelatedPort = RelatedPort;
  42955. this.RealizingElement = RealizingElement;
  42956. }
  42957. static FromTape(expressID, type, tape) {
  42958. let ptr = 0;
  42959. let GlobalId = tape[ptr++];
  42960. let OwnerHistory = tape[ptr++];
  42961. let Name = tape[ptr++];
  42962. let Description = tape[ptr++];
  42963. let RelatingPort = tape[ptr++];
  42964. let RelatedPort = tape[ptr++];
  42965. let RealizingElement = tape[ptr++];
  42966. return new IfcRelConnectsPorts(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement);
  42967. }
  42968. ToTape() {
  42969. let args = [];
  42970. args.push(this.GlobalId);
  42971. ;
  42972. args.push(this.OwnerHistory);
  42973. ;
  42974. args.push(this.Name);
  42975. ;
  42976. args.push(this.Description);
  42977. ;
  42978. args.push(this.RelatingPort);
  42979. ;
  42980. args.push(this.RelatedPort);
  42981. ;
  42982. args.push(this.RealizingElement);
  42983. ;
  42984. return args;
  42985. }
  42986. };
  42987. var IfcRelConnectsStructuralActivity = class {
  42988. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) {
  42989. this.expressID = expressID;
  42990. this.type = type;
  42991. this.GlobalId = GlobalId;
  42992. this.OwnerHistory = OwnerHistory;
  42993. this.Name = Name;
  42994. this.Description = Description;
  42995. this.RelatingElement = RelatingElement;
  42996. this.RelatedStructuralActivity = RelatedStructuralActivity;
  42997. }
  42998. static FromTape(expressID, type, tape) {
  42999. let ptr = 0;
  43000. let GlobalId = tape[ptr++];
  43001. let OwnerHistory = tape[ptr++];
  43002. let Name = tape[ptr++];
  43003. let Description = tape[ptr++];
  43004. let RelatingElement = tape[ptr++];
  43005. let RelatedStructuralActivity = tape[ptr++];
  43006. return new IfcRelConnectsStructuralActivity(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity);
  43007. }
  43008. ToTape() {
  43009. let args = [];
  43010. args.push(this.GlobalId);
  43011. ;
  43012. args.push(this.OwnerHistory);
  43013. ;
  43014. args.push(this.Name);
  43015. ;
  43016. args.push(this.Description);
  43017. ;
  43018. args.push(this.RelatingElement);
  43019. ;
  43020. args.push(this.RelatedStructuralActivity);
  43021. ;
  43022. return args;
  43023. }
  43024. };
  43025. var IfcRelConnectsStructuralMember = class {
  43026. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) {
  43027. this.expressID = expressID;
  43028. this.type = type;
  43029. this.GlobalId = GlobalId;
  43030. this.OwnerHistory = OwnerHistory;
  43031. this.Name = Name;
  43032. this.Description = Description;
  43033. this.RelatingStructuralMember = RelatingStructuralMember;
  43034. this.RelatedStructuralConnection = RelatedStructuralConnection;
  43035. this.AppliedCondition = AppliedCondition;
  43036. this.AdditionalConditions = AdditionalConditions;
  43037. this.SupportedLength = SupportedLength;
  43038. this.ConditionCoordinateSystem = ConditionCoordinateSystem;
  43039. }
  43040. static FromTape(expressID, type, tape) {
  43041. let ptr = 0;
  43042. let GlobalId = tape[ptr++];
  43043. let OwnerHistory = tape[ptr++];
  43044. let Name = tape[ptr++];
  43045. let Description = tape[ptr++];
  43046. let RelatingStructuralMember = tape[ptr++];
  43047. let RelatedStructuralConnection = tape[ptr++];
  43048. let AppliedCondition = tape[ptr++];
  43049. let AdditionalConditions = tape[ptr++];
  43050. let SupportedLength = tape[ptr++];
  43051. let ConditionCoordinateSystem = tape[ptr++];
  43052. return new IfcRelConnectsStructuralMember(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem);
  43053. }
  43054. ToTape() {
  43055. let args = [];
  43056. args.push(this.GlobalId);
  43057. ;
  43058. args.push(this.OwnerHistory);
  43059. ;
  43060. args.push(this.Name);
  43061. ;
  43062. args.push(this.Description);
  43063. ;
  43064. args.push(this.RelatingStructuralMember);
  43065. ;
  43066. args.push(this.RelatedStructuralConnection);
  43067. ;
  43068. args.push(this.AppliedCondition);
  43069. ;
  43070. args.push(this.AdditionalConditions);
  43071. ;
  43072. args.push(this.SupportedLength);
  43073. ;
  43074. args.push(this.ConditionCoordinateSystem);
  43075. ;
  43076. return args;
  43077. }
  43078. };
  43079. var IfcRelConnectsWithEccentricity = class {
  43080. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) {
  43081. this.expressID = expressID;
  43082. this.type = type;
  43083. this.GlobalId = GlobalId;
  43084. this.OwnerHistory = OwnerHistory;
  43085. this.Name = Name;
  43086. this.Description = Description;
  43087. this.RelatingStructuralMember = RelatingStructuralMember;
  43088. this.RelatedStructuralConnection = RelatedStructuralConnection;
  43089. this.AppliedCondition = AppliedCondition;
  43090. this.AdditionalConditions = AdditionalConditions;
  43091. this.SupportedLength = SupportedLength;
  43092. this.ConditionCoordinateSystem = ConditionCoordinateSystem;
  43093. this.ConnectionConstraint = ConnectionConstraint;
  43094. }
  43095. static FromTape(expressID, type, tape) {
  43096. let ptr = 0;
  43097. let GlobalId = tape[ptr++];
  43098. let OwnerHistory = tape[ptr++];
  43099. let Name = tape[ptr++];
  43100. let Description = tape[ptr++];
  43101. let RelatingStructuralMember = tape[ptr++];
  43102. let RelatedStructuralConnection = tape[ptr++];
  43103. let AppliedCondition = tape[ptr++];
  43104. let AdditionalConditions = tape[ptr++];
  43105. let SupportedLength = tape[ptr++];
  43106. let ConditionCoordinateSystem = tape[ptr++];
  43107. let ConnectionConstraint = tape[ptr++];
  43108. return new IfcRelConnectsWithEccentricity(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint);
  43109. }
  43110. ToTape() {
  43111. let args = [];
  43112. args.push(this.GlobalId);
  43113. ;
  43114. args.push(this.OwnerHistory);
  43115. ;
  43116. args.push(this.Name);
  43117. ;
  43118. args.push(this.Description);
  43119. ;
  43120. args.push(this.RelatingStructuralMember);
  43121. ;
  43122. args.push(this.RelatedStructuralConnection);
  43123. ;
  43124. args.push(this.AppliedCondition);
  43125. ;
  43126. args.push(this.AdditionalConditions);
  43127. ;
  43128. args.push(this.SupportedLength);
  43129. ;
  43130. args.push(this.ConditionCoordinateSystem);
  43131. ;
  43132. args.push(this.ConnectionConstraint);
  43133. ;
  43134. return args;
  43135. }
  43136. };
  43137. var IfcRelConnectsWithRealizingElements = class {
  43138. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) {
  43139. this.expressID = expressID;
  43140. this.type = type;
  43141. this.GlobalId = GlobalId;
  43142. this.OwnerHistory = OwnerHistory;
  43143. this.Name = Name;
  43144. this.Description = Description;
  43145. this.ConnectionGeometry = ConnectionGeometry;
  43146. this.RelatingElement = RelatingElement;
  43147. this.RelatedElement = RelatedElement;
  43148. this.RealizingElements = RealizingElements;
  43149. this.ConnectionType = ConnectionType;
  43150. }
  43151. static FromTape(expressID, type, tape) {
  43152. let ptr = 0;
  43153. let GlobalId = tape[ptr++];
  43154. let OwnerHistory = tape[ptr++];
  43155. let Name = tape[ptr++];
  43156. let Description = tape[ptr++];
  43157. let ConnectionGeometry = tape[ptr++];
  43158. let RelatingElement = tape[ptr++];
  43159. let RelatedElement = tape[ptr++];
  43160. let RealizingElements = tape[ptr++];
  43161. let ConnectionType = tape[ptr++];
  43162. return new IfcRelConnectsWithRealizingElements(expressID, type, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType);
  43163. }
  43164. ToTape() {
  43165. let args = [];
  43166. args.push(this.GlobalId);
  43167. ;
  43168. args.push(this.OwnerHistory);
  43169. ;
  43170. args.push(this.Name);
  43171. ;
  43172. args.push(this.Description);
  43173. ;
  43174. args.push(this.ConnectionGeometry);
  43175. ;
  43176. args.push(this.RelatingElement);
  43177. ;
  43178. args.push(this.RelatedElement);
  43179. ;
  43180. args.push(this.RealizingElements);
  43181. ;
  43182. args.push(this.ConnectionType);
  43183. ;
  43184. return args;
  43185. }
  43186. };
  43187. var IfcRelContainedInSpatialStructure = class {
  43188. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
  43189. this.expressID = expressID;
  43190. this.type = type;
  43191. this.GlobalId = GlobalId;
  43192. this.OwnerHistory = OwnerHistory;
  43193. this.Name = Name;
  43194. this.Description = Description;
  43195. this.RelatedElements = RelatedElements;
  43196. this.RelatingStructure = RelatingStructure;
  43197. }
  43198. static FromTape(expressID, type, tape) {
  43199. let ptr = 0;
  43200. let GlobalId = tape[ptr++];
  43201. let OwnerHistory = tape[ptr++];
  43202. let Name = tape[ptr++];
  43203. let Description = tape[ptr++];
  43204. let RelatedElements = tape[ptr++];
  43205. let RelatingStructure = tape[ptr++];
  43206. return new IfcRelContainedInSpatialStructure(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure);
  43207. }
  43208. ToTape() {
  43209. let args = [];
  43210. args.push(this.GlobalId);
  43211. ;
  43212. args.push(this.OwnerHistory);
  43213. ;
  43214. args.push(this.Name);
  43215. ;
  43216. args.push(this.Description);
  43217. ;
  43218. args.push(this.RelatedElements);
  43219. ;
  43220. args.push(this.RelatingStructure);
  43221. ;
  43222. return args;
  43223. }
  43224. };
  43225. var IfcRelCoversBldgElements = class {
  43226. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) {
  43227. this.expressID = expressID;
  43228. this.type = type;
  43229. this.GlobalId = GlobalId;
  43230. this.OwnerHistory = OwnerHistory;
  43231. this.Name = Name;
  43232. this.Description = Description;
  43233. this.RelatingBuildingElement = RelatingBuildingElement;
  43234. this.RelatedCoverings = RelatedCoverings;
  43235. }
  43236. static FromTape(expressID, type, tape) {
  43237. let ptr = 0;
  43238. let GlobalId = tape[ptr++];
  43239. let OwnerHistory = tape[ptr++];
  43240. let Name = tape[ptr++];
  43241. let Description = tape[ptr++];
  43242. let RelatingBuildingElement = tape[ptr++];
  43243. let RelatedCoverings = tape[ptr++];
  43244. return new IfcRelCoversBldgElements(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings);
  43245. }
  43246. ToTape() {
  43247. let args = [];
  43248. args.push(this.GlobalId);
  43249. ;
  43250. args.push(this.OwnerHistory);
  43251. ;
  43252. args.push(this.Name);
  43253. ;
  43254. args.push(this.Description);
  43255. ;
  43256. args.push(this.RelatingBuildingElement);
  43257. ;
  43258. args.push(this.RelatedCoverings);
  43259. ;
  43260. return args;
  43261. }
  43262. };
  43263. var IfcRelCoversSpaces = class {
  43264. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) {
  43265. this.expressID = expressID;
  43266. this.type = type;
  43267. this.GlobalId = GlobalId;
  43268. this.OwnerHistory = OwnerHistory;
  43269. this.Name = Name;
  43270. this.Description = Description;
  43271. this.RelatingSpace = RelatingSpace;
  43272. this.RelatedCoverings = RelatedCoverings;
  43273. }
  43274. static FromTape(expressID, type, tape) {
  43275. let ptr = 0;
  43276. let GlobalId = tape[ptr++];
  43277. let OwnerHistory = tape[ptr++];
  43278. let Name = tape[ptr++];
  43279. let Description = tape[ptr++];
  43280. let RelatingSpace = tape[ptr++];
  43281. let RelatedCoverings = tape[ptr++];
  43282. return new IfcRelCoversSpaces(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings);
  43283. }
  43284. ToTape() {
  43285. let args = [];
  43286. args.push(this.GlobalId);
  43287. ;
  43288. args.push(this.OwnerHistory);
  43289. ;
  43290. args.push(this.Name);
  43291. ;
  43292. args.push(this.Description);
  43293. ;
  43294. args.push(this.RelatingSpace);
  43295. ;
  43296. args.push(this.RelatedCoverings);
  43297. ;
  43298. return args;
  43299. }
  43300. };
  43301. var IfcRelDeclares = class {
  43302. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) {
  43303. this.expressID = expressID;
  43304. this.type = type;
  43305. this.GlobalId = GlobalId;
  43306. this.OwnerHistory = OwnerHistory;
  43307. this.Name = Name;
  43308. this.Description = Description;
  43309. this.RelatingContext = RelatingContext;
  43310. this.RelatedDefinitions = RelatedDefinitions;
  43311. }
  43312. static FromTape(expressID, type, tape) {
  43313. let ptr = 0;
  43314. let GlobalId = tape[ptr++];
  43315. let OwnerHistory = tape[ptr++];
  43316. let Name = tape[ptr++];
  43317. let Description = tape[ptr++];
  43318. let RelatingContext = tape[ptr++];
  43319. let RelatedDefinitions = tape[ptr++];
  43320. return new IfcRelDeclares(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions);
  43321. }
  43322. ToTape() {
  43323. let args = [];
  43324. args.push(this.GlobalId);
  43325. ;
  43326. args.push(this.OwnerHistory);
  43327. ;
  43328. args.push(this.Name);
  43329. ;
  43330. args.push(this.Description);
  43331. ;
  43332. args.push(this.RelatingContext);
  43333. ;
  43334. args.push(this.RelatedDefinitions);
  43335. ;
  43336. return args;
  43337. }
  43338. };
  43339. var IfcRelDecomposes = class {
  43340. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  43341. this.expressID = expressID;
  43342. this.type = type;
  43343. this.GlobalId = GlobalId;
  43344. this.OwnerHistory = OwnerHistory;
  43345. this.Name = Name;
  43346. this.Description = Description;
  43347. }
  43348. static FromTape(expressID, type, tape) {
  43349. let ptr = 0;
  43350. let GlobalId = tape[ptr++];
  43351. let OwnerHistory = tape[ptr++];
  43352. let Name = tape[ptr++];
  43353. let Description = tape[ptr++];
  43354. return new IfcRelDecomposes(expressID, type, GlobalId, OwnerHistory, Name, Description);
  43355. }
  43356. ToTape() {
  43357. let args = [];
  43358. args.push(this.GlobalId);
  43359. ;
  43360. args.push(this.OwnerHistory);
  43361. ;
  43362. args.push(this.Name);
  43363. ;
  43364. args.push(this.Description);
  43365. ;
  43366. return args;
  43367. }
  43368. };
  43369. var IfcRelDefines = class {
  43370. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  43371. this.expressID = expressID;
  43372. this.type = type;
  43373. this.GlobalId = GlobalId;
  43374. this.OwnerHistory = OwnerHistory;
  43375. this.Name = Name;
  43376. this.Description = Description;
  43377. }
  43378. static FromTape(expressID, type, tape) {
  43379. let ptr = 0;
  43380. let GlobalId = tape[ptr++];
  43381. let OwnerHistory = tape[ptr++];
  43382. let Name = tape[ptr++];
  43383. let Description = tape[ptr++];
  43384. return new IfcRelDefines(expressID, type, GlobalId, OwnerHistory, Name, Description);
  43385. }
  43386. ToTape() {
  43387. let args = [];
  43388. args.push(this.GlobalId);
  43389. ;
  43390. args.push(this.OwnerHistory);
  43391. ;
  43392. args.push(this.Name);
  43393. ;
  43394. args.push(this.Description);
  43395. ;
  43396. return args;
  43397. }
  43398. };
  43399. var IfcRelDefinesByObject = class {
  43400. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) {
  43401. this.expressID = expressID;
  43402. this.type = type;
  43403. this.GlobalId = GlobalId;
  43404. this.OwnerHistory = OwnerHistory;
  43405. this.Name = Name;
  43406. this.Description = Description;
  43407. this.RelatedObjects = RelatedObjects;
  43408. this.RelatingObject = RelatingObject;
  43409. }
  43410. static FromTape(expressID, type, tape) {
  43411. let ptr = 0;
  43412. let GlobalId = tape[ptr++];
  43413. let OwnerHistory = tape[ptr++];
  43414. let Name = tape[ptr++];
  43415. let Description = tape[ptr++];
  43416. let RelatedObjects = tape[ptr++];
  43417. let RelatingObject = tape[ptr++];
  43418. return new IfcRelDefinesByObject(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject);
  43419. }
  43420. ToTape() {
  43421. let args = [];
  43422. args.push(this.GlobalId);
  43423. ;
  43424. args.push(this.OwnerHistory);
  43425. ;
  43426. args.push(this.Name);
  43427. ;
  43428. args.push(this.Description);
  43429. ;
  43430. args.push(this.RelatedObjects);
  43431. ;
  43432. args.push(this.RelatingObject);
  43433. ;
  43434. return args;
  43435. }
  43436. };
  43437. var IfcRelDefinesByProperties = class {
  43438. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) {
  43439. this.expressID = expressID;
  43440. this.type = type;
  43441. this.GlobalId = GlobalId;
  43442. this.OwnerHistory = OwnerHistory;
  43443. this.Name = Name;
  43444. this.Description = Description;
  43445. this.RelatedObjects = RelatedObjects;
  43446. this.RelatingPropertyDefinition = RelatingPropertyDefinition;
  43447. }
  43448. static FromTape(expressID, type, tape) {
  43449. let ptr = 0;
  43450. let GlobalId = tape[ptr++];
  43451. let OwnerHistory = tape[ptr++];
  43452. let Name = tape[ptr++];
  43453. let Description = tape[ptr++];
  43454. let RelatedObjects = tape[ptr++];
  43455. let RelatingPropertyDefinition = tape[ptr++];
  43456. return new IfcRelDefinesByProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition);
  43457. }
  43458. ToTape() {
  43459. let args = [];
  43460. args.push(this.GlobalId);
  43461. ;
  43462. args.push(this.OwnerHistory);
  43463. ;
  43464. args.push(this.Name);
  43465. ;
  43466. args.push(this.Description);
  43467. ;
  43468. args.push(this.RelatedObjects);
  43469. ;
  43470. args.push(this.RelatingPropertyDefinition);
  43471. ;
  43472. return args;
  43473. }
  43474. };
  43475. var IfcRelDefinesByTemplate = class {
  43476. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) {
  43477. this.expressID = expressID;
  43478. this.type = type;
  43479. this.GlobalId = GlobalId;
  43480. this.OwnerHistory = OwnerHistory;
  43481. this.Name = Name;
  43482. this.Description = Description;
  43483. this.RelatedPropertySets = RelatedPropertySets;
  43484. this.RelatingTemplate = RelatingTemplate;
  43485. }
  43486. static FromTape(expressID, type, tape) {
  43487. let ptr = 0;
  43488. let GlobalId = tape[ptr++];
  43489. let OwnerHistory = tape[ptr++];
  43490. let Name = tape[ptr++];
  43491. let Description = tape[ptr++];
  43492. let RelatedPropertySets = tape[ptr++];
  43493. let RelatingTemplate = tape[ptr++];
  43494. return new IfcRelDefinesByTemplate(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate);
  43495. }
  43496. ToTape() {
  43497. let args = [];
  43498. args.push(this.GlobalId);
  43499. ;
  43500. args.push(this.OwnerHistory);
  43501. ;
  43502. args.push(this.Name);
  43503. ;
  43504. args.push(this.Description);
  43505. ;
  43506. args.push(this.RelatedPropertySets);
  43507. ;
  43508. args.push(this.RelatingTemplate);
  43509. ;
  43510. return args;
  43511. }
  43512. };
  43513. var IfcRelDefinesByType = class {
  43514. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) {
  43515. this.expressID = expressID;
  43516. this.type = type;
  43517. this.GlobalId = GlobalId;
  43518. this.OwnerHistory = OwnerHistory;
  43519. this.Name = Name;
  43520. this.Description = Description;
  43521. this.RelatedObjects = RelatedObjects;
  43522. this.RelatingType = RelatingType;
  43523. }
  43524. static FromTape(expressID, type, tape) {
  43525. let ptr = 0;
  43526. let GlobalId = tape[ptr++];
  43527. let OwnerHistory = tape[ptr++];
  43528. let Name = tape[ptr++];
  43529. let Description = tape[ptr++];
  43530. let RelatedObjects = tape[ptr++];
  43531. let RelatingType = tape[ptr++];
  43532. return new IfcRelDefinesByType(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType);
  43533. }
  43534. ToTape() {
  43535. let args = [];
  43536. args.push(this.GlobalId);
  43537. ;
  43538. args.push(this.OwnerHistory);
  43539. ;
  43540. args.push(this.Name);
  43541. ;
  43542. args.push(this.Description);
  43543. ;
  43544. args.push(this.RelatedObjects);
  43545. ;
  43546. args.push(this.RelatingType);
  43547. ;
  43548. return args;
  43549. }
  43550. };
  43551. var IfcRelFillsElement = class {
  43552. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) {
  43553. this.expressID = expressID;
  43554. this.type = type;
  43555. this.GlobalId = GlobalId;
  43556. this.OwnerHistory = OwnerHistory;
  43557. this.Name = Name;
  43558. this.Description = Description;
  43559. this.RelatingOpeningElement = RelatingOpeningElement;
  43560. this.RelatedBuildingElement = RelatedBuildingElement;
  43561. }
  43562. static FromTape(expressID, type, tape) {
  43563. let ptr = 0;
  43564. let GlobalId = tape[ptr++];
  43565. let OwnerHistory = tape[ptr++];
  43566. let Name = tape[ptr++];
  43567. let Description = tape[ptr++];
  43568. let RelatingOpeningElement = tape[ptr++];
  43569. let RelatedBuildingElement = tape[ptr++];
  43570. return new IfcRelFillsElement(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement);
  43571. }
  43572. ToTape() {
  43573. let args = [];
  43574. args.push(this.GlobalId);
  43575. ;
  43576. args.push(this.OwnerHistory);
  43577. ;
  43578. args.push(this.Name);
  43579. ;
  43580. args.push(this.Description);
  43581. ;
  43582. args.push(this.RelatingOpeningElement);
  43583. ;
  43584. args.push(this.RelatedBuildingElement);
  43585. ;
  43586. return args;
  43587. }
  43588. };
  43589. var IfcRelFlowControlElements = class {
  43590. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) {
  43591. this.expressID = expressID;
  43592. this.type = type;
  43593. this.GlobalId = GlobalId;
  43594. this.OwnerHistory = OwnerHistory;
  43595. this.Name = Name;
  43596. this.Description = Description;
  43597. this.RelatedControlElements = RelatedControlElements;
  43598. this.RelatingFlowElement = RelatingFlowElement;
  43599. }
  43600. static FromTape(expressID, type, tape) {
  43601. let ptr = 0;
  43602. let GlobalId = tape[ptr++];
  43603. let OwnerHistory = tape[ptr++];
  43604. let Name = tape[ptr++];
  43605. let Description = tape[ptr++];
  43606. let RelatedControlElements = tape[ptr++];
  43607. let RelatingFlowElement = tape[ptr++];
  43608. return new IfcRelFlowControlElements(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement);
  43609. }
  43610. ToTape() {
  43611. let args = [];
  43612. args.push(this.GlobalId);
  43613. ;
  43614. args.push(this.OwnerHistory);
  43615. ;
  43616. args.push(this.Name);
  43617. ;
  43618. args.push(this.Description);
  43619. ;
  43620. args.push(this.RelatedControlElements);
  43621. ;
  43622. args.push(this.RelatingFlowElement);
  43623. ;
  43624. return args;
  43625. }
  43626. };
  43627. var IfcRelInterferesElements = class {
  43628. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceType, ImpliedOrder) {
  43629. this.expressID = expressID;
  43630. this.type = type;
  43631. this.GlobalId = GlobalId;
  43632. this.OwnerHistory = OwnerHistory;
  43633. this.Name = Name;
  43634. this.Description = Description;
  43635. this.RelatingElement = RelatingElement;
  43636. this.RelatedElement = RelatedElement;
  43637. this.InterferenceGeometry = InterferenceGeometry;
  43638. this.InterferenceType = InterferenceType;
  43639. this.ImpliedOrder = ImpliedOrder;
  43640. }
  43641. static FromTape(expressID, type, tape) {
  43642. let ptr = 0;
  43643. let GlobalId = tape[ptr++];
  43644. let OwnerHistory = tape[ptr++];
  43645. let Name = tape[ptr++];
  43646. let Description = tape[ptr++];
  43647. let RelatingElement = tape[ptr++];
  43648. let RelatedElement = tape[ptr++];
  43649. let InterferenceGeometry = tape[ptr++];
  43650. let InterferenceType = tape[ptr++];
  43651. let ImpliedOrder = tape[ptr++];
  43652. return new IfcRelInterferesElements(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceType, ImpliedOrder);
  43653. }
  43654. ToTape() {
  43655. let args = [];
  43656. args.push(this.GlobalId);
  43657. ;
  43658. args.push(this.OwnerHistory);
  43659. ;
  43660. args.push(this.Name);
  43661. ;
  43662. args.push(this.Description);
  43663. ;
  43664. args.push(this.RelatingElement);
  43665. ;
  43666. args.push(this.RelatedElement);
  43667. ;
  43668. args.push(this.InterferenceGeometry);
  43669. ;
  43670. args.push(this.InterferenceType);
  43671. ;
  43672. args.push(this.ImpliedOrder);
  43673. ;
  43674. return args;
  43675. }
  43676. };
  43677. var IfcRelNests = class {
  43678. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
  43679. this.expressID = expressID;
  43680. this.type = type;
  43681. this.GlobalId = GlobalId;
  43682. this.OwnerHistory = OwnerHistory;
  43683. this.Name = Name;
  43684. this.Description = Description;
  43685. this.RelatingObject = RelatingObject;
  43686. this.RelatedObjects = RelatedObjects;
  43687. }
  43688. static FromTape(expressID, type, tape) {
  43689. let ptr = 0;
  43690. let GlobalId = tape[ptr++];
  43691. let OwnerHistory = tape[ptr++];
  43692. let Name = tape[ptr++];
  43693. let Description = tape[ptr++];
  43694. let RelatingObject = tape[ptr++];
  43695. let RelatedObjects = tape[ptr++];
  43696. return new IfcRelNests(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects);
  43697. }
  43698. ToTape() {
  43699. let args = [];
  43700. args.push(this.GlobalId);
  43701. ;
  43702. args.push(this.OwnerHistory);
  43703. ;
  43704. args.push(this.Name);
  43705. ;
  43706. args.push(this.Description);
  43707. ;
  43708. args.push(this.RelatingObject);
  43709. ;
  43710. args.push(this.RelatedObjects);
  43711. ;
  43712. return args;
  43713. }
  43714. };
  43715. var IfcRelPositions = class {
  43716. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingPositioningElement, RelatedProducts) {
  43717. this.expressID = expressID;
  43718. this.type = type;
  43719. this.GlobalId = GlobalId;
  43720. this.OwnerHistory = OwnerHistory;
  43721. this.Name = Name;
  43722. this.Description = Description;
  43723. this.RelatingPositioningElement = RelatingPositioningElement;
  43724. this.RelatedProducts = RelatedProducts;
  43725. }
  43726. static FromTape(expressID, type, tape) {
  43727. let ptr = 0;
  43728. let GlobalId = tape[ptr++];
  43729. let OwnerHistory = tape[ptr++];
  43730. let Name = tape[ptr++];
  43731. let Description = tape[ptr++];
  43732. let RelatingPositioningElement = tape[ptr++];
  43733. let RelatedProducts = tape[ptr++];
  43734. return new IfcRelPositions(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingPositioningElement, RelatedProducts);
  43735. }
  43736. ToTape() {
  43737. let args = [];
  43738. args.push(this.GlobalId);
  43739. ;
  43740. args.push(this.OwnerHistory);
  43741. ;
  43742. args.push(this.Name);
  43743. ;
  43744. args.push(this.Description);
  43745. ;
  43746. args.push(this.RelatingPositioningElement);
  43747. ;
  43748. args.push(this.RelatedProducts);
  43749. ;
  43750. return args;
  43751. }
  43752. };
  43753. var IfcRelProjectsElement = class {
  43754. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) {
  43755. this.expressID = expressID;
  43756. this.type = type;
  43757. this.GlobalId = GlobalId;
  43758. this.OwnerHistory = OwnerHistory;
  43759. this.Name = Name;
  43760. this.Description = Description;
  43761. this.RelatingElement = RelatingElement;
  43762. this.RelatedFeatureElement = RelatedFeatureElement;
  43763. }
  43764. static FromTape(expressID, type, tape) {
  43765. let ptr = 0;
  43766. let GlobalId = tape[ptr++];
  43767. let OwnerHistory = tape[ptr++];
  43768. let Name = tape[ptr++];
  43769. let Description = tape[ptr++];
  43770. let RelatingElement = tape[ptr++];
  43771. let RelatedFeatureElement = tape[ptr++];
  43772. return new IfcRelProjectsElement(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement);
  43773. }
  43774. ToTape() {
  43775. let args = [];
  43776. args.push(this.GlobalId);
  43777. ;
  43778. args.push(this.OwnerHistory);
  43779. ;
  43780. args.push(this.Name);
  43781. ;
  43782. args.push(this.Description);
  43783. ;
  43784. args.push(this.RelatingElement);
  43785. ;
  43786. args.push(this.RelatedFeatureElement);
  43787. ;
  43788. return args;
  43789. }
  43790. };
  43791. var IfcRelReferencedInSpatialStructure = class {
  43792. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
  43793. this.expressID = expressID;
  43794. this.type = type;
  43795. this.GlobalId = GlobalId;
  43796. this.OwnerHistory = OwnerHistory;
  43797. this.Name = Name;
  43798. this.Description = Description;
  43799. this.RelatedElements = RelatedElements;
  43800. this.RelatingStructure = RelatingStructure;
  43801. }
  43802. static FromTape(expressID, type, tape) {
  43803. let ptr = 0;
  43804. let GlobalId = tape[ptr++];
  43805. let OwnerHistory = tape[ptr++];
  43806. let Name = tape[ptr++];
  43807. let Description = tape[ptr++];
  43808. let RelatedElements = tape[ptr++];
  43809. let RelatingStructure = tape[ptr++];
  43810. return new IfcRelReferencedInSpatialStructure(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure);
  43811. }
  43812. ToTape() {
  43813. let args = [];
  43814. args.push(this.GlobalId);
  43815. ;
  43816. args.push(this.OwnerHistory);
  43817. ;
  43818. args.push(this.Name);
  43819. ;
  43820. args.push(this.Description);
  43821. ;
  43822. args.push(this.RelatedElements);
  43823. ;
  43824. args.push(this.RelatingStructure);
  43825. ;
  43826. return args;
  43827. }
  43828. };
  43829. var IfcRelSequence = class {
  43830. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) {
  43831. this.expressID = expressID;
  43832. this.type = type;
  43833. this.GlobalId = GlobalId;
  43834. this.OwnerHistory = OwnerHistory;
  43835. this.Name = Name;
  43836. this.Description = Description;
  43837. this.RelatingProcess = RelatingProcess;
  43838. this.RelatedProcess = RelatedProcess;
  43839. this.TimeLag = TimeLag;
  43840. this.SequenceType = SequenceType;
  43841. this.UserDefinedSequenceType = UserDefinedSequenceType;
  43842. }
  43843. static FromTape(expressID, type, tape) {
  43844. let ptr = 0;
  43845. let GlobalId = tape[ptr++];
  43846. let OwnerHistory = tape[ptr++];
  43847. let Name = tape[ptr++];
  43848. let Description = tape[ptr++];
  43849. let RelatingProcess = tape[ptr++];
  43850. let RelatedProcess = tape[ptr++];
  43851. let TimeLag = tape[ptr++];
  43852. let SequenceType = tape[ptr++];
  43853. let UserDefinedSequenceType = tape[ptr++];
  43854. return new IfcRelSequence(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType);
  43855. }
  43856. ToTape() {
  43857. let args = [];
  43858. args.push(this.GlobalId);
  43859. ;
  43860. args.push(this.OwnerHistory);
  43861. ;
  43862. args.push(this.Name);
  43863. ;
  43864. args.push(this.Description);
  43865. ;
  43866. args.push(this.RelatingProcess);
  43867. ;
  43868. args.push(this.RelatedProcess);
  43869. ;
  43870. args.push(this.TimeLag);
  43871. ;
  43872. args.push(this.SequenceType);
  43873. ;
  43874. args.push(this.UserDefinedSequenceType);
  43875. ;
  43876. return args;
  43877. }
  43878. };
  43879. var IfcRelServicesBuildings = class {
  43880. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) {
  43881. this.expressID = expressID;
  43882. this.type = type;
  43883. this.GlobalId = GlobalId;
  43884. this.OwnerHistory = OwnerHistory;
  43885. this.Name = Name;
  43886. this.Description = Description;
  43887. this.RelatingSystem = RelatingSystem;
  43888. this.RelatedBuildings = RelatedBuildings;
  43889. }
  43890. static FromTape(expressID, type, tape) {
  43891. let ptr = 0;
  43892. let GlobalId = tape[ptr++];
  43893. let OwnerHistory = tape[ptr++];
  43894. let Name = tape[ptr++];
  43895. let Description = tape[ptr++];
  43896. let RelatingSystem = tape[ptr++];
  43897. let RelatedBuildings = tape[ptr++];
  43898. return new IfcRelServicesBuildings(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings);
  43899. }
  43900. ToTape() {
  43901. let args = [];
  43902. args.push(this.GlobalId);
  43903. ;
  43904. args.push(this.OwnerHistory);
  43905. ;
  43906. args.push(this.Name);
  43907. ;
  43908. args.push(this.Description);
  43909. ;
  43910. args.push(this.RelatingSystem);
  43911. ;
  43912. args.push(this.RelatedBuildings);
  43913. ;
  43914. return args;
  43915. }
  43916. };
  43917. var IfcRelSpaceBoundary = class {
  43918. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) {
  43919. this.expressID = expressID;
  43920. this.type = type;
  43921. this.GlobalId = GlobalId;
  43922. this.OwnerHistory = OwnerHistory;
  43923. this.Name = Name;
  43924. this.Description = Description;
  43925. this.RelatingSpace = RelatingSpace;
  43926. this.RelatedBuildingElement = RelatedBuildingElement;
  43927. this.ConnectionGeometry = ConnectionGeometry;
  43928. this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
  43929. this.InternalOrExternalBoundary = InternalOrExternalBoundary;
  43930. }
  43931. static FromTape(expressID, type, tape) {
  43932. let ptr = 0;
  43933. let GlobalId = tape[ptr++];
  43934. let OwnerHistory = tape[ptr++];
  43935. let Name = tape[ptr++];
  43936. let Description = tape[ptr++];
  43937. let RelatingSpace = tape[ptr++];
  43938. let RelatedBuildingElement = tape[ptr++];
  43939. let ConnectionGeometry = tape[ptr++];
  43940. let PhysicalOrVirtualBoundary = tape[ptr++];
  43941. let InternalOrExternalBoundary = tape[ptr++];
  43942. return new IfcRelSpaceBoundary(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary);
  43943. }
  43944. ToTape() {
  43945. let args = [];
  43946. args.push(this.GlobalId);
  43947. ;
  43948. args.push(this.OwnerHistory);
  43949. ;
  43950. args.push(this.Name);
  43951. ;
  43952. args.push(this.Description);
  43953. ;
  43954. args.push(this.RelatingSpace);
  43955. ;
  43956. args.push(this.RelatedBuildingElement);
  43957. ;
  43958. args.push(this.ConnectionGeometry);
  43959. ;
  43960. args.push(this.PhysicalOrVirtualBoundary);
  43961. ;
  43962. args.push(this.InternalOrExternalBoundary);
  43963. ;
  43964. return args;
  43965. }
  43966. };
  43967. var IfcRelSpaceBoundary1stLevel = class {
  43968. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) {
  43969. this.expressID = expressID;
  43970. this.type = type;
  43971. this.GlobalId = GlobalId;
  43972. this.OwnerHistory = OwnerHistory;
  43973. this.Name = Name;
  43974. this.Description = Description;
  43975. this.RelatingSpace = RelatingSpace;
  43976. this.RelatedBuildingElement = RelatedBuildingElement;
  43977. this.ConnectionGeometry = ConnectionGeometry;
  43978. this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
  43979. this.InternalOrExternalBoundary = InternalOrExternalBoundary;
  43980. this.ParentBoundary = ParentBoundary;
  43981. }
  43982. static FromTape(expressID, type, tape) {
  43983. let ptr = 0;
  43984. let GlobalId = tape[ptr++];
  43985. let OwnerHistory = tape[ptr++];
  43986. let Name = tape[ptr++];
  43987. let Description = tape[ptr++];
  43988. let RelatingSpace = tape[ptr++];
  43989. let RelatedBuildingElement = tape[ptr++];
  43990. let ConnectionGeometry = tape[ptr++];
  43991. let PhysicalOrVirtualBoundary = tape[ptr++];
  43992. let InternalOrExternalBoundary = tape[ptr++];
  43993. let ParentBoundary = tape[ptr++];
  43994. return new IfcRelSpaceBoundary1stLevel(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary);
  43995. }
  43996. ToTape() {
  43997. let args = [];
  43998. args.push(this.GlobalId);
  43999. ;
  44000. args.push(this.OwnerHistory);
  44001. ;
  44002. args.push(this.Name);
  44003. ;
  44004. args.push(this.Description);
  44005. ;
  44006. args.push(this.RelatingSpace);
  44007. ;
  44008. args.push(this.RelatedBuildingElement);
  44009. ;
  44010. args.push(this.ConnectionGeometry);
  44011. ;
  44012. args.push(this.PhysicalOrVirtualBoundary);
  44013. ;
  44014. args.push(this.InternalOrExternalBoundary);
  44015. ;
  44016. args.push(this.ParentBoundary);
  44017. ;
  44018. return args;
  44019. }
  44020. };
  44021. var IfcRelSpaceBoundary2ndLevel = class {
  44022. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) {
  44023. this.expressID = expressID;
  44024. this.type = type;
  44025. this.GlobalId = GlobalId;
  44026. this.OwnerHistory = OwnerHistory;
  44027. this.Name = Name;
  44028. this.Description = Description;
  44029. this.RelatingSpace = RelatingSpace;
  44030. this.RelatedBuildingElement = RelatedBuildingElement;
  44031. this.ConnectionGeometry = ConnectionGeometry;
  44032. this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
  44033. this.InternalOrExternalBoundary = InternalOrExternalBoundary;
  44034. this.ParentBoundary = ParentBoundary;
  44035. this.CorrespondingBoundary = CorrespondingBoundary;
  44036. }
  44037. static FromTape(expressID, type, tape) {
  44038. let ptr = 0;
  44039. let GlobalId = tape[ptr++];
  44040. let OwnerHistory = tape[ptr++];
  44041. let Name = tape[ptr++];
  44042. let Description = tape[ptr++];
  44043. let RelatingSpace = tape[ptr++];
  44044. let RelatedBuildingElement = tape[ptr++];
  44045. let ConnectionGeometry = tape[ptr++];
  44046. let PhysicalOrVirtualBoundary = tape[ptr++];
  44047. let InternalOrExternalBoundary = tape[ptr++];
  44048. let ParentBoundary = tape[ptr++];
  44049. let CorrespondingBoundary = tape[ptr++];
  44050. return new IfcRelSpaceBoundary2ndLevel(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary);
  44051. }
  44052. ToTape() {
  44053. let args = [];
  44054. args.push(this.GlobalId);
  44055. ;
  44056. args.push(this.OwnerHistory);
  44057. ;
  44058. args.push(this.Name);
  44059. ;
  44060. args.push(this.Description);
  44061. ;
  44062. args.push(this.RelatingSpace);
  44063. ;
  44064. args.push(this.RelatedBuildingElement);
  44065. ;
  44066. args.push(this.ConnectionGeometry);
  44067. ;
  44068. args.push(this.PhysicalOrVirtualBoundary);
  44069. ;
  44070. args.push(this.InternalOrExternalBoundary);
  44071. ;
  44072. args.push(this.ParentBoundary);
  44073. ;
  44074. args.push(this.CorrespondingBoundary);
  44075. ;
  44076. return args;
  44077. }
  44078. };
  44079. var IfcRelVoidsElement = class {
  44080. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) {
  44081. this.expressID = expressID;
  44082. this.type = type;
  44083. this.GlobalId = GlobalId;
  44084. this.OwnerHistory = OwnerHistory;
  44085. this.Name = Name;
  44086. this.Description = Description;
  44087. this.RelatingBuildingElement = RelatingBuildingElement;
  44088. this.RelatedOpeningElement = RelatedOpeningElement;
  44089. }
  44090. static FromTape(expressID, type, tape) {
  44091. let ptr = 0;
  44092. let GlobalId = tape[ptr++];
  44093. let OwnerHistory = tape[ptr++];
  44094. let Name = tape[ptr++];
  44095. let Description = tape[ptr++];
  44096. let RelatingBuildingElement = tape[ptr++];
  44097. let RelatedOpeningElement = tape[ptr++];
  44098. return new IfcRelVoidsElement(expressID, type, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement);
  44099. }
  44100. ToTape() {
  44101. let args = [];
  44102. args.push(this.GlobalId);
  44103. ;
  44104. args.push(this.OwnerHistory);
  44105. ;
  44106. args.push(this.Name);
  44107. ;
  44108. args.push(this.Description);
  44109. ;
  44110. args.push(this.RelatingBuildingElement);
  44111. ;
  44112. args.push(this.RelatedOpeningElement);
  44113. ;
  44114. return args;
  44115. }
  44116. };
  44117. var IfcRelationship = class {
  44118. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  44119. this.expressID = expressID;
  44120. this.type = type;
  44121. this.GlobalId = GlobalId;
  44122. this.OwnerHistory = OwnerHistory;
  44123. this.Name = Name;
  44124. this.Description = Description;
  44125. }
  44126. static FromTape(expressID, type, tape) {
  44127. let ptr = 0;
  44128. let GlobalId = tape[ptr++];
  44129. let OwnerHistory = tape[ptr++];
  44130. let Name = tape[ptr++];
  44131. let Description = tape[ptr++];
  44132. return new IfcRelationship(expressID, type, GlobalId, OwnerHistory, Name, Description);
  44133. }
  44134. ToTape() {
  44135. let args = [];
  44136. args.push(this.GlobalId);
  44137. ;
  44138. args.push(this.OwnerHistory);
  44139. ;
  44140. args.push(this.Name);
  44141. ;
  44142. args.push(this.Description);
  44143. ;
  44144. return args;
  44145. }
  44146. };
  44147. var IfcReparametrisedCompositeCurveSegment = class {
  44148. constructor(expressID, type, Transition, SameSense, ParentCurve, ParamLength) {
  44149. this.expressID = expressID;
  44150. this.type = type;
  44151. this.Transition = Transition;
  44152. this.SameSense = SameSense;
  44153. this.ParentCurve = ParentCurve;
  44154. this.ParamLength = ParamLength;
  44155. }
  44156. static FromTape(expressID, type, tape) {
  44157. let ptr = 0;
  44158. let Transition = tape[ptr++];
  44159. let SameSense = tape[ptr++];
  44160. let ParentCurve = tape[ptr++];
  44161. let ParamLength = tape[ptr++];
  44162. return new IfcReparametrisedCompositeCurveSegment(expressID, type, Transition, SameSense, ParentCurve, ParamLength);
  44163. }
  44164. ToTape() {
  44165. let args = [];
  44166. args.push(this.Transition);
  44167. ;
  44168. args.push(this.SameSense);
  44169. ;
  44170. args.push(this.ParentCurve);
  44171. ;
  44172. args.push(this.ParamLength);
  44173. ;
  44174. return args;
  44175. }
  44176. };
  44177. var IfcRepresentation = class {
  44178. constructor(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
  44179. this.expressID = expressID;
  44180. this.type = type;
  44181. this.ContextOfItems = ContextOfItems;
  44182. this.RepresentationIdentifier = RepresentationIdentifier;
  44183. this.RepresentationType = RepresentationType;
  44184. this.Items = Items;
  44185. }
  44186. static FromTape(expressID, type, tape) {
  44187. let ptr = 0;
  44188. let ContextOfItems = tape[ptr++];
  44189. let RepresentationIdentifier = tape[ptr++];
  44190. let RepresentationType = tape[ptr++];
  44191. let Items = tape[ptr++];
  44192. return new IfcRepresentation(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
  44193. }
  44194. ToTape() {
  44195. let args = [];
  44196. args.push(this.ContextOfItems);
  44197. ;
  44198. args.push(this.RepresentationIdentifier);
  44199. ;
  44200. args.push(this.RepresentationType);
  44201. ;
  44202. args.push(this.Items);
  44203. ;
  44204. return args;
  44205. }
  44206. };
  44207. var IfcRepresentationContext = class {
  44208. constructor(expressID, type, ContextIdentifier, ContextType) {
  44209. this.expressID = expressID;
  44210. this.type = type;
  44211. this.ContextIdentifier = ContextIdentifier;
  44212. this.ContextType = ContextType;
  44213. }
  44214. static FromTape(expressID, type, tape) {
  44215. let ptr = 0;
  44216. let ContextIdentifier = tape[ptr++];
  44217. let ContextType = tape[ptr++];
  44218. return new IfcRepresentationContext(expressID, type, ContextIdentifier, ContextType);
  44219. }
  44220. ToTape() {
  44221. let args = [];
  44222. args.push(this.ContextIdentifier);
  44223. ;
  44224. args.push(this.ContextType);
  44225. ;
  44226. return args;
  44227. }
  44228. };
  44229. var IfcRepresentationItem = class {
  44230. constructor(expressID, type) {
  44231. this.expressID = expressID;
  44232. this.type = type;
  44233. }
  44234. static FromTape(expressID, type, tape) {
  44235. let ptr = 0;
  44236. return new IfcRepresentationItem(expressID, type);
  44237. }
  44238. ToTape() {
  44239. let args = [];
  44240. return args;
  44241. }
  44242. };
  44243. var IfcRepresentationMap = class {
  44244. constructor(expressID, type, MappingOrigin, MappedRepresentation) {
  44245. this.expressID = expressID;
  44246. this.type = type;
  44247. this.MappingOrigin = MappingOrigin;
  44248. this.MappedRepresentation = MappedRepresentation;
  44249. }
  44250. static FromTape(expressID, type, tape) {
  44251. let ptr = 0;
  44252. let MappingOrigin = tape[ptr++];
  44253. let MappedRepresentation = tape[ptr++];
  44254. return new IfcRepresentationMap(expressID, type, MappingOrigin, MappedRepresentation);
  44255. }
  44256. ToTape() {
  44257. let args = [];
  44258. args.push(this.MappingOrigin);
  44259. ;
  44260. args.push(this.MappedRepresentation);
  44261. ;
  44262. return args;
  44263. }
  44264. };
  44265. var IfcResource = class {
  44266. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) {
  44267. this.expressID = expressID;
  44268. this.type = type;
  44269. this.GlobalId = GlobalId;
  44270. this.OwnerHistory = OwnerHistory;
  44271. this.Name = Name;
  44272. this.Description = Description;
  44273. this.ObjectType = ObjectType;
  44274. this.Identification = Identification;
  44275. this.LongDescription = LongDescription;
  44276. }
  44277. static FromTape(expressID, type, tape) {
  44278. let ptr = 0;
  44279. let GlobalId = tape[ptr++];
  44280. let OwnerHistory = tape[ptr++];
  44281. let Name = tape[ptr++];
  44282. let Description = tape[ptr++];
  44283. let ObjectType = tape[ptr++];
  44284. let Identification = tape[ptr++];
  44285. let LongDescription = tape[ptr++];
  44286. return new IfcResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
  44287. }
  44288. ToTape() {
  44289. let args = [];
  44290. args.push(this.GlobalId);
  44291. ;
  44292. args.push(this.OwnerHistory);
  44293. ;
  44294. args.push(this.Name);
  44295. ;
  44296. args.push(this.Description);
  44297. ;
  44298. args.push(this.ObjectType);
  44299. ;
  44300. args.push(this.Identification);
  44301. ;
  44302. args.push(this.LongDescription);
  44303. ;
  44304. return args;
  44305. }
  44306. };
  44307. var IfcResourceApprovalRelationship = class {
  44308. constructor(expressID, type, Name, Description, RelatedResourceObjects, RelatingApproval) {
  44309. this.expressID = expressID;
  44310. this.type = type;
  44311. this.Name = Name;
  44312. this.Description = Description;
  44313. this.RelatedResourceObjects = RelatedResourceObjects;
  44314. this.RelatingApproval = RelatingApproval;
  44315. }
  44316. static FromTape(expressID, type, tape) {
  44317. let ptr = 0;
  44318. let Name = tape[ptr++];
  44319. let Description = tape[ptr++];
  44320. let RelatedResourceObjects = tape[ptr++];
  44321. let RelatingApproval = tape[ptr++];
  44322. return new IfcResourceApprovalRelationship(expressID, type, Name, Description, RelatedResourceObjects, RelatingApproval);
  44323. }
  44324. ToTape() {
  44325. let args = [];
  44326. args.push(this.Name);
  44327. ;
  44328. args.push(this.Description);
  44329. ;
  44330. args.push(this.RelatedResourceObjects);
  44331. ;
  44332. args.push(this.RelatingApproval);
  44333. ;
  44334. return args;
  44335. }
  44336. };
  44337. var IfcResourceConstraintRelationship = class {
  44338. constructor(expressID, type, Name, Description, RelatingConstraint, RelatedResourceObjects) {
  44339. this.expressID = expressID;
  44340. this.type = type;
  44341. this.Name = Name;
  44342. this.Description = Description;
  44343. this.RelatingConstraint = RelatingConstraint;
  44344. this.RelatedResourceObjects = RelatedResourceObjects;
  44345. }
  44346. static FromTape(expressID, type, tape) {
  44347. let ptr = 0;
  44348. let Name = tape[ptr++];
  44349. let Description = tape[ptr++];
  44350. let RelatingConstraint = tape[ptr++];
  44351. let RelatedResourceObjects = tape[ptr++];
  44352. return new IfcResourceConstraintRelationship(expressID, type, Name, Description, RelatingConstraint, RelatedResourceObjects);
  44353. }
  44354. ToTape() {
  44355. let args = [];
  44356. args.push(this.Name);
  44357. ;
  44358. args.push(this.Description);
  44359. ;
  44360. args.push(this.RelatingConstraint);
  44361. ;
  44362. args.push(this.RelatedResourceObjects);
  44363. ;
  44364. return args;
  44365. }
  44366. };
  44367. var IfcResourceLevelRelationship = class {
  44368. constructor(expressID, type, Name, Description) {
  44369. this.expressID = expressID;
  44370. this.type = type;
  44371. this.Name = Name;
  44372. this.Description = Description;
  44373. }
  44374. static FromTape(expressID, type, tape) {
  44375. let ptr = 0;
  44376. let Name = tape[ptr++];
  44377. let Description = tape[ptr++];
  44378. return new IfcResourceLevelRelationship(expressID, type, Name, Description);
  44379. }
  44380. ToTape() {
  44381. let args = [];
  44382. args.push(this.Name);
  44383. ;
  44384. args.push(this.Description);
  44385. ;
  44386. return args;
  44387. }
  44388. };
  44389. var IfcResourceTime = class {
  44390. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) {
  44391. this.expressID = expressID;
  44392. this.type = type;
  44393. this.Name = Name;
  44394. this.DataOrigin = DataOrigin;
  44395. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  44396. this.ScheduleWork = ScheduleWork;
  44397. this.ScheduleUsage = ScheduleUsage;
  44398. this.ScheduleStart = ScheduleStart;
  44399. this.ScheduleFinish = ScheduleFinish;
  44400. this.ScheduleContour = ScheduleContour;
  44401. this.LevelingDelay = LevelingDelay;
  44402. this.IsOverAllocated = IsOverAllocated;
  44403. this.StatusTime = StatusTime;
  44404. this.ActualWork = ActualWork;
  44405. this.ActualUsage = ActualUsage;
  44406. this.ActualStart = ActualStart;
  44407. this.ActualFinish = ActualFinish;
  44408. this.RemainingWork = RemainingWork;
  44409. this.RemainingUsage = RemainingUsage;
  44410. this.Completion = Completion;
  44411. }
  44412. static FromTape(expressID, type, tape) {
  44413. let ptr = 0;
  44414. let Name = tape[ptr++];
  44415. let DataOrigin = tape[ptr++];
  44416. let UserDefinedDataOrigin = tape[ptr++];
  44417. let ScheduleWork = tape[ptr++];
  44418. let ScheduleUsage = tape[ptr++];
  44419. let ScheduleStart = tape[ptr++];
  44420. let ScheduleFinish = tape[ptr++];
  44421. let ScheduleContour = tape[ptr++];
  44422. let LevelingDelay = tape[ptr++];
  44423. let IsOverAllocated = tape[ptr++];
  44424. let StatusTime = tape[ptr++];
  44425. let ActualWork = tape[ptr++];
  44426. let ActualUsage = tape[ptr++];
  44427. let ActualStart = tape[ptr++];
  44428. let ActualFinish = tape[ptr++];
  44429. let RemainingWork = tape[ptr++];
  44430. let RemainingUsage = tape[ptr++];
  44431. let Completion = tape[ptr++];
  44432. return new IfcResourceTime(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion);
  44433. }
  44434. ToTape() {
  44435. let args = [];
  44436. args.push(this.Name);
  44437. ;
  44438. args.push(this.DataOrigin);
  44439. ;
  44440. args.push(this.UserDefinedDataOrigin);
  44441. ;
  44442. args.push(this.ScheduleWork);
  44443. ;
  44444. args.push(this.ScheduleUsage);
  44445. ;
  44446. args.push(this.ScheduleStart);
  44447. ;
  44448. args.push(this.ScheduleFinish);
  44449. ;
  44450. args.push(this.ScheduleContour);
  44451. ;
  44452. args.push(this.LevelingDelay);
  44453. ;
  44454. args.push(this.IsOverAllocated);
  44455. ;
  44456. args.push(this.StatusTime);
  44457. ;
  44458. args.push(this.ActualWork);
  44459. ;
  44460. args.push(this.ActualUsage);
  44461. ;
  44462. args.push(this.ActualStart);
  44463. ;
  44464. args.push(this.ActualFinish);
  44465. ;
  44466. args.push(this.RemainingWork);
  44467. ;
  44468. args.push(this.RemainingUsage);
  44469. ;
  44470. args.push(this.Completion);
  44471. ;
  44472. return args;
  44473. }
  44474. };
  44475. var IfcRevolvedAreaSolid = class {
  44476. constructor(expressID, type, SweptArea, Position, Axis, Angle) {
  44477. this.expressID = expressID;
  44478. this.type = type;
  44479. this.SweptArea = SweptArea;
  44480. this.Position = Position;
  44481. this.Axis = Axis;
  44482. this.Angle = Angle;
  44483. }
  44484. static FromTape(expressID, type, tape) {
  44485. let ptr = 0;
  44486. let SweptArea = tape[ptr++];
  44487. let Position = tape[ptr++];
  44488. let Axis = tape[ptr++];
  44489. let Angle = tape[ptr++];
  44490. return new IfcRevolvedAreaSolid(expressID, type, SweptArea, Position, Axis, Angle);
  44491. }
  44492. ToTape() {
  44493. let args = [];
  44494. args.push(this.SweptArea);
  44495. ;
  44496. args.push(this.Position);
  44497. ;
  44498. args.push(this.Axis);
  44499. ;
  44500. args.push(this.Angle);
  44501. ;
  44502. return args;
  44503. }
  44504. };
  44505. var IfcRevolvedAreaSolidTapered = class {
  44506. constructor(expressID, type, SweptArea, Position, Axis, Angle, EndSweptArea) {
  44507. this.expressID = expressID;
  44508. this.type = type;
  44509. this.SweptArea = SweptArea;
  44510. this.Position = Position;
  44511. this.Axis = Axis;
  44512. this.Angle = Angle;
  44513. this.EndSweptArea = EndSweptArea;
  44514. }
  44515. static FromTape(expressID, type, tape) {
  44516. let ptr = 0;
  44517. let SweptArea = tape[ptr++];
  44518. let Position = tape[ptr++];
  44519. let Axis = tape[ptr++];
  44520. let Angle = tape[ptr++];
  44521. let EndSweptArea = tape[ptr++];
  44522. return new IfcRevolvedAreaSolidTapered(expressID, type, SweptArea, Position, Axis, Angle, EndSweptArea);
  44523. }
  44524. ToTape() {
  44525. let args = [];
  44526. args.push(this.SweptArea);
  44527. ;
  44528. args.push(this.Position);
  44529. ;
  44530. args.push(this.Axis);
  44531. ;
  44532. args.push(this.Angle);
  44533. ;
  44534. args.push(this.EndSweptArea);
  44535. ;
  44536. return args;
  44537. }
  44538. };
  44539. var IfcRightCircularCone = class {
  44540. constructor(expressID, type, Position, Height, BottomRadius) {
  44541. this.expressID = expressID;
  44542. this.type = type;
  44543. this.Position = Position;
  44544. this.Height = Height;
  44545. this.BottomRadius = BottomRadius;
  44546. }
  44547. static FromTape(expressID, type, tape) {
  44548. let ptr = 0;
  44549. let Position = tape[ptr++];
  44550. let Height = tape[ptr++];
  44551. let BottomRadius = tape[ptr++];
  44552. return new IfcRightCircularCone(expressID, type, Position, Height, BottomRadius);
  44553. }
  44554. ToTape() {
  44555. let args = [];
  44556. args.push(this.Position);
  44557. ;
  44558. args.push(this.Height);
  44559. ;
  44560. args.push(this.BottomRadius);
  44561. ;
  44562. return args;
  44563. }
  44564. };
  44565. var IfcRightCircularCylinder = class {
  44566. constructor(expressID, type, Position, Height, Radius) {
  44567. this.expressID = expressID;
  44568. this.type = type;
  44569. this.Position = Position;
  44570. this.Height = Height;
  44571. this.Radius = Radius;
  44572. }
  44573. static FromTape(expressID, type, tape) {
  44574. let ptr = 0;
  44575. let Position = tape[ptr++];
  44576. let Height = tape[ptr++];
  44577. let Radius = tape[ptr++];
  44578. return new IfcRightCircularCylinder(expressID, type, Position, Height, Radius);
  44579. }
  44580. ToTape() {
  44581. let args = [];
  44582. args.push(this.Position);
  44583. ;
  44584. args.push(this.Height);
  44585. ;
  44586. args.push(this.Radius);
  44587. ;
  44588. return args;
  44589. }
  44590. };
  44591. var IfcRoof = class {
  44592. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  44593. this.expressID = expressID;
  44594. this.type = type;
  44595. this.GlobalId = GlobalId;
  44596. this.OwnerHistory = OwnerHistory;
  44597. this.Name = Name;
  44598. this.Description = Description;
  44599. this.ObjectType = ObjectType;
  44600. this.ObjectPlacement = ObjectPlacement;
  44601. this.Representation = Representation;
  44602. this.Tag = Tag;
  44603. this.PredefinedType = PredefinedType;
  44604. }
  44605. static FromTape(expressID, type, tape) {
  44606. let ptr = 0;
  44607. let GlobalId = tape[ptr++];
  44608. let OwnerHistory = tape[ptr++];
  44609. let Name = tape[ptr++];
  44610. let Description = tape[ptr++];
  44611. let ObjectType = tape[ptr++];
  44612. let ObjectPlacement = tape[ptr++];
  44613. let Representation = tape[ptr++];
  44614. let Tag = tape[ptr++];
  44615. let PredefinedType = tape[ptr++];
  44616. return new IfcRoof(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  44617. }
  44618. ToTape() {
  44619. let args = [];
  44620. args.push(this.GlobalId);
  44621. ;
  44622. args.push(this.OwnerHistory);
  44623. ;
  44624. args.push(this.Name);
  44625. ;
  44626. args.push(this.Description);
  44627. ;
  44628. args.push(this.ObjectType);
  44629. ;
  44630. args.push(this.ObjectPlacement);
  44631. ;
  44632. args.push(this.Representation);
  44633. ;
  44634. args.push(this.Tag);
  44635. ;
  44636. args.push(this.PredefinedType);
  44637. ;
  44638. return args;
  44639. }
  44640. };
  44641. var IfcRoofType = class {
  44642. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  44643. this.expressID = expressID;
  44644. this.type = type;
  44645. this.GlobalId = GlobalId;
  44646. this.OwnerHistory = OwnerHistory;
  44647. this.Name = Name;
  44648. this.Description = Description;
  44649. this.ApplicableOccurrence = ApplicableOccurrence;
  44650. this.HasPropertySets = HasPropertySets;
  44651. this.RepresentationMaps = RepresentationMaps;
  44652. this.Tag = Tag;
  44653. this.ElementType = ElementType;
  44654. this.PredefinedType = PredefinedType;
  44655. }
  44656. static FromTape(expressID, type, tape) {
  44657. let ptr = 0;
  44658. let GlobalId = tape[ptr++];
  44659. let OwnerHistory = tape[ptr++];
  44660. let Name = tape[ptr++];
  44661. let Description = tape[ptr++];
  44662. let ApplicableOccurrence = tape[ptr++];
  44663. let HasPropertySets = tape[ptr++];
  44664. let RepresentationMaps = tape[ptr++];
  44665. let Tag = tape[ptr++];
  44666. let ElementType = tape[ptr++];
  44667. let PredefinedType = tape[ptr++];
  44668. return new IfcRoofType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  44669. }
  44670. ToTape() {
  44671. let args = [];
  44672. args.push(this.GlobalId);
  44673. ;
  44674. args.push(this.OwnerHistory);
  44675. ;
  44676. args.push(this.Name);
  44677. ;
  44678. args.push(this.Description);
  44679. ;
  44680. args.push(this.ApplicableOccurrence);
  44681. ;
  44682. args.push(this.HasPropertySets);
  44683. ;
  44684. args.push(this.RepresentationMaps);
  44685. ;
  44686. args.push(this.Tag);
  44687. ;
  44688. args.push(this.ElementType);
  44689. ;
  44690. args.push(this.PredefinedType);
  44691. ;
  44692. return args;
  44693. }
  44694. };
  44695. var IfcRoot = class {
  44696. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description) {
  44697. this.expressID = expressID;
  44698. this.type = type;
  44699. this.GlobalId = GlobalId;
  44700. this.OwnerHistory = OwnerHistory;
  44701. this.Name = Name;
  44702. this.Description = Description;
  44703. }
  44704. static FromTape(expressID, type, tape) {
  44705. let ptr = 0;
  44706. let GlobalId = tape[ptr++];
  44707. let OwnerHistory = tape[ptr++];
  44708. let Name = tape[ptr++];
  44709. let Description = tape[ptr++];
  44710. return new IfcRoot(expressID, type, GlobalId, OwnerHistory, Name, Description);
  44711. }
  44712. ToTape() {
  44713. let args = [];
  44714. args.push(this.GlobalId);
  44715. ;
  44716. args.push(this.OwnerHistory);
  44717. ;
  44718. args.push(this.Name);
  44719. ;
  44720. args.push(this.Description);
  44721. ;
  44722. return args;
  44723. }
  44724. };
  44725. var IfcRoundedRectangleProfileDef = class {
  44726. constructor(expressID, type, ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) {
  44727. this.expressID = expressID;
  44728. this.type = type;
  44729. this.ProfileType = ProfileType;
  44730. this.ProfileName = ProfileName;
  44731. this.Position = Position;
  44732. this.XDim = XDim;
  44733. this.YDim = YDim;
  44734. this.RoundingRadius = RoundingRadius;
  44735. }
  44736. static FromTape(expressID, type, tape) {
  44737. let ptr = 0;
  44738. let ProfileType = tape[ptr++];
  44739. let ProfileName = tape[ptr++];
  44740. let Position = tape[ptr++];
  44741. let XDim = tape[ptr++];
  44742. let YDim = tape[ptr++];
  44743. let RoundingRadius = tape[ptr++];
  44744. return new IfcRoundedRectangleProfileDef(expressID, type, ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius);
  44745. }
  44746. ToTape() {
  44747. let args = [];
  44748. args.push(this.ProfileType);
  44749. ;
  44750. args.push(this.ProfileName);
  44751. ;
  44752. args.push(this.Position);
  44753. ;
  44754. args.push(this.XDim);
  44755. ;
  44756. args.push(this.YDim);
  44757. ;
  44758. args.push(this.RoundingRadius);
  44759. ;
  44760. return args;
  44761. }
  44762. };
  44763. var IfcSIUnit = class {
  44764. constructor(expressID, type, Dimensions, UnitType, Prefix, Name) {
  44765. this.expressID = expressID;
  44766. this.type = type;
  44767. this.Dimensions = Dimensions;
  44768. this.UnitType = UnitType;
  44769. this.Prefix = Prefix;
  44770. this.Name = Name;
  44771. }
  44772. static FromTape(expressID, type, tape) {
  44773. let ptr = 0;
  44774. let Dimensions = tape[ptr++];
  44775. let UnitType = tape[ptr++];
  44776. let Prefix = tape[ptr++];
  44777. let Name = tape[ptr++];
  44778. return new IfcSIUnit(expressID, type, Dimensions, UnitType, Prefix, Name);
  44779. }
  44780. ToTape() {
  44781. let args = [];
  44782. args.push(this.Dimensions);
  44783. ;
  44784. args.push(this.UnitType);
  44785. ;
  44786. args.push(this.Prefix);
  44787. ;
  44788. args.push(this.Name);
  44789. ;
  44790. return args;
  44791. }
  44792. };
  44793. var IfcSanitaryTerminal = class {
  44794. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  44795. this.expressID = expressID;
  44796. this.type = type;
  44797. this.GlobalId = GlobalId;
  44798. this.OwnerHistory = OwnerHistory;
  44799. this.Name = Name;
  44800. this.Description = Description;
  44801. this.ObjectType = ObjectType;
  44802. this.ObjectPlacement = ObjectPlacement;
  44803. this.Representation = Representation;
  44804. this.Tag = Tag;
  44805. this.PredefinedType = PredefinedType;
  44806. }
  44807. static FromTape(expressID, type, tape) {
  44808. let ptr = 0;
  44809. let GlobalId = tape[ptr++];
  44810. let OwnerHistory = tape[ptr++];
  44811. let Name = tape[ptr++];
  44812. let Description = tape[ptr++];
  44813. let ObjectType = tape[ptr++];
  44814. let ObjectPlacement = tape[ptr++];
  44815. let Representation = tape[ptr++];
  44816. let Tag = tape[ptr++];
  44817. let PredefinedType = tape[ptr++];
  44818. return new IfcSanitaryTerminal(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  44819. }
  44820. ToTape() {
  44821. let args = [];
  44822. args.push(this.GlobalId);
  44823. ;
  44824. args.push(this.OwnerHistory);
  44825. ;
  44826. args.push(this.Name);
  44827. ;
  44828. args.push(this.Description);
  44829. ;
  44830. args.push(this.ObjectType);
  44831. ;
  44832. args.push(this.ObjectPlacement);
  44833. ;
  44834. args.push(this.Representation);
  44835. ;
  44836. args.push(this.Tag);
  44837. ;
  44838. args.push(this.PredefinedType);
  44839. ;
  44840. return args;
  44841. }
  44842. };
  44843. var IfcSanitaryTerminalType = class {
  44844. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  44845. this.expressID = expressID;
  44846. this.type = type;
  44847. this.GlobalId = GlobalId;
  44848. this.OwnerHistory = OwnerHistory;
  44849. this.Name = Name;
  44850. this.Description = Description;
  44851. this.ApplicableOccurrence = ApplicableOccurrence;
  44852. this.HasPropertySets = HasPropertySets;
  44853. this.RepresentationMaps = RepresentationMaps;
  44854. this.Tag = Tag;
  44855. this.ElementType = ElementType;
  44856. this.PredefinedType = PredefinedType;
  44857. }
  44858. static FromTape(expressID, type, tape) {
  44859. let ptr = 0;
  44860. let GlobalId = tape[ptr++];
  44861. let OwnerHistory = tape[ptr++];
  44862. let Name = tape[ptr++];
  44863. let Description = tape[ptr++];
  44864. let ApplicableOccurrence = tape[ptr++];
  44865. let HasPropertySets = tape[ptr++];
  44866. let RepresentationMaps = tape[ptr++];
  44867. let Tag = tape[ptr++];
  44868. let ElementType = tape[ptr++];
  44869. let PredefinedType = tape[ptr++];
  44870. return new IfcSanitaryTerminalType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  44871. }
  44872. ToTape() {
  44873. let args = [];
  44874. args.push(this.GlobalId);
  44875. ;
  44876. args.push(this.OwnerHistory);
  44877. ;
  44878. args.push(this.Name);
  44879. ;
  44880. args.push(this.Description);
  44881. ;
  44882. args.push(this.ApplicableOccurrence);
  44883. ;
  44884. args.push(this.HasPropertySets);
  44885. ;
  44886. args.push(this.RepresentationMaps);
  44887. ;
  44888. args.push(this.Tag);
  44889. ;
  44890. args.push(this.ElementType);
  44891. ;
  44892. args.push(this.PredefinedType);
  44893. ;
  44894. return args;
  44895. }
  44896. };
  44897. var IfcSchedulingTime = class {
  44898. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin) {
  44899. this.expressID = expressID;
  44900. this.type = type;
  44901. this.Name = Name;
  44902. this.DataOrigin = DataOrigin;
  44903. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  44904. }
  44905. static FromTape(expressID, type, tape) {
  44906. let ptr = 0;
  44907. let Name = tape[ptr++];
  44908. let DataOrigin = tape[ptr++];
  44909. let UserDefinedDataOrigin = tape[ptr++];
  44910. return new IfcSchedulingTime(expressID, type, Name, DataOrigin, UserDefinedDataOrigin);
  44911. }
  44912. ToTape() {
  44913. let args = [];
  44914. args.push(this.Name);
  44915. ;
  44916. args.push(this.DataOrigin);
  44917. ;
  44918. args.push(this.UserDefinedDataOrigin);
  44919. ;
  44920. return args;
  44921. }
  44922. };
  44923. var IfcSeamCurve = class {
  44924. constructor(expressID, type, Curve3D, AssociatedGeometry, MasterRepresentation) {
  44925. this.expressID = expressID;
  44926. this.type = type;
  44927. this.Curve3D = Curve3D;
  44928. this.AssociatedGeometry = AssociatedGeometry;
  44929. this.MasterRepresentation = MasterRepresentation;
  44930. }
  44931. static FromTape(expressID, type, tape) {
  44932. let ptr = 0;
  44933. let Curve3D = tape[ptr++];
  44934. let AssociatedGeometry = tape[ptr++];
  44935. let MasterRepresentation = tape[ptr++];
  44936. return new IfcSeamCurve(expressID, type, Curve3D, AssociatedGeometry, MasterRepresentation);
  44937. }
  44938. ToTape() {
  44939. let args = [];
  44940. args.push(this.Curve3D);
  44941. ;
  44942. args.push(this.AssociatedGeometry);
  44943. ;
  44944. args.push(this.MasterRepresentation);
  44945. ;
  44946. return args;
  44947. }
  44948. };
  44949. var IfcSectionProperties = class {
  44950. constructor(expressID, type, SectionType, StartProfile, EndProfile) {
  44951. this.expressID = expressID;
  44952. this.type = type;
  44953. this.SectionType = SectionType;
  44954. this.StartProfile = StartProfile;
  44955. this.EndProfile = EndProfile;
  44956. }
  44957. static FromTape(expressID, type, tape) {
  44958. let ptr = 0;
  44959. let SectionType = tape[ptr++];
  44960. let StartProfile = tape[ptr++];
  44961. let EndProfile = tape[ptr++];
  44962. return new IfcSectionProperties(expressID, type, SectionType, StartProfile, EndProfile);
  44963. }
  44964. ToTape() {
  44965. let args = [];
  44966. args.push(this.SectionType);
  44967. ;
  44968. args.push(this.StartProfile);
  44969. ;
  44970. args.push(this.EndProfile);
  44971. ;
  44972. return args;
  44973. }
  44974. };
  44975. var IfcSectionReinforcementProperties = class {
  44976. constructor(expressID, type, LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) {
  44977. this.expressID = expressID;
  44978. this.type = type;
  44979. this.LongitudinalStartPosition = LongitudinalStartPosition;
  44980. this.LongitudinalEndPosition = LongitudinalEndPosition;
  44981. this.TransversePosition = TransversePosition;
  44982. this.ReinforcementRole = ReinforcementRole;
  44983. this.SectionDefinition = SectionDefinition;
  44984. this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions;
  44985. }
  44986. static FromTape(expressID, type, tape) {
  44987. let ptr = 0;
  44988. let LongitudinalStartPosition = tape[ptr++];
  44989. let LongitudinalEndPosition = tape[ptr++];
  44990. let TransversePosition = tape[ptr++];
  44991. let ReinforcementRole = tape[ptr++];
  44992. let SectionDefinition = tape[ptr++];
  44993. let CrossSectionReinforcementDefinitions = tape[ptr++];
  44994. return new IfcSectionReinforcementProperties(expressID, type, LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions);
  44995. }
  44996. ToTape() {
  44997. let args = [];
  44998. args.push(this.LongitudinalStartPosition);
  44999. ;
  45000. args.push(this.LongitudinalEndPosition);
  45001. ;
  45002. args.push(this.TransversePosition);
  45003. ;
  45004. args.push(this.ReinforcementRole);
  45005. ;
  45006. args.push(this.SectionDefinition);
  45007. ;
  45008. args.push(this.CrossSectionReinforcementDefinitions);
  45009. ;
  45010. return args;
  45011. }
  45012. };
  45013. var IfcSectionedSolid = class {
  45014. constructor(expressID, type, Directrix, CrossSections) {
  45015. this.expressID = expressID;
  45016. this.type = type;
  45017. this.Directrix = Directrix;
  45018. this.CrossSections = CrossSections;
  45019. }
  45020. static FromTape(expressID, type, tape) {
  45021. let ptr = 0;
  45022. let Directrix = tape[ptr++];
  45023. let CrossSections = tape[ptr++];
  45024. return new IfcSectionedSolid(expressID, type, Directrix, CrossSections);
  45025. }
  45026. ToTape() {
  45027. let args = [];
  45028. args.push(this.Directrix);
  45029. ;
  45030. args.push(this.CrossSections);
  45031. ;
  45032. return args;
  45033. }
  45034. };
  45035. var IfcSectionedSolidHorizontal = class {
  45036. constructor(expressID, type, Directrix, CrossSections, CrossSectionPositions, FixedAxisVertical) {
  45037. this.expressID = expressID;
  45038. this.type = type;
  45039. this.Directrix = Directrix;
  45040. this.CrossSections = CrossSections;
  45041. this.CrossSectionPositions = CrossSectionPositions;
  45042. this.FixedAxisVertical = FixedAxisVertical;
  45043. }
  45044. static FromTape(expressID, type, tape) {
  45045. let ptr = 0;
  45046. let Directrix = tape[ptr++];
  45047. let CrossSections = tape[ptr++];
  45048. let CrossSectionPositions = tape[ptr++];
  45049. let FixedAxisVertical = tape[ptr++];
  45050. return new IfcSectionedSolidHorizontal(expressID, type, Directrix, CrossSections, CrossSectionPositions, FixedAxisVertical);
  45051. }
  45052. ToTape() {
  45053. let args = [];
  45054. args.push(this.Directrix);
  45055. ;
  45056. args.push(this.CrossSections);
  45057. ;
  45058. args.push(this.CrossSectionPositions);
  45059. ;
  45060. args.push(this.FixedAxisVertical);
  45061. ;
  45062. return args;
  45063. }
  45064. };
  45065. var IfcSectionedSpine = class {
  45066. constructor(expressID, type, SpineCurve, CrossSections, CrossSectionPositions) {
  45067. this.expressID = expressID;
  45068. this.type = type;
  45069. this.SpineCurve = SpineCurve;
  45070. this.CrossSections = CrossSections;
  45071. this.CrossSectionPositions = CrossSectionPositions;
  45072. }
  45073. static FromTape(expressID, type, tape) {
  45074. let ptr = 0;
  45075. let SpineCurve = tape[ptr++];
  45076. let CrossSections = tape[ptr++];
  45077. let CrossSectionPositions = tape[ptr++];
  45078. return new IfcSectionedSpine(expressID, type, SpineCurve, CrossSections, CrossSectionPositions);
  45079. }
  45080. ToTape() {
  45081. let args = [];
  45082. args.push(this.SpineCurve);
  45083. ;
  45084. args.push(this.CrossSections);
  45085. ;
  45086. args.push(this.CrossSectionPositions);
  45087. ;
  45088. return args;
  45089. }
  45090. };
  45091. var IfcSensor = class {
  45092. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45093. this.expressID = expressID;
  45094. this.type = type;
  45095. this.GlobalId = GlobalId;
  45096. this.OwnerHistory = OwnerHistory;
  45097. this.Name = Name;
  45098. this.Description = Description;
  45099. this.ObjectType = ObjectType;
  45100. this.ObjectPlacement = ObjectPlacement;
  45101. this.Representation = Representation;
  45102. this.Tag = Tag;
  45103. this.PredefinedType = PredefinedType;
  45104. }
  45105. static FromTape(expressID, type, tape) {
  45106. let ptr = 0;
  45107. let GlobalId = tape[ptr++];
  45108. let OwnerHistory = tape[ptr++];
  45109. let Name = tape[ptr++];
  45110. let Description = tape[ptr++];
  45111. let ObjectType = tape[ptr++];
  45112. let ObjectPlacement = tape[ptr++];
  45113. let Representation = tape[ptr++];
  45114. let Tag = tape[ptr++];
  45115. let PredefinedType = tape[ptr++];
  45116. return new IfcSensor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  45117. }
  45118. ToTape() {
  45119. let args = [];
  45120. args.push(this.GlobalId);
  45121. ;
  45122. args.push(this.OwnerHistory);
  45123. ;
  45124. args.push(this.Name);
  45125. ;
  45126. args.push(this.Description);
  45127. ;
  45128. args.push(this.ObjectType);
  45129. ;
  45130. args.push(this.ObjectPlacement);
  45131. ;
  45132. args.push(this.Representation);
  45133. ;
  45134. args.push(this.Tag);
  45135. ;
  45136. args.push(this.PredefinedType);
  45137. ;
  45138. return args;
  45139. }
  45140. };
  45141. var IfcSensorType = class {
  45142. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  45143. this.expressID = expressID;
  45144. this.type = type;
  45145. this.GlobalId = GlobalId;
  45146. this.OwnerHistory = OwnerHistory;
  45147. this.Name = Name;
  45148. this.Description = Description;
  45149. this.ApplicableOccurrence = ApplicableOccurrence;
  45150. this.HasPropertySets = HasPropertySets;
  45151. this.RepresentationMaps = RepresentationMaps;
  45152. this.Tag = Tag;
  45153. this.ElementType = ElementType;
  45154. this.PredefinedType = PredefinedType;
  45155. }
  45156. static FromTape(expressID, type, tape) {
  45157. let ptr = 0;
  45158. let GlobalId = tape[ptr++];
  45159. let OwnerHistory = tape[ptr++];
  45160. let Name = tape[ptr++];
  45161. let Description = tape[ptr++];
  45162. let ApplicableOccurrence = tape[ptr++];
  45163. let HasPropertySets = tape[ptr++];
  45164. let RepresentationMaps = tape[ptr++];
  45165. let Tag = tape[ptr++];
  45166. let ElementType = tape[ptr++];
  45167. let PredefinedType = tape[ptr++];
  45168. return new IfcSensorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  45169. }
  45170. ToTape() {
  45171. let args = [];
  45172. args.push(this.GlobalId);
  45173. ;
  45174. args.push(this.OwnerHistory);
  45175. ;
  45176. args.push(this.Name);
  45177. ;
  45178. args.push(this.Description);
  45179. ;
  45180. args.push(this.ApplicableOccurrence);
  45181. ;
  45182. args.push(this.HasPropertySets);
  45183. ;
  45184. args.push(this.RepresentationMaps);
  45185. ;
  45186. args.push(this.Tag);
  45187. ;
  45188. args.push(this.ElementType);
  45189. ;
  45190. args.push(this.PredefinedType);
  45191. ;
  45192. return args;
  45193. }
  45194. };
  45195. var IfcShadingDevice = class {
  45196. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45197. this.expressID = expressID;
  45198. this.type = type;
  45199. this.GlobalId = GlobalId;
  45200. this.OwnerHistory = OwnerHistory;
  45201. this.Name = Name;
  45202. this.Description = Description;
  45203. this.ObjectType = ObjectType;
  45204. this.ObjectPlacement = ObjectPlacement;
  45205. this.Representation = Representation;
  45206. this.Tag = Tag;
  45207. this.PredefinedType = PredefinedType;
  45208. }
  45209. static FromTape(expressID, type, tape) {
  45210. let ptr = 0;
  45211. let GlobalId = tape[ptr++];
  45212. let OwnerHistory = tape[ptr++];
  45213. let Name = tape[ptr++];
  45214. let Description = tape[ptr++];
  45215. let ObjectType = tape[ptr++];
  45216. let ObjectPlacement = tape[ptr++];
  45217. let Representation = tape[ptr++];
  45218. let Tag = tape[ptr++];
  45219. let PredefinedType = tape[ptr++];
  45220. return new IfcShadingDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  45221. }
  45222. ToTape() {
  45223. let args = [];
  45224. args.push(this.GlobalId);
  45225. ;
  45226. args.push(this.OwnerHistory);
  45227. ;
  45228. args.push(this.Name);
  45229. ;
  45230. args.push(this.Description);
  45231. ;
  45232. args.push(this.ObjectType);
  45233. ;
  45234. args.push(this.ObjectPlacement);
  45235. ;
  45236. args.push(this.Representation);
  45237. ;
  45238. args.push(this.Tag);
  45239. ;
  45240. args.push(this.PredefinedType);
  45241. ;
  45242. return args;
  45243. }
  45244. };
  45245. var IfcShadingDeviceType = class {
  45246. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  45247. this.expressID = expressID;
  45248. this.type = type;
  45249. this.GlobalId = GlobalId;
  45250. this.OwnerHistory = OwnerHistory;
  45251. this.Name = Name;
  45252. this.Description = Description;
  45253. this.ApplicableOccurrence = ApplicableOccurrence;
  45254. this.HasPropertySets = HasPropertySets;
  45255. this.RepresentationMaps = RepresentationMaps;
  45256. this.Tag = Tag;
  45257. this.ElementType = ElementType;
  45258. this.PredefinedType = PredefinedType;
  45259. }
  45260. static FromTape(expressID, type, tape) {
  45261. let ptr = 0;
  45262. let GlobalId = tape[ptr++];
  45263. let OwnerHistory = tape[ptr++];
  45264. let Name = tape[ptr++];
  45265. let Description = tape[ptr++];
  45266. let ApplicableOccurrence = tape[ptr++];
  45267. let HasPropertySets = tape[ptr++];
  45268. let RepresentationMaps = tape[ptr++];
  45269. let Tag = tape[ptr++];
  45270. let ElementType = tape[ptr++];
  45271. let PredefinedType = tape[ptr++];
  45272. return new IfcShadingDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  45273. }
  45274. ToTape() {
  45275. let args = [];
  45276. args.push(this.GlobalId);
  45277. ;
  45278. args.push(this.OwnerHistory);
  45279. ;
  45280. args.push(this.Name);
  45281. ;
  45282. args.push(this.Description);
  45283. ;
  45284. args.push(this.ApplicableOccurrence);
  45285. ;
  45286. args.push(this.HasPropertySets);
  45287. ;
  45288. args.push(this.RepresentationMaps);
  45289. ;
  45290. args.push(this.Tag);
  45291. ;
  45292. args.push(this.ElementType);
  45293. ;
  45294. args.push(this.PredefinedType);
  45295. ;
  45296. return args;
  45297. }
  45298. };
  45299. var IfcShapeAspect = class {
  45300. constructor(expressID, type, ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) {
  45301. this.expressID = expressID;
  45302. this.type = type;
  45303. this.ShapeRepresentations = ShapeRepresentations;
  45304. this.Name = Name;
  45305. this.Description = Description;
  45306. this.ProductDefinitional = ProductDefinitional;
  45307. this.PartOfProductDefinitionShape = PartOfProductDefinitionShape;
  45308. }
  45309. static FromTape(expressID, type, tape) {
  45310. let ptr = 0;
  45311. let ShapeRepresentations = tape[ptr++];
  45312. let Name = tape[ptr++];
  45313. let Description = tape[ptr++];
  45314. let ProductDefinitional = tape[ptr++];
  45315. let PartOfProductDefinitionShape = tape[ptr++];
  45316. return new IfcShapeAspect(expressID, type, ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape);
  45317. }
  45318. ToTape() {
  45319. let args = [];
  45320. args.push(this.ShapeRepresentations);
  45321. ;
  45322. args.push(this.Name);
  45323. ;
  45324. args.push(this.Description);
  45325. ;
  45326. args.push(this.ProductDefinitional);
  45327. ;
  45328. args.push(this.PartOfProductDefinitionShape);
  45329. ;
  45330. return args;
  45331. }
  45332. };
  45333. var IfcShapeModel = class {
  45334. constructor(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
  45335. this.expressID = expressID;
  45336. this.type = type;
  45337. this.ContextOfItems = ContextOfItems;
  45338. this.RepresentationIdentifier = RepresentationIdentifier;
  45339. this.RepresentationType = RepresentationType;
  45340. this.Items = Items;
  45341. }
  45342. static FromTape(expressID, type, tape) {
  45343. let ptr = 0;
  45344. let ContextOfItems = tape[ptr++];
  45345. let RepresentationIdentifier = tape[ptr++];
  45346. let RepresentationType = tape[ptr++];
  45347. let Items = tape[ptr++];
  45348. return new IfcShapeModel(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
  45349. }
  45350. ToTape() {
  45351. let args = [];
  45352. args.push(this.ContextOfItems);
  45353. ;
  45354. args.push(this.RepresentationIdentifier);
  45355. ;
  45356. args.push(this.RepresentationType);
  45357. ;
  45358. args.push(this.Items);
  45359. ;
  45360. return args;
  45361. }
  45362. };
  45363. var IfcShapeRepresentation = class {
  45364. constructor(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
  45365. this.expressID = expressID;
  45366. this.type = type;
  45367. this.ContextOfItems = ContextOfItems;
  45368. this.RepresentationIdentifier = RepresentationIdentifier;
  45369. this.RepresentationType = RepresentationType;
  45370. this.Items = Items;
  45371. }
  45372. static FromTape(expressID, type, tape) {
  45373. let ptr = 0;
  45374. let ContextOfItems = tape[ptr++];
  45375. let RepresentationIdentifier = tape[ptr++];
  45376. let RepresentationType = tape[ptr++];
  45377. let Items = tape[ptr++];
  45378. return new IfcShapeRepresentation(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
  45379. }
  45380. ToTape() {
  45381. let args = [];
  45382. args.push(this.ContextOfItems);
  45383. ;
  45384. args.push(this.RepresentationIdentifier);
  45385. ;
  45386. args.push(this.RepresentationType);
  45387. ;
  45388. args.push(this.Items);
  45389. ;
  45390. return args;
  45391. }
  45392. };
  45393. var IfcShellBasedSurfaceModel = class {
  45394. constructor(expressID, type, SbsmBoundary) {
  45395. this.expressID = expressID;
  45396. this.type = type;
  45397. this.SbsmBoundary = SbsmBoundary;
  45398. }
  45399. static FromTape(expressID, type, tape) {
  45400. let ptr = 0;
  45401. let SbsmBoundary = tape[ptr++];
  45402. return new IfcShellBasedSurfaceModel(expressID, type, SbsmBoundary);
  45403. }
  45404. ToTape() {
  45405. let args = [];
  45406. args.push(this.SbsmBoundary);
  45407. ;
  45408. return args;
  45409. }
  45410. };
  45411. var IfcSimpleProperty = class {
  45412. constructor(expressID, type, Name, Description) {
  45413. this.expressID = expressID;
  45414. this.type = type;
  45415. this.Name = Name;
  45416. this.Description = Description;
  45417. }
  45418. static FromTape(expressID, type, tape) {
  45419. let ptr = 0;
  45420. let Name = tape[ptr++];
  45421. let Description = tape[ptr++];
  45422. return new IfcSimpleProperty(expressID, type, Name, Description);
  45423. }
  45424. ToTape() {
  45425. let args = [];
  45426. args.push(this.Name);
  45427. ;
  45428. args.push(this.Description);
  45429. ;
  45430. return args;
  45431. }
  45432. };
  45433. var IfcSimplePropertyTemplate = class {
  45434. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) {
  45435. this.expressID = expressID;
  45436. this.type = type;
  45437. this.GlobalId = GlobalId;
  45438. this.OwnerHistory = OwnerHistory;
  45439. this.Name = Name;
  45440. this.Description = Description;
  45441. this.TemplateType = TemplateType;
  45442. this.PrimaryMeasureType = PrimaryMeasureType;
  45443. this.SecondaryMeasureType = SecondaryMeasureType;
  45444. this.Enumerators = Enumerators;
  45445. this.PrimaryUnit = PrimaryUnit;
  45446. this.SecondaryUnit = SecondaryUnit;
  45447. this.Expression = Expression;
  45448. this.AccessState = AccessState;
  45449. }
  45450. static FromTape(expressID, type, tape) {
  45451. let ptr = 0;
  45452. let GlobalId = tape[ptr++];
  45453. let OwnerHistory = tape[ptr++];
  45454. let Name = tape[ptr++];
  45455. let Description = tape[ptr++];
  45456. let TemplateType = tape[ptr++];
  45457. let PrimaryMeasureType = tape[ptr++];
  45458. let SecondaryMeasureType = tape[ptr++];
  45459. let Enumerators = tape[ptr++];
  45460. let PrimaryUnit = tape[ptr++];
  45461. let SecondaryUnit = tape[ptr++];
  45462. let Expression = tape[ptr++];
  45463. let AccessState = tape[ptr++];
  45464. return new IfcSimplePropertyTemplate(expressID, type, GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState);
  45465. }
  45466. ToTape() {
  45467. let args = [];
  45468. args.push(this.GlobalId);
  45469. ;
  45470. args.push(this.OwnerHistory);
  45471. ;
  45472. args.push(this.Name);
  45473. ;
  45474. args.push(this.Description);
  45475. ;
  45476. args.push(this.TemplateType);
  45477. ;
  45478. args.push(this.PrimaryMeasureType);
  45479. ;
  45480. args.push(this.SecondaryMeasureType);
  45481. ;
  45482. args.push(this.Enumerators);
  45483. ;
  45484. args.push(this.PrimaryUnit);
  45485. ;
  45486. args.push(this.SecondaryUnit);
  45487. ;
  45488. args.push(this.Expression);
  45489. ;
  45490. args.push(this.AccessState);
  45491. ;
  45492. return args;
  45493. }
  45494. };
  45495. var IfcSite = class {
  45496. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) {
  45497. this.expressID = expressID;
  45498. this.type = type;
  45499. this.GlobalId = GlobalId;
  45500. this.OwnerHistory = OwnerHistory;
  45501. this.Name = Name;
  45502. this.Description = Description;
  45503. this.ObjectType = ObjectType;
  45504. this.ObjectPlacement = ObjectPlacement;
  45505. this.Representation = Representation;
  45506. this.LongName = LongName;
  45507. this.CompositionType = CompositionType;
  45508. this.RefLatitude = RefLatitude;
  45509. this.RefLongitude = RefLongitude;
  45510. this.RefElevation = RefElevation;
  45511. this.LandTitleNumber = LandTitleNumber;
  45512. this.SiteAddress = SiteAddress;
  45513. }
  45514. static FromTape(expressID, type, tape) {
  45515. let ptr = 0;
  45516. let GlobalId = tape[ptr++];
  45517. let OwnerHistory = tape[ptr++];
  45518. let Name = tape[ptr++];
  45519. let Description = tape[ptr++];
  45520. let ObjectType = tape[ptr++];
  45521. let ObjectPlacement = tape[ptr++];
  45522. let Representation = tape[ptr++];
  45523. let LongName = tape[ptr++];
  45524. let CompositionType = tape[ptr++];
  45525. let RefLatitude = tape[ptr++];
  45526. let RefLongitude = tape[ptr++];
  45527. let RefElevation = tape[ptr++];
  45528. let LandTitleNumber = tape[ptr++];
  45529. let SiteAddress = tape[ptr++];
  45530. return new IfcSite(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress);
  45531. }
  45532. ToTape() {
  45533. let args = [];
  45534. args.push(this.GlobalId);
  45535. ;
  45536. args.push(this.OwnerHistory);
  45537. ;
  45538. args.push(this.Name);
  45539. ;
  45540. args.push(this.Description);
  45541. ;
  45542. args.push(this.ObjectType);
  45543. ;
  45544. args.push(this.ObjectPlacement);
  45545. ;
  45546. args.push(this.Representation);
  45547. ;
  45548. args.push(this.LongName);
  45549. ;
  45550. args.push(this.CompositionType);
  45551. ;
  45552. args.push(this.RefLatitude);
  45553. ;
  45554. args.push(this.RefLongitude);
  45555. ;
  45556. args.push(this.RefElevation);
  45557. ;
  45558. args.push(this.LandTitleNumber);
  45559. ;
  45560. args.push(this.SiteAddress);
  45561. ;
  45562. return args;
  45563. }
  45564. };
  45565. var IfcSlab = class {
  45566. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45567. this.expressID = expressID;
  45568. this.type = type;
  45569. this.GlobalId = GlobalId;
  45570. this.OwnerHistory = OwnerHistory;
  45571. this.Name = Name;
  45572. this.Description = Description;
  45573. this.ObjectType = ObjectType;
  45574. this.ObjectPlacement = ObjectPlacement;
  45575. this.Representation = Representation;
  45576. this.Tag = Tag;
  45577. this.PredefinedType = PredefinedType;
  45578. }
  45579. static FromTape(expressID, type, tape) {
  45580. let ptr = 0;
  45581. let GlobalId = tape[ptr++];
  45582. let OwnerHistory = tape[ptr++];
  45583. let Name = tape[ptr++];
  45584. let Description = tape[ptr++];
  45585. let ObjectType = tape[ptr++];
  45586. let ObjectPlacement = tape[ptr++];
  45587. let Representation = tape[ptr++];
  45588. let Tag = tape[ptr++];
  45589. let PredefinedType = tape[ptr++];
  45590. return new IfcSlab(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  45591. }
  45592. ToTape() {
  45593. let args = [];
  45594. args.push(this.GlobalId);
  45595. ;
  45596. args.push(this.OwnerHistory);
  45597. ;
  45598. args.push(this.Name);
  45599. ;
  45600. args.push(this.Description);
  45601. ;
  45602. args.push(this.ObjectType);
  45603. ;
  45604. args.push(this.ObjectPlacement);
  45605. ;
  45606. args.push(this.Representation);
  45607. ;
  45608. args.push(this.Tag);
  45609. ;
  45610. args.push(this.PredefinedType);
  45611. ;
  45612. return args;
  45613. }
  45614. };
  45615. var IfcSlabElementedCase = class {
  45616. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45617. this.expressID = expressID;
  45618. this.type = type;
  45619. this.GlobalId = GlobalId;
  45620. this.OwnerHistory = OwnerHistory;
  45621. this.Name = Name;
  45622. this.Description = Description;
  45623. this.ObjectType = ObjectType;
  45624. this.ObjectPlacement = ObjectPlacement;
  45625. this.Representation = Representation;
  45626. this.Tag = Tag;
  45627. this.PredefinedType = PredefinedType;
  45628. }
  45629. static FromTape(expressID, type, tape) {
  45630. let ptr = 0;
  45631. let GlobalId = tape[ptr++];
  45632. let OwnerHistory = tape[ptr++];
  45633. let Name = tape[ptr++];
  45634. let Description = tape[ptr++];
  45635. let ObjectType = tape[ptr++];
  45636. let ObjectPlacement = tape[ptr++];
  45637. let Representation = tape[ptr++];
  45638. let Tag = tape[ptr++];
  45639. let PredefinedType = tape[ptr++];
  45640. return new IfcSlabElementedCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  45641. }
  45642. ToTape() {
  45643. let args = [];
  45644. args.push(this.GlobalId);
  45645. ;
  45646. args.push(this.OwnerHistory);
  45647. ;
  45648. args.push(this.Name);
  45649. ;
  45650. args.push(this.Description);
  45651. ;
  45652. args.push(this.ObjectType);
  45653. ;
  45654. args.push(this.ObjectPlacement);
  45655. ;
  45656. args.push(this.Representation);
  45657. ;
  45658. args.push(this.Tag);
  45659. ;
  45660. args.push(this.PredefinedType);
  45661. ;
  45662. return args;
  45663. }
  45664. };
  45665. var IfcSlabStandardCase = class {
  45666. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45667. this.expressID = expressID;
  45668. this.type = type;
  45669. this.GlobalId = GlobalId;
  45670. this.OwnerHistory = OwnerHistory;
  45671. this.Name = Name;
  45672. this.Description = Description;
  45673. this.ObjectType = ObjectType;
  45674. this.ObjectPlacement = ObjectPlacement;
  45675. this.Representation = Representation;
  45676. this.Tag = Tag;
  45677. this.PredefinedType = PredefinedType;
  45678. }
  45679. static FromTape(expressID, type, tape) {
  45680. let ptr = 0;
  45681. let GlobalId = tape[ptr++];
  45682. let OwnerHistory = tape[ptr++];
  45683. let Name = tape[ptr++];
  45684. let Description = tape[ptr++];
  45685. let ObjectType = tape[ptr++];
  45686. let ObjectPlacement = tape[ptr++];
  45687. let Representation = tape[ptr++];
  45688. let Tag = tape[ptr++];
  45689. let PredefinedType = tape[ptr++];
  45690. return new IfcSlabStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  45691. }
  45692. ToTape() {
  45693. let args = [];
  45694. args.push(this.GlobalId);
  45695. ;
  45696. args.push(this.OwnerHistory);
  45697. ;
  45698. args.push(this.Name);
  45699. ;
  45700. args.push(this.Description);
  45701. ;
  45702. args.push(this.ObjectType);
  45703. ;
  45704. args.push(this.ObjectPlacement);
  45705. ;
  45706. args.push(this.Representation);
  45707. ;
  45708. args.push(this.Tag);
  45709. ;
  45710. args.push(this.PredefinedType);
  45711. ;
  45712. return args;
  45713. }
  45714. };
  45715. var IfcSlabType = class {
  45716. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  45717. this.expressID = expressID;
  45718. this.type = type;
  45719. this.GlobalId = GlobalId;
  45720. this.OwnerHistory = OwnerHistory;
  45721. this.Name = Name;
  45722. this.Description = Description;
  45723. this.ApplicableOccurrence = ApplicableOccurrence;
  45724. this.HasPropertySets = HasPropertySets;
  45725. this.RepresentationMaps = RepresentationMaps;
  45726. this.Tag = Tag;
  45727. this.ElementType = ElementType;
  45728. this.PredefinedType = PredefinedType;
  45729. }
  45730. static FromTape(expressID, type, tape) {
  45731. let ptr = 0;
  45732. let GlobalId = tape[ptr++];
  45733. let OwnerHistory = tape[ptr++];
  45734. let Name = tape[ptr++];
  45735. let Description = tape[ptr++];
  45736. let ApplicableOccurrence = tape[ptr++];
  45737. let HasPropertySets = tape[ptr++];
  45738. let RepresentationMaps = tape[ptr++];
  45739. let Tag = tape[ptr++];
  45740. let ElementType = tape[ptr++];
  45741. let PredefinedType = tape[ptr++];
  45742. return new IfcSlabType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  45743. }
  45744. ToTape() {
  45745. let args = [];
  45746. args.push(this.GlobalId);
  45747. ;
  45748. args.push(this.OwnerHistory);
  45749. ;
  45750. args.push(this.Name);
  45751. ;
  45752. args.push(this.Description);
  45753. ;
  45754. args.push(this.ApplicableOccurrence);
  45755. ;
  45756. args.push(this.HasPropertySets);
  45757. ;
  45758. args.push(this.RepresentationMaps);
  45759. ;
  45760. args.push(this.Tag);
  45761. ;
  45762. args.push(this.ElementType);
  45763. ;
  45764. args.push(this.PredefinedType);
  45765. ;
  45766. return args;
  45767. }
  45768. };
  45769. var IfcSlippageConnectionCondition = class {
  45770. constructor(expressID, type, Name, SlippageX, SlippageY, SlippageZ) {
  45771. this.expressID = expressID;
  45772. this.type = type;
  45773. this.Name = Name;
  45774. this.SlippageX = SlippageX;
  45775. this.SlippageY = SlippageY;
  45776. this.SlippageZ = SlippageZ;
  45777. }
  45778. static FromTape(expressID, type, tape) {
  45779. let ptr = 0;
  45780. let Name = tape[ptr++];
  45781. let SlippageX = tape[ptr++];
  45782. let SlippageY = tape[ptr++];
  45783. let SlippageZ = tape[ptr++];
  45784. return new IfcSlippageConnectionCondition(expressID, type, Name, SlippageX, SlippageY, SlippageZ);
  45785. }
  45786. ToTape() {
  45787. let args = [];
  45788. args.push(this.Name);
  45789. ;
  45790. args.push(this.SlippageX);
  45791. ;
  45792. args.push(this.SlippageY);
  45793. ;
  45794. args.push(this.SlippageZ);
  45795. ;
  45796. return args;
  45797. }
  45798. };
  45799. var IfcSolarDevice = class {
  45800. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45801. this.expressID = expressID;
  45802. this.type = type;
  45803. this.GlobalId = GlobalId;
  45804. this.OwnerHistory = OwnerHistory;
  45805. this.Name = Name;
  45806. this.Description = Description;
  45807. this.ObjectType = ObjectType;
  45808. this.ObjectPlacement = ObjectPlacement;
  45809. this.Representation = Representation;
  45810. this.Tag = Tag;
  45811. this.PredefinedType = PredefinedType;
  45812. }
  45813. static FromTape(expressID, type, tape) {
  45814. let ptr = 0;
  45815. let GlobalId = tape[ptr++];
  45816. let OwnerHistory = tape[ptr++];
  45817. let Name = tape[ptr++];
  45818. let Description = tape[ptr++];
  45819. let ObjectType = tape[ptr++];
  45820. let ObjectPlacement = tape[ptr++];
  45821. let Representation = tape[ptr++];
  45822. let Tag = tape[ptr++];
  45823. let PredefinedType = tape[ptr++];
  45824. return new IfcSolarDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  45825. }
  45826. ToTape() {
  45827. let args = [];
  45828. args.push(this.GlobalId);
  45829. ;
  45830. args.push(this.OwnerHistory);
  45831. ;
  45832. args.push(this.Name);
  45833. ;
  45834. args.push(this.Description);
  45835. ;
  45836. args.push(this.ObjectType);
  45837. ;
  45838. args.push(this.ObjectPlacement);
  45839. ;
  45840. args.push(this.Representation);
  45841. ;
  45842. args.push(this.Tag);
  45843. ;
  45844. args.push(this.PredefinedType);
  45845. ;
  45846. return args;
  45847. }
  45848. };
  45849. var IfcSolarDeviceType = class {
  45850. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  45851. this.expressID = expressID;
  45852. this.type = type;
  45853. this.GlobalId = GlobalId;
  45854. this.OwnerHistory = OwnerHistory;
  45855. this.Name = Name;
  45856. this.Description = Description;
  45857. this.ApplicableOccurrence = ApplicableOccurrence;
  45858. this.HasPropertySets = HasPropertySets;
  45859. this.RepresentationMaps = RepresentationMaps;
  45860. this.Tag = Tag;
  45861. this.ElementType = ElementType;
  45862. this.PredefinedType = PredefinedType;
  45863. }
  45864. static FromTape(expressID, type, tape) {
  45865. let ptr = 0;
  45866. let GlobalId = tape[ptr++];
  45867. let OwnerHistory = tape[ptr++];
  45868. let Name = tape[ptr++];
  45869. let Description = tape[ptr++];
  45870. let ApplicableOccurrence = tape[ptr++];
  45871. let HasPropertySets = tape[ptr++];
  45872. let RepresentationMaps = tape[ptr++];
  45873. let Tag = tape[ptr++];
  45874. let ElementType = tape[ptr++];
  45875. let PredefinedType = tape[ptr++];
  45876. return new IfcSolarDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  45877. }
  45878. ToTape() {
  45879. let args = [];
  45880. args.push(this.GlobalId);
  45881. ;
  45882. args.push(this.OwnerHistory);
  45883. ;
  45884. args.push(this.Name);
  45885. ;
  45886. args.push(this.Description);
  45887. ;
  45888. args.push(this.ApplicableOccurrence);
  45889. ;
  45890. args.push(this.HasPropertySets);
  45891. ;
  45892. args.push(this.RepresentationMaps);
  45893. ;
  45894. args.push(this.Tag);
  45895. ;
  45896. args.push(this.ElementType);
  45897. ;
  45898. args.push(this.PredefinedType);
  45899. ;
  45900. return args;
  45901. }
  45902. };
  45903. var IfcSolidModel = class {
  45904. constructor(expressID, type) {
  45905. this.expressID = expressID;
  45906. this.type = type;
  45907. }
  45908. static FromTape(expressID, type, tape) {
  45909. let ptr = 0;
  45910. return new IfcSolidModel(expressID, type);
  45911. }
  45912. ToTape() {
  45913. let args = [];
  45914. return args;
  45915. }
  45916. };
  45917. var IfcSpace = class {
  45918. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) {
  45919. this.expressID = expressID;
  45920. this.type = type;
  45921. this.GlobalId = GlobalId;
  45922. this.OwnerHistory = OwnerHistory;
  45923. this.Name = Name;
  45924. this.Description = Description;
  45925. this.ObjectType = ObjectType;
  45926. this.ObjectPlacement = ObjectPlacement;
  45927. this.Representation = Representation;
  45928. this.LongName = LongName;
  45929. this.CompositionType = CompositionType;
  45930. this.PredefinedType = PredefinedType;
  45931. this.ElevationWithFlooring = ElevationWithFlooring;
  45932. }
  45933. static FromTape(expressID, type, tape) {
  45934. let ptr = 0;
  45935. let GlobalId = tape[ptr++];
  45936. let OwnerHistory = tape[ptr++];
  45937. let Name = tape[ptr++];
  45938. let Description = tape[ptr++];
  45939. let ObjectType = tape[ptr++];
  45940. let ObjectPlacement = tape[ptr++];
  45941. let Representation = tape[ptr++];
  45942. let LongName = tape[ptr++];
  45943. let CompositionType = tape[ptr++];
  45944. let PredefinedType = tape[ptr++];
  45945. let ElevationWithFlooring = tape[ptr++];
  45946. return new IfcSpace(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring);
  45947. }
  45948. ToTape() {
  45949. let args = [];
  45950. args.push(this.GlobalId);
  45951. ;
  45952. args.push(this.OwnerHistory);
  45953. ;
  45954. args.push(this.Name);
  45955. ;
  45956. args.push(this.Description);
  45957. ;
  45958. args.push(this.ObjectType);
  45959. ;
  45960. args.push(this.ObjectPlacement);
  45961. ;
  45962. args.push(this.Representation);
  45963. ;
  45964. args.push(this.LongName);
  45965. ;
  45966. args.push(this.CompositionType);
  45967. ;
  45968. args.push(this.PredefinedType);
  45969. ;
  45970. args.push(this.ElevationWithFlooring);
  45971. ;
  45972. return args;
  45973. }
  45974. };
  45975. var IfcSpaceHeater = class {
  45976. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  45977. this.expressID = expressID;
  45978. this.type = type;
  45979. this.GlobalId = GlobalId;
  45980. this.OwnerHistory = OwnerHistory;
  45981. this.Name = Name;
  45982. this.Description = Description;
  45983. this.ObjectType = ObjectType;
  45984. this.ObjectPlacement = ObjectPlacement;
  45985. this.Representation = Representation;
  45986. this.Tag = Tag;
  45987. this.PredefinedType = PredefinedType;
  45988. }
  45989. static FromTape(expressID, type, tape) {
  45990. let ptr = 0;
  45991. let GlobalId = tape[ptr++];
  45992. let OwnerHistory = tape[ptr++];
  45993. let Name = tape[ptr++];
  45994. let Description = tape[ptr++];
  45995. let ObjectType = tape[ptr++];
  45996. let ObjectPlacement = tape[ptr++];
  45997. let Representation = tape[ptr++];
  45998. let Tag = tape[ptr++];
  45999. let PredefinedType = tape[ptr++];
  46000. return new IfcSpaceHeater(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  46001. }
  46002. ToTape() {
  46003. let args = [];
  46004. args.push(this.GlobalId);
  46005. ;
  46006. args.push(this.OwnerHistory);
  46007. ;
  46008. args.push(this.Name);
  46009. ;
  46010. args.push(this.Description);
  46011. ;
  46012. args.push(this.ObjectType);
  46013. ;
  46014. args.push(this.ObjectPlacement);
  46015. ;
  46016. args.push(this.Representation);
  46017. ;
  46018. args.push(this.Tag);
  46019. ;
  46020. args.push(this.PredefinedType);
  46021. ;
  46022. return args;
  46023. }
  46024. };
  46025. var IfcSpaceHeaterType = class {
  46026. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  46027. this.expressID = expressID;
  46028. this.type = type;
  46029. this.GlobalId = GlobalId;
  46030. this.OwnerHistory = OwnerHistory;
  46031. this.Name = Name;
  46032. this.Description = Description;
  46033. this.ApplicableOccurrence = ApplicableOccurrence;
  46034. this.HasPropertySets = HasPropertySets;
  46035. this.RepresentationMaps = RepresentationMaps;
  46036. this.Tag = Tag;
  46037. this.ElementType = ElementType;
  46038. this.PredefinedType = PredefinedType;
  46039. }
  46040. static FromTape(expressID, type, tape) {
  46041. let ptr = 0;
  46042. let GlobalId = tape[ptr++];
  46043. let OwnerHistory = tape[ptr++];
  46044. let Name = tape[ptr++];
  46045. let Description = tape[ptr++];
  46046. let ApplicableOccurrence = tape[ptr++];
  46047. let HasPropertySets = tape[ptr++];
  46048. let RepresentationMaps = tape[ptr++];
  46049. let Tag = tape[ptr++];
  46050. let ElementType = tape[ptr++];
  46051. let PredefinedType = tape[ptr++];
  46052. return new IfcSpaceHeaterType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  46053. }
  46054. ToTape() {
  46055. let args = [];
  46056. args.push(this.GlobalId);
  46057. ;
  46058. args.push(this.OwnerHistory);
  46059. ;
  46060. args.push(this.Name);
  46061. ;
  46062. args.push(this.Description);
  46063. ;
  46064. args.push(this.ApplicableOccurrence);
  46065. ;
  46066. args.push(this.HasPropertySets);
  46067. ;
  46068. args.push(this.RepresentationMaps);
  46069. ;
  46070. args.push(this.Tag);
  46071. ;
  46072. args.push(this.ElementType);
  46073. ;
  46074. args.push(this.PredefinedType);
  46075. ;
  46076. return args;
  46077. }
  46078. };
  46079. var IfcSpaceType = class {
  46080. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) {
  46081. this.expressID = expressID;
  46082. this.type = type;
  46083. this.GlobalId = GlobalId;
  46084. this.OwnerHistory = OwnerHistory;
  46085. this.Name = Name;
  46086. this.Description = Description;
  46087. this.ApplicableOccurrence = ApplicableOccurrence;
  46088. this.HasPropertySets = HasPropertySets;
  46089. this.RepresentationMaps = RepresentationMaps;
  46090. this.Tag = Tag;
  46091. this.ElementType = ElementType;
  46092. this.PredefinedType = PredefinedType;
  46093. this.LongName = LongName;
  46094. }
  46095. static FromTape(expressID, type, tape) {
  46096. let ptr = 0;
  46097. let GlobalId = tape[ptr++];
  46098. let OwnerHistory = tape[ptr++];
  46099. let Name = tape[ptr++];
  46100. let Description = tape[ptr++];
  46101. let ApplicableOccurrence = tape[ptr++];
  46102. let HasPropertySets = tape[ptr++];
  46103. let RepresentationMaps = tape[ptr++];
  46104. let Tag = tape[ptr++];
  46105. let ElementType = tape[ptr++];
  46106. let PredefinedType = tape[ptr++];
  46107. let LongName = tape[ptr++];
  46108. return new IfcSpaceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName);
  46109. }
  46110. ToTape() {
  46111. let args = [];
  46112. args.push(this.GlobalId);
  46113. ;
  46114. args.push(this.OwnerHistory);
  46115. ;
  46116. args.push(this.Name);
  46117. ;
  46118. args.push(this.Description);
  46119. ;
  46120. args.push(this.ApplicableOccurrence);
  46121. ;
  46122. args.push(this.HasPropertySets);
  46123. ;
  46124. args.push(this.RepresentationMaps);
  46125. ;
  46126. args.push(this.Tag);
  46127. ;
  46128. args.push(this.ElementType);
  46129. ;
  46130. args.push(this.PredefinedType);
  46131. ;
  46132. args.push(this.LongName);
  46133. ;
  46134. return args;
  46135. }
  46136. };
  46137. var IfcSpatialElement = class {
  46138. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) {
  46139. this.expressID = expressID;
  46140. this.type = type;
  46141. this.GlobalId = GlobalId;
  46142. this.OwnerHistory = OwnerHistory;
  46143. this.Name = Name;
  46144. this.Description = Description;
  46145. this.ObjectType = ObjectType;
  46146. this.ObjectPlacement = ObjectPlacement;
  46147. this.Representation = Representation;
  46148. this.LongName = LongName;
  46149. }
  46150. static FromTape(expressID, type, tape) {
  46151. let ptr = 0;
  46152. let GlobalId = tape[ptr++];
  46153. let OwnerHistory = tape[ptr++];
  46154. let Name = tape[ptr++];
  46155. let Description = tape[ptr++];
  46156. let ObjectType = tape[ptr++];
  46157. let ObjectPlacement = tape[ptr++];
  46158. let Representation = tape[ptr++];
  46159. let LongName = tape[ptr++];
  46160. return new IfcSpatialElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
  46161. }
  46162. ToTape() {
  46163. let args = [];
  46164. args.push(this.GlobalId);
  46165. ;
  46166. args.push(this.OwnerHistory);
  46167. ;
  46168. args.push(this.Name);
  46169. ;
  46170. args.push(this.Description);
  46171. ;
  46172. args.push(this.ObjectType);
  46173. ;
  46174. args.push(this.ObjectPlacement);
  46175. ;
  46176. args.push(this.Representation);
  46177. ;
  46178. args.push(this.LongName);
  46179. ;
  46180. return args;
  46181. }
  46182. };
  46183. var IfcSpatialElementType = class {
  46184. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  46185. this.expressID = expressID;
  46186. this.type = type;
  46187. this.GlobalId = GlobalId;
  46188. this.OwnerHistory = OwnerHistory;
  46189. this.Name = Name;
  46190. this.Description = Description;
  46191. this.ApplicableOccurrence = ApplicableOccurrence;
  46192. this.HasPropertySets = HasPropertySets;
  46193. this.RepresentationMaps = RepresentationMaps;
  46194. this.Tag = Tag;
  46195. this.ElementType = ElementType;
  46196. }
  46197. static FromTape(expressID, type, tape) {
  46198. let ptr = 0;
  46199. let GlobalId = tape[ptr++];
  46200. let OwnerHistory = tape[ptr++];
  46201. let Name = tape[ptr++];
  46202. let Description = tape[ptr++];
  46203. let ApplicableOccurrence = tape[ptr++];
  46204. let HasPropertySets = tape[ptr++];
  46205. let RepresentationMaps = tape[ptr++];
  46206. let Tag = tape[ptr++];
  46207. let ElementType = tape[ptr++];
  46208. return new IfcSpatialElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  46209. }
  46210. ToTape() {
  46211. let args = [];
  46212. args.push(this.GlobalId);
  46213. ;
  46214. args.push(this.OwnerHistory);
  46215. ;
  46216. args.push(this.Name);
  46217. ;
  46218. args.push(this.Description);
  46219. ;
  46220. args.push(this.ApplicableOccurrence);
  46221. ;
  46222. args.push(this.HasPropertySets);
  46223. ;
  46224. args.push(this.RepresentationMaps);
  46225. ;
  46226. args.push(this.Tag);
  46227. ;
  46228. args.push(this.ElementType);
  46229. ;
  46230. return args;
  46231. }
  46232. };
  46233. var IfcSpatialStructureElement = class {
  46234. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
  46235. this.expressID = expressID;
  46236. this.type = type;
  46237. this.GlobalId = GlobalId;
  46238. this.OwnerHistory = OwnerHistory;
  46239. this.Name = Name;
  46240. this.Description = Description;
  46241. this.ObjectType = ObjectType;
  46242. this.ObjectPlacement = ObjectPlacement;
  46243. this.Representation = Representation;
  46244. this.LongName = LongName;
  46245. this.CompositionType = CompositionType;
  46246. }
  46247. static FromTape(expressID, type, tape) {
  46248. let ptr = 0;
  46249. let GlobalId = tape[ptr++];
  46250. let OwnerHistory = tape[ptr++];
  46251. let Name = tape[ptr++];
  46252. let Description = tape[ptr++];
  46253. let ObjectType = tape[ptr++];
  46254. let ObjectPlacement = tape[ptr++];
  46255. let Representation = tape[ptr++];
  46256. let LongName = tape[ptr++];
  46257. let CompositionType = tape[ptr++];
  46258. return new IfcSpatialStructureElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
  46259. }
  46260. ToTape() {
  46261. let args = [];
  46262. args.push(this.GlobalId);
  46263. ;
  46264. args.push(this.OwnerHistory);
  46265. ;
  46266. args.push(this.Name);
  46267. ;
  46268. args.push(this.Description);
  46269. ;
  46270. args.push(this.ObjectType);
  46271. ;
  46272. args.push(this.ObjectPlacement);
  46273. ;
  46274. args.push(this.Representation);
  46275. ;
  46276. args.push(this.LongName);
  46277. ;
  46278. args.push(this.CompositionType);
  46279. ;
  46280. return args;
  46281. }
  46282. };
  46283. var IfcSpatialStructureElementType = class {
  46284. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
  46285. this.expressID = expressID;
  46286. this.type = type;
  46287. this.GlobalId = GlobalId;
  46288. this.OwnerHistory = OwnerHistory;
  46289. this.Name = Name;
  46290. this.Description = Description;
  46291. this.ApplicableOccurrence = ApplicableOccurrence;
  46292. this.HasPropertySets = HasPropertySets;
  46293. this.RepresentationMaps = RepresentationMaps;
  46294. this.Tag = Tag;
  46295. this.ElementType = ElementType;
  46296. }
  46297. static FromTape(expressID, type, tape) {
  46298. let ptr = 0;
  46299. let GlobalId = tape[ptr++];
  46300. let OwnerHistory = tape[ptr++];
  46301. let Name = tape[ptr++];
  46302. let Description = tape[ptr++];
  46303. let ApplicableOccurrence = tape[ptr++];
  46304. let HasPropertySets = tape[ptr++];
  46305. let RepresentationMaps = tape[ptr++];
  46306. let Tag = tape[ptr++];
  46307. let ElementType = tape[ptr++];
  46308. return new IfcSpatialStructureElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
  46309. }
  46310. ToTape() {
  46311. let args = [];
  46312. args.push(this.GlobalId);
  46313. ;
  46314. args.push(this.OwnerHistory);
  46315. ;
  46316. args.push(this.Name);
  46317. ;
  46318. args.push(this.Description);
  46319. ;
  46320. args.push(this.ApplicableOccurrence);
  46321. ;
  46322. args.push(this.HasPropertySets);
  46323. ;
  46324. args.push(this.RepresentationMaps);
  46325. ;
  46326. args.push(this.Tag);
  46327. ;
  46328. args.push(this.ElementType);
  46329. ;
  46330. return args;
  46331. }
  46332. };
  46333. var IfcSpatialZone = class {
  46334. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) {
  46335. this.expressID = expressID;
  46336. this.type = type;
  46337. this.GlobalId = GlobalId;
  46338. this.OwnerHistory = OwnerHistory;
  46339. this.Name = Name;
  46340. this.Description = Description;
  46341. this.ObjectType = ObjectType;
  46342. this.ObjectPlacement = ObjectPlacement;
  46343. this.Representation = Representation;
  46344. this.LongName = LongName;
  46345. this.PredefinedType = PredefinedType;
  46346. }
  46347. static FromTape(expressID, type, tape) {
  46348. let ptr = 0;
  46349. let GlobalId = tape[ptr++];
  46350. let OwnerHistory = tape[ptr++];
  46351. let Name = tape[ptr++];
  46352. let Description = tape[ptr++];
  46353. let ObjectType = tape[ptr++];
  46354. let ObjectPlacement = tape[ptr++];
  46355. let Representation = tape[ptr++];
  46356. let LongName = tape[ptr++];
  46357. let PredefinedType = tape[ptr++];
  46358. return new IfcSpatialZone(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType);
  46359. }
  46360. ToTape() {
  46361. let args = [];
  46362. args.push(this.GlobalId);
  46363. ;
  46364. args.push(this.OwnerHistory);
  46365. ;
  46366. args.push(this.Name);
  46367. ;
  46368. args.push(this.Description);
  46369. ;
  46370. args.push(this.ObjectType);
  46371. ;
  46372. args.push(this.ObjectPlacement);
  46373. ;
  46374. args.push(this.Representation);
  46375. ;
  46376. args.push(this.LongName);
  46377. ;
  46378. args.push(this.PredefinedType);
  46379. ;
  46380. return args;
  46381. }
  46382. };
  46383. var IfcSpatialZoneType = class {
  46384. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) {
  46385. this.expressID = expressID;
  46386. this.type = type;
  46387. this.GlobalId = GlobalId;
  46388. this.OwnerHistory = OwnerHistory;
  46389. this.Name = Name;
  46390. this.Description = Description;
  46391. this.ApplicableOccurrence = ApplicableOccurrence;
  46392. this.HasPropertySets = HasPropertySets;
  46393. this.RepresentationMaps = RepresentationMaps;
  46394. this.Tag = Tag;
  46395. this.ElementType = ElementType;
  46396. this.PredefinedType = PredefinedType;
  46397. this.LongName = LongName;
  46398. }
  46399. static FromTape(expressID, type, tape) {
  46400. let ptr = 0;
  46401. let GlobalId = tape[ptr++];
  46402. let OwnerHistory = tape[ptr++];
  46403. let Name = tape[ptr++];
  46404. let Description = tape[ptr++];
  46405. let ApplicableOccurrence = tape[ptr++];
  46406. let HasPropertySets = tape[ptr++];
  46407. let RepresentationMaps = tape[ptr++];
  46408. let Tag = tape[ptr++];
  46409. let ElementType = tape[ptr++];
  46410. let PredefinedType = tape[ptr++];
  46411. let LongName = tape[ptr++];
  46412. return new IfcSpatialZoneType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName);
  46413. }
  46414. ToTape() {
  46415. let args = [];
  46416. args.push(this.GlobalId);
  46417. ;
  46418. args.push(this.OwnerHistory);
  46419. ;
  46420. args.push(this.Name);
  46421. ;
  46422. args.push(this.Description);
  46423. ;
  46424. args.push(this.ApplicableOccurrence);
  46425. ;
  46426. args.push(this.HasPropertySets);
  46427. ;
  46428. args.push(this.RepresentationMaps);
  46429. ;
  46430. args.push(this.Tag);
  46431. ;
  46432. args.push(this.ElementType);
  46433. ;
  46434. args.push(this.PredefinedType);
  46435. ;
  46436. args.push(this.LongName);
  46437. ;
  46438. return args;
  46439. }
  46440. };
  46441. var IfcSphere = class {
  46442. constructor(expressID, type, Position, Radius) {
  46443. this.expressID = expressID;
  46444. this.type = type;
  46445. this.Position = Position;
  46446. this.Radius = Radius;
  46447. }
  46448. static FromTape(expressID, type, tape) {
  46449. let ptr = 0;
  46450. let Position = tape[ptr++];
  46451. let Radius = tape[ptr++];
  46452. return new IfcSphere(expressID, type, Position, Radius);
  46453. }
  46454. ToTape() {
  46455. let args = [];
  46456. args.push(this.Position);
  46457. ;
  46458. args.push(this.Radius);
  46459. ;
  46460. return args;
  46461. }
  46462. };
  46463. var IfcSphericalSurface = class {
  46464. constructor(expressID, type, Position, Radius) {
  46465. this.expressID = expressID;
  46466. this.type = type;
  46467. this.Position = Position;
  46468. this.Radius = Radius;
  46469. }
  46470. static FromTape(expressID, type, tape) {
  46471. let ptr = 0;
  46472. let Position = tape[ptr++];
  46473. let Radius = tape[ptr++];
  46474. return new IfcSphericalSurface(expressID, type, Position, Radius);
  46475. }
  46476. ToTape() {
  46477. let args = [];
  46478. args.push(this.Position);
  46479. ;
  46480. args.push(this.Radius);
  46481. ;
  46482. return args;
  46483. }
  46484. };
  46485. var IfcStackTerminal = class {
  46486. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  46487. this.expressID = expressID;
  46488. this.type = type;
  46489. this.GlobalId = GlobalId;
  46490. this.OwnerHistory = OwnerHistory;
  46491. this.Name = Name;
  46492. this.Description = Description;
  46493. this.ObjectType = ObjectType;
  46494. this.ObjectPlacement = ObjectPlacement;
  46495. this.Representation = Representation;
  46496. this.Tag = Tag;
  46497. this.PredefinedType = PredefinedType;
  46498. }
  46499. static FromTape(expressID, type, tape) {
  46500. let ptr = 0;
  46501. let GlobalId = tape[ptr++];
  46502. let OwnerHistory = tape[ptr++];
  46503. let Name = tape[ptr++];
  46504. let Description = tape[ptr++];
  46505. let ObjectType = tape[ptr++];
  46506. let ObjectPlacement = tape[ptr++];
  46507. let Representation = tape[ptr++];
  46508. let Tag = tape[ptr++];
  46509. let PredefinedType = tape[ptr++];
  46510. return new IfcStackTerminal(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  46511. }
  46512. ToTape() {
  46513. let args = [];
  46514. args.push(this.GlobalId);
  46515. ;
  46516. args.push(this.OwnerHistory);
  46517. ;
  46518. args.push(this.Name);
  46519. ;
  46520. args.push(this.Description);
  46521. ;
  46522. args.push(this.ObjectType);
  46523. ;
  46524. args.push(this.ObjectPlacement);
  46525. ;
  46526. args.push(this.Representation);
  46527. ;
  46528. args.push(this.Tag);
  46529. ;
  46530. args.push(this.PredefinedType);
  46531. ;
  46532. return args;
  46533. }
  46534. };
  46535. var IfcStackTerminalType = class {
  46536. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  46537. this.expressID = expressID;
  46538. this.type = type;
  46539. this.GlobalId = GlobalId;
  46540. this.OwnerHistory = OwnerHistory;
  46541. this.Name = Name;
  46542. this.Description = Description;
  46543. this.ApplicableOccurrence = ApplicableOccurrence;
  46544. this.HasPropertySets = HasPropertySets;
  46545. this.RepresentationMaps = RepresentationMaps;
  46546. this.Tag = Tag;
  46547. this.ElementType = ElementType;
  46548. this.PredefinedType = PredefinedType;
  46549. }
  46550. static FromTape(expressID, type, tape) {
  46551. let ptr = 0;
  46552. let GlobalId = tape[ptr++];
  46553. let OwnerHistory = tape[ptr++];
  46554. let Name = tape[ptr++];
  46555. let Description = tape[ptr++];
  46556. let ApplicableOccurrence = tape[ptr++];
  46557. let HasPropertySets = tape[ptr++];
  46558. let RepresentationMaps = tape[ptr++];
  46559. let Tag = tape[ptr++];
  46560. let ElementType = tape[ptr++];
  46561. let PredefinedType = tape[ptr++];
  46562. return new IfcStackTerminalType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  46563. }
  46564. ToTape() {
  46565. let args = [];
  46566. args.push(this.GlobalId);
  46567. ;
  46568. args.push(this.OwnerHistory);
  46569. ;
  46570. args.push(this.Name);
  46571. ;
  46572. args.push(this.Description);
  46573. ;
  46574. args.push(this.ApplicableOccurrence);
  46575. ;
  46576. args.push(this.HasPropertySets);
  46577. ;
  46578. args.push(this.RepresentationMaps);
  46579. ;
  46580. args.push(this.Tag);
  46581. ;
  46582. args.push(this.ElementType);
  46583. ;
  46584. args.push(this.PredefinedType);
  46585. ;
  46586. return args;
  46587. }
  46588. };
  46589. var IfcStair = class {
  46590. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  46591. this.expressID = expressID;
  46592. this.type = type;
  46593. this.GlobalId = GlobalId;
  46594. this.OwnerHistory = OwnerHistory;
  46595. this.Name = Name;
  46596. this.Description = Description;
  46597. this.ObjectType = ObjectType;
  46598. this.ObjectPlacement = ObjectPlacement;
  46599. this.Representation = Representation;
  46600. this.Tag = Tag;
  46601. this.PredefinedType = PredefinedType;
  46602. }
  46603. static FromTape(expressID, type, tape) {
  46604. let ptr = 0;
  46605. let GlobalId = tape[ptr++];
  46606. let OwnerHistory = tape[ptr++];
  46607. let Name = tape[ptr++];
  46608. let Description = tape[ptr++];
  46609. let ObjectType = tape[ptr++];
  46610. let ObjectPlacement = tape[ptr++];
  46611. let Representation = tape[ptr++];
  46612. let Tag = tape[ptr++];
  46613. let PredefinedType = tape[ptr++];
  46614. return new IfcStair(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  46615. }
  46616. ToTape() {
  46617. let args = [];
  46618. args.push(this.GlobalId);
  46619. ;
  46620. args.push(this.OwnerHistory);
  46621. ;
  46622. args.push(this.Name);
  46623. ;
  46624. args.push(this.Description);
  46625. ;
  46626. args.push(this.ObjectType);
  46627. ;
  46628. args.push(this.ObjectPlacement);
  46629. ;
  46630. args.push(this.Representation);
  46631. ;
  46632. args.push(this.Tag);
  46633. ;
  46634. args.push(this.PredefinedType);
  46635. ;
  46636. return args;
  46637. }
  46638. };
  46639. var IfcStairFlight = class {
  46640. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) {
  46641. this.expressID = expressID;
  46642. this.type = type;
  46643. this.GlobalId = GlobalId;
  46644. this.OwnerHistory = OwnerHistory;
  46645. this.Name = Name;
  46646. this.Description = Description;
  46647. this.ObjectType = ObjectType;
  46648. this.ObjectPlacement = ObjectPlacement;
  46649. this.Representation = Representation;
  46650. this.Tag = Tag;
  46651. this.NumberOfRisers = NumberOfRisers;
  46652. this.NumberOfTreads = NumberOfTreads;
  46653. this.RiserHeight = RiserHeight;
  46654. this.TreadLength = TreadLength;
  46655. this.PredefinedType = PredefinedType;
  46656. }
  46657. static FromTape(expressID, type, tape) {
  46658. let ptr = 0;
  46659. let GlobalId = tape[ptr++];
  46660. let OwnerHistory = tape[ptr++];
  46661. let Name = tape[ptr++];
  46662. let Description = tape[ptr++];
  46663. let ObjectType = tape[ptr++];
  46664. let ObjectPlacement = tape[ptr++];
  46665. let Representation = tape[ptr++];
  46666. let Tag = tape[ptr++];
  46667. let NumberOfRisers = tape[ptr++];
  46668. let NumberOfTreads = tape[ptr++];
  46669. let RiserHeight = tape[ptr++];
  46670. let TreadLength = tape[ptr++];
  46671. let PredefinedType = tape[ptr++];
  46672. return new IfcStairFlight(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType);
  46673. }
  46674. ToTape() {
  46675. let args = [];
  46676. args.push(this.GlobalId);
  46677. ;
  46678. args.push(this.OwnerHistory);
  46679. ;
  46680. args.push(this.Name);
  46681. ;
  46682. args.push(this.Description);
  46683. ;
  46684. args.push(this.ObjectType);
  46685. ;
  46686. args.push(this.ObjectPlacement);
  46687. ;
  46688. args.push(this.Representation);
  46689. ;
  46690. args.push(this.Tag);
  46691. ;
  46692. args.push(this.NumberOfRisers);
  46693. ;
  46694. args.push(this.NumberOfTreads);
  46695. ;
  46696. args.push(this.RiserHeight);
  46697. ;
  46698. args.push(this.TreadLength);
  46699. ;
  46700. args.push(this.PredefinedType);
  46701. ;
  46702. return args;
  46703. }
  46704. };
  46705. var IfcStairFlightType = class {
  46706. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  46707. this.expressID = expressID;
  46708. this.type = type;
  46709. this.GlobalId = GlobalId;
  46710. this.OwnerHistory = OwnerHistory;
  46711. this.Name = Name;
  46712. this.Description = Description;
  46713. this.ApplicableOccurrence = ApplicableOccurrence;
  46714. this.HasPropertySets = HasPropertySets;
  46715. this.RepresentationMaps = RepresentationMaps;
  46716. this.Tag = Tag;
  46717. this.ElementType = ElementType;
  46718. this.PredefinedType = PredefinedType;
  46719. }
  46720. static FromTape(expressID, type, tape) {
  46721. let ptr = 0;
  46722. let GlobalId = tape[ptr++];
  46723. let OwnerHistory = tape[ptr++];
  46724. let Name = tape[ptr++];
  46725. let Description = tape[ptr++];
  46726. let ApplicableOccurrence = tape[ptr++];
  46727. let HasPropertySets = tape[ptr++];
  46728. let RepresentationMaps = tape[ptr++];
  46729. let Tag = tape[ptr++];
  46730. let ElementType = tape[ptr++];
  46731. let PredefinedType = tape[ptr++];
  46732. return new IfcStairFlightType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  46733. }
  46734. ToTape() {
  46735. let args = [];
  46736. args.push(this.GlobalId);
  46737. ;
  46738. args.push(this.OwnerHistory);
  46739. ;
  46740. args.push(this.Name);
  46741. ;
  46742. args.push(this.Description);
  46743. ;
  46744. args.push(this.ApplicableOccurrence);
  46745. ;
  46746. args.push(this.HasPropertySets);
  46747. ;
  46748. args.push(this.RepresentationMaps);
  46749. ;
  46750. args.push(this.Tag);
  46751. ;
  46752. args.push(this.ElementType);
  46753. ;
  46754. args.push(this.PredefinedType);
  46755. ;
  46756. return args;
  46757. }
  46758. };
  46759. var IfcStairType = class {
  46760. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  46761. this.expressID = expressID;
  46762. this.type = type;
  46763. this.GlobalId = GlobalId;
  46764. this.OwnerHistory = OwnerHistory;
  46765. this.Name = Name;
  46766. this.Description = Description;
  46767. this.ApplicableOccurrence = ApplicableOccurrence;
  46768. this.HasPropertySets = HasPropertySets;
  46769. this.RepresentationMaps = RepresentationMaps;
  46770. this.Tag = Tag;
  46771. this.ElementType = ElementType;
  46772. this.PredefinedType = PredefinedType;
  46773. }
  46774. static FromTape(expressID, type, tape) {
  46775. let ptr = 0;
  46776. let GlobalId = tape[ptr++];
  46777. let OwnerHistory = tape[ptr++];
  46778. let Name = tape[ptr++];
  46779. let Description = tape[ptr++];
  46780. let ApplicableOccurrence = tape[ptr++];
  46781. let HasPropertySets = tape[ptr++];
  46782. let RepresentationMaps = tape[ptr++];
  46783. let Tag = tape[ptr++];
  46784. let ElementType = tape[ptr++];
  46785. let PredefinedType = tape[ptr++];
  46786. return new IfcStairType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  46787. }
  46788. ToTape() {
  46789. let args = [];
  46790. args.push(this.GlobalId);
  46791. ;
  46792. args.push(this.OwnerHistory);
  46793. ;
  46794. args.push(this.Name);
  46795. ;
  46796. args.push(this.Description);
  46797. ;
  46798. args.push(this.ApplicableOccurrence);
  46799. ;
  46800. args.push(this.HasPropertySets);
  46801. ;
  46802. args.push(this.RepresentationMaps);
  46803. ;
  46804. args.push(this.Tag);
  46805. ;
  46806. args.push(this.ElementType);
  46807. ;
  46808. args.push(this.PredefinedType);
  46809. ;
  46810. return args;
  46811. }
  46812. };
  46813. var IfcStructuralAction = class {
  46814. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) {
  46815. this.expressID = expressID;
  46816. this.type = type;
  46817. this.GlobalId = GlobalId;
  46818. this.OwnerHistory = OwnerHistory;
  46819. this.Name = Name;
  46820. this.Description = Description;
  46821. this.ObjectType = ObjectType;
  46822. this.ObjectPlacement = ObjectPlacement;
  46823. this.Representation = Representation;
  46824. this.AppliedLoad = AppliedLoad;
  46825. this.GlobalOrLocal = GlobalOrLocal;
  46826. this.DestabilizingLoad = DestabilizingLoad;
  46827. }
  46828. static FromTape(expressID, type, tape) {
  46829. let ptr = 0;
  46830. let GlobalId = tape[ptr++];
  46831. let OwnerHistory = tape[ptr++];
  46832. let Name = tape[ptr++];
  46833. let Description = tape[ptr++];
  46834. let ObjectType = tape[ptr++];
  46835. let ObjectPlacement = tape[ptr++];
  46836. let Representation = tape[ptr++];
  46837. let AppliedLoad = tape[ptr++];
  46838. let GlobalOrLocal = tape[ptr++];
  46839. let DestabilizingLoad = tape[ptr++];
  46840. return new IfcStructuralAction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
  46841. }
  46842. ToTape() {
  46843. let args = [];
  46844. args.push(this.GlobalId);
  46845. ;
  46846. args.push(this.OwnerHistory);
  46847. ;
  46848. args.push(this.Name);
  46849. ;
  46850. args.push(this.Description);
  46851. ;
  46852. args.push(this.ObjectType);
  46853. ;
  46854. args.push(this.ObjectPlacement);
  46855. ;
  46856. args.push(this.Representation);
  46857. ;
  46858. args.push(this.AppliedLoad);
  46859. ;
  46860. args.push(this.GlobalOrLocal);
  46861. ;
  46862. args.push(this.DestabilizingLoad);
  46863. ;
  46864. return args;
  46865. }
  46866. };
  46867. var IfcStructuralActivity = class {
  46868. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
  46869. this.expressID = expressID;
  46870. this.type = type;
  46871. this.GlobalId = GlobalId;
  46872. this.OwnerHistory = OwnerHistory;
  46873. this.Name = Name;
  46874. this.Description = Description;
  46875. this.ObjectType = ObjectType;
  46876. this.ObjectPlacement = ObjectPlacement;
  46877. this.Representation = Representation;
  46878. this.AppliedLoad = AppliedLoad;
  46879. this.GlobalOrLocal = GlobalOrLocal;
  46880. }
  46881. static FromTape(expressID, type, tape) {
  46882. let ptr = 0;
  46883. let GlobalId = tape[ptr++];
  46884. let OwnerHistory = tape[ptr++];
  46885. let Name = tape[ptr++];
  46886. let Description = tape[ptr++];
  46887. let ObjectType = tape[ptr++];
  46888. let ObjectPlacement = tape[ptr++];
  46889. let Representation = tape[ptr++];
  46890. let AppliedLoad = tape[ptr++];
  46891. let GlobalOrLocal = tape[ptr++];
  46892. return new IfcStructuralActivity(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
  46893. }
  46894. ToTape() {
  46895. let args = [];
  46896. args.push(this.GlobalId);
  46897. ;
  46898. args.push(this.OwnerHistory);
  46899. ;
  46900. args.push(this.Name);
  46901. ;
  46902. args.push(this.Description);
  46903. ;
  46904. args.push(this.ObjectType);
  46905. ;
  46906. args.push(this.ObjectPlacement);
  46907. ;
  46908. args.push(this.Representation);
  46909. ;
  46910. args.push(this.AppliedLoad);
  46911. ;
  46912. args.push(this.GlobalOrLocal);
  46913. ;
  46914. return args;
  46915. }
  46916. };
  46917. var IfcStructuralAnalysisModel = class {
  46918. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) {
  46919. this.expressID = expressID;
  46920. this.type = type;
  46921. this.GlobalId = GlobalId;
  46922. this.OwnerHistory = OwnerHistory;
  46923. this.Name = Name;
  46924. this.Description = Description;
  46925. this.ObjectType = ObjectType;
  46926. this.PredefinedType = PredefinedType;
  46927. this.OrientationOf2DPlane = OrientationOf2DPlane;
  46928. this.LoadedBy = LoadedBy;
  46929. this.HasResults = HasResults;
  46930. this.SharedPlacement = SharedPlacement;
  46931. }
  46932. static FromTape(expressID, type, tape) {
  46933. let ptr = 0;
  46934. let GlobalId = tape[ptr++];
  46935. let OwnerHistory = tape[ptr++];
  46936. let Name = tape[ptr++];
  46937. let Description = tape[ptr++];
  46938. let ObjectType = tape[ptr++];
  46939. let PredefinedType = tape[ptr++];
  46940. let OrientationOf2DPlane = tape[ptr++];
  46941. let LoadedBy = tape[ptr++];
  46942. let HasResults = tape[ptr++];
  46943. let SharedPlacement = tape[ptr++];
  46944. return new IfcStructuralAnalysisModel(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement);
  46945. }
  46946. ToTape() {
  46947. let args = [];
  46948. args.push(this.GlobalId);
  46949. ;
  46950. args.push(this.OwnerHistory);
  46951. ;
  46952. args.push(this.Name);
  46953. ;
  46954. args.push(this.Description);
  46955. ;
  46956. args.push(this.ObjectType);
  46957. ;
  46958. args.push(this.PredefinedType);
  46959. ;
  46960. args.push(this.OrientationOf2DPlane);
  46961. ;
  46962. args.push(this.LoadedBy);
  46963. ;
  46964. args.push(this.HasResults);
  46965. ;
  46966. args.push(this.SharedPlacement);
  46967. ;
  46968. return args;
  46969. }
  46970. };
  46971. var IfcStructuralConnection = class {
  46972. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
  46973. this.expressID = expressID;
  46974. this.type = type;
  46975. this.GlobalId = GlobalId;
  46976. this.OwnerHistory = OwnerHistory;
  46977. this.Name = Name;
  46978. this.Description = Description;
  46979. this.ObjectType = ObjectType;
  46980. this.ObjectPlacement = ObjectPlacement;
  46981. this.Representation = Representation;
  46982. this.AppliedCondition = AppliedCondition;
  46983. }
  46984. static FromTape(expressID, type, tape) {
  46985. let ptr = 0;
  46986. let GlobalId = tape[ptr++];
  46987. let OwnerHistory = tape[ptr++];
  46988. let Name = tape[ptr++];
  46989. let Description = tape[ptr++];
  46990. let ObjectType = tape[ptr++];
  46991. let ObjectPlacement = tape[ptr++];
  46992. let Representation = tape[ptr++];
  46993. let AppliedCondition = tape[ptr++];
  46994. return new IfcStructuralConnection(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
  46995. }
  46996. ToTape() {
  46997. let args = [];
  46998. args.push(this.GlobalId);
  46999. ;
  47000. args.push(this.OwnerHistory);
  47001. ;
  47002. args.push(this.Name);
  47003. ;
  47004. args.push(this.Description);
  47005. ;
  47006. args.push(this.ObjectType);
  47007. ;
  47008. args.push(this.ObjectPlacement);
  47009. ;
  47010. args.push(this.Representation);
  47011. ;
  47012. args.push(this.AppliedCondition);
  47013. ;
  47014. return args;
  47015. }
  47016. };
  47017. var IfcStructuralConnectionCondition = class {
  47018. constructor(expressID, type, Name) {
  47019. this.expressID = expressID;
  47020. this.type = type;
  47021. this.Name = Name;
  47022. }
  47023. static FromTape(expressID, type, tape) {
  47024. let ptr = 0;
  47025. let Name = tape[ptr++];
  47026. return new IfcStructuralConnectionCondition(expressID, type, Name);
  47027. }
  47028. ToTape() {
  47029. let args = [];
  47030. args.push(this.Name);
  47031. ;
  47032. return args;
  47033. }
  47034. };
  47035. var IfcStructuralCurveAction = class {
  47036. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
  47037. this.expressID = expressID;
  47038. this.type = type;
  47039. this.GlobalId = GlobalId;
  47040. this.OwnerHistory = OwnerHistory;
  47041. this.Name = Name;
  47042. this.Description = Description;
  47043. this.ObjectType = ObjectType;
  47044. this.ObjectPlacement = ObjectPlacement;
  47045. this.Representation = Representation;
  47046. this.AppliedLoad = AppliedLoad;
  47047. this.GlobalOrLocal = GlobalOrLocal;
  47048. this.DestabilizingLoad = DestabilizingLoad;
  47049. this.ProjectedOrTrue = ProjectedOrTrue;
  47050. this.PredefinedType = PredefinedType;
  47051. }
  47052. static FromTape(expressID, type, tape) {
  47053. let ptr = 0;
  47054. let GlobalId = tape[ptr++];
  47055. let OwnerHistory = tape[ptr++];
  47056. let Name = tape[ptr++];
  47057. let Description = tape[ptr++];
  47058. let ObjectType = tape[ptr++];
  47059. let ObjectPlacement = tape[ptr++];
  47060. let Representation = tape[ptr++];
  47061. let AppliedLoad = tape[ptr++];
  47062. let GlobalOrLocal = tape[ptr++];
  47063. let DestabilizingLoad = tape[ptr++];
  47064. let ProjectedOrTrue = tape[ptr++];
  47065. let PredefinedType = tape[ptr++];
  47066. return new IfcStructuralCurveAction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
  47067. }
  47068. ToTape() {
  47069. let args = [];
  47070. args.push(this.GlobalId);
  47071. ;
  47072. args.push(this.OwnerHistory);
  47073. ;
  47074. args.push(this.Name);
  47075. ;
  47076. args.push(this.Description);
  47077. ;
  47078. args.push(this.ObjectType);
  47079. ;
  47080. args.push(this.ObjectPlacement);
  47081. ;
  47082. args.push(this.Representation);
  47083. ;
  47084. args.push(this.AppliedLoad);
  47085. ;
  47086. args.push(this.GlobalOrLocal);
  47087. ;
  47088. args.push(this.DestabilizingLoad);
  47089. ;
  47090. args.push(this.ProjectedOrTrue);
  47091. ;
  47092. args.push(this.PredefinedType);
  47093. ;
  47094. return args;
  47095. }
  47096. };
  47097. var IfcStructuralCurveConnection = class {
  47098. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, Axis) {
  47099. this.expressID = expressID;
  47100. this.type = type;
  47101. this.GlobalId = GlobalId;
  47102. this.OwnerHistory = OwnerHistory;
  47103. this.Name = Name;
  47104. this.Description = Description;
  47105. this.ObjectType = ObjectType;
  47106. this.ObjectPlacement = ObjectPlacement;
  47107. this.Representation = Representation;
  47108. this.AppliedCondition = AppliedCondition;
  47109. this.Axis = Axis;
  47110. }
  47111. static FromTape(expressID, type, tape) {
  47112. let ptr = 0;
  47113. let GlobalId = tape[ptr++];
  47114. let OwnerHistory = tape[ptr++];
  47115. let Name = tape[ptr++];
  47116. let Description = tape[ptr++];
  47117. let ObjectType = tape[ptr++];
  47118. let ObjectPlacement = tape[ptr++];
  47119. let Representation = tape[ptr++];
  47120. let AppliedCondition = tape[ptr++];
  47121. let Axis = tape[ptr++];
  47122. return new IfcStructuralCurveConnection(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, Axis);
  47123. }
  47124. ToTape() {
  47125. let args = [];
  47126. args.push(this.GlobalId);
  47127. ;
  47128. args.push(this.OwnerHistory);
  47129. ;
  47130. args.push(this.Name);
  47131. ;
  47132. args.push(this.Description);
  47133. ;
  47134. args.push(this.ObjectType);
  47135. ;
  47136. args.push(this.ObjectPlacement);
  47137. ;
  47138. args.push(this.Representation);
  47139. ;
  47140. args.push(this.AppliedCondition);
  47141. ;
  47142. args.push(this.Axis);
  47143. ;
  47144. return args;
  47145. }
  47146. };
  47147. var IfcStructuralCurveMember = class {
  47148. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) {
  47149. this.expressID = expressID;
  47150. this.type = type;
  47151. this.GlobalId = GlobalId;
  47152. this.OwnerHistory = OwnerHistory;
  47153. this.Name = Name;
  47154. this.Description = Description;
  47155. this.ObjectType = ObjectType;
  47156. this.ObjectPlacement = ObjectPlacement;
  47157. this.Representation = Representation;
  47158. this.PredefinedType = PredefinedType;
  47159. this.Axis = Axis;
  47160. }
  47161. static FromTape(expressID, type, tape) {
  47162. let ptr = 0;
  47163. let GlobalId = tape[ptr++];
  47164. let OwnerHistory = tape[ptr++];
  47165. let Name = tape[ptr++];
  47166. let Description = tape[ptr++];
  47167. let ObjectType = tape[ptr++];
  47168. let ObjectPlacement = tape[ptr++];
  47169. let Representation = tape[ptr++];
  47170. let PredefinedType = tape[ptr++];
  47171. let Axis = tape[ptr++];
  47172. return new IfcStructuralCurveMember(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis);
  47173. }
  47174. ToTape() {
  47175. let args = [];
  47176. args.push(this.GlobalId);
  47177. ;
  47178. args.push(this.OwnerHistory);
  47179. ;
  47180. args.push(this.Name);
  47181. ;
  47182. args.push(this.Description);
  47183. ;
  47184. args.push(this.ObjectType);
  47185. ;
  47186. args.push(this.ObjectPlacement);
  47187. ;
  47188. args.push(this.Representation);
  47189. ;
  47190. args.push(this.PredefinedType);
  47191. ;
  47192. args.push(this.Axis);
  47193. ;
  47194. return args;
  47195. }
  47196. };
  47197. var IfcStructuralCurveMemberVarying = class {
  47198. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) {
  47199. this.expressID = expressID;
  47200. this.type = type;
  47201. this.GlobalId = GlobalId;
  47202. this.OwnerHistory = OwnerHistory;
  47203. this.Name = Name;
  47204. this.Description = Description;
  47205. this.ObjectType = ObjectType;
  47206. this.ObjectPlacement = ObjectPlacement;
  47207. this.Representation = Representation;
  47208. this.PredefinedType = PredefinedType;
  47209. this.Axis = Axis;
  47210. }
  47211. static FromTape(expressID, type, tape) {
  47212. let ptr = 0;
  47213. let GlobalId = tape[ptr++];
  47214. let OwnerHistory = tape[ptr++];
  47215. let Name = tape[ptr++];
  47216. let Description = tape[ptr++];
  47217. let ObjectType = tape[ptr++];
  47218. let ObjectPlacement = tape[ptr++];
  47219. let Representation = tape[ptr++];
  47220. let PredefinedType = tape[ptr++];
  47221. let Axis = tape[ptr++];
  47222. return new IfcStructuralCurveMemberVarying(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis);
  47223. }
  47224. ToTape() {
  47225. let args = [];
  47226. args.push(this.GlobalId);
  47227. ;
  47228. args.push(this.OwnerHistory);
  47229. ;
  47230. args.push(this.Name);
  47231. ;
  47232. args.push(this.Description);
  47233. ;
  47234. args.push(this.ObjectType);
  47235. ;
  47236. args.push(this.ObjectPlacement);
  47237. ;
  47238. args.push(this.Representation);
  47239. ;
  47240. args.push(this.PredefinedType);
  47241. ;
  47242. args.push(this.Axis);
  47243. ;
  47244. return args;
  47245. }
  47246. };
  47247. var IfcStructuralCurveReaction = class {
  47248. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) {
  47249. this.expressID = expressID;
  47250. this.type = type;
  47251. this.GlobalId = GlobalId;
  47252. this.OwnerHistory = OwnerHistory;
  47253. this.Name = Name;
  47254. this.Description = Description;
  47255. this.ObjectType = ObjectType;
  47256. this.ObjectPlacement = ObjectPlacement;
  47257. this.Representation = Representation;
  47258. this.AppliedLoad = AppliedLoad;
  47259. this.GlobalOrLocal = GlobalOrLocal;
  47260. this.PredefinedType = PredefinedType;
  47261. }
  47262. static FromTape(expressID, type, tape) {
  47263. let ptr = 0;
  47264. let GlobalId = tape[ptr++];
  47265. let OwnerHistory = tape[ptr++];
  47266. let Name = tape[ptr++];
  47267. let Description = tape[ptr++];
  47268. let ObjectType = tape[ptr++];
  47269. let ObjectPlacement = tape[ptr++];
  47270. let Representation = tape[ptr++];
  47271. let AppliedLoad = tape[ptr++];
  47272. let GlobalOrLocal = tape[ptr++];
  47273. let PredefinedType = tape[ptr++];
  47274. return new IfcStructuralCurveReaction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType);
  47275. }
  47276. ToTape() {
  47277. let args = [];
  47278. args.push(this.GlobalId);
  47279. ;
  47280. args.push(this.OwnerHistory);
  47281. ;
  47282. args.push(this.Name);
  47283. ;
  47284. args.push(this.Description);
  47285. ;
  47286. args.push(this.ObjectType);
  47287. ;
  47288. args.push(this.ObjectPlacement);
  47289. ;
  47290. args.push(this.Representation);
  47291. ;
  47292. args.push(this.AppliedLoad);
  47293. ;
  47294. args.push(this.GlobalOrLocal);
  47295. ;
  47296. args.push(this.PredefinedType);
  47297. ;
  47298. return args;
  47299. }
  47300. };
  47301. var IfcStructuralItem = class {
  47302. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
  47303. this.expressID = expressID;
  47304. this.type = type;
  47305. this.GlobalId = GlobalId;
  47306. this.OwnerHistory = OwnerHistory;
  47307. this.Name = Name;
  47308. this.Description = Description;
  47309. this.ObjectType = ObjectType;
  47310. this.ObjectPlacement = ObjectPlacement;
  47311. this.Representation = Representation;
  47312. }
  47313. static FromTape(expressID, type, tape) {
  47314. let ptr = 0;
  47315. let GlobalId = tape[ptr++];
  47316. let OwnerHistory = tape[ptr++];
  47317. let Name = tape[ptr++];
  47318. let Description = tape[ptr++];
  47319. let ObjectType = tape[ptr++];
  47320. let ObjectPlacement = tape[ptr++];
  47321. let Representation = tape[ptr++];
  47322. return new IfcStructuralItem(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
  47323. }
  47324. ToTape() {
  47325. let args = [];
  47326. args.push(this.GlobalId);
  47327. ;
  47328. args.push(this.OwnerHistory);
  47329. ;
  47330. args.push(this.Name);
  47331. ;
  47332. args.push(this.Description);
  47333. ;
  47334. args.push(this.ObjectType);
  47335. ;
  47336. args.push(this.ObjectPlacement);
  47337. ;
  47338. args.push(this.Representation);
  47339. ;
  47340. return args;
  47341. }
  47342. };
  47343. var IfcStructuralLinearAction = class {
  47344. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
  47345. this.expressID = expressID;
  47346. this.type = type;
  47347. this.GlobalId = GlobalId;
  47348. this.OwnerHistory = OwnerHistory;
  47349. this.Name = Name;
  47350. this.Description = Description;
  47351. this.ObjectType = ObjectType;
  47352. this.ObjectPlacement = ObjectPlacement;
  47353. this.Representation = Representation;
  47354. this.AppliedLoad = AppliedLoad;
  47355. this.GlobalOrLocal = GlobalOrLocal;
  47356. this.DestabilizingLoad = DestabilizingLoad;
  47357. this.ProjectedOrTrue = ProjectedOrTrue;
  47358. this.PredefinedType = PredefinedType;
  47359. }
  47360. static FromTape(expressID, type, tape) {
  47361. let ptr = 0;
  47362. let GlobalId = tape[ptr++];
  47363. let OwnerHistory = tape[ptr++];
  47364. let Name = tape[ptr++];
  47365. let Description = tape[ptr++];
  47366. let ObjectType = tape[ptr++];
  47367. let ObjectPlacement = tape[ptr++];
  47368. let Representation = tape[ptr++];
  47369. let AppliedLoad = tape[ptr++];
  47370. let GlobalOrLocal = tape[ptr++];
  47371. let DestabilizingLoad = tape[ptr++];
  47372. let ProjectedOrTrue = tape[ptr++];
  47373. let PredefinedType = tape[ptr++];
  47374. return new IfcStructuralLinearAction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
  47375. }
  47376. ToTape() {
  47377. let args = [];
  47378. args.push(this.GlobalId);
  47379. ;
  47380. args.push(this.OwnerHistory);
  47381. ;
  47382. args.push(this.Name);
  47383. ;
  47384. args.push(this.Description);
  47385. ;
  47386. args.push(this.ObjectType);
  47387. ;
  47388. args.push(this.ObjectPlacement);
  47389. ;
  47390. args.push(this.Representation);
  47391. ;
  47392. args.push(this.AppliedLoad);
  47393. ;
  47394. args.push(this.GlobalOrLocal);
  47395. ;
  47396. args.push(this.DestabilizingLoad);
  47397. ;
  47398. args.push(this.ProjectedOrTrue);
  47399. ;
  47400. args.push(this.PredefinedType);
  47401. ;
  47402. return args;
  47403. }
  47404. };
  47405. var IfcStructuralLoad = class {
  47406. constructor(expressID, type, Name) {
  47407. this.expressID = expressID;
  47408. this.type = type;
  47409. this.Name = Name;
  47410. }
  47411. static FromTape(expressID, type, tape) {
  47412. let ptr = 0;
  47413. let Name = tape[ptr++];
  47414. return new IfcStructuralLoad(expressID, type, Name);
  47415. }
  47416. ToTape() {
  47417. let args = [];
  47418. args.push(this.Name);
  47419. ;
  47420. return args;
  47421. }
  47422. };
  47423. var IfcStructuralLoadCase = class {
  47424. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) {
  47425. this.expressID = expressID;
  47426. this.type = type;
  47427. this.GlobalId = GlobalId;
  47428. this.OwnerHistory = OwnerHistory;
  47429. this.Name = Name;
  47430. this.Description = Description;
  47431. this.ObjectType = ObjectType;
  47432. this.PredefinedType = PredefinedType;
  47433. this.ActionType = ActionType;
  47434. this.ActionSource = ActionSource;
  47435. this.Coefficient = Coefficient;
  47436. this.Purpose = Purpose;
  47437. this.SelfWeightCoefficients = SelfWeightCoefficients;
  47438. }
  47439. static FromTape(expressID, type, tape) {
  47440. let ptr = 0;
  47441. let GlobalId = tape[ptr++];
  47442. let OwnerHistory = tape[ptr++];
  47443. let Name = tape[ptr++];
  47444. let Description = tape[ptr++];
  47445. let ObjectType = tape[ptr++];
  47446. let PredefinedType = tape[ptr++];
  47447. let ActionType = tape[ptr++];
  47448. let ActionSource = tape[ptr++];
  47449. let Coefficient = tape[ptr++];
  47450. let Purpose = tape[ptr++];
  47451. let SelfWeightCoefficients = tape[ptr++];
  47452. return new IfcStructuralLoadCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients);
  47453. }
  47454. ToTape() {
  47455. let args = [];
  47456. args.push(this.GlobalId);
  47457. ;
  47458. args.push(this.OwnerHistory);
  47459. ;
  47460. args.push(this.Name);
  47461. ;
  47462. args.push(this.Description);
  47463. ;
  47464. args.push(this.ObjectType);
  47465. ;
  47466. args.push(this.PredefinedType);
  47467. ;
  47468. args.push(this.ActionType);
  47469. ;
  47470. args.push(this.ActionSource);
  47471. ;
  47472. args.push(this.Coefficient);
  47473. ;
  47474. args.push(this.Purpose);
  47475. ;
  47476. args.push(this.SelfWeightCoefficients);
  47477. ;
  47478. return args;
  47479. }
  47480. };
  47481. var IfcStructuralLoadConfiguration = class {
  47482. constructor(expressID, type, Name, Values, Locations) {
  47483. this.expressID = expressID;
  47484. this.type = type;
  47485. this.Name = Name;
  47486. this.Values = Values;
  47487. this.Locations = Locations;
  47488. }
  47489. static FromTape(expressID, type, tape) {
  47490. let ptr = 0;
  47491. let Name = tape[ptr++];
  47492. let Values = tape[ptr++];
  47493. let Locations = tape[ptr++];
  47494. return new IfcStructuralLoadConfiguration(expressID, type, Name, Values, Locations);
  47495. }
  47496. ToTape() {
  47497. let args = [];
  47498. args.push(this.Name);
  47499. ;
  47500. args.push(this.Values);
  47501. ;
  47502. args.push(this.Locations);
  47503. ;
  47504. return args;
  47505. }
  47506. };
  47507. var IfcStructuralLoadGroup = class {
  47508. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) {
  47509. this.expressID = expressID;
  47510. this.type = type;
  47511. this.GlobalId = GlobalId;
  47512. this.OwnerHistory = OwnerHistory;
  47513. this.Name = Name;
  47514. this.Description = Description;
  47515. this.ObjectType = ObjectType;
  47516. this.PredefinedType = PredefinedType;
  47517. this.ActionType = ActionType;
  47518. this.ActionSource = ActionSource;
  47519. this.Coefficient = Coefficient;
  47520. this.Purpose = Purpose;
  47521. }
  47522. static FromTape(expressID, type, tape) {
  47523. let ptr = 0;
  47524. let GlobalId = tape[ptr++];
  47525. let OwnerHistory = tape[ptr++];
  47526. let Name = tape[ptr++];
  47527. let Description = tape[ptr++];
  47528. let ObjectType = tape[ptr++];
  47529. let PredefinedType = tape[ptr++];
  47530. let ActionType = tape[ptr++];
  47531. let ActionSource = tape[ptr++];
  47532. let Coefficient = tape[ptr++];
  47533. let Purpose = tape[ptr++];
  47534. return new IfcStructuralLoadGroup(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose);
  47535. }
  47536. ToTape() {
  47537. let args = [];
  47538. args.push(this.GlobalId);
  47539. ;
  47540. args.push(this.OwnerHistory);
  47541. ;
  47542. args.push(this.Name);
  47543. ;
  47544. args.push(this.Description);
  47545. ;
  47546. args.push(this.ObjectType);
  47547. ;
  47548. args.push(this.PredefinedType);
  47549. ;
  47550. args.push(this.ActionType);
  47551. ;
  47552. args.push(this.ActionSource);
  47553. ;
  47554. args.push(this.Coefficient);
  47555. ;
  47556. args.push(this.Purpose);
  47557. ;
  47558. return args;
  47559. }
  47560. };
  47561. var IfcStructuralLoadLinearForce = class {
  47562. constructor(expressID, type, Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) {
  47563. this.expressID = expressID;
  47564. this.type = type;
  47565. this.Name = Name;
  47566. this.LinearForceX = LinearForceX;
  47567. this.LinearForceY = LinearForceY;
  47568. this.LinearForceZ = LinearForceZ;
  47569. this.LinearMomentX = LinearMomentX;
  47570. this.LinearMomentY = LinearMomentY;
  47571. this.LinearMomentZ = LinearMomentZ;
  47572. }
  47573. static FromTape(expressID, type, tape) {
  47574. let ptr = 0;
  47575. let Name = tape[ptr++];
  47576. let LinearForceX = tape[ptr++];
  47577. let LinearForceY = tape[ptr++];
  47578. let LinearForceZ = tape[ptr++];
  47579. let LinearMomentX = tape[ptr++];
  47580. let LinearMomentY = tape[ptr++];
  47581. let LinearMomentZ = tape[ptr++];
  47582. return new IfcStructuralLoadLinearForce(expressID, type, Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ);
  47583. }
  47584. ToTape() {
  47585. let args = [];
  47586. args.push(this.Name);
  47587. ;
  47588. args.push(this.LinearForceX);
  47589. ;
  47590. args.push(this.LinearForceY);
  47591. ;
  47592. args.push(this.LinearForceZ);
  47593. ;
  47594. args.push(this.LinearMomentX);
  47595. ;
  47596. args.push(this.LinearMomentY);
  47597. ;
  47598. args.push(this.LinearMomentZ);
  47599. ;
  47600. return args;
  47601. }
  47602. };
  47603. var IfcStructuralLoadOrResult = class {
  47604. constructor(expressID, type, Name) {
  47605. this.expressID = expressID;
  47606. this.type = type;
  47607. this.Name = Name;
  47608. }
  47609. static FromTape(expressID, type, tape) {
  47610. let ptr = 0;
  47611. let Name = tape[ptr++];
  47612. return new IfcStructuralLoadOrResult(expressID, type, Name);
  47613. }
  47614. ToTape() {
  47615. let args = [];
  47616. args.push(this.Name);
  47617. ;
  47618. return args;
  47619. }
  47620. };
  47621. var IfcStructuralLoadPlanarForce = class {
  47622. constructor(expressID, type, Name, PlanarForceX, PlanarForceY, PlanarForceZ) {
  47623. this.expressID = expressID;
  47624. this.type = type;
  47625. this.Name = Name;
  47626. this.PlanarForceX = PlanarForceX;
  47627. this.PlanarForceY = PlanarForceY;
  47628. this.PlanarForceZ = PlanarForceZ;
  47629. }
  47630. static FromTape(expressID, type, tape) {
  47631. let ptr = 0;
  47632. let Name = tape[ptr++];
  47633. let PlanarForceX = tape[ptr++];
  47634. let PlanarForceY = tape[ptr++];
  47635. let PlanarForceZ = tape[ptr++];
  47636. return new IfcStructuralLoadPlanarForce(expressID, type, Name, PlanarForceX, PlanarForceY, PlanarForceZ);
  47637. }
  47638. ToTape() {
  47639. let args = [];
  47640. args.push(this.Name);
  47641. ;
  47642. args.push(this.PlanarForceX);
  47643. ;
  47644. args.push(this.PlanarForceY);
  47645. ;
  47646. args.push(this.PlanarForceZ);
  47647. ;
  47648. return args;
  47649. }
  47650. };
  47651. var IfcStructuralLoadSingleDisplacement = class {
  47652. constructor(expressID, type, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) {
  47653. this.expressID = expressID;
  47654. this.type = type;
  47655. this.Name = Name;
  47656. this.DisplacementX = DisplacementX;
  47657. this.DisplacementY = DisplacementY;
  47658. this.DisplacementZ = DisplacementZ;
  47659. this.RotationalDisplacementRX = RotationalDisplacementRX;
  47660. this.RotationalDisplacementRY = RotationalDisplacementRY;
  47661. this.RotationalDisplacementRZ = RotationalDisplacementRZ;
  47662. }
  47663. static FromTape(expressID, type, tape) {
  47664. let ptr = 0;
  47665. let Name = tape[ptr++];
  47666. let DisplacementX = tape[ptr++];
  47667. let DisplacementY = tape[ptr++];
  47668. let DisplacementZ = tape[ptr++];
  47669. let RotationalDisplacementRX = tape[ptr++];
  47670. let RotationalDisplacementRY = tape[ptr++];
  47671. let RotationalDisplacementRZ = tape[ptr++];
  47672. return new IfcStructuralLoadSingleDisplacement(expressID, type, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ);
  47673. }
  47674. ToTape() {
  47675. let args = [];
  47676. args.push(this.Name);
  47677. ;
  47678. args.push(this.DisplacementX);
  47679. ;
  47680. args.push(this.DisplacementY);
  47681. ;
  47682. args.push(this.DisplacementZ);
  47683. ;
  47684. args.push(this.RotationalDisplacementRX);
  47685. ;
  47686. args.push(this.RotationalDisplacementRY);
  47687. ;
  47688. args.push(this.RotationalDisplacementRZ);
  47689. ;
  47690. return args;
  47691. }
  47692. };
  47693. var IfcStructuralLoadSingleDisplacementDistortion = class {
  47694. constructor(expressID, type, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) {
  47695. this.expressID = expressID;
  47696. this.type = type;
  47697. this.Name = Name;
  47698. this.DisplacementX = DisplacementX;
  47699. this.DisplacementY = DisplacementY;
  47700. this.DisplacementZ = DisplacementZ;
  47701. this.RotationalDisplacementRX = RotationalDisplacementRX;
  47702. this.RotationalDisplacementRY = RotationalDisplacementRY;
  47703. this.RotationalDisplacementRZ = RotationalDisplacementRZ;
  47704. this.Distortion = Distortion;
  47705. }
  47706. static FromTape(expressID, type, tape) {
  47707. let ptr = 0;
  47708. let Name = tape[ptr++];
  47709. let DisplacementX = tape[ptr++];
  47710. let DisplacementY = tape[ptr++];
  47711. let DisplacementZ = tape[ptr++];
  47712. let RotationalDisplacementRX = tape[ptr++];
  47713. let RotationalDisplacementRY = tape[ptr++];
  47714. let RotationalDisplacementRZ = tape[ptr++];
  47715. let Distortion = tape[ptr++];
  47716. return new IfcStructuralLoadSingleDisplacementDistortion(expressID, type, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion);
  47717. }
  47718. ToTape() {
  47719. let args = [];
  47720. args.push(this.Name);
  47721. ;
  47722. args.push(this.DisplacementX);
  47723. ;
  47724. args.push(this.DisplacementY);
  47725. ;
  47726. args.push(this.DisplacementZ);
  47727. ;
  47728. args.push(this.RotationalDisplacementRX);
  47729. ;
  47730. args.push(this.RotationalDisplacementRY);
  47731. ;
  47732. args.push(this.RotationalDisplacementRZ);
  47733. ;
  47734. args.push(this.Distortion);
  47735. ;
  47736. return args;
  47737. }
  47738. };
  47739. var IfcStructuralLoadSingleForce = class {
  47740. constructor(expressID, type, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) {
  47741. this.expressID = expressID;
  47742. this.type = type;
  47743. this.Name = Name;
  47744. this.ForceX = ForceX;
  47745. this.ForceY = ForceY;
  47746. this.ForceZ = ForceZ;
  47747. this.MomentX = MomentX;
  47748. this.MomentY = MomentY;
  47749. this.MomentZ = MomentZ;
  47750. }
  47751. static FromTape(expressID, type, tape) {
  47752. let ptr = 0;
  47753. let Name = tape[ptr++];
  47754. let ForceX = tape[ptr++];
  47755. let ForceY = tape[ptr++];
  47756. let ForceZ = tape[ptr++];
  47757. let MomentX = tape[ptr++];
  47758. let MomentY = tape[ptr++];
  47759. let MomentZ = tape[ptr++];
  47760. return new IfcStructuralLoadSingleForce(expressID, type, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ);
  47761. }
  47762. ToTape() {
  47763. let args = [];
  47764. args.push(this.Name);
  47765. ;
  47766. args.push(this.ForceX);
  47767. ;
  47768. args.push(this.ForceY);
  47769. ;
  47770. args.push(this.ForceZ);
  47771. ;
  47772. args.push(this.MomentX);
  47773. ;
  47774. args.push(this.MomentY);
  47775. ;
  47776. args.push(this.MomentZ);
  47777. ;
  47778. return args;
  47779. }
  47780. };
  47781. var IfcStructuralLoadSingleForceWarping = class {
  47782. constructor(expressID, type, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) {
  47783. this.expressID = expressID;
  47784. this.type = type;
  47785. this.Name = Name;
  47786. this.ForceX = ForceX;
  47787. this.ForceY = ForceY;
  47788. this.ForceZ = ForceZ;
  47789. this.MomentX = MomentX;
  47790. this.MomentY = MomentY;
  47791. this.MomentZ = MomentZ;
  47792. this.WarpingMoment = WarpingMoment;
  47793. }
  47794. static FromTape(expressID, type, tape) {
  47795. let ptr = 0;
  47796. let Name = tape[ptr++];
  47797. let ForceX = tape[ptr++];
  47798. let ForceY = tape[ptr++];
  47799. let ForceZ = tape[ptr++];
  47800. let MomentX = tape[ptr++];
  47801. let MomentY = tape[ptr++];
  47802. let MomentZ = tape[ptr++];
  47803. let WarpingMoment = tape[ptr++];
  47804. return new IfcStructuralLoadSingleForceWarping(expressID, type, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment);
  47805. }
  47806. ToTape() {
  47807. let args = [];
  47808. args.push(this.Name);
  47809. ;
  47810. args.push(this.ForceX);
  47811. ;
  47812. args.push(this.ForceY);
  47813. ;
  47814. args.push(this.ForceZ);
  47815. ;
  47816. args.push(this.MomentX);
  47817. ;
  47818. args.push(this.MomentY);
  47819. ;
  47820. args.push(this.MomentZ);
  47821. ;
  47822. args.push(this.WarpingMoment);
  47823. ;
  47824. return args;
  47825. }
  47826. };
  47827. var IfcStructuralLoadStatic = class {
  47828. constructor(expressID, type, Name) {
  47829. this.expressID = expressID;
  47830. this.type = type;
  47831. this.Name = Name;
  47832. }
  47833. static FromTape(expressID, type, tape) {
  47834. let ptr = 0;
  47835. let Name = tape[ptr++];
  47836. return new IfcStructuralLoadStatic(expressID, type, Name);
  47837. }
  47838. ToTape() {
  47839. let args = [];
  47840. args.push(this.Name);
  47841. ;
  47842. return args;
  47843. }
  47844. };
  47845. var IfcStructuralLoadTemperature = class {
  47846. constructor(expressID, type, Name, DeltaTConstant, DeltaTY, DeltaTZ) {
  47847. this.expressID = expressID;
  47848. this.type = type;
  47849. this.Name = Name;
  47850. this.DeltaTConstant = DeltaTConstant;
  47851. this.DeltaTY = DeltaTY;
  47852. this.DeltaTZ = DeltaTZ;
  47853. }
  47854. static FromTape(expressID, type, tape) {
  47855. let ptr = 0;
  47856. let Name = tape[ptr++];
  47857. let DeltaTConstant = tape[ptr++];
  47858. let DeltaTY = tape[ptr++];
  47859. let DeltaTZ = tape[ptr++];
  47860. return new IfcStructuralLoadTemperature(expressID, type, Name, DeltaTConstant, DeltaTY, DeltaTZ);
  47861. }
  47862. ToTape() {
  47863. let args = [];
  47864. args.push(this.Name);
  47865. ;
  47866. args.push(this.DeltaTConstant);
  47867. ;
  47868. args.push(this.DeltaTY);
  47869. ;
  47870. args.push(this.DeltaTZ);
  47871. ;
  47872. return args;
  47873. }
  47874. };
  47875. var IfcStructuralMember = class {
  47876. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
  47877. this.expressID = expressID;
  47878. this.type = type;
  47879. this.GlobalId = GlobalId;
  47880. this.OwnerHistory = OwnerHistory;
  47881. this.Name = Name;
  47882. this.Description = Description;
  47883. this.ObjectType = ObjectType;
  47884. this.ObjectPlacement = ObjectPlacement;
  47885. this.Representation = Representation;
  47886. }
  47887. static FromTape(expressID, type, tape) {
  47888. let ptr = 0;
  47889. let GlobalId = tape[ptr++];
  47890. let OwnerHistory = tape[ptr++];
  47891. let Name = tape[ptr++];
  47892. let Description = tape[ptr++];
  47893. let ObjectType = tape[ptr++];
  47894. let ObjectPlacement = tape[ptr++];
  47895. let Representation = tape[ptr++];
  47896. return new IfcStructuralMember(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
  47897. }
  47898. ToTape() {
  47899. let args = [];
  47900. args.push(this.GlobalId);
  47901. ;
  47902. args.push(this.OwnerHistory);
  47903. ;
  47904. args.push(this.Name);
  47905. ;
  47906. args.push(this.Description);
  47907. ;
  47908. args.push(this.ObjectType);
  47909. ;
  47910. args.push(this.ObjectPlacement);
  47911. ;
  47912. args.push(this.Representation);
  47913. ;
  47914. return args;
  47915. }
  47916. };
  47917. var IfcStructuralPlanarAction = class {
  47918. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
  47919. this.expressID = expressID;
  47920. this.type = type;
  47921. this.GlobalId = GlobalId;
  47922. this.OwnerHistory = OwnerHistory;
  47923. this.Name = Name;
  47924. this.Description = Description;
  47925. this.ObjectType = ObjectType;
  47926. this.ObjectPlacement = ObjectPlacement;
  47927. this.Representation = Representation;
  47928. this.AppliedLoad = AppliedLoad;
  47929. this.GlobalOrLocal = GlobalOrLocal;
  47930. this.DestabilizingLoad = DestabilizingLoad;
  47931. this.ProjectedOrTrue = ProjectedOrTrue;
  47932. this.PredefinedType = PredefinedType;
  47933. }
  47934. static FromTape(expressID, type, tape) {
  47935. let ptr = 0;
  47936. let GlobalId = tape[ptr++];
  47937. let OwnerHistory = tape[ptr++];
  47938. let Name = tape[ptr++];
  47939. let Description = tape[ptr++];
  47940. let ObjectType = tape[ptr++];
  47941. let ObjectPlacement = tape[ptr++];
  47942. let Representation = tape[ptr++];
  47943. let AppliedLoad = tape[ptr++];
  47944. let GlobalOrLocal = tape[ptr++];
  47945. let DestabilizingLoad = tape[ptr++];
  47946. let ProjectedOrTrue = tape[ptr++];
  47947. let PredefinedType = tape[ptr++];
  47948. return new IfcStructuralPlanarAction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
  47949. }
  47950. ToTape() {
  47951. let args = [];
  47952. args.push(this.GlobalId);
  47953. ;
  47954. args.push(this.OwnerHistory);
  47955. ;
  47956. args.push(this.Name);
  47957. ;
  47958. args.push(this.Description);
  47959. ;
  47960. args.push(this.ObjectType);
  47961. ;
  47962. args.push(this.ObjectPlacement);
  47963. ;
  47964. args.push(this.Representation);
  47965. ;
  47966. args.push(this.AppliedLoad);
  47967. ;
  47968. args.push(this.GlobalOrLocal);
  47969. ;
  47970. args.push(this.DestabilizingLoad);
  47971. ;
  47972. args.push(this.ProjectedOrTrue);
  47973. ;
  47974. args.push(this.PredefinedType);
  47975. ;
  47976. return args;
  47977. }
  47978. };
  47979. var IfcStructuralPointAction = class {
  47980. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) {
  47981. this.expressID = expressID;
  47982. this.type = type;
  47983. this.GlobalId = GlobalId;
  47984. this.OwnerHistory = OwnerHistory;
  47985. this.Name = Name;
  47986. this.Description = Description;
  47987. this.ObjectType = ObjectType;
  47988. this.ObjectPlacement = ObjectPlacement;
  47989. this.Representation = Representation;
  47990. this.AppliedLoad = AppliedLoad;
  47991. this.GlobalOrLocal = GlobalOrLocal;
  47992. this.DestabilizingLoad = DestabilizingLoad;
  47993. }
  47994. static FromTape(expressID, type, tape) {
  47995. let ptr = 0;
  47996. let GlobalId = tape[ptr++];
  47997. let OwnerHistory = tape[ptr++];
  47998. let Name = tape[ptr++];
  47999. let Description = tape[ptr++];
  48000. let ObjectType = tape[ptr++];
  48001. let ObjectPlacement = tape[ptr++];
  48002. let Representation = tape[ptr++];
  48003. let AppliedLoad = tape[ptr++];
  48004. let GlobalOrLocal = tape[ptr++];
  48005. let DestabilizingLoad = tape[ptr++];
  48006. return new IfcStructuralPointAction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
  48007. }
  48008. ToTape() {
  48009. let args = [];
  48010. args.push(this.GlobalId);
  48011. ;
  48012. args.push(this.OwnerHistory);
  48013. ;
  48014. args.push(this.Name);
  48015. ;
  48016. args.push(this.Description);
  48017. ;
  48018. args.push(this.ObjectType);
  48019. ;
  48020. args.push(this.ObjectPlacement);
  48021. ;
  48022. args.push(this.Representation);
  48023. ;
  48024. args.push(this.AppliedLoad);
  48025. ;
  48026. args.push(this.GlobalOrLocal);
  48027. ;
  48028. args.push(this.DestabilizingLoad);
  48029. ;
  48030. return args;
  48031. }
  48032. };
  48033. var IfcStructuralPointConnection = class {
  48034. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) {
  48035. this.expressID = expressID;
  48036. this.type = type;
  48037. this.GlobalId = GlobalId;
  48038. this.OwnerHistory = OwnerHistory;
  48039. this.Name = Name;
  48040. this.Description = Description;
  48041. this.ObjectType = ObjectType;
  48042. this.ObjectPlacement = ObjectPlacement;
  48043. this.Representation = Representation;
  48044. this.AppliedCondition = AppliedCondition;
  48045. this.ConditionCoordinateSystem = ConditionCoordinateSystem;
  48046. }
  48047. static FromTape(expressID, type, tape) {
  48048. let ptr = 0;
  48049. let GlobalId = tape[ptr++];
  48050. let OwnerHistory = tape[ptr++];
  48051. let Name = tape[ptr++];
  48052. let Description = tape[ptr++];
  48053. let ObjectType = tape[ptr++];
  48054. let ObjectPlacement = tape[ptr++];
  48055. let Representation = tape[ptr++];
  48056. let AppliedCondition = tape[ptr++];
  48057. let ConditionCoordinateSystem = tape[ptr++];
  48058. return new IfcStructuralPointConnection(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem);
  48059. }
  48060. ToTape() {
  48061. let args = [];
  48062. args.push(this.GlobalId);
  48063. ;
  48064. args.push(this.OwnerHistory);
  48065. ;
  48066. args.push(this.Name);
  48067. ;
  48068. args.push(this.Description);
  48069. ;
  48070. args.push(this.ObjectType);
  48071. ;
  48072. args.push(this.ObjectPlacement);
  48073. ;
  48074. args.push(this.Representation);
  48075. ;
  48076. args.push(this.AppliedCondition);
  48077. ;
  48078. args.push(this.ConditionCoordinateSystem);
  48079. ;
  48080. return args;
  48081. }
  48082. };
  48083. var IfcStructuralPointReaction = class {
  48084. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
  48085. this.expressID = expressID;
  48086. this.type = type;
  48087. this.GlobalId = GlobalId;
  48088. this.OwnerHistory = OwnerHistory;
  48089. this.Name = Name;
  48090. this.Description = Description;
  48091. this.ObjectType = ObjectType;
  48092. this.ObjectPlacement = ObjectPlacement;
  48093. this.Representation = Representation;
  48094. this.AppliedLoad = AppliedLoad;
  48095. this.GlobalOrLocal = GlobalOrLocal;
  48096. }
  48097. static FromTape(expressID, type, tape) {
  48098. let ptr = 0;
  48099. let GlobalId = tape[ptr++];
  48100. let OwnerHistory = tape[ptr++];
  48101. let Name = tape[ptr++];
  48102. let Description = tape[ptr++];
  48103. let ObjectType = tape[ptr++];
  48104. let ObjectPlacement = tape[ptr++];
  48105. let Representation = tape[ptr++];
  48106. let AppliedLoad = tape[ptr++];
  48107. let GlobalOrLocal = tape[ptr++];
  48108. return new IfcStructuralPointReaction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
  48109. }
  48110. ToTape() {
  48111. let args = [];
  48112. args.push(this.GlobalId);
  48113. ;
  48114. args.push(this.OwnerHistory);
  48115. ;
  48116. args.push(this.Name);
  48117. ;
  48118. args.push(this.Description);
  48119. ;
  48120. args.push(this.ObjectType);
  48121. ;
  48122. args.push(this.ObjectPlacement);
  48123. ;
  48124. args.push(this.Representation);
  48125. ;
  48126. args.push(this.AppliedLoad);
  48127. ;
  48128. args.push(this.GlobalOrLocal);
  48129. ;
  48130. return args;
  48131. }
  48132. };
  48133. var IfcStructuralReaction = class {
  48134. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
  48135. this.expressID = expressID;
  48136. this.type = type;
  48137. this.GlobalId = GlobalId;
  48138. this.OwnerHistory = OwnerHistory;
  48139. this.Name = Name;
  48140. this.Description = Description;
  48141. this.ObjectType = ObjectType;
  48142. this.ObjectPlacement = ObjectPlacement;
  48143. this.Representation = Representation;
  48144. this.AppliedLoad = AppliedLoad;
  48145. this.GlobalOrLocal = GlobalOrLocal;
  48146. }
  48147. static FromTape(expressID, type, tape) {
  48148. let ptr = 0;
  48149. let GlobalId = tape[ptr++];
  48150. let OwnerHistory = tape[ptr++];
  48151. let Name = tape[ptr++];
  48152. let Description = tape[ptr++];
  48153. let ObjectType = tape[ptr++];
  48154. let ObjectPlacement = tape[ptr++];
  48155. let Representation = tape[ptr++];
  48156. let AppliedLoad = tape[ptr++];
  48157. let GlobalOrLocal = tape[ptr++];
  48158. return new IfcStructuralReaction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
  48159. }
  48160. ToTape() {
  48161. let args = [];
  48162. args.push(this.GlobalId);
  48163. ;
  48164. args.push(this.OwnerHistory);
  48165. ;
  48166. args.push(this.Name);
  48167. ;
  48168. args.push(this.Description);
  48169. ;
  48170. args.push(this.ObjectType);
  48171. ;
  48172. args.push(this.ObjectPlacement);
  48173. ;
  48174. args.push(this.Representation);
  48175. ;
  48176. args.push(this.AppliedLoad);
  48177. ;
  48178. args.push(this.GlobalOrLocal);
  48179. ;
  48180. return args;
  48181. }
  48182. };
  48183. var IfcStructuralResultGroup = class {
  48184. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) {
  48185. this.expressID = expressID;
  48186. this.type = type;
  48187. this.GlobalId = GlobalId;
  48188. this.OwnerHistory = OwnerHistory;
  48189. this.Name = Name;
  48190. this.Description = Description;
  48191. this.ObjectType = ObjectType;
  48192. this.TheoryType = TheoryType;
  48193. this.ResultForLoadGroup = ResultForLoadGroup;
  48194. this.IsLinear = IsLinear;
  48195. }
  48196. static FromTape(expressID, type, tape) {
  48197. let ptr = 0;
  48198. let GlobalId = tape[ptr++];
  48199. let OwnerHistory = tape[ptr++];
  48200. let Name = tape[ptr++];
  48201. let Description = tape[ptr++];
  48202. let ObjectType = tape[ptr++];
  48203. let TheoryType = tape[ptr++];
  48204. let ResultForLoadGroup = tape[ptr++];
  48205. let IsLinear = tape[ptr++];
  48206. return new IfcStructuralResultGroup(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear);
  48207. }
  48208. ToTape() {
  48209. let args = [];
  48210. args.push(this.GlobalId);
  48211. ;
  48212. args.push(this.OwnerHistory);
  48213. ;
  48214. args.push(this.Name);
  48215. ;
  48216. args.push(this.Description);
  48217. ;
  48218. args.push(this.ObjectType);
  48219. ;
  48220. args.push(this.TheoryType);
  48221. ;
  48222. args.push(this.ResultForLoadGroup);
  48223. ;
  48224. args.push(this.IsLinear);
  48225. ;
  48226. return args;
  48227. }
  48228. };
  48229. var IfcStructuralSurfaceAction = class {
  48230. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
  48231. this.expressID = expressID;
  48232. this.type = type;
  48233. this.GlobalId = GlobalId;
  48234. this.OwnerHistory = OwnerHistory;
  48235. this.Name = Name;
  48236. this.Description = Description;
  48237. this.ObjectType = ObjectType;
  48238. this.ObjectPlacement = ObjectPlacement;
  48239. this.Representation = Representation;
  48240. this.AppliedLoad = AppliedLoad;
  48241. this.GlobalOrLocal = GlobalOrLocal;
  48242. this.DestabilizingLoad = DestabilizingLoad;
  48243. this.ProjectedOrTrue = ProjectedOrTrue;
  48244. this.PredefinedType = PredefinedType;
  48245. }
  48246. static FromTape(expressID, type, tape) {
  48247. let ptr = 0;
  48248. let GlobalId = tape[ptr++];
  48249. let OwnerHistory = tape[ptr++];
  48250. let Name = tape[ptr++];
  48251. let Description = tape[ptr++];
  48252. let ObjectType = tape[ptr++];
  48253. let ObjectPlacement = tape[ptr++];
  48254. let Representation = tape[ptr++];
  48255. let AppliedLoad = tape[ptr++];
  48256. let GlobalOrLocal = tape[ptr++];
  48257. let DestabilizingLoad = tape[ptr++];
  48258. let ProjectedOrTrue = tape[ptr++];
  48259. let PredefinedType = tape[ptr++];
  48260. return new IfcStructuralSurfaceAction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
  48261. }
  48262. ToTape() {
  48263. let args = [];
  48264. args.push(this.GlobalId);
  48265. ;
  48266. args.push(this.OwnerHistory);
  48267. ;
  48268. args.push(this.Name);
  48269. ;
  48270. args.push(this.Description);
  48271. ;
  48272. args.push(this.ObjectType);
  48273. ;
  48274. args.push(this.ObjectPlacement);
  48275. ;
  48276. args.push(this.Representation);
  48277. ;
  48278. args.push(this.AppliedLoad);
  48279. ;
  48280. args.push(this.GlobalOrLocal);
  48281. ;
  48282. args.push(this.DestabilizingLoad);
  48283. ;
  48284. args.push(this.ProjectedOrTrue);
  48285. ;
  48286. args.push(this.PredefinedType);
  48287. ;
  48288. return args;
  48289. }
  48290. };
  48291. var IfcStructuralSurfaceConnection = class {
  48292. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
  48293. this.expressID = expressID;
  48294. this.type = type;
  48295. this.GlobalId = GlobalId;
  48296. this.OwnerHistory = OwnerHistory;
  48297. this.Name = Name;
  48298. this.Description = Description;
  48299. this.ObjectType = ObjectType;
  48300. this.ObjectPlacement = ObjectPlacement;
  48301. this.Representation = Representation;
  48302. this.AppliedCondition = AppliedCondition;
  48303. }
  48304. static FromTape(expressID, type, tape) {
  48305. let ptr = 0;
  48306. let GlobalId = tape[ptr++];
  48307. let OwnerHistory = tape[ptr++];
  48308. let Name = tape[ptr++];
  48309. let Description = tape[ptr++];
  48310. let ObjectType = tape[ptr++];
  48311. let ObjectPlacement = tape[ptr++];
  48312. let Representation = tape[ptr++];
  48313. let AppliedCondition = tape[ptr++];
  48314. return new IfcStructuralSurfaceConnection(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
  48315. }
  48316. ToTape() {
  48317. let args = [];
  48318. args.push(this.GlobalId);
  48319. ;
  48320. args.push(this.OwnerHistory);
  48321. ;
  48322. args.push(this.Name);
  48323. ;
  48324. args.push(this.Description);
  48325. ;
  48326. args.push(this.ObjectType);
  48327. ;
  48328. args.push(this.ObjectPlacement);
  48329. ;
  48330. args.push(this.Representation);
  48331. ;
  48332. args.push(this.AppliedCondition);
  48333. ;
  48334. return args;
  48335. }
  48336. };
  48337. var IfcStructuralSurfaceMember = class {
  48338. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
  48339. this.expressID = expressID;
  48340. this.type = type;
  48341. this.GlobalId = GlobalId;
  48342. this.OwnerHistory = OwnerHistory;
  48343. this.Name = Name;
  48344. this.Description = Description;
  48345. this.ObjectType = ObjectType;
  48346. this.ObjectPlacement = ObjectPlacement;
  48347. this.Representation = Representation;
  48348. this.PredefinedType = PredefinedType;
  48349. this.Thickness = Thickness;
  48350. }
  48351. static FromTape(expressID, type, tape) {
  48352. let ptr = 0;
  48353. let GlobalId = tape[ptr++];
  48354. let OwnerHistory = tape[ptr++];
  48355. let Name = tape[ptr++];
  48356. let Description = tape[ptr++];
  48357. let ObjectType = tape[ptr++];
  48358. let ObjectPlacement = tape[ptr++];
  48359. let Representation = tape[ptr++];
  48360. let PredefinedType = tape[ptr++];
  48361. let Thickness = tape[ptr++];
  48362. return new IfcStructuralSurfaceMember(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness);
  48363. }
  48364. ToTape() {
  48365. let args = [];
  48366. args.push(this.GlobalId);
  48367. ;
  48368. args.push(this.OwnerHistory);
  48369. ;
  48370. args.push(this.Name);
  48371. ;
  48372. args.push(this.Description);
  48373. ;
  48374. args.push(this.ObjectType);
  48375. ;
  48376. args.push(this.ObjectPlacement);
  48377. ;
  48378. args.push(this.Representation);
  48379. ;
  48380. args.push(this.PredefinedType);
  48381. ;
  48382. args.push(this.Thickness);
  48383. ;
  48384. return args;
  48385. }
  48386. };
  48387. var IfcStructuralSurfaceMemberVarying = class {
  48388. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
  48389. this.expressID = expressID;
  48390. this.type = type;
  48391. this.GlobalId = GlobalId;
  48392. this.OwnerHistory = OwnerHistory;
  48393. this.Name = Name;
  48394. this.Description = Description;
  48395. this.ObjectType = ObjectType;
  48396. this.ObjectPlacement = ObjectPlacement;
  48397. this.Representation = Representation;
  48398. this.PredefinedType = PredefinedType;
  48399. this.Thickness = Thickness;
  48400. }
  48401. static FromTape(expressID, type, tape) {
  48402. let ptr = 0;
  48403. let GlobalId = tape[ptr++];
  48404. let OwnerHistory = tape[ptr++];
  48405. let Name = tape[ptr++];
  48406. let Description = tape[ptr++];
  48407. let ObjectType = tape[ptr++];
  48408. let ObjectPlacement = tape[ptr++];
  48409. let Representation = tape[ptr++];
  48410. let PredefinedType = tape[ptr++];
  48411. let Thickness = tape[ptr++];
  48412. return new IfcStructuralSurfaceMemberVarying(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness);
  48413. }
  48414. ToTape() {
  48415. let args = [];
  48416. args.push(this.GlobalId);
  48417. ;
  48418. args.push(this.OwnerHistory);
  48419. ;
  48420. args.push(this.Name);
  48421. ;
  48422. args.push(this.Description);
  48423. ;
  48424. args.push(this.ObjectType);
  48425. ;
  48426. args.push(this.ObjectPlacement);
  48427. ;
  48428. args.push(this.Representation);
  48429. ;
  48430. args.push(this.PredefinedType);
  48431. ;
  48432. args.push(this.Thickness);
  48433. ;
  48434. return args;
  48435. }
  48436. };
  48437. var IfcStructuralSurfaceReaction = class {
  48438. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) {
  48439. this.expressID = expressID;
  48440. this.type = type;
  48441. this.GlobalId = GlobalId;
  48442. this.OwnerHistory = OwnerHistory;
  48443. this.Name = Name;
  48444. this.Description = Description;
  48445. this.ObjectType = ObjectType;
  48446. this.ObjectPlacement = ObjectPlacement;
  48447. this.Representation = Representation;
  48448. this.AppliedLoad = AppliedLoad;
  48449. this.GlobalOrLocal = GlobalOrLocal;
  48450. this.PredefinedType = PredefinedType;
  48451. }
  48452. static FromTape(expressID, type, tape) {
  48453. let ptr = 0;
  48454. let GlobalId = tape[ptr++];
  48455. let OwnerHistory = tape[ptr++];
  48456. let Name = tape[ptr++];
  48457. let Description = tape[ptr++];
  48458. let ObjectType = tape[ptr++];
  48459. let ObjectPlacement = tape[ptr++];
  48460. let Representation = tape[ptr++];
  48461. let AppliedLoad = tape[ptr++];
  48462. let GlobalOrLocal = tape[ptr++];
  48463. let PredefinedType = tape[ptr++];
  48464. return new IfcStructuralSurfaceReaction(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType);
  48465. }
  48466. ToTape() {
  48467. let args = [];
  48468. args.push(this.GlobalId);
  48469. ;
  48470. args.push(this.OwnerHistory);
  48471. ;
  48472. args.push(this.Name);
  48473. ;
  48474. args.push(this.Description);
  48475. ;
  48476. args.push(this.ObjectType);
  48477. ;
  48478. args.push(this.ObjectPlacement);
  48479. ;
  48480. args.push(this.Representation);
  48481. ;
  48482. args.push(this.AppliedLoad);
  48483. ;
  48484. args.push(this.GlobalOrLocal);
  48485. ;
  48486. args.push(this.PredefinedType);
  48487. ;
  48488. return args;
  48489. }
  48490. };
  48491. var IfcStyleModel = class {
  48492. constructor(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
  48493. this.expressID = expressID;
  48494. this.type = type;
  48495. this.ContextOfItems = ContextOfItems;
  48496. this.RepresentationIdentifier = RepresentationIdentifier;
  48497. this.RepresentationType = RepresentationType;
  48498. this.Items = Items;
  48499. }
  48500. static FromTape(expressID, type, tape) {
  48501. let ptr = 0;
  48502. let ContextOfItems = tape[ptr++];
  48503. let RepresentationIdentifier = tape[ptr++];
  48504. let RepresentationType = tape[ptr++];
  48505. let Items = tape[ptr++];
  48506. return new IfcStyleModel(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
  48507. }
  48508. ToTape() {
  48509. let args = [];
  48510. args.push(this.ContextOfItems);
  48511. ;
  48512. args.push(this.RepresentationIdentifier);
  48513. ;
  48514. args.push(this.RepresentationType);
  48515. ;
  48516. args.push(this.Items);
  48517. ;
  48518. return args;
  48519. }
  48520. };
  48521. var IfcStyledItem = class {
  48522. constructor(expressID, type, Item, Styles, Name) {
  48523. this.expressID = expressID;
  48524. this.type = type;
  48525. this.Item = Item;
  48526. this.Styles = Styles;
  48527. this.Name = Name;
  48528. }
  48529. static FromTape(expressID, type, tape) {
  48530. let ptr = 0;
  48531. let Item = tape[ptr++];
  48532. let Styles = tape[ptr++];
  48533. let Name = tape[ptr++];
  48534. return new IfcStyledItem(expressID, type, Item, Styles, Name);
  48535. }
  48536. ToTape() {
  48537. let args = [];
  48538. args.push(this.Item);
  48539. ;
  48540. args.push(this.Styles);
  48541. ;
  48542. args.push(this.Name);
  48543. ;
  48544. return args;
  48545. }
  48546. };
  48547. var IfcStyledRepresentation = class {
  48548. constructor(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
  48549. this.expressID = expressID;
  48550. this.type = type;
  48551. this.ContextOfItems = ContextOfItems;
  48552. this.RepresentationIdentifier = RepresentationIdentifier;
  48553. this.RepresentationType = RepresentationType;
  48554. this.Items = Items;
  48555. }
  48556. static FromTape(expressID, type, tape) {
  48557. let ptr = 0;
  48558. let ContextOfItems = tape[ptr++];
  48559. let RepresentationIdentifier = tape[ptr++];
  48560. let RepresentationType = tape[ptr++];
  48561. let Items = tape[ptr++];
  48562. return new IfcStyledRepresentation(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
  48563. }
  48564. ToTape() {
  48565. let args = [];
  48566. args.push(this.ContextOfItems);
  48567. ;
  48568. args.push(this.RepresentationIdentifier);
  48569. ;
  48570. args.push(this.RepresentationType);
  48571. ;
  48572. args.push(this.Items);
  48573. ;
  48574. return args;
  48575. }
  48576. };
  48577. var IfcSubContractResource = class {
  48578. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
  48579. this.expressID = expressID;
  48580. this.type = type;
  48581. this.GlobalId = GlobalId;
  48582. this.OwnerHistory = OwnerHistory;
  48583. this.Name = Name;
  48584. this.Description = Description;
  48585. this.ObjectType = ObjectType;
  48586. this.Identification = Identification;
  48587. this.LongDescription = LongDescription;
  48588. this.Usage = Usage;
  48589. this.BaseCosts = BaseCosts;
  48590. this.BaseQuantity = BaseQuantity;
  48591. this.PredefinedType = PredefinedType;
  48592. }
  48593. static FromTape(expressID, type, tape) {
  48594. let ptr = 0;
  48595. let GlobalId = tape[ptr++];
  48596. let OwnerHistory = tape[ptr++];
  48597. let Name = tape[ptr++];
  48598. let Description = tape[ptr++];
  48599. let ObjectType = tape[ptr++];
  48600. let Identification = tape[ptr++];
  48601. let LongDescription = tape[ptr++];
  48602. let Usage = tape[ptr++];
  48603. let BaseCosts = tape[ptr++];
  48604. let BaseQuantity = tape[ptr++];
  48605. let PredefinedType = tape[ptr++];
  48606. return new IfcSubContractResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType);
  48607. }
  48608. ToTape() {
  48609. let args = [];
  48610. args.push(this.GlobalId);
  48611. ;
  48612. args.push(this.OwnerHistory);
  48613. ;
  48614. args.push(this.Name);
  48615. ;
  48616. args.push(this.Description);
  48617. ;
  48618. args.push(this.ObjectType);
  48619. ;
  48620. args.push(this.Identification);
  48621. ;
  48622. args.push(this.LongDescription);
  48623. ;
  48624. args.push(this.Usage);
  48625. ;
  48626. args.push(this.BaseCosts);
  48627. ;
  48628. args.push(this.BaseQuantity);
  48629. ;
  48630. args.push(this.PredefinedType);
  48631. ;
  48632. return args;
  48633. }
  48634. };
  48635. var IfcSubContractResourceType = class {
  48636. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
  48637. this.expressID = expressID;
  48638. this.type = type;
  48639. this.GlobalId = GlobalId;
  48640. this.OwnerHistory = OwnerHistory;
  48641. this.Name = Name;
  48642. this.Description = Description;
  48643. this.ApplicableOccurrence = ApplicableOccurrence;
  48644. this.HasPropertySets = HasPropertySets;
  48645. this.Identification = Identification;
  48646. this.LongDescription = LongDescription;
  48647. this.ResourceType = ResourceType;
  48648. this.BaseCosts = BaseCosts;
  48649. this.BaseQuantity = BaseQuantity;
  48650. this.PredefinedType = PredefinedType;
  48651. }
  48652. static FromTape(expressID, type, tape) {
  48653. let ptr = 0;
  48654. let GlobalId = tape[ptr++];
  48655. let OwnerHistory = tape[ptr++];
  48656. let Name = tape[ptr++];
  48657. let Description = tape[ptr++];
  48658. let ApplicableOccurrence = tape[ptr++];
  48659. let HasPropertySets = tape[ptr++];
  48660. let Identification = tape[ptr++];
  48661. let LongDescription = tape[ptr++];
  48662. let ResourceType = tape[ptr++];
  48663. let BaseCosts = tape[ptr++];
  48664. let BaseQuantity = tape[ptr++];
  48665. let PredefinedType = tape[ptr++];
  48666. return new IfcSubContractResourceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType);
  48667. }
  48668. ToTape() {
  48669. let args = [];
  48670. args.push(this.GlobalId);
  48671. ;
  48672. args.push(this.OwnerHistory);
  48673. ;
  48674. args.push(this.Name);
  48675. ;
  48676. args.push(this.Description);
  48677. ;
  48678. args.push(this.ApplicableOccurrence);
  48679. ;
  48680. args.push(this.HasPropertySets);
  48681. ;
  48682. args.push(this.Identification);
  48683. ;
  48684. args.push(this.LongDescription);
  48685. ;
  48686. args.push(this.ResourceType);
  48687. ;
  48688. args.push(this.BaseCosts);
  48689. ;
  48690. args.push(this.BaseQuantity);
  48691. ;
  48692. args.push(this.PredefinedType);
  48693. ;
  48694. return args;
  48695. }
  48696. };
  48697. var IfcSubedge = class {
  48698. constructor(expressID, type, EdgeStart, EdgeEnd, ParentEdge) {
  48699. this.expressID = expressID;
  48700. this.type = type;
  48701. this.EdgeStart = EdgeStart;
  48702. this.EdgeEnd = EdgeEnd;
  48703. this.ParentEdge = ParentEdge;
  48704. }
  48705. static FromTape(expressID, type, tape) {
  48706. let ptr = 0;
  48707. let EdgeStart = tape[ptr++];
  48708. let EdgeEnd = tape[ptr++];
  48709. let ParentEdge = tape[ptr++];
  48710. return new IfcSubedge(expressID, type, EdgeStart, EdgeEnd, ParentEdge);
  48711. }
  48712. ToTape() {
  48713. let args = [];
  48714. args.push(this.EdgeStart);
  48715. ;
  48716. args.push(this.EdgeEnd);
  48717. ;
  48718. args.push(this.ParentEdge);
  48719. ;
  48720. return args;
  48721. }
  48722. };
  48723. var IfcSurface = class {
  48724. constructor(expressID, type) {
  48725. this.expressID = expressID;
  48726. this.type = type;
  48727. }
  48728. static FromTape(expressID, type, tape) {
  48729. let ptr = 0;
  48730. return new IfcSurface(expressID, type);
  48731. }
  48732. ToTape() {
  48733. let args = [];
  48734. return args;
  48735. }
  48736. };
  48737. var IfcSurfaceCurve = class {
  48738. constructor(expressID, type, Curve3D, AssociatedGeometry, MasterRepresentation) {
  48739. this.expressID = expressID;
  48740. this.type = type;
  48741. this.Curve3D = Curve3D;
  48742. this.AssociatedGeometry = AssociatedGeometry;
  48743. this.MasterRepresentation = MasterRepresentation;
  48744. }
  48745. static FromTape(expressID, type, tape) {
  48746. let ptr = 0;
  48747. let Curve3D = tape[ptr++];
  48748. let AssociatedGeometry = tape[ptr++];
  48749. let MasterRepresentation = tape[ptr++];
  48750. return new IfcSurfaceCurve(expressID, type, Curve3D, AssociatedGeometry, MasterRepresentation);
  48751. }
  48752. ToTape() {
  48753. let args = [];
  48754. args.push(this.Curve3D);
  48755. ;
  48756. args.push(this.AssociatedGeometry);
  48757. ;
  48758. args.push(this.MasterRepresentation);
  48759. ;
  48760. return args;
  48761. }
  48762. };
  48763. var IfcSurfaceCurveSweptAreaSolid = class {
  48764. constructor(expressID, type, SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) {
  48765. this.expressID = expressID;
  48766. this.type = type;
  48767. this.SweptArea = SweptArea;
  48768. this.Position = Position;
  48769. this.Directrix = Directrix;
  48770. this.StartParam = StartParam;
  48771. this.EndParam = EndParam;
  48772. this.ReferenceSurface = ReferenceSurface;
  48773. }
  48774. static FromTape(expressID, type, tape) {
  48775. let ptr = 0;
  48776. let SweptArea = tape[ptr++];
  48777. let Position = tape[ptr++];
  48778. let Directrix = tape[ptr++];
  48779. let StartParam = tape[ptr++];
  48780. let EndParam = tape[ptr++];
  48781. let ReferenceSurface = tape[ptr++];
  48782. return new IfcSurfaceCurveSweptAreaSolid(expressID, type, SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface);
  48783. }
  48784. ToTape() {
  48785. let args = [];
  48786. args.push(this.SweptArea);
  48787. ;
  48788. args.push(this.Position);
  48789. ;
  48790. args.push(this.Directrix);
  48791. ;
  48792. args.push(this.StartParam);
  48793. ;
  48794. args.push(this.EndParam);
  48795. ;
  48796. args.push(this.ReferenceSurface);
  48797. ;
  48798. return args;
  48799. }
  48800. };
  48801. var IfcSurfaceFeature = class {
  48802. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  48803. this.expressID = expressID;
  48804. this.type = type;
  48805. this.GlobalId = GlobalId;
  48806. this.OwnerHistory = OwnerHistory;
  48807. this.Name = Name;
  48808. this.Description = Description;
  48809. this.ObjectType = ObjectType;
  48810. this.ObjectPlacement = ObjectPlacement;
  48811. this.Representation = Representation;
  48812. this.Tag = Tag;
  48813. this.PredefinedType = PredefinedType;
  48814. }
  48815. static FromTape(expressID, type, tape) {
  48816. let ptr = 0;
  48817. let GlobalId = tape[ptr++];
  48818. let OwnerHistory = tape[ptr++];
  48819. let Name = tape[ptr++];
  48820. let Description = tape[ptr++];
  48821. let ObjectType = tape[ptr++];
  48822. let ObjectPlacement = tape[ptr++];
  48823. let Representation = tape[ptr++];
  48824. let Tag = tape[ptr++];
  48825. let PredefinedType = tape[ptr++];
  48826. return new IfcSurfaceFeature(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  48827. }
  48828. ToTape() {
  48829. let args = [];
  48830. args.push(this.GlobalId);
  48831. ;
  48832. args.push(this.OwnerHistory);
  48833. ;
  48834. args.push(this.Name);
  48835. ;
  48836. args.push(this.Description);
  48837. ;
  48838. args.push(this.ObjectType);
  48839. ;
  48840. args.push(this.ObjectPlacement);
  48841. ;
  48842. args.push(this.Representation);
  48843. ;
  48844. args.push(this.Tag);
  48845. ;
  48846. args.push(this.PredefinedType);
  48847. ;
  48848. return args;
  48849. }
  48850. };
  48851. var IfcSurfaceOfLinearExtrusion = class {
  48852. constructor(expressID, type, SweptCurve, Position, ExtrudedDirection, Depth) {
  48853. this.expressID = expressID;
  48854. this.type = type;
  48855. this.SweptCurve = SweptCurve;
  48856. this.Position = Position;
  48857. this.ExtrudedDirection = ExtrudedDirection;
  48858. this.Depth = Depth;
  48859. }
  48860. static FromTape(expressID, type, tape) {
  48861. let ptr = 0;
  48862. let SweptCurve = tape[ptr++];
  48863. let Position = tape[ptr++];
  48864. let ExtrudedDirection = tape[ptr++];
  48865. let Depth = tape[ptr++];
  48866. return new IfcSurfaceOfLinearExtrusion(expressID, type, SweptCurve, Position, ExtrudedDirection, Depth);
  48867. }
  48868. ToTape() {
  48869. let args = [];
  48870. args.push(this.SweptCurve);
  48871. ;
  48872. args.push(this.Position);
  48873. ;
  48874. args.push(this.ExtrudedDirection);
  48875. ;
  48876. args.push(this.Depth);
  48877. ;
  48878. return args;
  48879. }
  48880. };
  48881. var IfcSurfaceOfRevolution = class {
  48882. constructor(expressID, type, SweptCurve, Position, AxisPosition) {
  48883. this.expressID = expressID;
  48884. this.type = type;
  48885. this.SweptCurve = SweptCurve;
  48886. this.Position = Position;
  48887. this.AxisPosition = AxisPosition;
  48888. }
  48889. static FromTape(expressID, type, tape) {
  48890. let ptr = 0;
  48891. let SweptCurve = tape[ptr++];
  48892. let Position = tape[ptr++];
  48893. let AxisPosition = tape[ptr++];
  48894. return new IfcSurfaceOfRevolution(expressID, type, SweptCurve, Position, AxisPosition);
  48895. }
  48896. ToTape() {
  48897. let args = [];
  48898. args.push(this.SweptCurve);
  48899. ;
  48900. args.push(this.Position);
  48901. ;
  48902. args.push(this.AxisPosition);
  48903. ;
  48904. return args;
  48905. }
  48906. };
  48907. var IfcSurfaceReinforcementArea = class {
  48908. constructor(expressID, type, Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) {
  48909. this.expressID = expressID;
  48910. this.type = type;
  48911. this.Name = Name;
  48912. this.SurfaceReinforcement1 = SurfaceReinforcement1;
  48913. this.SurfaceReinforcement2 = SurfaceReinforcement2;
  48914. this.ShearReinforcement = ShearReinforcement;
  48915. }
  48916. static FromTape(expressID, type, tape) {
  48917. let ptr = 0;
  48918. let Name = tape[ptr++];
  48919. let SurfaceReinforcement1 = tape[ptr++];
  48920. let SurfaceReinforcement2 = tape[ptr++];
  48921. let ShearReinforcement = tape[ptr++];
  48922. return new IfcSurfaceReinforcementArea(expressID, type, Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement);
  48923. }
  48924. ToTape() {
  48925. let args = [];
  48926. args.push(this.Name);
  48927. ;
  48928. args.push(this.SurfaceReinforcement1);
  48929. ;
  48930. args.push(this.SurfaceReinforcement2);
  48931. ;
  48932. args.push(this.ShearReinforcement);
  48933. ;
  48934. return args;
  48935. }
  48936. };
  48937. var IfcSurfaceStyle = class {
  48938. constructor(expressID, type, Name, Side, Styles) {
  48939. this.expressID = expressID;
  48940. this.type = type;
  48941. this.Name = Name;
  48942. this.Side = Side;
  48943. this.Styles = Styles;
  48944. }
  48945. static FromTape(expressID, type, tape) {
  48946. let ptr = 0;
  48947. let Name = tape[ptr++];
  48948. let Side = tape[ptr++];
  48949. let Styles = tape[ptr++];
  48950. return new IfcSurfaceStyle(expressID, type, Name, Side, Styles);
  48951. }
  48952. ToTape() {
  48953. let args = [];
  48954. args.push(this.Name);
  48955. ;
  48956. args.push(this.Side);
  48957. ;
  48958. args.push(this.Styles);
  48959. ;
  48960. return args;
  48961. }
  48962. };
  48963. var IfcSurfaceStyleLighting = class {
  48964. constructor(expressID, type, DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) {
  48965. this.expressID = expressID;
  48966. this.type = type;
  48967. this.DiffuseTransmissionColour = DiffuseTransmissionColour;
  48968. this.DiffuseReflectionColour = DiffuseReflectionColour;
  48969. this.TransmissionColour = TransmissionColour;
  48970. this.ReflectanceColour = ReflectanceColour;
  48971. }
  48972. static FromTape(expressID, type, tape) {
  48973. let ptr = 0;
  48974. let DiffuseTransmissionColour = tape[ptr++];
  48975. let DiffuseReflectionColour = tape[ptr++];
  48976. let TransmissionColour = tape[ptr++];
  48977. let ReflectanceColour = tape[ptr++];
  48978. return new IfcSurfaceStyleLighting(expressID, type, DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour);
  48979. }
  48980. ToTape() {
  48981. let args = [];
  48982. args.push(this.DiffuseTransmissionColour);
  48983. ;
  48984. args.push(this.DiffuseReflectionColour);
  48985. ;
  48986. args.push(this.TransmissionColour);
  48987. ;
  48988. args.push(this.ReflectanceColour);
  48989. ;
  48990. return args;
  48991. }
  48992. };
  48993. var IfcSurfaceStyleRefraction = class {
  48994. constructor(expressID, type, RefractionIndex, DispersionFactor) {
  48995. this.expressID = expressID;
  48996. this.type = type;
  48997. this.RefractionIndex = RefractionIndex;
  48998. this.DispersionFactor = DispersionFactor;
  48999. }
  49000. static FromTape(expressID, type, tape) {
  49001. let ptr = 0;
  49002. let RefractionIndex = tape[ptr++];
  49003. let DispersionFactor = tape[ptr++];
  49004. return new IfcSurfaceStyleRefraction(expressID, type, RefractionIndex, DispersionFactor);
  49005. }
  49006. ToTape() {
  49007. let args = [];
  49008. args.push(this.RefractionIndex);
  49009. ;
  49010. args.push(this.DispersionFactor);
  49011. ;
  49012. return args;
  49013. }
  49014. };
  49015. var IfcSurfaceStyleRendering = class {
  49016. constructor(expressID, type, SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) {
  49017. this.expressID = expressID;
  49018. this.type = type;
  49019. this.SurfaceColour = SurfaceColour;
  49020. this.Transparency = Transparency;
  49021. this.DiffuseColour = DiffuseColour;
  49022. this.TransmissionColour = TransmissionColour;
  49023. this.DiffuseTransmissionColour = DiffuseTransmissionColour;
  49024. this.ReflectionColour = ReflectionColour;
  49025. this.SpecularColour = SpecularColour;
  49026. this.SpecularHighlight = SpecularHighlight;
  49027. this.ReflectanceMethod = ReflectanceMethod;
  49028. }
  49029. static FromTape(expressID, type, tape) {
  49030. let ptr = 0;
  49031. let SurfaceColour = tape[ptr++];
  49032. let Transparency = tape[ptr++];
  49033. let DiffuseColour = tape[ptr++];
  49034. let TransmissionColour = tape[ptr++];
  49035. let DiffuseTransmissionColour = tape[ptr++];
  49036. let ReflectionColour = tape[ptr++];
  49037. let SpecularColour = tape[ptr++];
  49038. let SpecularHighlight = tape[ptr++];
  49039. let ReflectanceMethod = tape[ptr++];
  49040. return new IfcSurfaceStyleRendering(expressID, type, SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod);
  49041. }
  49042. ToTape() {
  49043. let args = [];
  49044. args.push(this.SurfaceColour);
  49045. ;
  49046. args.push(this.Transparency);
  49047. ;
  49048. args.push(this.DiffuseColour);
  49049. ;
  49050. args.push(this.TransmissionColour);
  49051. ;
  49052. args.push(this.DiffuseTransmissionColour);
  49053. ;
  49054. args.push(this.ReflectionColour);
  49055. ;
  49056. args.push(this.SpecularColour);
  49057. ;
  49058. args.push(this.SpecularHighlight);
  49059. ;
  49060. args.push(this.ReflectanceMethod);
  49061. ;
  49062. return args;
  49063. }
  49064. };
  49065. var IfcSurfaceStyleShading = class {
  49066. constructor(expressID, type, SurfaceColour, Transparency) {
  49067. this.expressID = expressID;
  49068. this.type = type;
  49069. this.SurfaceColour = SurfaceColour;
  49070. this.Transparency = Transparency;
  49071. }
  49072. static FromTape(expressID, type, tape) {
  49073. let ptr = 0;
  49074. let SurfaceColour = tape[ptr++];
  49075. let Transparency = tape[ptr++];
  49076. return new IfcSurfaceStyleShading(expressID, type, SurfaceColour, Transparency);
  49077. }
  49078. ToTape() {
  49079. let args = [];
  49080. args.push(this.SurfaceColour);
  49081. ;
  49082. args.push(this.Transparency);
  49083. ;
  49084. return args;
  49085. }
  49086. };
  49087. var IfcSurfaceStyleWithTextures = class {
  49088. constructor(expressID, type, Textures) {
  49089. this.expressID = expressID;
  49090. this.type = type;
  49091. this.Textures = Textures;
  49092. }
  49093. static FromTape(expressID, type, tape) {
  49094. let ptr = 0;
  49095. let Textures = tape[ptr++];
  49096. return new IfcSurfaceStyleWithTextures(expressID, type, Textures);
  49097. }
  49098. ToTape() {
  49099. let args = [];
  49100. args.push(this.Textures);
  49101. ;
  49102. return args;
  49103. }
  49104. };
  49105. var IfcSurfaceTexture = class {
  49106. constructor(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter) {
  49107. this.expressID = expressID;
  49108. this.type = type;
  49109. this.RepeatS = RepeatS;
  49110. this.RepeatT = RepeatT;
  49111. this.Mode = Mode;
  49112. this.TextureTransform = TextureTransform;
  49113. this.Parameter = Parameter;
  49114. }
  49115. static FromTape(expressID, type, tape) {
  49116. let ptr = 0;
  49117. let RepeatS = tape[ptr++];
  49118. let RepeatT = tape[ptr++];
  49119. let Mode = tape[ptr++];
  49120. let TextureTransform = tape[ptr++];
  49121. let Parameter = tape[ptr++];
  49122. return new IfcSurfaceTexture(expressID, type, RepeatS, RepeatT, Mode, TextureTransform, Parameter);
  49123. }
  49124. ToTape() {
  49125. let args = [];
  49126. args.push(this.RepeatS);
  49127. ;
  49128. args.push(this.RepeatT);
  49129. ;
  49130. args.push(this.Mode);
  49131. ;
  49132. args.push(this.TextureTransform);
  49133. ;
  49134. args.push(this.Parameter);
  49135. ;
  49136. return args;
  49137. }
  49138. };
  49139. var IfcSweptAreaSolid = class {
  49140. constructor(expressID, type, SweptArea, Position) {
  49141. this.expressID = expressID;
  49142. this.type = type;
  49143. this.SweptArea = SweptArea;
  49144. this.Position = Position;
  49145. }
  49146. static FromTape(expressID, type, tape) {
  49147. let ptr = 0;
  49148. let SweptArea = tape[ptr++];
  49149. let Position = tape[ptr++];
  49150. return new IfcSweptAreaSolid(expressID, type, SweptArea, Position);
  49151. }
  49152. ToTape() {
  49153. let args = [];
  49154. args.push(this.SweptArea);
  49155. ;
  49156. args.push(this.Position);
  49157. ;
  49158. return args;
  49159. }
  49160. };
  49161. var IfcSweptDiskSolid = class {
  49162. constructor(expressID, type, Directrix, Radius, InnerRadius, StartParam, EndParam) {
  49163. this.expressID = expressID;
  49164. this.type = type;
  49165. this.Directrix = Directrix;
  49166. this.Radius = Radius;
  49167. this.InnerRadius = InnerRadius;
  49168. this.StartParam = StartParam;
  49169. this.EndParam = EndParam;
  49170. }
  49171. static FromTape(expressID, type, tape) {
  49172. let ptr = 0;
  49173. let Directrix = tape[ptr++];
  49174. let Radius = tape[ptr++];
  49175. let InnerRadius = tape[ptr++];
  49176. let StartParam = tape[ptr++];
  49177. let EndParam = tape[ptr++];
  49178. return new IfcSweptDiskSolid(expressID, type, Directrix, Radius, InnerRadius, StartParam, EndParam);
  49179. }
  49180. ToTape() {
  49181. let args = [];
  49182. args.push(this.Directrix);
  49183. ;
  49184. args.push(this.Radius);
  49185. ;
  49186. args.push(this.InnerRadius);
  49187. ;
  49188. args.push(this.StartParam);
  49189. ;
  49190. args.push(this.EndParam);
  49191. ;
  49192. return args;
  49193. }
  49194. };
  49195. var IfcSweptDiskSolidPolygonal = class {
  49196. constructor(expressID, type, Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) {
  49197. this.expressID = expressID;
  49198. this.type = type;
  49199. this.Directrix = Directrix;
  49200. this.Radius = Radius;
  49201. this.InnerRadius = InnerRadius;
  49202. this.StartParam = StartParam;
  49203. this.EndParam = EndParam;
  49204. this.FilletRadius = FilletRadius;
  49205. }
  49206. static FromTape(expressID, type, tape) {
  49207. let ptr = 0;
  49208. let Directrix = tape[ptr++];
  49209. let Radius = tape[ptr++];
  49210. let InnerRadius = tape[ptr++];
  49211. let StartParam = tape[ptr++];
  49212. let EndParam = tape[ptr++];
  49213. let FilletRadius = tape[ptr++];
  49214. return new IfcSweptDiskSolidPolygonal(expressID, type, Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius);
  49215. }
  49216. ToTape() {
  49217. let args = [];
  49218. args.push(this.Directrix);
  49219. ;
  49220. args.push(this.Radius);
  49221. ;
  49222. args.push(this.InnerRadius);
  49223. ;
  49224. args.push(this.StartParam);
  49225. ;
  49226. args.push(this.EndParam);
  49227. ;
  49228. args.push(this.FilletRadius);
  49229. ;
  49230. return args;
  49231. }
  49232. };
  49233. var IfcSweptSurface = class {
  49234. constructor(expressID, type, SweptCurve, Position) {
  49235. this.expressID = expressID;
  49236. this.type = type;
  49237. this.SweptCurve = SweptCurve;
  49238. this.Position = Position;
  49239. }
  49240. static FromTape(expressID, type, tape) {
  49241. let ptr = 0;
  49242. let SweptCurve = tape[ptr++];
  49243. let Position = tape[ptr++];
  49244. return new IfcSweptSurface(expressID, type, SweptCurve, Position);
  49245. }
  49246. ToTape() {
  49247. let args = [];
  49248. args.push(this.SweptCurve);
  49249. ;
  49250. args.push(this.Position);
  49251. ;
  49252. return args;
  49253. }
  49254. };
  49255. var IfcSwitchingDevice = class {
  49256. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  49257. this.expressID = expressID;
  49258. this.type = type;
  49259. this.GlobalId = GlobalId;
  49260. this.OwnerHistory = OwnerHistory;
  49261. this.Name = Name;
  49262. this.Description = Description;
  49263. this.ObjectType = ObjectType;
  49264. this.ObjectPlacement = ObjectPlacement;
  49265. this.Representation = Representation;
  49266. this.Tag = Tag;
  49267. this.PredefinedType = PredefinedType;
  49268. }
  49269. static FromTape(expressID, type, tape) {
  49270. let ptr = 0;
  49271. let GlobalId = tape[ptr++];
  49272. let OwnerHistory = tape[ptr++];
  49273. let Name = tape[ptr++];
  49274. let Description = tape[ptr++];
  49275. let ObjectType = tape[ptr++];
  49276. let ObjectPlacement = tape[ptr++];
  49277. let Representation = tape[ptr++];
  49278. let Tag = tape[ptr++];
  49279. let PredefinedType = tape[ptr++];
  49280. return new IfcSwitchingDevice(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  49281. }
  49282. ToTape() {
  49283. let args = [];
  49284. args.push(this.GlobalId);
  49285. ;
  49286. args.push(this.OwnerHistory);
  49287. ;
  49288. args.push(this.Name);
  49289. ;
  49290. args.push(this.Description);
  49291. ;
  49292. args.push(this.ObjectType);
  49293. ;
  49294. args.push(this.ObjectPlacement);
  49295. ;
  49296. args.push(this.Representation);
  49297. ;
  49298. args.push(this.Tag);
  49299. ;
  49300. args.push(this.PredefinedType);
  49301. ;
  49302. return args;
  49303. }
  49304. };
  49305. var IfcSwitchingDeviceType = class {
  49306. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  49307. this.expressID = expressID;
  49308. this.type = type;
  49309. this.GlobalId = GlobalId;
  49310. this.OwnerHistory = OwnerHistory;
  49311. this.Name = Name;
  49312. this.Description = Description;
  49313. this.ApplicableOccurrence = ApplicableOccurrence;
  49314. this.HasPropertySets = HasPropertySets;
  49315. this.RepresentationMaps = RepresentationMaps;
  49316. this.Tag = Tag;
  49317. this.ElementType = ElementType;
  49318. this.PredefinedType = PredefinedType;
  49319. }
  49320. static FromTape(expressID, type, tape) {
  49321. let ptr = 0;
  49322. let GlobalId = tape[ptr++];
  49323. let OwnerHistory = tape[ptr++];
  49324. let Name = tape[ptr++];
  49325. let Description = tape[ptr++];
  49326. let ApplicableOccurrence = tape[ptr++];
  49327. let HasPropertySets = tape[ptr++];
  49328. let RepresentationMaps = tape[ptr++];
  49329. let Tag = tape[ptr++];
  49330. let ElementType = tape[ptr++];
  49331. let PredefinedType = tape[ptr++];
  49332. return new IfcSwitchingDeviceType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  49333. }
  49334. ToTape() {
  49335. let args = [];
  49336. args.push(this.GlobalId);
  49337. ;
  49338. args.push(this.OwnerHistory);
  49339. ;
  49340. args.push(this.Name);
  49341. ;
  49342. args.push(this.Description);
  49343. ;
  49344. args.push(this.ApplicableOccurrence);
  49345. ;
  49346. args.push(this.HasPropertySets);
  49347. ;
  49348. args.push(this.RepresentationMaps);
  49349. ;
  49350. args.push(this.Tag);
  49351. ;
  49352. args.push(this.ElementType);
  49353. ;
  49354. args.push(this.PredefinedType);
  49355. ;
  49356. return args;
  49357. }
  49358. };
  49359. var IfcSystem = class {
  49360. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType) {
  49361. this.expressID = expressID;
  49362. this.type = type;
  49363. this.GlobalId = GlobalId;
  49364. this.OwnerHistory = OwnerHistory;
  49365. this.Name = Name;
  49366. this.Description = Description;
  49367. this.ObjectType = ObjectType;
  49368. }
  49369. static FromTape(expressID, type, tape) {
  49370. let ptr = 0;
  49371. let GlobalId = tape[ptr++];
  49372. let OwnerHistory = tape[ptr++];
  49373. let Name = tape[ptr++];
  49374. let Description = tape[ptr++];
  49375. let ObjectType = tape[ptr++];
  49376. return new IfcSystem(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType);
  49377. }
  49378. ToTape() {
  49379. let args = [];
  49380. args.push(this.GlobalId);
  49381. ;
  49382. args.push(this.OwnerHistory);
  49383. ;
  49384. args.push(this.Name);
  49385. ;
  49386. args.push(this.Description);
  49387. ;
  49388. args.push(this.ObjectType);
  49389. ;
  49390. return args;
  49391. }
  49392. };
  49393. var IfcSystemFurnitureElement = class {
  49394. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  49395. this.expressID = expressID;
  49396. this.type = type;
  49397. this.GlobalId = GlobalId;
  49398. this.OwnerHistory = OwnerHistory;
  49399. this.Name = Name;
  49400. this.Description = Description;
  49401. this.ObjectType = ObjectType;
  49402. this.ObjectPlacement = ObjectPlacement;
  49403. this.Representation = Representation;
  49404. this.Tag = Tag;
  49405. this.PredefinedType = PredefinedType;
  49406. }
  49407. static FromTape(expressID, type, tape) {
  49408. let ptr = 0;
  49409. let GlobalId = tape[ptr++];
  49410. let OwnerHistory = tape[ptr++];
  49411. let Name = tape[ptr++];
  49412. let Description = tape[ptr++];
  49413. let ObjectType = tape[ptr++];
  49414. let ObjectPlacement = tape[ptr++];
  49415. let Representation = tape[ptr++];
  49416. let Tag = tape[ptr++];
  49417. let PredefinedType = tape[ptr++];
  49418. return new IfcSystemFurnitureElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  49419. }
  49420. ToTape() {
  49421. let args = [];
  49422. args.push(this.GlobalId);
  49423. ;
  49424. args.push(this.OwnerHistory);
  49425. ;
  49426. args.push(this.Name);
  49427. ;
  49428. args.push(this.Description);
  49429. ;
  49430. args.push(this.ObjectType);
  49431. ;
  49432. args.push(this.ObjectPlacement);
  49433. ;
  49434. args.push(this.Representation);
  49435. ;
  49436. args.push(this.Tag);
  49437. ;
  49438. args.push(this.PredefinedType);
  49439. ;
  49440. return args;
  49441. }
  49442. };
  49443. var IfcSystemFurnitureElementType = class {
  49444. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  49445. this.expressID = expressID;
  49446. this.type = type;
  49447. this.GlobalId = GlobalId;
  49448. this.OwnerHistory = OwnerHistory;
  49449. this.Name = Name;
  49450. this.Description = Description;
  49451. this.ApplicableOccurrence = ApplicableOccurrence;
  49452. this.HasPropertySets = HasPropertySets;
  49453. this.RepresentationMaps = RepresentationMaps;
  49454. this.Tag = Tag;
  49455. this.ElementType = ElementType;
  49456. this.PredefinedType = PredefinedType;
  49457. }
  49458. static FromTape(expressID, type, tape) {
  49459. let ptr = 0;
  49460. let GlobalId = tape[ptr++];
  49461. let OwnerHistory = tape[ptr++];
  49462. let Name = tape[ptr++];
  49463. let Description = tape[ptr++];
  49464. let ApplicableOccurrence = tape[ptr++];
  49465. let HasPropertySets = tape[ptr++];
  49466. let RepresentationMaps = tape[ptr++];
  49467. let Tag = tape[ptr++];
  49468. let ElementType = tape[ptr++];
  49469. let PredefinedType = tape[ptr++];
  49470. return new IfcSystemFurnitureElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  49471. }
  49472. ToTape() {
  49473. let args = [];
  49474. args.push(this.GlobalId);
  49475. ;
  49476. args.push(this.OwnerHistory);
  49477. ;
  49478. args.push(this.Name);
  49479. ;
  49480. args.push(this.Description);
  49481. ;
  49482. args.push(this.ApplicableOccurrence);
  49483. ;
  49484. args.push(this.HasPropertySets);
  49485. ;
  49486. args.push(this.RepresentationMaps);
  49487. ;
  49488. args.push(this.Tag);
  49489. ;
  49490. args.push(this.ElementType);
  49491. ;
  49492. args.push(this.PredefinedType);
  49493. ;
  49494. return args;
  49495. }
  49496. };
  49497. var IfcTShapeProfileDef = class {
  49498. constructor(expressID, type, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) {
  49499. this.expressID = expressID;
  49500. this.type = type;
  49501. this.ProfileType = ProfileType;
  49502. this.ProfileName = ProfileName;
  49503. this.Position = Position;
  49504. this.Depth = Depth;
  49505. this.FlangeWidth = FlangeWidth;
  49506. this.WebThickness = WebThickness;
  49507. this.FlangeThickness = FlangeThickness;
  49508. this.FilletRadius = FilletRadius;
  49509. this.FlangeEdgeRadius = FlangeEdgeRadius;
  49510. this.WebEdgeRadius = WebEdgeRadius;
  49511. this.WebSlope = WebSlope;
  49512. this.FlangeSlope = FlangeSlope;
  49513. }
  49514. static FromTape(expressID, type, tape) {
  49515. let ptr = 0;
  49516. let ProfileType = tape[ptr++];
  49517. let ProfileName = tape[ptr++];
  49518. let Position = tape[ptr++];
  49519. let Depth = tape[ptr++];
  49520. let FlangeWidth = tape[ptr++];
  49521. let WebThickness = tape[ptr++];
  49522. let FlangeThickness = tape[ptr++];
  49523. let FilletRadius = tape[ptr++];
  49524. let FlangeEdgeRadius = tape[ptr++];
  49525. let WebEdgeRadius = tape[ptr++];
  49526. let WebSlope = tape[ptr++];
  49527. let FlangeSlope = tape[ptr++];
  49528. return new IfcTShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope);
  49529. }
  49530. ToTape() {
  49531. let args = [];
  49532. args.push(this.ProfileType);
  49533. ;
  49534. args.push(this.ProfileName);
  49535. ;
  49536. args.push(this.Position);
  49537. ;
  49538. args.push(this.Depth);
  49539. ;
  49540. args.push(this.FlangeWidth);
  49541. ;
  49542. args.push(this.WebThickness);
  49543. ;
  49544. args.push(this.FlangeThickness);
  49545. ;
  49546. args.push(this.FilletRadius);
  49547. ;
  49548. args.push(this.FlangeEdgeRadius);
  49549. ;
  49550. args.push(this.WebEdgeRadius);
  49551. ;
  49552. args.push(this.WebSlope);
  49553. ;
  49554. args.push(this.FlangeSlope);
  49555. ;
  49556. return args;
  49557. }
  49558. };
  49559. var IfcTable = class {
  49560. constructor(expressID, type, Name, Rows, Columns) {
  49561. this.expressID = expressID;
  49562. this.type = type;
  49563. this.Name = Name;
  49564. this.Rows = Rows;
  49565. this.Columns = Columns;
  49566. }
  49567. static FromTape(expressID, type, tape) {
  49568. let ptr = 0;
  49569. let Name = tape[ptr++];
  49570. let Rows = tape[ptr++];
  49571. let Columns = tape[ptr++];
  49572. return new IfcTable(expressID, type, Name, Rows, Columns);
  49573. }
  49574. ToTape() {
  49575. let args = [];
  49576. args.push(this.Name);
  49577. ;
  49578. args.push(this.Rows);
  49579. ;
  49580. args.push(this.Columns);
  49581. ;
  49582. return args;
  49583. }
  49584. };
  49585. var IfcTableColumn = class {
  49586. constructor(expressID, type, Identifier, Name, Description, Unit, ReferencePath) {
  49587. this.expressID = expressID;
  49588. this.type = type;
  49589. this.Identifier = Identifier;
  49590. this.Name = Name;
  49591. this.Description = Description;
  49592. this.Unit = Unit;
  49593. this.ReferencePath = ReferencePath;
  49594. }
  49595. static FromTape(expressID, type, tape) {
  49596. let ptr = 0;
  49597. let Identifier = tape[ptr++];
  49598. let Name = tape[ptr++];
  49599. let Description = tape[ptr++];
  49600. let Unit = tape[ptr++];
  49601. let ReferencePath = tape[ptr++];
  49602. return new IfcTableColumn(expressID, type, Identifier, Name, Description, Unit, ReferencePath);
  49603. }
  49604. ToTape() {
  49605. let args = [];
  49606. args.push(this.Identifier);
  49607. ;
  49608. args.push(this.Name);
  49609. ;
  49610. args.push(this.Description);
  49611. ;
  49612. args.push(this.Unit);
  49613. ;
  49614. args.push(this.ReferencePath);
  49615. ;
  49616. return args;
  49617. }
  49618. };
  49619. var IfcTableRow = class {
  49620. constructor(expressID, type, RowCells, IsHeading) {
  49621. this.expressID = expressID;
  49622. this.type = type;
  49623. this.RowCells = RowCells;
  49624. this.IsHeading = IsHeading;
  49625. }
  49626. static FromTape(expressID, type, tape) {
  49627. let ptr = 0;
  49628. let RowCells = tape[ptr++];
  49629. let IsHeading = tape[ptr++];
  49630. return new IfcTableRow(expressID, type, RowCells, IsHeading);
  49631. }
  49632. ToTape() {
  49633. let args = [];
  49634. args.push(this.RowCells);
  49635. ;
  49636. args.push(this.IsHeading);
  49637. ;
  49638. return args;
  49639. }
  49640. };
  49641. var IfcTank = class {
  49642. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  49643. this.expressID = expressID;
  49644. this.type = type;
  49645. this.GlobalId = GlobalId;
  49646. this.OwnerHistory = OwnerHistory;
  49647. this.Name = Name;
  49648. this.Description = Description;
  49649. this.ObjectType = ObjectType;
  49650. this.ObjectPlacement = ObjectPlacement;
  49651. this.Representation = Representation;
  49652. this.Tag = Tag;
  49653. this.PredefinedType = PredefinedType;
  49654. }
  49655. static FromTape(expressID, type, tape) {
  49656. let ptr = 0;
  49657. let GlobalId = tape[ptr++];
  49658. let OwnerHistory = tape[ptr++];
  49659. let Name = tape[ptr++];
  49660. let Description = tape[ptr++];
  49661. let ObjectType = tape[ptr++];
  49662. let ObjectPlacement = tape[ptr++];
  49663. let Representation = tape[ptr++];
  49664. let Tag = tape[ptr++];
  49665. let PredefinedType = tape[ptr++];
  49666. return new IfcTank(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  49667. }
  49668. ToTape() {
  49669. let args = [];
  49670. args.push(this.GlobalId);
  49671. ;
  49672. args.push(this.OwnerHistory);
  49673. ;
  49674. args.push(this.Name);
  49675. ;
  49676. args.push(this.Description);
  49677. ;
  49678. args.push(this.ObjectType);
  49679. ;
  49680. args.push(this.ObjectPlacement);
  49681. ;
  49682. args.push(this.Representation);
  49683. ;
  49684. args.push(this.Tag);
  49685. ;
  49686. args.push(this.PredefinedType);
  49687. ;
  49688. return args;
  49689. }
  49690. };
  49691. var IfcTankType = class {
  49692. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  49693. this.expressID = expressID;
  49694. this.type = type;
  49695. this.GlobalId = GlobalId;
  49696. this.OwnerHistory = OwnerHistory;
  49697. this.Name = Name;
  49698. this.Description = Description;
  49699. this.ApplicableOccurrence = ApplicableOccurrence;
  49700. this.HasPropertySets = HasPropertySets;
  49701. this.RepresentationMaps = RepresentationMaps;
  49702. this.Tag = Tag;
  49703. this.ElementType = ElementType;
  49704. this.PredefinedType = PredefinedType;
  49705. }
  49706. static FromTape(expressID, type, tape) {
  49707. let ptr = 0;
  49708. let GlobalId = tape[ptr++];
  49709. let OwnerHistory = tape[ptr++];
  49710. let Name = tape[ptr++];
  49711. let Description = tape[ptr++];
  49712. let ApplicableOccurrence = tape[ptr++];
  49713. let HasPropertySets = tape[ptr++];
  49714. let RepresentationMaps = tape[ptr++];
  49715. let Tag = tape[ptr++];
  49716. let ElementType = tape[ptr++];
  49717. let PredefinedType = tape[ptr++];
  49718. return new IfcTankType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  49719. }
  49720. ToTape() {
  49721. let args = [];
  49722. args.push(this.GlobalId);
  49723. ;
  49724. args.push(this.OwnerHistory);
  49725. ;
  49726. args.push(this.Name);
  49727. ;
  49728. args.push(this.Description);
  49729. ;
  49730. args.push(this.ApplicableOccurrence);
  49731. ;
  49732. args.push(this.HasPropertySets);
  49733. ;
  49734. args.push(this.RepresentationMaps);
  49735. ;
  49736. args.push(this.Tag);
  49737. ;
  49738. args.push(this.ElementType);
  49739. ;
  49740. args.push(this.PredefinedType);
  49741. ;
  49742. return args;
  49743. }
  49744. };
  49745. var IfcTask = class {
  49746. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) {
  49747. this.expressID = expressID;
  49748. this.type = type;
  49749. this.GlobalId = GlobalId;
  49750. this.OwnerHistory = OwnerHistory;
  49751. this.Name = Name;
  49752. this.Description = Description;
  49753. this.ObjectType = ObjectType;
  49754. this.Identification = Identification;
  49755. this.LongDescription = LongDescription;
  49756. this.Status = Status;
  49757. this.WorkMethod = WorkMethod;
  49758. this.IsMilestone = IsMilestone;
  49759. this.Priority = Priority;
  49760. this.TaskTime = TaskTime;
  49761. this.PredefinedType = PredefinedType;
  49762. }
  49763. static FromTape(expressID, type, tape) {
  49764. let ptr = 0;
  49765. let GlobalId = tape[ptr++];
  49766. let OwnerHistory = tape[ptr++];
  49767. let Name = tape[ptr++];
  49768. let Description = tape[ptr++];
  49769. let ObjectType = tape[ptr++];
  49770. let Identification = tape[ptr++];
  49771. let LongDescription = tape[ptr++];
  49772. let Status = tape[ptr++];
  49773. let WorkMethod = tape[ptr++];
  49774. let IsMilestone = tape[ptr++];
  49775. let Priority = tape[ptr++];
  49776. let TaskTime = tape[ptr++];
  49777. let PredefinedType = tape[ptr++];
  49778. return new IfcTask(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType);
  49779. }
  49780. ToTape() {
  49781. let args = [];
  49782. args.push(this.GlobalId);
  49783. ;
  49784. args.push(this.OwnerHistory);
  49785. ;
  49786. args.push(this.Name);
  49787. ;
  49788. args.push(this.Description);
  49789. ;
  49790. args.push(this.ObjectType);
  49791. ;
  49792. args.push(this.Identification);
  49793. ;
  49794. args.push(this.LongDescription);
  49795. ;
  49796. args.push(this.Status);
  49797. ;
  49798. args.push(this.WorkMethod);
  49799. ;
  49800. args.push(this.IsMilestone);
  49801. ;
  49802. args.push(this.Priority);
  49803. ;
  49804. args.push(this.TaskTime);
  49805. ;
  49806. args.push(this.PredefinedType);
  49807. ;
  49808. return args;
  49809. }
  49810. };
  49811. var IfcTaskTime = class {
  49812. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) {
  49813. this.expressID = expressID;
  49814. this.type = type;
  49815. this.Name = Name;
  49816. this.DataOrigin = DataOrigin;
  49817. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  49818. this.DurationType = DurationType;
  49819. this.ScheduleDuration = ScheduleDuration;
  49820. this.ScheduleStart = ScheduleStart;
  49821. this.ScheduleFinish = ScheduleFinish;
  49822. this.EarlyStart = EarlyStart;
  49823. this.EarlyFinish = EarlyFinish;
  49824. this.LateStart = LateStart;
  49825. this.LateFinish = LateFinish;
  49826. this.FreeFloat = FreeFloat;
  49827. this.TotalFloat = TotalFloat;
  49828. this.IsCritical = IsCritical;
  49829. this.StatusTime = StatusTime;
  49830. this.ActualDuration = ActualDuration;
  49831. this.ActualStart = ActualStart;
  49832. this.ActualFinish = ActualFinish;
  49833. this.RemainingTime = RemainingTime;
  49834. this.Completion = Completion;
  49835. }
  49836. static FromTape(expressID, type, tape) {
  49837. let ptr = 0;
  49838. let Name = tape[ptr++];
  49839. let DataOrigin = tape[ptr++];
  49840. let UserDefinedDataOrigin = tape[ptr++];
  49841. let DurationType = tape[ptr++];
  49842. let ScheduleDuration = tape[ptr++];
  49843. let ScheduleStart = tape[ptr++];
  49844. let ScheduleFinish = tape[ptr++];
  49845. let EarlyStart = tape[ptr++];
  49846. let EarlyFinish = tape[ptr++];
  49847. let LateStart = tape[ptr++];
  49848. let LateFinish = tape[ptr++];
  49849. let FreeFloat = tape[ptr++];
  49850. let TotalFloat = tape[ptr++];
  49851. let IsCritical = tape[ptr++];
  49852. let StatusTime = tape[ptr++];
  49853. let ActualDuration = tape[ptr++];
  49854. let ActualStart = tape[ptr++];
  49855. let ActualFinish = tape[ptr++];
  49856. let RemainingTime = tape[ptr++];
  49857. let Completion = tape[ptr++];
  49858. return new IfcTaskTime(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion);
  49859. }
  49860. ToTape() {
  49861. let args = [];
  49862. args.push(this.Name);
  49863. ;
  49864. args.push(this.DataOrigin);
  49865. ;
  49866. args.push(this.UserDefinedDataOrigin);
  49867. ;
  49868. args.push(this.DurationType);
  49869. ;
  49870. args.push(this.ScheduleDuration);
  49871. ;
  49872. args.push(this.ScheduleStart);
  49873. ;
  49874. args.push(this.ScheduleFinish);
  49875. ;
  49876. args.push(this.EarlyStart);
  49877. ;
  49878. args.push(this.EarlyFinish);
  49879. ;
  49880. args.push(this.LateStart);
  49881. ;
  49882. args.push(this.LateFinish);
  49883. ;
  49884. args.push(this.FreeFloat);
  49885. ;
  49886. args.push(this.TotalFloat);
  49887. ;
  49888. args.push(this.IsCritical);
  49889. ;
  49890. args.push(this.StatusTime);
  49891. ;
  49892. args.push(this.ActualDuration);
  49893. ;
  49894. args.push(this.ActualStart);
  49895. ;
  49896. args.push(this.ActualFinish);
  49897. ;
  49898. args.push(this.RemainingTime);
  49899. ;
  49900. args.push(this.Completion);
  49901. ;
  49902. return args;
  49903. }
  49904. };
  49905. var IfcTaskTimeRecurring = class {
  49906. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) {
  49907. this.expressID = expressID;
  49908. this.type = type;
  49909. this.Name = Name;
  49910. this.DataOrigin = DataOrigin;
  49911. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  49912. this.DurationType = DurationType;
  49913. this.ScheduleDuration = ScheduleDuration;
  49914. this.ScheduleStart = ScheduleStart;
  49915. this.ScheduleFinish = ScheduleFinish;
  49916. this.EarlyStart = EarlyStart;
  49917. this.EarlyFinish = EarlyFinish;
  49918. this.LateStart = LateStart;
  49919. this.LateFinish = LateFinish;
  49920. this.FreeFloat = FreeFloat;
  49921. this.TotalFloat = TotalFloat;
  49922. this.IsCritical = IsCritical;
  49923. this.StatusTime = StatusTime;
  49924. this.ActualDuration = ActualDuration;
  49925. this.ActualStart = ActualStart;
  49926. this.ActualFinish = ActualFinish;
  49927. this.RemainingTime = RemainingTime;
  49928. this.Completion = Completion;
  49929. this.Recurrence = Recurrence;
  49930. }
  49931. static FromTape(expressID, type, tape) {
  49932. let ptr = 0;
  49933. let Name = tape[ptr++];
  49934. let DataOrigin = tape[ptr++];
  49935. let UserDefinedDataOrigin = tape[ptr++];
  49936. let DurationType = tape[ptr++];
  49937. let ScheduleDuration = tape[ptr++];
  49938. let ScheduleStart = tape[ptr++];
  49939. let ScheduleFinish = tape[ptr++];
  49940. let EarlyStart = tape[ptr++];
  49941. let EarlyFinish = tape[ptr++];
  49942. let LateStart = tape[ptr++];
  49943. let LateFinish = tape[ptr++];
  49944. let FreeFloat = tape[ptr++];
  49945. let TotalFloat = tape[ptr++];
  49946. let IsCritical = tape[ptr++];
  49947. let StatusTime = tape[ptr++];
  49948. let ActualDuration = tape[ptr++];
  49949. let ActualStart = tape[ptr++];
  49950. let ActualFinish = tape[ptr++];
  49951. let RemainingTime = tape[ptr++];
  49952. let Completion = tape[ptr++];
  49953. let Recurrence = tape[ptr++];
  49954. return new IfcTaskTimeRecurring(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence);
  49955. }
  49956. ToTape() {
  49957. let args = [];
  49958. args.push(this.Name);
  49959. ;
  49960. args.push(this.DataOrigin);
  49961. ;
  49962. args.push(this.UserDefinedDataOrigin);
  49963. ;
  49964. args.push(this.DurationType);
  49965. ;
  49966. args.push(this.ScheduleDuration);
  49967. ;
  49968. args.push(this.ScheduleStart);
  49969. ;
  49970. args.push(this.ScheduleFinish);
  49971. ;
  49972. args.push(this.EarlyStart);
  49973. ;
  49974. args.push(this.EarlyFinish);
  49975. ;
  49976. args.push(this.LateStart);
  49977. ;
  49978. args.push(this.LateFinish);
  49979. ;
  49980. args.push(this.FreeFloat);
  49981. ;
  49982. args.push(this.TotalFloat);
  49983. ;
  49984. args.push(this.IsCritical);
  49985. ;
  49986. args.push(this.StatusTime);
  49987. ;
  49988. args.push(this.ActualDuration);
  49989. ;
  49990. args.push(this.ActualStart);
  49991. ;
  49992. args.push(this.ActualFinish);
  49993. ;
  49994. args.push(this.RemainingTime);
  49995. ;
  49996. args.push(this.Completion);
  49997. ;
  49998. args.push(this.Recurrence);
  49999. ;
  50000. return args;
  50001. }
  50002. };
  50003. var IfcTaskType = class {
  50004. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) {
  50005. this.expressID = expressID;
  50006. this.type = type;
  50007. this.GlobalId = GlobalId;
  50008. this.OwnerHistory = OwnerHistory;
  50009. this.Name = Name;
  50010. this.Description = Description;
  50011. this.ApplicableOccurrence = ApplicableOccurrence;
  50012. this.HasPropertySets = HasPropertySets;
  50013. this.Identification = Identification;
  50014. this.LongDescription = LongDescription;
  50015. this.ProcessType = ProcessType;
  50016. this.PredefinedType = PredefinedType;
  50017. this.WorkMethod = WorkMethod;
  50018. }
  50019. static FromTape(expressID, type, tape) {
  50020. let ptr = 0;
  50021. let GlobalId = tape[ptr++];
  50022. let OwnerHistory = tape[ptr++];
  50023. let Name = tape[ptr++];
  50024. let Description = tape[ptr++];
  50025. let ApplicableOccurrence = tape[ptr++];
  50026. let HasPropertySets = tape[ptr++];
  50027. let Identification = tape[ptr++];
  50028. let LongDescription = tape[ptr++];
  50029. let ProcessType = tape[ptr++];
  50030. let PredefinedType = tape[ptr++];
  50031. let WorkMethod = tape[ptr++];
  50032. return new IfcTaskType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod);
  50033. }
  50034. ToTape() {
  50035. let args = [];
  50036. args.push(this.GlobalId);
  50037. ;
  50038. args.push(this.OwnerHistory);
  50039. ;
  50040. args.push(this.Name);
  50041. ;
  50042. args.push(this.Description);
  50043. ;
  50044. args.push(this.ApplicableOccurrence);
  50045. ;
  50046. args.push(this.HasPropertySets);
  50047. ;
  50048. args.push(this.Identification);
  50049. ;
  50050. args.push(this.LongDescription);
  50051. ;
  50052. args.push(this.ProcessType);
  50053. ;
  50054. args.push(this.PredefinedType);
  50055. ;
  50056. args.push(this.WorkMethod);
  50057. ;
  50058. return args;
  50059. }
  50060. };
  50061. var IfcTelecomAddress = class {
  50062. constructor(expressID, type, Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) {
  50063. this.expressID = expressID;
  50064. this.type = type;
  50065. this.Purpose = Purpose;
  50066. this.Description = Description;
  50067. this.UserDefinedPurpose = UserDefinedPurpose;
  50068. this.TelephoneNumbers = TelephoneNumbers;
  50069. this.FacsimileNumbers = FacsimileNumbers;
  50070. this.PagerNumber = PagerNumber;
  50071. this.ElectronicMailAddresses = ElectronicMailAddresses;
  50072. this.WWWHomePageURL = WWWHomePageURL;
  50073. this.MessagingIDs = MessagingIDs;
  50074. }
  50075. static FromTape(expressID, type, tape) {
  50076. let ptr = 0;
  50077. let Purpose = tape[ptr++];
  50078. let Description = tape[ptr++];
  50079. let UserDefinedPurpose = tape[ptr++];
  50080. let TelephoneNumbers = tape[ptr++];
  50081. let FacsimileNumbers = tape[ptr++];
  50082. let PagerNumber = tape[ptr++];
  50083. let ElectronicMailAddresses = tape[ptr++];
  50084. let WWWHomePageURL = tape[ptr++];
  50085. let MessagingIDs = tape[ptr++];
  50086. return new IfcTelecomAddress(expressID, type, Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs);
  50087. }
  50088. ToTape() {
  50089. let args = [];
  50090. args.push(this.Purpose);
  50091. ;
  50092. args.push(this.Description);
  50093. ;
  50094. args.push(this.UserDefinedPurpose);
  50095. ;
  50096. args.push(this.TelephoneNumbers);
  50097. ;
  50098. args.push(this.FacsimileNumbers);
  50099. ;
  50100. args.push(this.PagerNumber);
  50101. ;
  50102. args.push(this.ElectronicMailAddresses);
  50103. ;
  50104. args.push(this.WWWHomePageURL);
  50105. ;
  50106. args.push(this.MessagingIDs);
  50107. ;
  50108. return args;
  50109. }
  50110. };
  50111. var IfcTendon = class {
  50112. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) {
  50113. this.expressID = expressID;
  50114. this.type = type;
  50115. this.GlobalId = GlobalId;
  50116. this.OwnerHistory = OwnerHistory;
  50117. this.Name = Name;
  50118. this.Description = Description;
  50119. this.ObjectType = ObjectType;
  50120. this.ObjectPlacement = ObjectPlacement;
  50121. this.Representation = Representation;
  50122. this.Tag = Tag;
  50123. this.SteelGrade = SteelGrade;
  50124. this.PredefinedType = PredefinedType;
  50125. this.NominalDiameter = NominalDiameter;
  50126. this.CrossSectionArea = CrossSectionArea;
  50127. this.TensionForce = TensionForce;
  50128. this.PreStress = PreStress;
  50129. this.FrictionCoefficient = FrictionCoefficient;
  50130. this.AnchorageSlip = AnchorageSlip;
  50131. this.MinCurvatureRadius = MinCurvatureRadius;
  50132. }
  50133. static FromTape(expressID, type, tape) {
  50134. let ptr = 0;
  50135. let GlobalId = tape[ptr++];
  50136. let OwnerHistory = tape[ptr++];
  50137. let Name = tape[ptr++];
  50138. let Description = tape[ptr++];
  50139. let ObjectType = tape[ptr++];
  50140. let ObjectPlacement = tape[ptr++];
  50141. let Representation = tape[ptr++];
  50142. let Tag = tape[ptr++];
  50143. let SteelGrade = tape[ptr++];
  50144. let PredefinedType = tape[ptr++];
  50145. let NominalDiameter = tape[ptr++];
  50146. let CrossSectionArea = tape[ptr++];
  50147. let TensionForce = tape[ptr++];
  50148. let PreStress = tape[ptr++];
  50149. let FrictionCoefficient = tape[ptr++];
  50150. let AnchorageSlip = tape[ptr++];
  50151. let MinCurvatureRadius = tape[ptr++];
  50152. return new IfcTendon(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius);
  50153. }
  50154. ToTape() {
  50155. let args = [];
  50156. args.push(this.GlobalId);
  50157. ;
  50158. args.push(this.OwnerHistory);
  50159. ;
  50160. args.push(this.Name);
  50161. ;
  50162. args.push(this.Description);
  50163. ;
  50164. args.push(this.ObjectType);
  50165. ;
  50166. args.push(this.ObjectPlacement);
  50167. ;
  50168. args.push(this.Representation);
  50169. ;
  50170. args.push(this.Tag);
  50171. ;
  50172. args.push(this.SteelGrade);
  50173. ;
  50174. args.push(this.PredefinedType);
  50175. ;
  50176. args.push(this.NominalDiameter);
  50177. ;
  50178. args.push(this.CrossSectionArea);
  50179. ;
  50180. args.push(this.TensionForce);
  50181. ;
  50182. args.push(this.PreStress);
  50183. ;
  50184. args.push(this.FrictionCoefficient);
  50185. ;
  50186. args.push(this.AnchorageSlip);
  50187. ;
  50188. args.push(this.MinCurvatureRadius);
  50189. ;
  50190. return args;
  50191. }
  50192. };
  50193. var IfcTendonAnchor = class {
  50194. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) {
  50195. this.expressID = expressID;
  50196. this.type = type;
  50197. this.GlobalId = GlobalId;
  50198. this.OwnerHistory = OwnerHistory;
  50199. this.Name = Name;
  50200. this.Description = Description;
  50201. this.ObjectType = ObjectType;
  50202. this.ObjectPlacement = ObjectPlacement;
  50203. this.Representation = Representation;
  50204. this.Tag = Tag;
  50205. this.SteelGrade = SteelGrade;
  50206. this.PredefinedType = PredefinedType;
  50207. }
  50208. static FromTape(expressID, type, tape) {
  50209. let ptr = 0;
  50210. let GlobalId = tape[ptr++];
  50211. let OwnerHistory = tape[ptr++];
  50212. let Name = tape[ptr++];
  50213. let Description = tape[ptr++];
  50214. let ObjectType = tape[ptr++];
  50215. let ObjectPlacement = tape[ptr++];
  50216. let Representation = tape[ptr++];
  50217. let Tag = tape[ptr++];
  50218. let SteelGrade = tape[ptr++];
  50219. let PredefinedType = tape[ptr++];
  50220. return new IfcTendonAnchor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType);
  50221. }
  50222. ToTape() {
  50223. let args = [];
  50224. args.push(this.GlobalId);
  50225. ;
  50226. args.push(this.OwnerHistory);
  50227. ;
  50228. args.push(this.Name);
  50229. ;
  50230. args.push(this.Description);
  50231. ;
  50232. args.push(this.ObjectType);
  50233. ;
  50234. args.push(this.ObjectPlacement);
  50235. ;
  50236. args.push(this.Representation);
  50237. ;
  50238. args.push(this.Tag);
  50239. ;
  50240. args.push(this.SteelGrade);
  50241. ;
  50242. args.push(this.PredefinedType);
  50243. ;
  50244. return args;
  50245. }
  50246. };
  50247. var IfcTendonAnchorType = class {
  50248. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  50249. this.expressID = expressID;
  50250. this.type = type;
  50251. this.GlobalId = GlobalId;
  50252. this.OwnerHistory = OwnerHistory;
  50253. this.Name = Name;
  50254. this.Description = Description;
  50255. this.ApplicableOccurrence = ApplicableOccurrence;
  50256. this.HasPropertySets = HasPropertySets;
  50257. this.RepresentationMaps = RepresentationMaps;
  50258. this.Tag = Tag;
  50259. this.ElementType = ElementType;
  50260. this.PredefinedType = PredefinedType;
  50261. }
  50262. static FromTape(expressID, type, tape) {
  50263. let ptr = 0;
  50264. let GlobalId = tape[ptr++];
  50265. let OwnerHistory = tape[ptr++];
  50266. let Name = tape[ptr++];
  50267. let Description = tape[ptr++];
  50268. let ApplicableOccurrence = tape[ptr++];
  50269. let HasPropertySets = tape[ptr++];
  50270. let RepresentationMaps = tape[ptr++];
  50271. let Tag = tape[ptr++];
  50272. let ElementType = tape[ptr++];
  50273. let PredefinedType = tape[ptr++];
  50274. return new IfcTendonAnchorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  50275. }
  50276. ToTape() {
  50277. let args = [];
  50278. args.push(this.GlobalId);
  50279. ;
  50280. args.push(this.OwnerHistory);
  50281. ;
  50282. args.push(this.Name);
  50283. ;
  50284. args.push(this.Description);
  50285. ;
  50286. args.push(this.ApplicableOccurrence);
  50287. ;
  50288. args.push(this.HasPropertySets);
  50289. ;
  50290. args.push(this.RepresentationMaps);
  50291. ;
  50292. args.push(this.Tag);
  50293. ;
  50294. args.push(this.ElementType);
  50295. ;
  50296. args.push(this.PredefinedType);
  50297. ;
  50298. return args;
  50299. }
  50300. };
  50301. var IfcTendonConduit = class {
  50302. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) {
  50303. this.expressID = expressID;
  50304. this.type = type;
  50305. this.GlobalId = GlobalId;
  50306. this.OwnerHistory = OwnerHistory;
  50307. this.Name = Name;
  50308. this.Description = Description;
  50309. this.ObjectType = ObjectType;
  50310. this.ObjectPlacement = ObjectPlacement;
  50311. this.Representation = Representation;
  50312. this.Tag = Tag;
  50313. this.SteelGrade = SteelGrade;
  50314. this.PredefinedType = PredefinedType;
  50315. }
  50316. static FromTape(expressID, type, tape) {
  50317. let ptr = 0;
  50318. let GlobalId = tape[ptr++];
  50319. let OwnerHistory = tape[ptr++];
  50320. let Name = tape[ptr++];
  50321. let Description = tape[ptr++];
  50322. let ObjectType = tape[ptr++];
  50323. let ObjectPlacement = tape[ptr++];
  50324. let Representation = tape[ptr++];
  50325. let Tag = tape[ptr++];
  50326. let SteelGrade = tape[ptr++];
  50327. let PredefinedType = tape[ptr++];
  50328. return new IfcTendonConduit(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType);
  50329. }
  50330. ToTape() {
  50331. let args = [];
  50332. args.push(this.GlobalId);
  50333. ;
  50334. args.push(this.OwnerHistory);
  50335. ;
  50336. args.push(this.Name);
  50337. ;
  50338. args.push(this.Description);
  50339. ;
  50340. args.push(this.ObjectType);
  50341. ;
  50342. args.push(this.ObjectPlacement);
  50343. ;
  50344. args.push(this.Representation);
  50345. ;
  50346. args.push(this.Tag);
  50347. ;
  50348. args.push(this.SteelGrade);
  50349. ;
  50350. args.push(this.PredefinedType);
  50351. ;
  50352. return args;
  50353. }
  50354. };
  50355. var IfcTendonConduitType = class {
  50356. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  50357. this.expressID = expressID;
  50358. this.type = type;
  50359. this.GlobalId = GlobalId;
  50360. this.OwnerHistory = OwnerHistory;
  50361. this.Name = Name;
  50362. this.Description = Description;
  50363. this.ApplicableOccurrence = ApplicableOccurrence;
  50364. this.HasPropertySets = HasPropertySets;
  50365. this.RepresentationMaps = RepresentationMaps;
  50366. this.Tag = Tag;
  50367. this.ElementType = ElementType;
  50368. this.PredefinedType = PredefinedType;
  50369. }
  50370. static FromTape(expressID, type, tape) {
  50371. let ptr = 0;
  50372. let GlobalId = tape[ptr++];
  50373. let OwnerHistory = tape[ptr++];
  50374. let Name = tape[ptr++];
  50375. let Description = tape[ptr++];
  50376. let ApplicableOccurrence = tape[ptr++];
  50377. let HasPropertySets = tape[ptr++];
  50378. let RepresentationMaps = tape[ptr++];
  50379. let Tag = tape[ptr++];
  50380. let ElementType = tape[ptr++];
  50381. let PredefinedType = tape[ptr++];
  50382. return new IfcTendonConduitType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  50383. }
  50384. ToTape() {
  50385. let args = [];
  50386. args.push(this.GlobalId);
  50387. ;
  50388. args.push(this.OwnerHistory);
  50389. ;
  50390. args.push(this.Name);
  50391. ;
  50392. args.push(this.Description);
  50393. ;
  50394. args.push(this.ApplicableOccurrence);
  50395. ;
  50396. args.push(this.HasPropertySets);
  50397. ;
  50398. args.push(this.RepresentationMaps);
  50399. ;
  50400. args.push(this.Tag);
  50401. ;
  50402. args.push(this.ElementType);
  50403. ;
  50404. args.push(this.PredefinedType);
  50405. ;
  50406. return args;
  50407. }
  50408. };
  50409. var IfcTendonType = class {
  50410. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) {
  50411. this.expressID = expressID;
  50412. this.type = type;
  50413. this.GlobalId = GlobalId;
  50414. this.OwnerHistory = OwnerHistory;
  50415. this.Name = Name;
  50416. this.Description = Description;
  50417. this.ApplicableOccurrence = ApplicableOccurrence;
  50418. this.HasPropertySets = HasPropertySets;
  50419. this.RepresentationMaps = RepresentationMaps;
  50420. this.Tag = Tag;
  50421. this.ElementType = ElementType;
  50422. this.PredefinedType = PredefinedType;
  50423. this.NominalDiameter = NominalDiameter;
  50424. this.CrossSectionArea = CrossSectionArea;
  50425. this.SheathDiameter = SheathDiameter;
  50426. }
  50427. static FromTape(expressID, type, tape) {
  50428. let ptr = 0;
  50429. let GlobalId = tape[ptr++];
  50430. let OwnerHistory = tape[ptr++];
  50431. let Name = tape[ptr++];
  50432. let Description = tape[ptr++];
  50433. let ApplicableOccurrence = tape[ptr++];
  50434. let HasPropertySets = tape[ptr++];
  50435. let RepresentationMaps = tape[ptr++];
  50436. let Tag = tape[ptr++];
  50437. let ElementType = tape[ptr++];
  50438. let PredefinedType = tape[ptr++];
  50439. let NominalDiameter = tape[ptr++];
  50440. let CrossSectionArea = tape[ptr++];
  50441. let SheathDiameter = tape[ptr++];
  50442. return new IfcTendonType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter);
  50443. }
  50444. ToTape() {
  50445. let args = [];
  50446. args.push(this.GlobalId);
  50447. ;
  50448. args.push(this.OwnerHistory);
  50449. ;
  50450. args.push(this.Name);
  50451. ;
  50452. args.push(this.Description);
  50453. ;
  50454. args.push(this.ApplicableOccurrence);
  50455. ;
  50456. args.push(this.HasPropertySets);
  50457. ;
  50458. args.push(this.RepresentationMaps);
  50459. ;
  50460. args.push(this.Tag);
  50461. ;
  50462. args.push(this.ElementType);
  50463. ;
  50464. args.push(this.PredefinedType);
  50465. ;
  50466. args.push(this.NominalDiameter);
  50467. ;
  50468. args.push(this.CrossSectionArea);
  50469. ;
  50470. args.push(this.SheathDiameter);
  50471. ;
  50472. return args;
  50473. }
  50474. };
  50475. var IfcTessellatedFaceSet = class {
  50476. constructor(expressID, type, Coordinates) {
  50477. this.expressID = expressID;
  50478. this.type = type;
  50479. this.Coordinates = Coordinates;
  50480. }
  50481. static FromTape(expressID, type, tape) {
  50482. let ptr = 0;
  50483. let Coordinates = tape[ptr++];
  50484. return new IfcTessellatedFaceSet(expressID, type, Coordinates);
  50485. }
  50486. ToTape() {
  50487. let args = [];
  50488. args.push(this.Coordinates);
  50489. ;
  50490. return args;
  50491. }
  50492. };
  50493. var IfcTessellatedItem = class {
  50494. constructor(expressID, type) {
  50495. this.expressID = expressID;
  50496. this.type = type;
  50497. }
  50498. static FromTape(expressID, type, tape) {
  50499. let ptr = 0;
  50500. return new IfcTessellatedItem(expressID, type);
  50501. }
  50502. ToTape() {
  50503. let args = [];
  50504. return args;
  50505. }
  50506. };
  50507. var IfcTextLiteral = class {
  50508. constructor(expressID, type, Literal, Placement, Path) {
  50509. this.expressID = expressID;
  50510. this.type = type;
  50511. this.Literal = Literal;
  50512. this.Placement = Placement;
  50513. this.Path = Path;
  50514. }
  50515. static FromTape(expressID, type, tape) {
  50516. let ptr = 0;
  50517. let Literal = tape[ptr++];
  50518. let Placement = tape[ptr++];
  50519. let Path = tape[ptr++];
  50520. return new IfcTextLiteral(expressID, type, Literal, Placement, Path);
  50521. }
  50522. ToTape() {
  50523. let args = [];
  50524. args.push(this.Literal);
  50525. ;
  50526. args.push(this.Placement);
  50527. ;
  50528. args.push(this.Path);
  50529. ;
  50530. return args;
  50531. }
  50532. };
  50533. var IfcTextLiteralWithExtent = class {
  50534. constructor(expressID, type, Literal, Placement, Path, Extent, BoxAlignment) {
  50535. this.expressID = expressID;
  50536. this.type = type;
  50537. this.Literal = Literal;
  50538. this.Placement = Placement;
  50539. this.Path = Path;
  50540. this.Extent = Extent;
  50541. this.BoxAlignment = BoxAlignment;
  50542. }
  50543. static FromTape(expressID, type, tape) {
  50544. let ptr = 0;
  50545. let Literal = tape[ptr++];
  50546. let Placement = tape[ptr++];
  50547. let Path = tape[ptr++];
  50548. let Extent = tape[ptr++];
  50549. let BoxAlignment = tape[ptr++];
  50550. return new IfcTextLiteralWithExtent(expressID, type, Literal, Placement, Path, Extent, BoxAlignment);
  50551. }
  50552. ToTape() {
  50553. let args = [];
  50554. args.push(this.Literal);
  50555. ;
  50556. args.push(this.Placement);
  50557. ;
  50558. args.push(this.Path);
  50559. ;
  50560. args.push(this.Extent);
  50561. ;
  50562. args.push(this.BoxAlignment);
  50563. ;
  50564. return args;
  50565. }
  50566. };
  50567. var IfcTextStyle = class {
  50568. constructor(expressID, type, Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) {
  50569. this.expressID = expressID;
  50570. this.type = type;
  50571. this.Name = Name;
  50572. this.TextCharacterAppearance = TextCharacterAppearance;
  50573. this.TextStyle = TextStyle;
  50574. this.TextFontStyle = TextFontStyle;
  50575. this.ModelOrDraughting = ModelOrDraughting;
  50576. }
  50577. static FromTape(expressID, type, tape) {
  50578. let ptr = 0;
  50579. let Name = tape[ptr++];
  50580. let TextCharacterAppearance = tape[ptr++];
  50581. let TextStyle = tape[ptr++];
  50582. let TextFontStyle = tape[ptr++];
  50583. let ModelOrDraughting = tape[ptr++];
  50584. return new IfcTextStyle(expressID, type, Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting);
  50585. }
  50586. ToTape() {
  50587. let args = [];
  50588. args.push(this.Name);
  50589. ;
  50590. args.push(this.TextCharacterAppearance);
  50591. ;
  50592. args.push(this.TextStyle);
  50593. ;
  50594. args.push(this.TextFontStyle);
  50595. ;
  50596. args.push(this.ModelOrDraughting);
  50597. ;
  50598. return args;
  50599. }
  50600. };
  50601. var IfcTextStyleFontModel = class {
  50602. constructor(expressID, type, Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) {
  50603. this.expressID = expressID;
  50604. this.type = type;
  50605. this.Name = Name;
  50606. this.FontFamily = FontFamily;
  50607. this.FontStyle = FontStyle;
  50608. this.FontVariant = FontVariant;
  50609. this.FontWeight = FontWeight;
  50610. this.FontSize = FontSize;
  50611. }
  50612. static FromTape(expressID, type, tape) {
  50613. let ptr = 0;
  50614. let Name = tape[ptr++];
  50615. let FontFamily = tape[ptr++];
  50616. let FontStyle = tape[ptr++];
  50617. let FontVariant = tape[ptr++];
  50618. let FontWeight = tape[ptr++];
  50619. let FontSize = tape[ptr++];
  50620. return new IfcTextStyleFontModel(expressID, type, Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize);
  50621. }
  50622. ToTape() {
  50623. let args = [];
  50624. args.push(this.Name);
  50625. ;
  50626. args.push(this.FontFamily);
  50627. ;
  50628. args.push(this.FontStyle);
  50629. ;
  50630. args.push(this.FontVariant);
  50631. ;
  50632. args.push(this.FontWeight);
  50633. ;
  50634. args.push(this.FontSize);
  50635. ;
  50636. return args;
  50637. }
  50638. };
  50639. var IfcTextStyleForDefinedFont = class {
  50640. constructor(expressID, type, Colour, BackgroundColour) {
  50641. this.expressID = expressID;
  50642. this.type = type;
  50643. this.Colour = Colour;
  50644. this.BackgroundColour = BackgroundColour;
  50645. }
  50646. static FromTape(expressID, type, tape) {
  50647. let ptr = 0;
  50648. let Colour = tape[ptr++];
  50649. let BackgroundColour = tape[ptr++];
  50650. return new IfcTextStyleForDefinedFont(expressID, type, Colour, BackgroundColour);
  50651. }
  50652. ToTape() {
  50653. let args = [];
  50654. args.push(this.Colour);
  50655. ;
  50656. args.push(this.BackgroundColour);
  50657. ;
  50658. return args;
  50659. }
  50660. };
  50661. var IfcTextStyleTextModel = class {
  50662. constructor(expressID, type, TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) {
  50663. this.expressID = expressID;
  50664. this.type = type;
  50665. this.TextIndent = TextIndent;
  50666. this.TextAlign = TextAlign;
  50667. this.TextDecoration = TextDecoration;
  50668. this.LetterSpacing = LetterSpacing;
  50669. this.WordSpacing = WordSpacing;
  50670. this.TextTransform = TextTransform;
  50671. this.LineHeight = LineHeight;
  50672. }
  50673. static FromTape(expressID, type, tape) {
  50674. let ptr = 0;
  50675. let TextIndent = tape[ptr++];
  50676. let TextAlign = tape[ptr++];
  50677. let TextDecoration = tape[ptr++];
  50678. let LetterSpacing = tape[ptr++];
  50679. let WordSpacing = tape[ptr++];
  50680. let TextTransform = tape[ptr++];
  50681. let LineHeight = tape[ptr++];
  50682. return new IfcTextStyleTextModel(expressID, type, TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight);
  50683. }
  50684. ToTape() {
  50685. let args = [];
  50686. args.push(this.TextIndent);
  50687. ;
  50688. args.push(this.TextAlign);
  50689. ;
  50690. args.push(this.TextDecoration);
  50691. ;
  50692. args.push(this.LetterSpacing);
  50693. ;
  50694. args.push(this.WordSpacing);
  50695. ;
  50696. args.push(this.TextTransform);
  50697. ;
  50698. args.push(this.LineHeight);
  50699. ;
  50700. return args;
  50701. }
  50702. };
  50703. var IfcTextureCoordinate = class {
  50704. constructor(expressID, type, Maps) {
  50705. this.expressID = expressID;
  50706. this.type = type;
  50707. this.Maps = Maps;
  50708. }
  50709. static FromTape(expressID, type, tape) {
  50710. let ptr = 0;
  50711. let Maps = tape[ptr++];
  50712. return new IfcTextureCoordinate(expressID, type, Maps);
  50713. }
  50714. ToTape() {
  50715. let args = [];
  50716. args.push(this.Maps);
  50717. ;
  50718. return args;
  50719. }
  50720. };
  50721. var IfcTextureCoordinateGenerator = class {
  50722. constructor(expressID, type, Maps, Mode, Parameter) {
  50723. this.expressID = expressID;
  50724. this.type = type;
  50725. this.Maps = Maps;
  50726. this.Mode = Mode;
  50727. this.Parameter = Parameter;
  50728. }
  50729. static FromTape(expressID, type, tape) {
  50730. let ptr = 0;
  50731. let Maps = tape[ptr++];
  50732. let Mode = tape[ptr++];
  50733. let Parameter = tape[ptr++];
  50734. return new IfcTextureCoordinateGenerator(expressID, type, Maps, Mode, Parameter);
  50735. }
  50736. ToTape() {
  50737. let args = [];
  50738. args.push(this.Maps);
  50739. ;
  50740. args.push(this.Mode);
  50741. ;
  50742. args.push(this.Parameter);
  50743. ;
  50744. return args;
  50745. }
  50746. };
  50747. var IfcTextureMap = class {
  50748. constructor(expressID, type, Maps, Vertices, MappedTo) {
  50749. this.expressID = expressID;
  50750. this.type = type;
  50751. this.Maps = Maps;
  50752. this.Vertices = Vertices;
  50753. this.MappedTo = MappedTo;
  50754. }
  50755. static FromTape(expressID, type, tape) {
  50756. let ptr = 0;
  50757. let Maps = tape[ptr++];
  50758. let Vertices = tape[ptr++];
  50759. let MappedTo = tape[ptr++];
  50760. return new IfcTextureMap(expressID, type, Maps, Vertices, MappedTo);
  50761. }
  50762. ToTape() {
  50763. let args = [];
  50764. args.push(this.Maps);
  50765. ;
  50766. args.push(this.Vertices);
  50767. ;
  50768. args.push(this.MappedTo);
  50769. ;
  50770. return args;
  50771. }
  50772. };
  50773. var IfcTextureVertex = class {
  50774. constructor(expressID, type, Coordinates) {
  50775. this.expressID = expressID;
  50776. this.type = type;
  50777. this.Coordinates = Coordinates;
  50778. }
  50779. static FromTape(expressID, type, tape) {
  50780. let ptr = 0;
  50781. let Coordinates = tape[ptr++];
  50782. return new IfcTextureVertex(expressID, type, Coordinates);
  50783. }
  50784. ToTape() {
  50785. let args = [];
  50786. args.push(this.Coordinates);
  50787. ;
  50788. return args;
  50789. }
  50790. };
  50791. var IfcTextureVertexList = class {
  50792. constructor(expressID, type, TexCoordsList) {
  50793. this.expressID = expressID;
  50794. this.type = type;
  50795. this.TexCoordsList = TexCoordsList;
  50796. }
  50797. static FromTape(expressID, type, tape) {
  50798. let ptr = 0;
  50799. let TexCoordsList = tape[ptr++];
  50800. return new IfcTextureVertexList(expressID, type, TexCoordsList);
  50801. }
  50802. ToTape() {
  50803. let args = [];
  50804. args.push(this.TexCoordsList);
  50805. ;
  50806. return args;
  50807. }
  50808. };
  50809. var IfcTimePeriod = class {
  50810. constructor(expressID, type, StartTime, EndTime) {
  50811. this.expressID = expressID;
  50812. this.type = type;
  50813. this.StartTime = StartTime;
  50814. this.EndTime = EndTime;
  50815. }
  50816. static FromTape(expressID, type, tape) {
  50817. let ptr = 0;
  50818. let StartTime = tape[ptr++];
  50819. let EndTime = tape[ptr++];
  50820. return new IfcTimePeriod(expressID, type, StartTime, EndTime);
  50821. }
  50822. ToTape() {
  50823. let args = [];
  50824. args.push(this.StartTime);
  50825. ;
  50826. args.push(this.EndTime);
  50827. ;
  50828. return args;
  50829. }
  50830. };
  50831. var IfcTimeSeries = class {
  50832. constructor(expressID, type, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) {
  50833. this.expressID = expressID;
  50834. this.type = type;
  50835. this.Name = Name;
  50836. this.Description = Description;
  50837. this.StartTime = StartTime;
  50838. this.EndTime = EndTime;
  50839. this.TimeSeriesDataType = TimeSeriesDataType;
  50840. this.DataOrigin = DataOrigin;
  50841. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  50842. this.Unit = Unit;
  50843. }
  50844. static FromTape(expressID, type, tape) {
  50845. let ptr = 0;
  50846. let Name = tape[ptr++];
  50847. let Description = tape[ptr++];
  50848. let StartTime = tape[ptr++];
  50849. let EndTime = tape[ptr++];
  50850. let TimeSeriesDataType = tape[ptr++];
  50851. let DataOrigin = tape[ptr++];
  50852. let UserDefinedDataOrigin = tape[ptr++];
  50853. let Unit = tape[ptr++];
  50854. return new IfcTimeSeries(expressID, type, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
  50855. }
  50856. ToTape() {
  50857. let args = [];
  50858. args.push(this.Name);
  50859. ;
  50860. args.push(this.Description);
  50861. ;
  50862. args.push(this.StartTime);
  50863. ;
  50864. args.push(this.EndTime);
  50865. ;
  50866. args.push(this.TimeSeriesDataType);
  50867. ;
  50868. args.push(this.DataOrigin);
  50869. ;
  50870. args.push(this.UserDefinedDataOrigin);
  50871. ;
  50872. args.push(this.Unit);
  50873. ;
  50874. return args;
  50875. }
  50876. };
  50877. var IfcTimeSeriesValue = class {
  50878. constructor(expressID, type, ListValues) {
  50879. this.expressID = expressID;
  50880. this.type = type;
  50881. this.ListValues = ListValues;
  50882. }
  50883. static FromTape(expressID, type, tape) {
  50884. let ptr = 0;
  50885. let ListValues = tape[ptr++];
  50886. return new IfcTimeSeriesValue(expressID, type, ListValues);
  50887. }
  50888. ToTape() {
  50889. let args = [];
  50890. args.push(this.ListValues);
  50891. ;
  50892. return args;
  50893. }
  50894. };
  50895. var IfcTopologicalRepresentationItem = class {
  50896. constructor(expressID, type) {
  50897. this.expressID = expressID;
  50898. this.type = type;
  50899. }
  50900. static FromTape(expressID, type, tape) {
  50901. let ptr = 0;
  50902. return new IfcTopologicalRepresentationItem(expressID, type);
  50903. }
  50904. ToTape() {
  50905. let args = [];
  50906. return args;
  50907. }
  50908. };
  50909. var IfcTopologyRepresentation = class {
  50910. constructor(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
  50911. this.expressID = expressID;
  50912. this.type = type;
  50913. this.ContextOfItems = ContextOfItems;
  50914. this.RepresentationIdentifier = RepresentationIdentifier;
  50915. this.RepresentationType = RepresentationType;
  50916. this.Items = Items;
  50917. }
  50918. static FromTape(expressID, type, tape) {
  50919. let ptr = 0;
  50920. let ContextOfItems = tape[ptr++];
  50921. let RepresentationIdentifier = tape[ptr++];
  50922. let RepresentationType = tape[ptr++];
  50923. let Items = tape[ptr++];
  50924. return new IfcTopologyRepresentation(expressID, type, ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
  50925. }
  50926. ToTape() {
  50927. let args = [];
  50928. args.push(this.ContextOfItems);
  50929. ;
  50930. args.push(this.RepresentationIdentifier);
  50931. ;
  50932. args.push(this.RepresentationType);
  50933. ;
  50934. args.push(this.Items);
  50935. ;
  50936. return args;
  50937. }
  50938. };
  50939. var IfcToroidalSurface = class {
  50940. constructor(expressID, type, Position, MajorRadius, MinorRadius) {
  50941. this.expressID = expressID;
  50942. this.type = type;
  50943. this.Position = Position;
  50944. this.MajorRadius = MajorRadius;
  50945. this.MinorRadius = MinorRadius;
  50946. }
  50947. static FromTape(expressID, type, tape) {
  50948. let ptr = 0;
  50949. let Position = tape[ptr++];
  50950. let MajorRadius = tape[ptr++];
  50951. let MinorRadius = tape[ptr++];
  50952. return new IfcToroidalSurface(expressID, type, Position, MajorRadius, MinorRadius);
  50953. }
  50954. ToTape() {
  50955. let args = [];
  50956. args.push(this.Position);
  50957. ;
  50958. args.push(this.MajorRadius);
  50959. ;
  50960. args.push(this.MinorRadius);
  50961. ;
  50962. return args;
  50963. }
  50964. };
  50965. var IfcTransformer = class {
  50966. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  50967. this.expressID = expressID;
  50968. this.type = type;
  50969. this.GlobalId = GlobalId;
  50970. this.OwnerHistory = OwnerHistory;
  50971. this.Name = Name;
  50972. this.Description = Description;
  50973. this.ObjectType = ObjectType;
  50974. this.ObjectPlacement = ObjectPlacement;
  50975. this.Representation = Representation;
  50976. this.Tag = Tag;
  50977. this.PredefinedType = PredefinedType;
  50978. }
  50979. static FromTape(expressID, type, tape) {
  50980. let ptr = 0;
  50981. let GlobalId = tape[ptr++];
  50982. let OwnerHistory = tape[ptr++];
  50983. let Name = tape[ptr++];
  50984. let Description = tape[ptr++];
  50985. let ObjectType = tape[ptr++];
  50986. let ObjectPlacement = tape[ptr++];
  50987. let Representation = tape[ptr++];
  50988. let Tag = tape[ptr++];
  50989. let PredefinedType = tape[ptr++];
  50990. return new IfcTransformer(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  50991. }
  50992. ToTape() {
  50993. let args = [];
  50994. args.push(this.GlobalId);
  50995. ;
  50996. args.push(this.OwnerHistory);
  50997. ;
  50998. args.push(this.Name);
  50999. ;
  51000. args.push(this.Description);
  51001. ;
  51002. args.push(this.ObjectType);
  51003. ;
  51004. args.push(this.ObjectPlacement);
  51005. ;
  51006. args.push(this.Representation);
  51007. ;
  51008. args.push(this.Tag);
  51009. ;
  51010. args.push(this.PredefinedType);
  51011. ;
  51012. return args;
  51013. }
  51014. };
  51015. var IfcTransformerType = class {
  51016. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  51017. this.expressID = expressID;
  51018. this.type = type;
  51019. this.GlobalId = GlobalId;
  51020. this.OwnerHistory = OwnerHistory;
  51021. this.Name = Name;
  51022. this.Description = Description;
  51023. this.ApplicableOccurrence = ApplicableOccurrence;
  51024. this.HasPropertySets = HasPropertySets;
  51025. this.RepresentationMaps = RepresentationMaps;
  51026. this.Tag = Tag;
  51027. this.ElementType = ElementType;
  51028. this.PredefinedType = PredefinedType;
  51029. }
  51030. static FromTape(expressID, type, tape) {
  51031. let ptr = 0;
  51032. let GlobalId = tape[ptr++];
  51033. let OwnerHistory = tape[ptr++];
  51034. let Name = tape[ptr++];
  51035. let Description = tape[ptr++];
  51036. let ApplicableOccurrence = tape[ptr++];
  51037. let HasPropertySets = tape[ptr++];
  51038. let RepresentationMaps = tape[ptr++];
  51039. let Tag = tape[ptr++];
  51040. let ElementType = tape[ptr++];
  51041. let PredefinedType = tape[ptr++];
  51042. return new IfcTransformerType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  51043. }
  51044. ToTape() {
  51045. let args = [];
  51046. args.push(this.GlobalId);
  51047. ;
  51048. args.push(this.OwnerHistory);
  51049. ;
  51050. args.push(this.Name);
  51051. ;
  51052. args.push(this.Description);
  51053. ;
  51054. args.push(this.ApplicableOccurrence);
  51055. ;
  51056. args.push(this.HasPropertySets);
  51057. ;
  51058. args.push(this.RepresentationMaps);
  51059. ;
  51060. args.push(this.Tag);
  51061. ;
  51062. args.push(this.ElementType);
  51063. ;
  51064. args.push(this.PredefinedType);
  51065. ;
  51066. return args;
  51067. }
  51068. };
  51069. var IfcTransitionCurveSegment2D = class {
  51070. constructor(expressID, type, StartPoint, StartDirection, SegmentLength, StartRadius, EndRadius, IsStartRadiusCCW, IsEndRadiusCCW, TransitionCurveType) {
  51071. this.expressID = expressID;
  51072. this.type = type;
  51073. this.StartPoint = StartPoint;
  51074. this.StartDirection = StartDirection;
  51075. this.SegmentLength = SegmentLength;
  51076. this.StartRadius = StartRadius;
  51077. this.EndRadius = EndRadius;
  51078. this.IsStartRadiusCCW = IsStartRadiusCCW;
  51079. this.IsEndRadiusCCW = IsEndRadiusCCW;
  51080. this.TransitionCurveType = TransitionCurveType;
  51081. }
  51082. static FromTape(expressID, type, tape) {
  51083. let ptr = 0;
  51084. let StartPoint = tape[ptr++];
  51085. let StartDirection = tape[ptr++];
  51086. let SegmentLength = tape[ptr++];
  51087. let StartRadius = tape[ptr++];
  51088. let EndRadius = tape[ptr++];
  51089. let IsStartRadiusCCW = tape[ptr++];
  51090. let IsEndRadiusCCW = tape[ptr++];
  51091. let TransitionCurveType = tape[ptr++];
  51092. return new IfcTransitionCurveSegment2D(expressID, type, StartPoint, StartDirection, SegmentLength, StartRadius, EndRadius, IsStartRadiusCCW, IsEndRadiusCCW, TransitionCurveType);
  51093. }
  51094. ToTape() {
  51095. let args = [];
  51096. args.push(this.StartPoint);
  51097. ;
  51098. args.push(this.StartDirection);
  51099. ;
  51100. args.push(this.SegmentLength);
  51101. ;
  51102. args.push(this.StartRadius);
  51103. ;
  51104. args.push(this.EndRadius);
  51105. ;
  51106. args.push(this.IsStartRadiusCCW);
  51107. ;
  51108. args.push(this.IsEndRadiusCCW);
  51109. ;
  51110. args.push(this.TransitionCurveType);
  51111. ;
  51112. return args;
  51113. }
  51114. };
  51115. var IfcTransportElement = class {
  51116. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  51117. this.expressID = expressID;
  51118. this.type = type;
  51119. this.GlobalId = GlobalId;
  51120. this.OwnerHistory = OwnerHistory;
  51121. this.Name = Name;
  51122. this.Description = Description;
  51123. this.ObjectType = ObjectType;
  51124. this.ObjectPlacement = ObjectPlacement;
  51125. this.Representation = Representation;
  51126. this.Tag = Tag;
  51127. this.PredefinedType = PredefinedType;
  51128. }
  51129. static FromTape(expressID, type, tape) {
  51130. let ptr = 0;
  51131. let GlobalId = tape[ptr++];
  51132. let OwnerHistory = tape[ptr++];
  51133. let Name = tape[ptr++];
  51134. let Description = tape[ptr++];
  51135. let ObjectType = tape[ptr++];
  51136. let ObjectPlacement = tape[ptr++];
  51137. let Representation = tape[ptr++];
  51138. let Tag = tape[ptr++];
  51139. let PredefinedType = tape[ptr++];
  51140. return new IfcTransportElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  51141. }
  51142. ToTape() {
  51143. let args = [];
  51144. args.push(this.GlobalId);
  51145. ;
  51146. args.push(this.OwnerHistory);
  51147. ;
  51148. args.push(this.Name);
  51149. ;
  51150. args.push(this.Description);
  51151. ;
  51152. args.push(this.ObjectType);
  51153. ;
  51154. args.push(this.ObjectPlacement);
  51155. ;
  51156. args.push(this.Representation);
  51157. ;
  51158. args.push(this.Tag);
  51159. ;
  51160. args.push(this.PredefinedType);
  51161. ;
  51162. return args;
  51163. }
  51164. };
  51165. var IfcTransportElementType = class {
  51166. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  51167. this.expressID = expressID;
  51168. this.type = type;
  51169. this.GlobalId = GlobalId;
  51170. this.OwnerHistory = OwnerHistory;
  51171. this.Name = Name;
  51172. this.Description = Description;
  51173. this.ApplicableOccurrence = ApplicableOccurrence;
  51174. this.HasPropertySets = HasPropertySets;
  51175. this.RepresentationMaps = RepresentationMaps;
  51176. this.Tag = Tag;
  51177. this.ElementType = ElementType;
  51178. this.PredefinedType = PredefinedType;
  51179. }
  51180. static FromTape(expressID, type, tape) {
  51181. let ptr = 0;
  51182. let GlobalId = tape[ptr++];
  51183. let OwnerHistory = tape[ptr++];
  51184. let Name = tape[ptr++];
  51185. let Description = tape[ptr++];
  51186. let ApplicableOccurrence = tape[ptr++];
  51187. let HasPropertySets = tape[ptr++];
  51188. let RepresentationMaps = tape[ptr++];
  51189. let Tag = tape[ptr++];
  51190. let ElementType = tape[ptr++];
  51191. let PredefinedType = tape[ptr++];
  51192. return new IfcTransportElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  51193. }
  51194. ToTape() {
  51195. let args = [];
  51196. args.push(this.GlobalId);
  51197. ;
  51198. args.push(this.OwnerHistory);
  51199. ;
  51200. args.push(this.Name);
  51201. ;
  51202. args.push(this.Description);
  51203. ;
  51204. args.push(this.ApplicableOccurrence);
  51205. ;
  51206. args.push(this.HasPropertySets);
  51207. ;
  51208. args.push(this.RepresentationMaps);
  51209. ;
  51210. args.push(this.Tag);
  51211. ;
  51212. args.push(this.ElementType);
  51213. ;
  51214. args.push(this.PredefinedType);
  51215. ;
  51216. return args;
  51217. }
  51218. };
  51219. var IfcTrapeziumProfileDef = class {
  51220. constructor(expressID, type, ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) {
  51221. this.expressID = expressID;
  51222. this.type = type;
  51223. this.ProfileType = ProfileType;
  51224. this.ProfileName = ProfileName;
  51225. this.Position = Position;
  51226. this.BottomXDim = BottomXDim;
  51227. this.TopXDim = TopXDim;
  51228. this.YDim = YDim;
  51229. this.TopXOffset = TopXOffset;
  51230. }
  51231. static FromTape(expressID, type, tape) {
  51232. let ptr = 0;
  51233. let ProfileType = tape[ptr++];
  51234. let ProfileName = tape[ptr++];
  51235. let Position = tape[ptr++];
  51236. let BottomXDim = tape[ptr++];
  51237. let TopXDim = tape[ptr++];
  51238. let YDim = tape[ptr++];
  51239. let TopXOffset = tape[ptr++];
  51240. return new IfcTrapeziumProfileDef(expressID, type, ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset);
  51241. }
  51242. ToTape() {
  51243. let args = [];
  51244. args.push(this.ProfileType);
  51245. ;
  51246. args.push(this.ProfileName);
  51247. ;
  51248. args.push(this.Position);
  51249. ;
  51250. args.push(this.BottomXDim);
  51251. ;
  51252. args.push(this.TopXDim);
  51253. ;
  51254. args.push(this.YDim);
  51255. ;
  51256. args.push(this.TopXOffset);
  51257. ;
  51258. return args;
  51259. }
  51260. };
  51261. var IfcTriangulatedFaceSet = class {
  51262. constructor(expressID, type, Coordinates, Normals, Closed, CoordIndex, PnIndex) {
  51263. this.expressID = expressID;
  51264. this.type = type;
  51265. this.Coordinates = Coordinates;
  51266. this.Normals = Normals;
  51267. this.Closed = Closed;
  51268. this.CoordIndex = CoordIndex;
  51269. this.PnIndex = PnIndex;
  51270. }
  51271. static FromTape(expressID, type, tape) {
  51272. let ptr = 0;
  51273. let Coordinates = tape[ptr++];
  51274. let Normals = tape[ptr++];
  51275. let Closed = tape[ptr++];
  51276. let CoordIndex = tape[ptr++];
  51277. let PnIndex = tape[ptr++];
  51278. return new IfcTriangulatedFaceSet(expressID, type, Coordinates, Normals, Closed, CoordIndex, PnIndex);
  51279. }
  51280. ToTape() {
  51281. let args = [];
  51282. args.push(this.Coordinates);
  51283. ;
  51284. args.push(this.Normals);
  51285. ;
  51286. args.push(this.Closed);
  51287. ;
  51288. args.push(this.CoordIndex);
  51289. ;
  51290. args.push(this.PnIndex);
  51291. ;
  51292. return args;
  51293. }
  51294. };
  51295. var IfcTriangulatedIrregularNetwork = class {
  51296. constructor(expressID, type, Coordinates, Normals, Closed, CoordIndex, PnIndex, Flags) {
  51297. this.expressID = expressID;
  51298. this.type = type;
  51299. this.Coordinates = Coordinates;
  51300. this.Normals = Normals;
  51301. this.Closed = Closed;
  51302. this.CoordIndex = CoordIndex;
  51303. this.PnIndex = PnIndex;
  51304. this.Flags = Flags;
  51305. }
  51306. static FromTape(expressID, type, tape) {
  51307. let ptr = 0;
  51308. let Coordinates = tape[ptr++];
  51309. let Normals = tape[ptr++];
  51310. let Closed = tape[ptr++];
  51311. let CoordIndex = tape[ptr++];
  51312. let PnIndex = tape[ptr++];
  51313. let Flags = tape[ptr++];
  51314. return new IfcTriangulatedIrregularNetwork(expressID, type, Coordinates, Normals, Closed, CoordIndex, PnIndex, Flags);
  51315. }
  51316. ToTape() {
  51317. let args = [];
  51318. args.push(this.Coordinates);
  51319. ;
  51320. args.push(this.Normals);
  51321. ;
  51322. args.push(this.Closed);
  51323. ;
  51324. args.push(this.CoordIndex);
  51325. ;
  51326. args.push(this.PnIndex);
  51327. ;
  51328. args.push(this.Flags);
  51329. ;
  51330. return args;
  51331. }
  51332. };
  51333. var IfcTrimmedCurve = class {
  51334. constructor(expressID, type, BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) {
  51335. this.expressID = expressID;
  51336. this.type = type;
  51337. this.BasisCurve = BasisCurve;
  51338. this.Trim1 = Trim1;
  51339. this.Trim2 = Trim2;
  51340. this.SenseAgreement = SenseAgreement;
  51341. this.MasterRepresentation = MasterRepresentation;
  51342. }
  51343. static FromTape(expressID, type, tape) {
  51344. let ptr = 0;
  51345. let BasisCurve = tape[ptr++];
  51346. let Trim1 = tape[ptr++];
  51347. let Trim2 = tape[ptr++];
  51348. let SenseAgreement = tape[ptr++];
  51349. let MasterRepresentation = tape[ptr++];
  51350. return new IfcTrimmedCurve(expressID, type, BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation);
  51351. }
  51352. ToTape() {
  51353. let args = [];
  51354. args.push(this.BasisCurve);
  51355. ;
  51356. args.push(this.Trim1);
  51357. ;
  51358. args.push(this.Trim2);
  51359. ;
  51360. args.push(this.SenseAgreement);
  51361. ;
  51362. args.push(this.MasterRepresentation);
  51363. ;
  51364. return args;
  51365. }
  51366. };
  51367. var IfcTubeBundle = class {
  51368. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  51369. this.expressID = expressID;
  51370. this.type = type;
  51371. this.GlobalId = GlobalId;
  51372. this.OwnerHistory = OwnerHistory;
  51373. this.Name = Name;
  51374. this.Description = Description;
  51375. this.ObjectType = ObjectType;
  51376. this.ObjectPlacement = ObjectPlacement;
  51377. this.Representation = Representation;
  51378. this.Tag = Tag;
  51379. this.PredefinedType = PredefinedType;
  51380. }
  51381. static FromTape(expressID, type, tape) {
  51382. let ptr = 0;
  51383. let GlobalId = tape[ptr++];
  51384. let OwnerHistory = tape[ptr++];
  51385. let Name = tape[ptr++];
  51386. let Description = tape[ptr++];
  51387. let ObjectType = tape[ptr++];
  51388. let ObjectPlacement = tape[ptr++];
  51389. let Representation = tape[ptr++];
  51390. let Tag = tape[ptr++];
  51391. let PredefinedType = tape[ptr++];
  51392. return new IfcTubeBundle(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  51393. }
  51394. ToTape() {
  51395. let args = [];
  51396. args.push(this.GlobalId);
  51397. ;
  51398. args.push(this.OwnerHistory);
  51399. ;
  51400. args.push(this.Name);
  51401. ;
  51402. args.push(this.Description);
  51403. ;
  51404. args.push(this.ObjectType);
  51405. ;
  51406. args.push(this.ObjectPlacement);
  51407. ;
  51408. args.push(this.Representation);
  51409. ;
  51410. args.push(this.Tag);
  51411. ;
  51412. args.push(this.PredefinedType);
  51413. ;
  51414. return args;
  51415. }
  51416. };
  51417. var IfcTubeBundleType = class {
  51418. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  51419. this.expressID = expressID;
  51420. this.type = type;
  51421. this.GlobalId = GlobalId;
  51422. this.OwnerHistory = OwnerHistory;
  51423. this.Name = Name;
  51424. this.Description = Description;
  51425. this.ApplicableOccurrence = ApplicableOccurrence;
  51426. this.HasPropertySets = HasPropertySets;
  51427. this.RepresentationMaps = RepresentationMaps;
  51428. this.Tag = Tag;
  51429. this.ElementType = ElementType;
  51430. this.PredefinedType = PredefinedType;
  51431. }
  51432. static FromTape(expressID, type, tape) {
  51433. let ptr = 0;
  51434. let GlobalId = tape[ptr++];
  51435. let OwnerHistory = tape[ptr++];
  51436. let Name = tape[ptr++];
  51437. let Description = tape[ptr++];
  51438. let ApplicableOccurrence = tape[ptr++];
  51439. let HasPropertySets = tape[ptr++];
  51440. let RepresentationMaps = tape[ptr++];
  51441. let Tag = tape[ptr++];
  51442. let ElementType = tape[ptr++];
  51443. let PredefinedType = tape[ptr++];
  51444. return new IfcTubeBundleType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  51445. }
  51446. ToTape() {
  51447. let args = [];
  51448. args.push(this.GlobalId);
  51449. ;
  51450. args.push(this.OwnerHistory);
  51451. ;
  51452. args.push(this.Name);
  51453. ;
  51454. args.push(this.Description);
  51455. ;
  51456. args.push(this.ApplicableOccurrence);
  51457. ;
  51458. args.push(this.HasPropertySets);
  51459. ;
  51460. args.push(this.RepresentationMaps);
  51461. ;
  51462. args.push(this.Tag);
  51463. ;
  51464. args.push(this.ElementType);
  51465. ;
  51466. args.push(this.PredefinedType);
  51467. ;
  51468. return args;
  51469. }
  51470. };
  51471. var IfcTypeObject = class {
  51472. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) {
  51473. this.expressID = expressID;
  51474. this.type = type;
  51475. this.GlobalId = GlobalId;
  51476. this.OwnerHistory = OwnerHistory;
  51477. this.Name = Name;
  51478. this.Description = Description;
  51479. this.ApplicableOccurrence = ApplicableOccurrence;
  51480. this.HasPropertySets = HasPropertySets;
  51481. }
  51482. static FromTape(expressID, type, tape) {
  51483. let ptr = 0;
  51484. let GlobalId = tape[ptr++];
  51485. let OwnerHistory = tape[ptr++];
  51486. let Name = tape[ptr++];
  51487. let Description = tape[ptr++];
  51488. let ApplicableOccurrence = tape[ptr++];
  51489. let HasPropertySets = tape[ptr++];
  51490. return new IfcTypeObject(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
  51491. }
  51492. ToTape() {
  51493. let args = [];
  51494. args.push(this.GlobalId);
  51495. ;
  51496. args.push(this.OwnerHistory);
  51497. ;
  51498. args.push(this.Name);
  51499. ;
  51500. args.push(this.Description);
  51501. ;
  51502. args.push(this.ApplicableOccurrence);
  51503. ;
  51504. args.push(this.HasPropertySets);
  51505. ;
  51506. return args;
  51507. }
  51508. };
  51509. var IfcTypeProcess = class {
  51510. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) {
  51511. this.expressID = expressID;
  51512. this.type = type;
  51513. this.GlobalId = GlobalId;
  51514. this.OwnerHistory = OwnerHistory;
  51515. this.Name = Name;
  51516. this.Description = Description;
  51517. this.ApplicableOccurrence = ApplicableOccurrence;
  51518. this.HasPropertySets = HasPropertySets;
  51519. this.Identification = Identification;
  51520. this.LongDescription = LongDescription;
  51521. this.ProcessType = ProcessType;
  51522. }
  51523. static FromTape(expressID, type, tape) {
  51524. let ptr = 0;
  51525. let GlobalId = tape[ptr++];
  51526. let OwnerHistory = tape[ptr++];
  51527. let Name = tape[ptr++];
  51528. let Description = tape[ptr++];
  51529. let ApplicableOccurrence = tape[ptr++];
  51530. let HasPropertySets = tape[ptr++];
  51531. let Identification = tape[ptr++];
  51532. let LongDescription = tape[ptr++];
  51533. let ProcessType = tape[ptr++];
  51534. return new IfcTypeProcess(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
  51535. }
  51536. ToTape() {
  51537. let args = [];
  51538. args.push(this.GlobalId);
  51539. ;
  51540. args.push(this.OwnerHistory);
  51541. ;
  51542. args.push(this.Name);
  51543. ;
  51544. args.push(this.Description);
  51545. ;
  51546. args.push(this.ApplicableOccurrence);
  51547. ;
  51548. args.push(this.HasPropertySets);
  51549. ;
  51550. args.push(this.Identification);
  51551. ;
  51552. args.push(this.LongDescription);
  51553. ;
  51554. args.push(this.ProcessType);
  51555. ;
  51556. return args;
  51557. }
  51558. };
  51559. var IfcTypeProduct = class {
  51560. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) {
  51561. this.expressID = expressID;
  51562. this.type = type;
  51563. this.GlobalId = GlobalId;
  51564. this.OwnerHistory = OwnerHistory;
  51565. this.Name = Name;
  51566. this.Description = Description;
  51567. this.ApplicableOccurrence = ApplicableOccurrence;
  51568. this.HasPropertySets = HasPropertySets;
  51569. this.RepresentationMaps = RepresentationMaps;
  51570. this.Tag = Tag;
  51571. }
  51572. static FromTape(expressID, type, tape) {
  51573. let ptr = 0;
  51574. let GlobalId = tape[ptr++];
  51575. let OwnerHistory = tape[ptr++];
  51576. let Name = tape[ptr++];
  51577. let Description = tape[ptr++];
  51578. let ApplicableOccurrence = tape[ptr++];
  51579. let HasPropertySets = tape[ptr++];
  51580. let RepresentationMaps = tape[ptr++];
  51581. let Tag = tape[ptr++];
  51582. return new IfcTypeProduct(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
  51583. }
  51584. ToTape() {
  51585. let args = [];
  51586. args.push(this.GlobalId);
  51587. ;
  51588. args.push(this.OwnerHistory);
  51589. ;
  51590. args.push(this.Name);
  51591. ;
  51592. args.push(this.Description);
  51593. ;
  51594. args.push(this.ApplicableOccurrence);
  51595. ;
  51596. args.push(this.HasPropertySets);
  51597. ;
  51598. args.push(this.RepresentationMaps);
  51599. ;
  51600. args.push(this.Tag);
  51601. ;
  51602. return args;
  51603. }
  51604. };
  51605. var IfcTypeResource = class {
  51606. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) {
  51607. this.expressID = expressID;
  51608. this.type = type;
  51609. this.GlobalId = GlobalId;
  51610. this.OwnerHistory = OwnerHistory;
  51611. this.Name = Name;
  51612. this.Description = Description;
  51613. this.ApplicableOccurrence = ApplicableOccurrence;
  51614. this.HasPropertySets = HasPropertySets;
  51615. this.Identification = Identification;
  51616. this.LongDescription = LongDescription;
  51617. this.ResourceType = ResourceType;
  51618. }
  51619. static FromTape(expressID, type, tape) {
  51620. let ptr = 0;
  51621. let GlobalId = tape[ptr++];
  51622. let OwnerHistory = tape[ptr++];
  51623. let Name = tape[ptr++];
  51624. let Description = tape[ptr++];
  51625. let ApplicableOccurrence = tape[ptr++];
  51626. let HasPropertySets = tape[ptr++];
  51627. let Identification = tape[ptr++];
  51628. let LongDescription = tape[ptr++];
  51629. let ResourceType = tape[ptr++];
  51630. return new IfcTypeResource(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType);
  51631. }
  51632. ToTape() {
  51633. let args = [];
  51634. args.push(this.GlobalId);
  51635. ;
  51636. args.push(this.OwnerHistory);
  51637. ;
  51638. args.push(this.Name);
  51639. ;
  51640. args.push(this.Description);
  51641. ;
  51642. args.push(this.ApplicableOccurrence);
  51643. ;
  51644. args.push(this.HasPropertySets);
  51645. ;
  51646. args.push(this.Identification);
  51647. ;
  51648. args.push(this.LongDescription);
  51649. ;
  51650. args.push(this.ResourceType);
  51651. ;
  51652. return args;
  51653. }
  51654. };
  51655. var IfcUShapeProfileDef = class {
  51656. constructor(expressID, type, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) {
  51657. this.expressID = expressID;
  51658. this.type = type;
  51659. this.ProfileType = ProfileType;
  51660. this.ProfileName = ProfileName;
  51661. this.Position = Position;
  51662. this.Depth = Depth;
  51663. this.FlangeWidth = FlangeWidth;
  51664. this.WebThickness = WebThickness;
  51665. this.FlangeThickness = FlangeThickness;
  51666. this.FilletRadius = FilletRadius;
  51667. this.EdgeRadius = EdgeRadius;
  51668. this.FlangeSlope = FlangeSlope;
  51669. }
  51670. static FromTape(expressID, type, tape) {
  51671. let ptr = 0;
  51672. let ProfileType = tape[ptr++];
  51673. let ProfileName = tape[ptr++];
  51674. let Position = tape[ptr++];
  51675. let Depth = tape[ptr++];
  51676. let FlangeWidth = tape[ptr++];
  51677. let WebThickness = tape[ptr++];
  51678. let FlangeThickness = tape[ptr++];
  51679. let FilletRadius = tape[ptr++];
  51680. let EdgeRadius = tape[ptr++];
  51681. let FlangeSlope = tape[ptr++];
  51682. return new IfcUShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope);
  51683. }
  51684. ToTape() {
  51685. let args = [];
  51686. args.push(this.ProfileType);
  51687. ;
  51688. args.push(this.ProfileName);
  51689. ;
  51690. args.push(this.Position);
  51691. ;
  51692. args.push(this.Depth);
  51693. ;
  51694. args.push(this.FlangeWidth);
  51695. ;
  51696. args.push(this.WebThickness);
  51697. ;
  51698. args.push(this.FlangeThickness);
  51699. ;
  51700. args.push(this.FilletRadius);
  51701. ;
  51702. args.push(this.EdgeRadius);
  51703. ;
  51704. args.push(this.FlangeSlope);
  51705. ;
  51706. return args;
  51707. }
  51708. };
  51709. var IfcUnitAssignment = class {
  51710. constructor(expressID, type, Units) {
  51711. this.expressID = expressID;
  51712. this.type = type;
  51713. this.Units = Units;
  51714. }
  51715. static FromTape(expressID, type, tape) {
  51716. let ptr = 0;
  51717. let Units = tape[ptr++];
  51718. return new IfcUnitAssignment(expressID, type, Units);
  51719. }
  51720. ToTape() {
  51721. let args = [];
  51722. args.push(this.Units);
  51723. ;
  51724. return args;
  51725. }
  51726. };
  51727. var IfcUnitaryControlElement = class {
  51728. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  51729. this.expressID = expressID;
  51730. this.type = type;
  51731. this.GlobalId = GlobalId;
  51732. this.OwnerHistory = OwnerHistory;
  51733. this.Name = Name;
  51734. this.Description = Description;
  51735. this.ObjectType = ObjectType;
  51736. this.ObjectPlacement = ObjectPlacement;
  51737. this.Representation = Representation;
  51738. this.Tag = Tag;
  51739. this.PredefinedType = PredefinedType;
  51740. }
  51741. static FromTape(expressID, type, tape) {
  51742. let ptr = 0;
  51743. let GlobalId = tape[ptr++];
  51744. let OwnerHistory = tape[ptr++];
  51745. let Name = tape[ptr++];
  51746. let Description = tape[ptr++];
  51747. let ObjectType = tape[ptr++];
  51748. let ObjectPlacement = tape[ptr++];
  51749. let Representation = tape[ptr++];
  51750. let Tag = tape[ptr++];
  51751. let PredefinedType = tape[ptr++];
  51752. return new IfcUnitaryControlElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  51753. }
  51754. ToTape() {
  51755. let args = [];
  51756. args.push(this.GlobalId);
  51757. ;
  51758. args.push(this.OwnerHistory);
  51759. ;
  51760. args.push(this.Name);
  51761. ;
  51762. args.push(this.Description);
  51763. ;
  51764. args.push(this.ObjectType);
  51765. ;
  51766. args.push(this.ObjectPlacement);
  51767. ;
  51768. args.push(this.Representation);
  51769. ;
  51770. args.push(this.Tag);
  51771. ;
  51772. args.push(this.PredefinedType);
  51773. ;
  51774. return args;
  51775. }
  51776. };
  51777. var IfcUnitaryControlElementType = class {
  51778. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  51779. this.expressID = expressID;
  51780. this.type = type;
  51781. this.GlobalId = GlobalId;
  51782. this.OwnerHistory = OwnerHistory;
  51783. this.Name = Name;
  51784. this.Description = Description;
  51785. this.ApplicableOccurrence = ApplicableOccurrence;
  51786. this.HasPropertySets = HasPropertySets;
  51787. this.RepresentationMaps = RepresentationMaps;
  51788. this.Tag = Tag;
  51789. this.ElementType = ElementType;
  51790. this.PredefinedType = PredefinedType;
  51791. }
  51792. static FromTape(expressID, type, tape) {
  51793. let ptr = 0;
  51794. let GlobalId = tape[ptr++];
  51795. let OwnerHistory = tape[ptr++];
  51796. let Name = tape[ptr++];
  51797. let Description = tape[ptr++];
  51798. let ApplicableOccurrence = tape[ptr++];
  51799. let HasPropertySets = tape[ptr++];
  51800. let RepresentationMaps = tape[ptr++];
  51801. let Tag = tape[ptr++];
  51802. let ElementType = tape[ptr++];
  51803. let PredefinedType = tape[ptr++];
  51804. return new IfcUnitaryControlElementType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  51805. }
  51806. ToTape() {
  51807. let args = [];
  51808. args.push(this.GlobalId);
  51809. ;
  51810. args.push(this.OwnerHistory);
  51811. ;
  51812. args.push(this.Name);
  51813. ;
  51814. args.push(this.Description);
  51815. ;
  51816. args.push(this.ApplicableOccurrence);
  51817. ;
  51818. args.push(this.HasPropertySets);
  51819. ;
  51820. args.push(this.RepresentationMaps);
  51821. ;
  51822. args.push(this.Tag);
  51823. ;
  51824. args.push(this.ElementType);
  51825. ;
  51826. args.push(this.PredefinedType);
  51827. ;
  51828. return args;
  51829. }
  51830. };
  51831. var IfcUnitaryEquipment = class {
  51832. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  51833. this.expressID = expressID;
  51834. this.type = type;
  51835. this.GlobalId = GlobalId;
  51836. this.OwnerHistory = OwnerHistory;
  51837. this.Name = Name;
  51838. this.Description = Description;
  51839. this.ObjectType = ObjectType;
  51840. this.ObjectPlacement = ObjectPlacement;
  51841. this.Representation = Representation;
  51842. this.Tag = Tag;
  51843. this.PredefinedType = PredefinedType;
  51844. }
  51845. static FromTape(expressID, type, tape) {
  51846. let ptr = 0;
  51847. let GlobalId = tape[ptr++];
  51848. let OwnerHistory = tape[ptr++];
  51849. let Name = tape[ptr++];
  51850. let Description = tape[ptr++];
  51851. let ObjectType = tape[ptr++];
  51852. let ObjectPlacement = tape[ptr++];
  51853. let Representation = tape[ptr++];
  51854. let Tag = tape[ptr++];
  51855. let PredefinedType = tape[ptr++];
  51856. return new IfcUnitaryEquipment(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  51857. }
  51858. ToTape() {
  51859. let args = [];
  51860. args.push(this.GlobalId);
  51861. ;
  51862. args.push(this.OwnerHistory);
  51863. ;
  51864. args.push(this.Name);
  51865. ;
  51866. args.push(this.Description);
  51867. ;
  51868. args.push(this.ObjectType);
  51869. ;
  51870. args.push(this.ObjectPlacement);
  51871. ;
  51872. args.push(this.Representation);
  51873. ;
  51874. args.push(this.Tag);
  51875. ;
  51876. args.push(this.PredefinedType);
  51877. ;
  51878. return args;
  51879. }
  51880. };
  51881. var IfcUnitaryEquipmentType = class {
  51882. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  51883. this.expressID = expressID;
  51884. this.type = type;
  51885. this.GlobalId = GlobalId;
  51886. this.OwnerHistory = OwnerHistory;
  51887. this.Name = Name;
  51888. this.Description = Description;
  51889. this.ApplicableOccurrence = ApplicableOccurrence;
  51890. this.HasPropertySets = HasPropertySets;
  51891. this.RepresentationMaps = RepresentationMaps;
  51892. this.Tag = Tag;
  51893. this.ElementType = ElementType;
  51894. this.PredefinedType = PredefinedType;
  51895. }
  51896. static FromTape(expressID, type, tape) {
  51897. let ptr = 0;
  51898. let GlobalId = tape[ptr++];
  51899. let OwnerHistory = tape[ptr++];
  51900. let Name = tape[ptr++];
  51901. let Description = tape[ptr++];
  51902. let ApplicableOccurrence = tape[ptr++];
  51903. let HasPropertySets = tape[ptr++];
  51904. let RepresentationMaps = tape[ptr++];
  51905. let Tag = tape[ptr++];
  51906. let ElementType = tape[ptr++];
  51907. let PredefinedType = tape[ptr++];
  51908. return new IfcUnitaryEquipmentType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  51909. }
  51910. ToTape() {
  51911. let args = [];
  51912. args.push(this.GlobalId);
  51913. ;
  51914. args.push(this.OwnerHistory);
  51915. ;
  51916. args.push(this.Name);
  51917. ;
  51918. args.push(this.Description);
  51919. ;
  51920. args.push(this.ApplicableOccurrence);
  51921. ;
  51922. args.push(this.HasPropertySets);
  51923. ;
  51924. args.push(this.RepresentationMaps);
  51925. ;
  51926. args.push(this.Tag);
  51927. ;
  51928. args.push(this.ElementType);
  51929. ;
  51930. args.push(this.PredefinedType);
  51931. ;
  51932. return args;
  51933. }
  51934. };
  51935. var IfcValve = class {
  51936. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  51937. this.expressID = expressID;
  51938. this.type = type;
  51939. this.GlobalId = GlobalId;
  51940. this.OwnerHistory = OwnerHistory;
  51941. this.Name = Name;
  51942. this.Description = Description;
  51943. this.ObjectType = ObjectType;
  51944. this.ObjectPlacement = ObjectPlacement;
  51945. this.Representation = Representation;
  51946. this.Tag = Tag;
  51947. this.PredefinedType = PredefinedType;
  51948. }
  51949. static FromTape(expressID, type, tape) {
  51950. let ptr = 0;
  51951. let GlobalId = tape[ptr++];
  51952. let OwnerHistory = tape[ptr++];
  51953. let Name = tape[ptr++];
  51954. let Description = tape[ptr++];
  51955. let ObjectType = tape[ptr++];
  51956. let ObjectPlacement = tape[ptr++];
  51957. let Representation = tape[ptr++];
  51958. let Tag = tape[ptr++];
  51959. let PredefinedType = tape[ptr++];
  51960. return new IfcValve(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  51961. }
  51962. ToTape() {
  51963. let args = [];
  51964. args.push(this.GlobalId);
  51965. ;
  51966. args.push(this.OwnerHistory);
  51967. ;
  51968. args.push(this.Name);
  51969. ;
  51970. args.push(this.Description);
  51971. ;
  51972. args.push(this.ObjectType);
  51973. ;
  51974. args.push(this.ObjectPlacement);
  51975. ;
  51976. args.push(this.Representation);
  51977. ;
  51978. args.push(this.Tag);
  51979. ;
  51980. args.push(this.PredefinedType);
  51981. ;
  51982. return args;
  51983. }
  51984. };
  51985. var IfcValveType = class {
  51986. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  51987. this.expressID = expressID;
  51988. this.type = type;
  51989. this.GlobalId = GlobalId;
  51990. this.OwnerHistory = OwnerHistory;
  51991. this.Name = Name;
  51992. this.Description = Description;
  51993. this.ApplicableOccurrence = ApplicableOccurrence;
  51994. this.HasPropertySets = HasPropertySets;
  51995. this.RepresentationMaps = RepresentationMaps;
  51996. this.Tag = Tag;
  51997. this.ElementType = ElementType;
  51998. this.PredefinedType = PredefinedType;
  51999. }
  52000. static FromTape(expressID, type, tape) {
  52001. let ptr = 0;
  52002. let GlobalId = tape[ptr++];
  52003. let OwnerHistory = tape[ptr++];
  52004. let Name = tape[ptr++];
  52005. let Description = tape[ptr++];
  52006. let ApplicableOccurrence = tape[ptr++];
  52007. let HasPropertySets = tape[ptr++];
  52008. let RepresentationMaps = tape[ptr++];
  52009. let Tag = tape[ptr++];
  52010. let ElementType = tape[ptr++];
  52011. let PredefinedType = tape[ptr++];
  52012. return new IfcValveType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  52013. }
  52014. ToTape() {
  52015. let args = [];
  52016. args.push(this.GlobalId);
  52017. ;
  52018. args.push(this.OwnerHistory);
  52019. ;
  52020. args.push(this.Name);
  52021. ;
  52022. args.push(this.Description);
  52023. ;
  52024. args.push(this.ApplicableOccurrence);
  52025. ;
  52026. args.push(this.HasPropertySets);
  52027. ;
  52028. args.push(this.RepresentationMaps);
  52029. ;
  52030. args.push(this.Tag);
  52031. ;
  52032. args.push(this.ElementType);
  52033. ;
  52034. args.push(this.PredefinedType);
  52035. ;
  52036. return args;
  52037. }
  52038. };
  52039. var IfcVector = class {
  52040. constructor(expressID, type, Orientation, Magnitude) {
  52041. this.expressID = expressID;
  52042. this.type = type;
  52043. this.Orientation = Orientation;
  52044. this.Magnitude = Magnitude;
  52045. }
  52046. static FromTape(expressID, type, tape) {
  52047. let ptr = 0;
  52048. let Orientation = tape[ptr++];
  52049. let Magnitude = tape[ptr++];
  52050. return new IfcVector(expressID, type, Orientation, Magnitude);
  52051. }
  52052. ToTape() {
  52053. let args = [];
  52054. args.push(this.Orientation);
  52055. ;
  52056. args.push(this.Magnitude);
  52057. ;
  52058. return args;
  52059. }
  52060. };
  52061. var IfcVertex = class {
  52062. constructor(expressID, type) {
  52063. this.expressID = expressID;
  52064. this.type = type;
  52065. }
  52066. static FromTape(expressID, type, tape) {
  52067. let ptr = 0;
  52068. return new IfcVertex(expressID, type);
  52069. }
  52070. ToTape() {
  52071. let args = [];
  52072. return args;
  52073. }
  52074. };
  52075. var IfcVertexLoop = class {
  52076. constructor(expressID, type, LoopVertex) {
  52077. this.expressID = expressID;
  52078. this.type = type;
  52079. this.LoopVertex = LoopVertex;
  52080. }
  52081. static FromTape(expressID, type, tape) {
  52082. let ptr = 0;
  52083. let LoopVertex = tape[ptr++];
  52084. return new IfcVertexLoop(expressID, type, LoopVertex);
  52085. }
  52086. ToTape() {
  52087. let args = [];
  52088. args.push(this.LoopVertex);
  52089. ;
  52090. return args;
  52091. }
  52092. };
  52093. var IfcVertexPoint = class {
  52094. constructor(expressID, type, VertexGeometry) {
  52095. this.expressID = expressID;
  52096. this.type = type;
  52097. this.VertexGeometry = VertexGeometry;
  52098. }
  52099. static FromTape(expressID, type, tape) {
  52100. let ptr = 0;
  52101. let VertexGeometry = tape[ptr++];
  52102. return new IfcVertexPoint(expressID, type, VertexGeometry);
  52103. }
  52104. ToTape() {
  52105. let args = [];
  52106. args.push(this.VertexGeometry);
  52107. ;
  52108. return args;
  52109. }
  52110. };
  52111. var IfcVibrationDamper = class {
  52112. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52113. this.expressID = expressID;
  52114. this.type = type;
  52115. this.GlobalId = GlobalId;
  52116. this.OwnerHistory = OwnerHistory;
  52117. this.Name = Name;
  52118. this.Description = Description;
  52119. this.ObjectType = ObjectType;
  52120. this.ObjectPlacement = ObjectPlacement;
  52121. this.Representation = Representation;
  52122. this.Tag = Tag;
  52123. this.PredefinedType = PredefinedType;
  52124. }
  52125. static FromTape(expressID, type, tape) {
  52126. let ptr = 0;
  52127. let GlobalId = tape[ptr++];
  52128. let OwnerHistory = tape[ptr++];
  52129. let Name = tape[ptr++];
  52130. let Description = tape[ptr++];
  52131. let ObjectType = tape[ptr++];
  52132. let ObjectPlacement = tape[ptr++];
  52133. let Representation = tape[ptr++];
  52134. let Tag = tape[ptr++];
  52135. let PredefinedType = tape[ptr++];
  52136. return new IfcVibrationDamper(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52137. }
  52138. ToTape() {
  52139. let args = [];
  52140. args.push(this.GlobalId);
  52141. ;
  52142. args.push(this.OwnerHistory);
  52143. ;
  52144. args.push(this.Name);
  52145. ;
  52146. args.push(this.Description);
  52147. ;
  52148. args.push(this.ObjectType);
  52149. ;
  52150. args.push(this.ObjectPlacement);
  52151. ;
  52152. args.push(this.Representation);
  52153. ;
  52154. args.push(this.Tag);
  52155. ;
  52156. args.push(this.PredefinedType);
  52157. ;
  52158. return args;
  52159. }
  52160. };
  52161. var IfcVibrationDamperType = class {
  52162. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  52163. this.expressID = expressID;
  52164. this.type = type;
  52165. this.GlobalId = GlobalId;
  52166. this.OwnerHistory = OwnerHistory;
  52167. this.Name = Name;
  52168. this.Description = Description;
  52169. this.ApplicableOccurrence = ApplicableOccurrence;
  52170. this.HasPropertySets = HasPropertySets;
  52171. this.RepresentationMaps = RepresentationMaps;
  52172. this.Tag = Tag;
  52173. this.ElementType = ElementType;
  52174. this.PredefinedType = PredefinedType;
  52175. }
  52176. static FromTape(expressID, type, tape) {
  52177. let ptr = 0;
  52178. let GlobalId = tape[ptr++];
  52179. let OwnerHistory = tape[ptr++];
  52180. let Name = tape[ptr++];
  52181. let Description = tape[ptr++];
  52182. let ApplicableOccurrence = tape[ptr++];
  52183. let HasPropertySets = tape[ptr++];
  52184. let RepresentationMaps = tape[ptr++];
  52185. let Tag = tape[ptr++];
  52186. let ElementType = tape[ptr++];
  52187. let PredefinedType = tape[ptr++];
  52188. return new IfcVibrationDamperType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  52189. }
  52190. ToTape() {
  52191. let args = [];
  52192. args.push(this.GlobalId);
  52193. ;
  52194. args.push(this.OwnerHistory);
  52195. ;
  52196. args.push(this.Name);
  52197. ;
  52198. args.push(this.Description);
  52199. ;
  52200. args.push(this.ApplicableOccurrence);
  52201. ;
  52202. args.push(this.HasPropertySets);
  52203. ;
  52204. args.push(this.RepresentationMaps);
  52205. ;
  52206. args.push(this.Tag);
  52207. ;
  52208. args.push(this.ElementType);
  52209. ;
  52210. args.push(this.PredefinedType);
  52211. ;
  52212. return args;
  52213. }
  52214. };
  52215. var IfcVibrationIsolator = class {
  52216. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52217. this.expressID = expressID;
  52218. this.type = type;
  52219. this.GlobalId = GlobalId;
  52220. this.OwnerHistory = OwnerHistory;
  52221. this.Name = Name;
  52222. this.Description = Description;
  52223. this.ObjectType = ObjectType;
  52224. this.ObjectPlacement = ObjectPlacement;
  52225. this.Representation = Representation;
  52226. this.Tag = Tag;
  52227. this.PredefinedType = PredefinedType;
  52228. }
  52229. static FromTape(expressID, type, tape) {
  52230. let ptr = 0;
  52231. let GlobalId = tape[ptr++];
  52232. let OwnerHistory = tape[ptr++];
  52233. let Name = tape[ptr++];
  52234. let Description = tape[ptr++];
  52235. let ObjectType = tape[ptr++];
  52236. let ObjectPlacement = tape[ptr++];
  52237. let Representation = tape[ptr++];
  52238. let Tag = tape[ptr++];
  52239. let PredefinedType = tape[ptr++];
  52240. return new IfcVibrationIsolator(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52241. }
  52242. ToTape() {
  52243. let args = [];
  52244. args.push(this.GlobalId);
  52245. ;
  52246. args.push(this.OwnerHistory);
  52247. ;
  52248. args.push(this.Name);
  52249. ;
  52250. args.push(this.Description);
  52251. ;
  52252. args.push(this.ObjectType);
  52253. ;
  52254. args.push(this.ObjectPlacement);
  52255. ;
  52256. args.push(this.Representation);
  52257. ;
  52258. args.push(this.Tag);
  52259. ;
  52260. args.push(this.PredefinedType);
  52261. ;
  52262. return args;
  52263. }
  52264. };
  52265. var IfcVibrationIsolatorType = class {
  52266. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  52267. this.expressID = expressID;
  52268. this.type = type;
  52269. this.GlobalId = GlobalId;
  52270. this.OwnerHistory = OwnerHistory;
  52271. this.Name = Name;
  52272. this.Description = Description;
  52273. this.ApplicableOccurrence = ApplicableOccurrence;
  52274. this.HasPropertySets = HasPropertySets;
  52275. this.RepresentationMaps = RepresentationMaps;
  52276. this.Tag = Tag;
  52277. this.ElementType = ElementType;
  52278. this.PredefinedType = PredefinedType;
  52279. }
  52280. static FromTape(expressID, type, tape) {
  52281. let ptr = 0;
  52282. let GlobalId = tape[ptr++];
  52283. let OwnerHistory = tape[ptr++];
  52284. let Name = tape[ptr++];
  52285. let Description = tape[ptr++];
  52286. let ApplicableOccurrence = tape[ptr++];
  52287. let HasPropertySets = tape[ptr++];
  52288. let RepresentationMaps = tape[ptr++];
  52289. let Tag = tape[ptr++];
  52290. let ElementType = tape[ptr++];
  52291. let PredefinedType = tape[ptr++];
  52292. return new IfcVibrationIsolatorType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  52293. }
  52294. ToTape() {
  52295. let args = [];
  52296. args.push(this.GlobalId);
  52297. ;
  52298. args.push(this.OwnerHistory);
  52299. ;
  52300. args.push(this.Name);
  52301. ;
  52302. args.push(this.Description);
  52303. ;
  52304. args.push(this.ApplicableOccurrence);
  52305. ;
  52306. args.push(this.HasPropertySets);
  52307. ;
  52308. args.push(this.RepresentationMaps);
  52309. ;
  52310. args.push(this.Tag);
  52311. ;
  52312. args.push(this.ElementType);
  52313. ;
  52314. args.push(this.PredefinedType);
  52315. ;
  52316. return args;
  52317. }
  52318. };
  52319. var IfcVirtualElement = class {
  52320. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
  52321. this.expressID = expressID;
  52322. this.type = type;
  52323. this.GlobalId = GlobalId;
  52324. this.OwnerHistory = OwnerHistory;
  52325. this.Name = Name;
  52326. this.Description = Description;
  52327. this.ObjectType = ObjectType;
  52328. this.ObjectPlacement = ObjectPlacement;
  52329. this.Representation = Representation;
  52330. this.Tag = Tag;
  52331. }
  52332. static FromTape(expressID, type, tape) {
  52333. let ptr = 0;
  52334. let GlobalId = tape[ptr++];
  52335. let OwnerHistory = tape[ptr++];
  52336. let Name = tape[ptr++];
  52337. let Description = tape[ptr++];
  52338. let ObjectType = tape[ptr++];
  52339. let ObjectPlacement = tape[ptr++];
  52340. let Representation = tape[ptr++];
  52341. let Tag = tape[ptr++];
  52342. return new IfcVirtualElement(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
  52343. }
  52344. ToTape() {
  52345. let args = [];
  52346. args.push(this.GlobalId);
  52347. ;
  52348. args.push(this.OwnerHistory);
  52349. ;
  52350. args.push(this.Name);
  52351. ;
  52352. args.push(this.Description);
  52353. ;
  52354. args.push(this.ObjectType);
  52355. ;
  52356. args.push(this.ObjectPlacement);
  52357. ;
  52358. args.push(this.Representation);
  52359. ;
  52360. args.push(this.Tag);
  52361. ;
  52362. return args;
  52363. }
  52364. };
  52365. var IfcVirtualGridIntersection = class {
  52366. constructor(expressID, type, IntersectingAxes, OffsetDistances) {
  52367. this.expressID = expressID;
  52368. this.type = type;
  52369. this.IntersectingAxes = IntersectingAxes;
  52370. this.OffsetDistances = OffsetDistances;
  52371. }
  52372. static FromTape(expressID, type, tape) {
  52373. let ptr = 0;
  52374. let IntersectingAxes = tape[ptr++];
  52375. let OffsetDistances = tape[ptr++];
  52376. return new IfcVirtualGridIntersection(expressID, type, IntersectingAxes, OffsetDistances);
  52377. }
  52378. ToTape() {
  52379. let args = [];
  52380. args.push(this.IntersectingAxes);
  52381. ;
  52382. args.push(this.OffsetDistances);
  52383. ;
  52384. return args;
  52385. }
  52386. };
  52387. var IfcVoidingFeature = class {
  52388. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52389. this.expressID = expressID;
  52390. this.type = type;
  52391. this.GlobalId = GlobalId;
  52392. this.OwnerHistory = OwnerHistory;
  52393. this.Name = Name;
  52394. this.Description = Description;
  52395. this.ObjectType = ObjectType;
  52396. this.ObjectPlacement = ObjectPlacement;
  52397. this.Representation = Representation;
  52398. this.Tag = Tag;
  52399. this.PredefinedType = PredefinedType;
  52400. }
  52401. static FromTape(expressID, type, tape) {
  52402. let ptr = 0;
  52403. let GlobalId = tape[ptr++];
  52404. let OwnerHistory = tape[ptr++];
  52405. let Name = tape[ptr++];
  52406. let Description = tape[ptr++];
  52407. let ObjectType = tape[ptr++];
  52408. let ObjectPlacement = tape[ptr++];
  52409. let Representation = tape[ptr++];
  52410. let Tag = tape[ptr++];
  52411. let PredefinedType = tape[ptr++];
  52412. return new IfcVoidingFeature(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52413. }
  52414. ToTape() {
  52415. let args = [];
  52416. args.push(this.GlobalId);
  52417. ;
  52418. args.push(this.OwnerHistory);
  52419. ;
  52420. args.push(this.Name);
  52421. ;
  52422. args.push(this.Description);
  52423. ;
  52424. args.push(this.ObjectType);
  52425. ;
  52426. args.push(this.ObjectPlacement);
  52427. ;
  52428. args.push(this.Representation);
  52429. ;
  52430. args.push(this.Tag);
  52431. ;
  52432. args.push(this.PredefinedType);
  52433. ;
  52434. return args;
  52435. }
  52436. };
  52437. var IfcWall = class {
  52438. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52439. this.expressID = expressID;
  52440. this.type = type;
  52441. this.GlobalId = GlobalId;
  52442. this.OwnerHistory = OwnerHistory;
  52443. this.Name = Name;
  52444. this.Description = Description;
  52445. this.ObjectType = ObjectType;
  52446. this.ObjectPlacement = ObjectPlacement;
  52447. this.Representation = Representation;
  52448. this.Tag = Tag;
  52449. this.PredefinedType = PredefinedType;
  52450. }
  52451. static FromTape(expressID, type, tape) {
  52452. let ptr = 0;
  52453. let GlobalId = tape[ptr++];
  52454. let OwnerHistory = tape[ptr++];
  52455. let Name = tape[ptr++];
  52456. let Description = tape[ptr++];
  52457. let ObjectType = tape[ptr++];
  52458. let ObjectPlacement = tape[ptr++];
  52459. let Representation = tape[ptr++];
  52460. let Tag = tape[ptr++];
  52461. let PredefinedType = tape[ptr++];
  52462. return new IfcWall(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52463. }
  52464. ToTape() {
  52465. let args = [];
  52466. args.push(this.GlobalId);
  52467. ;
  52468. args.push(this.OwnerHistory);
  52469. ;
  52470. args.push(this.Name);
  52471. ;
  52472. args.push(this.Description);
  52473. ;
  52474. args.push(this.ObjectType);
  52475. ;
  52476. args.push(this.ObjectPlacement);
  52477. ;
  52478. args.push(this.Representation);
  52479. ;
  52480. args.push(this.Tag);
  52481. ;
  52482. args.push(this.PredefinedType);
  52483. ;
  52484. return args;
  52485. }
  52486. };
  52487. var IfcWallElementedCase = class {
  52488. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52489. this.expressID = expressID;
  52490. this.type = type;
  52491. this.GlobalId = GlobalId;
  52492. this.OwnerHistory = OwnerHistory;
  52493. this.Name = Name;
  52494. this.Description = Description;
  52495. this.ObjectType = ObjectType;
  52496. this.ObjectPlacement = ObjectPlacement;
  52497. this.Representation = Representation;
  52498. this.Tag = Tag;
  52499. this.PredefinedType = PredefinedType;
  52500. }
  52501. static FromTape(expressID, type, tape) {
  52502. let ptr = 0;
  52503. let GlobalId = tape[ptr++];
  52504. let OwnerHistory = tape[ptr++];
  52505. let Name = tape[ptr++];
  52506. let Description = tape[ptr++];
  52507. let ObjectType = tape[ptr++];
  52508. let ObjectPlacement = tape[ptr++];
  52509. let Representation = tape[ptr++];
  52510. let Tag = tape[ptr++];
  52511. let PredefinedType = tape[ptr++];
  52512. return new IfcWallElementedCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52513. }
  52514. ToTape() {
  52515. let args = [];
  52516. args.push(this.GlobalId);
  52517. ;
  52518. args.push(this.OwnerHistory);
  52519. ;
  52520. args.push(this.Name);
  52521. ;
  52522. args.push(this.Description);
  52523. ;
  52524. args.push(this.ObjectType);
  52525. ;
  52526. args.push(this.ObjectPlacement);
  52527. ;
  52528. args.push(this.Representation);
  52529. ;
  52530. args.push(this.Tag);
  52531. ;
  52532. args.push(this.PredefinedType);
  52533. ;
  52534. return args;
  52535. }
  52536. };
  52537. var IfcWallStandardCase = class {
  52538. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52539. this.expressID = expressID;
  52540. this.type = type;
  52541. this.GlobalId = GlobalId;
  52542. this.OwnerHistory = OwnerHistory;
  52543. this.Name = Name;
  52544. this.Description = Description;
  52545. this.ObjectType = ObjectType;
  52546. this.ObjectPlacement = ObjectPlacement;
  52547. this.Representation = Representation;
  52548. this.Tag = Tag;
  52549. this.PredefinedType = PredefinedType;
  52550. }
  52551. static FromTape(expressID, type, tape) {
  52552. let ptr = 0;
  52553. let GlobalId = tape[ptr++];
  52554. let OwnerHistory = tape[ptr++];
  52555. let Name = tape[ptr++];
  52556. let Description = tape[ptr++];
  52557. let ObjectType = tape[ptr++];
  52558. let ObjectPlacement = tape[ptr++];
  52559. let Representation = tape[ptr++];
  52560. let Tag = tape[ptr++];
  52561. let PredefinedType = tape[ptr++];
  52562. return new IfcWallStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52563. }
  52564. ToTape() {
  52565. let args = [];
  52566. args.push(this.GlobalId);
  52567. ;
  52568. args.push(this.OwnerHistory);
  52569. ;
  52570. args.push(this.Name);
  52571. ;
  52572. args.push(this.Description);
  52573. ;
  52574. args.push(this.ObjectType);
  52575. ;
  52576. args.push(this.ObjectPlacement);
  52577. ;
  52578. args.push(this.Representation);
  52579. ;
  52580. args.push(this.Tag);
  52581. ;
  52582. args.push(this.PredefinedType);
  52583. ;
  52584. return args;
  52585. }
  52586. };
  52587. var IfcWallType = class {
  52588. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  52589. this.expressID = expressID;
  52590. this.type = type;
  52591. this.GlobalId = GlobalId;
  52592. this.OwnerHistory = OwnerHistory;
  52593. this.Name = Name;
  52594. this.Description = Description;
  52595. this.ApplicableOccurrence = ApplicableOccurrence;
  52596. this.HasPropertySets = HasPropertySets;
  52597. this.RepresentationMaps = RepresentationMaps;
  52598. this.Tag = Tag;
  52599. this.ElementType = ElementType;
  52600. this.PredefinedType = PredefinedType;
  52601. }
  52602. static FromTape(expressID, type, tape) {
  52603. let ptr = 0;
  52604. let GlobalId = tape[ptr++];
  52605. let OwnerHistory = tape[ptr++];
  52606. let Name = tape[ptr++];
  52607. let Description = tape[ptr++];
  52608. let ApplicableOccurrence = tape[ptr++];
  52609. let HasPropertySets = tape[ptr++];
  52610. let RepresentationMaps = tape[ptr++];
  52611. let Tag = tape[ptr++];
  52612. let ElementType = tape[ptr++];
  52613. let PredefinedType = tape[ptr++];
  52614. return new IfcWallType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  52615. }
  52616. ToTape() {
  52617. let args = [];
  52618. args.push(this.GlobalId);
  52619. ;
  52620. args.push(this.OwnerHistory);
  52621. ;
  52622. args.push(this.Name);
  52623. ;
  52624. args.push(this.Description);
  52625. ;
  52626. args.push(this.ApplicableOccurrence);
  52627. ;
  52628. args.push(this.HasPropertySets);
  52629. ;
  52630. args.push(this.RepresentationMaps);
  52631. ;
  52632. args.push(this.Tag);
  52633. ;
  52634. args.push(this.ElementType);
  52635. ;
  52636. args.push(this.PredefinedType);
  52637. ;
  52638. return args;
  52639. }
  52640. };
  52641. var IfcWasteTerminal = class {
  52642. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
  52643. this.expressID = expressID;
  52644. this.type = type;
  52645. this.GlobalId = GlobalId;
  52646. this.OwnerHistory = OwnerHistory;
  52647. this.Name = Name;
  52648. this.Description = Description;
  52649. this.ObjectType = ObjectType;
  52650. this.ObjectPlacement = ObjectPlacement;
  52651. this.Representation = Representation;
  52652. this.Tag = Tag;
  52653. this.PredefinedType = PredefinedType;
  52654. }
  52655. static FromTape(expressID, type, tape) {
  52656. let ptr = 0;
  52657. let GlobalId = tape[ptr++];
  52658. let OwnerHistory = tape[ptr++];
  52659. let Name = tape[ptr++];
  52660. let Description = tape[ptr++];
  52661. let ObjectType = tape[ptr++];
  52662. let ObjectPlacement = tape[ptr++];
  52663. let Representation = tape[ptr++];
  52664. let Tag = tape[ptr++];
  52665. let PredefinedType = tape[ptr++];
  52666. return new IfcWasteTerminal(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
  52667. }
  52668. ToTape() {
  52669. let args = [];
  52670. args.push(this.GlobalId);
  52671. ;
  52672. args.push(this.OwnerHistory);
  52673. ;
  52674. args.push(this.Name);
  52675. ;
  52676. args.push(this.Description);
  52677. ;
  52678. args.push(this.ObjectType);
  52679. ;
  52680. args.push(this.ObjectPlacement);
  52681. ;
  52682. args.push(this.Representation);
  52683. ;
  52684. args.push(this.Tag);
  52685. ;
  52686. args.push(this.PredefinedType);
  52687. ;
  52688. return args;
  52689. }
  52690. };
  52691. var IfcWasteTerminalType = class {
  52692. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
  52693. this.expressID = expressID;
  52694. this.type = type;
  52695. this.GlobalId = GlobalId;
  52696. this.OwnerHistory = OwnerHistory;
  52697. this.Name = Name;
  52698. this.Description = Description;
  52699. this.ApplicableOccurrence = ApplicableOccurrence;
  52700. this.HasPropertySets = HasPropertySets;
  52701. this.RepresentationMaps = RepresentationMaps;
  52702. this.Tag = Tag;
  52703. this.ElementType = ElementType;
  52704. this.PredefinedType = PredefinedType;
  52705. }
  52706. static FromTape(expressID, type, tape) {
  52707. let ptr = 0;
  52708. let GlobalId = tape[ptr++];
  52709. let OwnerHistory = tape[ptr++];
  52710. let Name = tape[ptr++];
  52711. let Description = tape[ptr++];
  52712. let ApplicableOccurrence = tape[ptr++];
  52713. let HasPropertySets = tape[ptr++];
  52714. let RepresentationMaps = tape[ptr++];
  52715. let Tag = tape[ptr++];
  52716. let ElementType = tape[ptr++];
  52717. let PredefinedType = tape[ptr++];
  52718. return new IfcWasteTerminalType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType);
  52719. }
  52720. ToTape() {
  52721. let args = [];
  52722. args.push(this.GlobalId);
  52723. ;
  52724. args.push(this.OwnerHistory);
  52725. ;
  52726. args.push(this.Name);
  52727. ;
  52728. args.push(this.Description);
  52729. ;
  52730. args.push(this.ApplicableOccurrence);
  52731. ;
  52732. args.push(this.HasPropertySets);
  52733. ;
  52734. args.push(this.RepresentationMaps);
  52735. ;
  52736. args.push(this.Tag);
  52737. ;
  52738. args.push(this.ElementType);
  52739. ;
  52740. args.push(this.PredefinedType);
  52741. ;
  52742. return args;
  52743. }
  52744. };
  52745. var IfcWindow = class {
  52746. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) {
  52747. this.expressID = expressID;
  52748. this.type = type;
  52749. this.GlobalId = GlobalId;
  52750. this.OwnerHistory = OwnerHistory;
  52751. this.Name = Name;
  52752. this.Description = Description;
  52753. this.ObjectType = ObjectType;
  52754. this.ObjectPlacement = ObjectPlacement;
  52755. this.Representation = Representation;
  52756. this.Tag = Tag;
  52757. this.OverallHeight = OverallHeight;
  52758. this.OverallWidth = OverallWidth;
  52759. this.PredefinedType = PredefinedType;
  52760. this.PartitioningType = PartitioningType;
  52761. this.UserDefinedPartitioningType = UserDefinedPartitioningType;
  52762. }
  52763. static FromTape(expressID, type, tape) {
  52764. let ptr = 0;
  52765. let GlobalId = tape[ptr++];
  52766. let OwnerHistory = tape[ptr++];
  52767. let Name = tape[ptr++];
  52768. let Description = tape[ptr++];
  52769. let ObjectType = tape[ptr++];
  52770. let ObjectPlacement = tape[ptr++];
  52771. let Representation = tape[ptr++];
  52772. let Tag = tape[ptr++];
  52773. let OverallHeight = tape[ptr++];
  52774. let OverallWidth = tape[ptr++];
  52775. let PredefinedType = tape[ptr++];
  52776. let PartitioningType = tape[ptr++];
  52777. let UserDefinedPartitioningType = tape[ptr++];
  52778. return new IfcWindow(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType);
  52779. }
  52780. ToTape() {
  52781. let args = [];
  52782. args.push(this.GlobalId);
  52783. ;
  52784. args.push(this.OwnerHistory);
  52785. ;
  52786. args.push(this.Name);
  52787. ;
  52788. args.push(this.Description);
  52789. ;
  52790. args.push(this.ObjectType);
  52791. ;
  52792. args.push(this.ObjectPlacement);
  52793. ;
  52794. args.push(this.Representation);
  52795. ;
  52796. args.push(this.Tag);
  52797. ;
  52798. args.push(this.OverallHeight);
  52799. ;
  52800. args.push(this.OverallWidth);
  52801. ;
  52802. args.push(this.PredefinedType);
  52803. ;
  52804. args.push(this.PartitioningType);
  52805. ;
  52806. args.push(this.UserDefinedPartitioningType);
  52807. ;
  52808. return args;
  52809. }
  52810. };
  52811. var IfcWindowLiningProperties = class {
  52812. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) {
  52813. this.expressID = expressID;
  52814. this.type = type;
  52815. this.GlobalId = GlobalId;
  52816. this.OwnerHistory = OwnerHistory;
  52817. this.Name = Name;
  52818. this.Description = Description;
  52819. this.LiningDepth = LiningDepth;
  52820. this.LiningThickness = LiningThickness;
  52821. this.TransomThickness = TransomThickness;
  52822. this.MullionThickness = MullionThickness;
  52823. this.FirstTransomOffset = FirstTransomOffset;
  52824. this.SecondTransomOffset = SecondTransomOffset;
  52825. this.FirstMullionOffset = FirstMullionOffset;
  52826. this.SecondMullionOffset = SecondMullionOffset;
  52827. this.ShapeAspectStyle = ShapeAspectStyle;
  52828. this.LiningOffset = LiningOffset;
  52829. this.LiningToPanelOffsetX = LiningToPanelOffsetX;
  52830. this.LiningToPanelOffsetY = LiningToPanelOffsetY;
  52831. }
  52832. static FromTape(expressID, type, tape) {
  52833. let ptr = 0;
  52834. let GlobalId = tape[ptr++];
  52835. let OwnerHistory = tape[ptr++];
  52836. let Name = tape[ptr++];
  52837. let Description = tape[ptr++];
  52838. let LiningDepth = tape[ptr++];
  52839. let LiningThickness = tape[ptr++];
  52840. let TransomThickness = tape[ptr++];
  52841. let MullionThickness = tape[ptr++];
  52842. let FirstTransomOffset = tape[ptr++];
  52843. let SecondTransomOffset = tape[ptr++];
  52844. let FirstMullionOffset = tape[ptr++];
  52845. let SecondMullionOffset = tape[ptr++];
  52846. let ShapeAspectStyle = tape[ptr++];
  52847. let LiningOffset = tape[ptr++];
  52848. let LiningToPanelOffsetX = tape[ptr++];
  52849. let LiningToPanelOffsetY = tape[ptr++];
  52850. return new IfcWindowLiningProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY);
  52851. }
  52852. ToTape() {
  52853. let args = [];
  52854. args.push(this.GlobalId);
  52855. ;
  52856. args.push(this.OwnerHistory);
  52857. ;
  52858. args.push(this.Name);
  52859. ;
  52860. args.push(this.Description);
  52861. ;
  52862. args.push(this.LiningDepth);
  52863. ;
  52864. args.push(this.LiningThickness);
  52865. ;
  52866. args.push(this.TransomThickness);
  52867. ;
  52868. args.push(this.MullionThickness);
  52869. ;
  52870. args.push(this.FirstTransomOffset);
  52871. ;
  52872. args.push(this.SecondTransomOffset);
  52873. ;
  52874. args.push(this.FirstMullionOffset);
  52875. ;
  52876. args.push(this.SecondMullionOffset);
  52877. ;
  52878. args.push(this.ShapeAspectStyle);
  52879. ;
  52880. args.push(this.LiningOffset);
  52881. ;
  52882. args.push(this.LiningToPanelOffsetX);
  52883. ;
  52884. args.push(this.LiningToPanelOffsetY);
  52885. ;
  52886. return args;
  52887. }
  52888. };
  52889. var IfcWindowPanelProperties = class {
  52890. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
  52891. this.expressID = expressID;
  52892. this.type = type;
  52893. this.GlobalId = GlobalId;
  52894. this.OwnerHistory = OwnerHistory;
  52895. this.Name = Name;
  52896. this.Description = Description;
  52897. this.OperationType = OperationType;
  52898. this.PanelPosition = PanelPosition;
  52899. this.FrameDepth = FrameDepth;
  52900. this.FrameThickness = FrameThickness;
  52901. this.ShapeAspectStyle = ShapeAspectStyle;
  52902. }
  52903. static FromTape(expressID, type, tape) {
  52904. let ptr = 0;
  52905. let GlobalId = tape[ptr++];
  52906. let OwnerHistory = tape[ptr++];
  52907. let Name = tape[ptr++];
  52908. let Description = tape[ptr++];
  52909. let OperationType = tape[ptr++];
  52910. let PanelPosition = tape[ptr++];
  52911. let FrameDepth = tape[ptr++];
  52912. let FrameThickness = tape[ptr++];
  52913. let ShapeAspectStyle = tape[ptr++];
  52914. return new IfcWindowPanelProperties(expressID, type, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle);
  52915. }
  52916. ToTape() {
  52917. let args = [];
  52918. args.push(this.GlobalId);
  52919. ;
  52920. args.push(this.OwnerHistory);
  52921. ;
  52922. args.push(this.Name);
  52923. ;
  52924. args.push(this.Description);
  52925. ;
  52926. args.push(this.OperationType);
  52927. ;
  52928. args.push(this.PanelPosition);
  52929. ;
  52930. args.push(this.FrameDepth);
  52931. ;
  52932. args.push(this.FrameThickness);
  52933. ;
  52934. args.push(this.ShapeAspectStyle);
  52935. ;
  52936. return args;
  52937. }
  52938. };
  52939. var IfcWindowStandardCase = class {
  52940. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) {
  52941. this.expressID = expressID;
  52942. this.type = type;
  52943. this.GlobalId = GlobalId;
  52944. this.OwnerHistory = OwnerHistory;
  52945. this.Name = Name;
  52946. this.Description = Description;
  52947. this.ObjectType = ObjectType;
  52948. this.ObjectPlacement = ObjectPlacement;
  52949. this.Representation = Representation;
  52950. this.Tag = Tag;
  52951. this.OverallHeight = OverallHeight;
  52952. this.OverallWidth = OverallWidth;
  52953. this.PredefinedType = PredefinedType;
  52954. this.PartitioningType = PartitioningType;
  52955. this.UserDefinedPartitioningType = UserDefinedPartitioningType;
  52956. }
  52957. static FromTape(expressID, type, tape) {
  52958. let ptr = 0;
  52959. let GlobalId = tape[ptr++];
  52960. let OwnerHistory = tape[ptr++];
  52961. let Name = tape[ptr++];
  52962. let Description = tape[ptr++];
  52963. let ObjectType = tape[ptr++];
  52964. let ObjectPlacement = tape[ptr++];
  52965. let Representation = tape[ptr++];
  52966. let Tag = tape[ptr++];
  52967. let OverallHeight = tape[ptr++];
  52968. let OverallWidth = tape[ptr++];
  52969. let PredefinedType = tape[ptr++];
  52970. let PartitioningType = tape[ptr++];
  52971. let UserDefinedPartitioningType = tape[ptr++];
  52972. return new IfcWindowStandardCase(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType);
  52973. }
  52974. ToTape() {
  52975. let args = [];
  52976. args.push(this.GlobalId);
  52977. ;
  52978. args.push(this.OwnerHistory);
  52979. ;
  52980. args.push(this.Name);
  52981. ;
  52982. args.push(this.Description);
  52983. ;
  52984. args.push(this.ObjectType);
  52985. ;
  52986. args.push(this.ObjectPlacement);
  52987. ;
  52988. args.push(this.Representation);
  52989. ;
  52990. args.push(this.Tag);
  52991. ;
  52992. args.push(this.OverallHeight);
  52993. ;
  52994. args.push(this.OverallWidth);
  52995. ;
  52996. args.push(this.PredefinedType);
  52997. ;
  52998. args.push(this.PartitioningType);
  52999. ;
  53000. args.push(this.UserDefinedPartitioningType);
  53001. ;
  53002. return args;
  53003. }
  53004. };
  53005. var IfcWindowStyle = class {
  53006. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) {
  53007. this.expressID = expressID;
  53008. this.type = type;
  53009. this.GlobalId = GlobalId;
  53010. this.OwnerHistory = OwnerHistory;
  53011. this.Name = Name;
  53012. this.Description = Description;
  53013. this.ApplicableOccurrence = ApplicableOccurrence;
  53014. this.HasPropertySets = HasPropertySets;
  53015. this.RepresentationMaps = RepresentationMaps;
  53016. this.Tag = Tag;
  53017. this.ConstructionType = ConstructionType;
  53018. this.OperationType = OperationType;
  53019. this.ParameterTakesPrecedence = ParameterTakesPrecedence;
  53020. this.Sizeable = Sizeable;
  53021. }
  53022. static FromTape(expressID, type, tape) {
  53023. let ptr = 0;
  53024. let GlobalId = tape[ptr++];
  53025. let OwnerHistory = tape[ptr++];
  53026. let Name = tape[ptr++];
  53027. let Description = tape[ptr++];
  53028. let ApplicableOccurrence = tape[ptr++];
  53029. let HasPropertySets = tape[ptr++];
  53030. let RepresentationMaps = tape[ptr++];
  53031. let Tag = tape[ptr++];
  53032. let ConstructionType = tape[ptr++];
  53033. let OperationType = tape[ptr++];
  53034. let ParameterTakesPrecedence = tape[ptr++];
  53035. let Sizeable = tape[ptr++];
  53036. return new IfcWindowStyle(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable);
  53037. }
  53038. ToTape() {
  53039. let args = [];
  53040. args.push(this.GlobalId);
  53041. ;
  53042. args.push(this.OwnerHistory);
  53043. ;
  53044. args.push(this.Name);
  53045. ;
  53046. args.push(this.Description);
  53047. ;
  53048. args.push(this.ApplicableOccurrence);
  53049. ;
  53050. args.push(this.HasPropertySets);
  53051. ;
  53052. args.push(this.RepresentationMaps);
  53053. ;
  53054. args.push(this.Tag);
  53055. ;
  53056. args.push(this.ConstructionType);
  53057. ;
  53058. args.push(this.OperationType);
  53059. ;
  53060. args.push(this.ParameterTakesPrecedence);
  53061. ;
  53062. args.push(this.Sizeable);
  53063. ;
  53064. return args;
  53065. }
  53066. };
  53067. var IfcWindowType = class {
  53068. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) {
  53069. this.expressID = expressID;
  53070. this.type = type;
  53071. this.GlobalId = GlobalId;
  53072. this.OwnerHistory = OwnerHistory;
  53073. this.Name = Name;
  53074. this.Description = Description;
  53075. this.ApplicableOccurrence = ApplicableOccurrence;
  53076. this.HasPropertySets = HasPropertySets;
  53077. this.RepresentationMaps = RepresentationMaps;
  53078. this.Tag = Tag;
  53079. this.ElementType = ElementType;
  53080. this.PredefinedType = PredefinedType;
  53081. this.PartitioningType = PartitioningType;
  53082. this.ParameterTakesPrecedence = ParameterTakesPrecedence;
  53083. this.UserDefinedPartitioningType = UserDefinedPartitioningType;
  53084. }
  53085. static FromTape(expressID, type, tape) {
  53086. let ptr = 0;
  53087. let GlobalId = tape[ptr++];
  53088. let OwnerHistory = tape[ptr++];
  53089. let Name = tape[ptr++];
  53090. let Description = tape[ptr++];
  53091. let ApplicableOccurrence = tape[ptr++];
  53092. let HasPropertySets = tape[ptr++];
  53093. let RepresentationMaps = tape[ptr++];
  53094. let Tag = tape[ptr++];
  53095. let ElementType = tape[ptr++];
  53096. let PredefinedType = tape[ptr++];
  53097. let PartitioningType = tape[ptr++];
  53098. let ParameterTakesPrecedence = tape[ptr++];
  53099. let UserDefinedPartitioningType = tape[ptr++];
  53100. return new IfcWindowType(expressID, type, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType);
  53101. }
  53102. ToTape() {
  53103. let args = [];
  53104. args.push(this.GlobalId);
  53105. ;
  53106. args.push(this.OwnerHistory);
  53107. ;
  53108. args.push(this.Name);
  53109. ;
  53110. args.push(this.Description);
  53111. ;
  53112. args.push(this.ApplicableOccurrence);
  53113. ;
  53114. args.push(this.HasPropertySets);
  53115. ;
  53116. args.push(this.RepresentationMaps);
  53117. ;
  53118. args.push(this.Tag);
  53119. ;
  53120. args.push(this.ElementType);
  53121. ;
  53122. args.push(this.PredefinedType);
  53123. ;
  53124. args.push(this.PartitioningType);
  53125. ;
  53126. args.push(this.ParameterTakesPrecedence);
  53127. ;
  53128. args.push(this.UserDefinedPartitioningType);
  53129. ;
  53130. return args;
  53131. }
  53132. };
  53133. var IfcWorkCalendar = class {
  53134. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) {
  53135. this.expressID = expressID;
  53136. this.type = type;
  53137. this.GlobalId = GlobalId;
  53138. this.OwnerHistory = OwnerHistory;
  53139. this.Name = Name;
  53140. this.Description = Description;
  53141. this.ObjectType = ObjectType;
  53142. this.Identification = Identification;
  53143. this.WorkingTimes = WorkingTimes;
  53144. this.ExceptionTimes = ExceptionTimes;
  53145. this.PredefinedType = PredefinedType;
  53146. }
  53147. static FromTape(expressID, type, tape) {
  53148. let ptr = 0;
  53149. let GlobalId = tape[ptr++];
  53150. let OwnerHistory = tape[ptr++];
  53151. let Name = tape[ptr++];
  53152. let Description = tape[ptr++];
  53153. let ObjectType = tape[ptr++];
  53154. let Identification = tape[ptr++];
  53155. let WorkingTimes = tape[ptr++];
  53156. let ExceptionTimes = tape[ptr++];
  53157. let PredefinedType = tape[ptr++];
  53158. return new IfcWorkCalendar(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType);
  53159. }
  53160. ToTape() {
  53161. let args = [];
  53162. args.push(this.GlobalId);
  53163. ;
  53164. args.push(this.OwnerHistory);
  53165. ;
  53166. args.push(this.Name);
  53167. ;
  53168. args.push(this.Description);
  53169. ;
  53170. args.push(this.ObjectType);
  53171. ;
  53172. args.push(this.Identification);
  53173. ;
  53174. args.push(this.WorkingTimes);
  53175. ;
  53176. args.push(this.ExceptionTimes);
  53177. ;
  53178. args.push(this.PredefinedType);
  53179. ;
  53180. return args;
  53181. }
  53182. };
  53183. var IfcWorkControl = class {
  53184. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) {
  53185. this.expressID = expressID;
  53186. this.type = type;
  53187. this.GlobalId = GlobalId;
  53188. this.OwnerHistory = OwnerHistory;
  53189. this.Name = Name;
  53190. this.Description = Description;
  53191. this.ObjectType = ObjectType;
  53192. this.Identification = Identification;
  53193. this.CreationDate = CreationDate;
  53194. this.Creators = Creators;
  53195. this.Purpose = Purpose;
  53196. this.Duration = Duration;
  53197. this.TotalFloat = TotalFloat;
  53198. this.StartTime = StartTime;
  53199. this.FinishTime = FinishTime;
  53200. }
  53201. static FromTape(expressID, type, tape) {
  53202. let ptr = 0;
  53203. let GlobalId = tape[ptr++];
  53204. let OwnerHistory = tape[ptr++];
  53205. let Name = tape[ptr++];
  53206. let Description = tape[ptr++];
  53207. let ObjectType = tape[ptr++];
  53208. let Identification = tape[ptr++];
  53209. let CreationDate = tape[ptr++];
  53210. let Creators = tape[ptr++];
  53211. let Purpose = tape[ptr++];
  53212. let Duration = tape[ptr++];
  53213. let TotalFloat = tape[ptr++];
  53214. let StartTime = tape[ptr++];
  53215. let FinishTime = tape[ptr++];
  53216. return new IfcWorkControl(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime);
  53217. }
  53218. ToTape() {
  53219. let args = [];
  53220. args.push(this.GlobalId);
  53221. ;
  53222. args.push(this.OwnerHistory);
  53223. ;
  53224. args.push(this.Name);
  53225. ;
  53226. args.push(this.Description);
  53227. ;
  53228. args.push(this.ObjectType);
  53229. ;
  53230. args.push(this.Identification);
  53231. ;
  53232. args.push(this.CreationDate);
  53233. ;
  53234. args.push(this.Creators);
  53235. ;
  53236. args.push(this.Purpose);
  53237. ;
  53238. args.push(this.Duration);
  53239. ;
  53240. args.push(this.TotalFloat);
  53241. ;
  53242. args.push(this.StartTime);
  53243. ;
  53244. args.push(this.FinishTime);
  53245. ;
  53246. return args;
  53247. }
  53248. };
  53249. var IfcWorkPlan = class {
  53250. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) {
  53251. this.expressID = expressID;
  53252. this.type = type;
  53253. this.GlobalId = GlobalId;
  53254. this.OwnerHistory = OwnerHistory;
  53255. this.Name = Name;
  53256. this.Description = Description;
  53257. this.ObjectType = ObjectType;
  53258. this.Identification = Identification;
  53259. this.CreationDate = CreationDate;
  53260. this.Creators = Creators;
  53261. this.Purpose = Purpose;
  53262. this.Duration = Duration;
  53263. this.TotalFloat = TotalFloat;
  53264. this.StartTime = StartTime;
  53265. this.FinishTime = FinishTime;
  53266. this.PredefinedType = PredefinedType;
  53267. }
  53268. static FromTape(expressID, type, tape) {
  53269. let ptr = 0;
  53270. let GlobalId = tape[ptr++];
  53271. let OwnerHistory = tape[ptr++];
  53272. let Name = tape[ptr++];
  53273. let Description = tape[ptr++];
  53274. let ObjectType = tape[ptr++];
  53275. let Identification = tape[ptr++];
  53276. let CreationDate = tape[ptr++];
  53277. let Creators = tape[ptr++];
  53278. let Purpose = tape[ptr++];
  53279. let Duration = tape[ptr++];
  53280. let TotalFloat = tape[ptr++];
  53281. let StartTime = tape[ptr++];
  53282. let FinishTime = tape[ptr++];
  53283. let PredefinedType = tape[ptr++];
  53284. return new IfcWorkPlan(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType);
  53285. }
  53286. ToTape() {
  53287. let args = [];
  53288. args.push(this.GlobalId);
  53289. ;
  53290. args.push(this.OwnerHistory);
  53291. ;
  53292. args.push(this.Name);
  53293. ;
  53294. args.push(this.Description);
  53295. ;
  53296. args.push(this.ObjectType);
  53297. ;
  53298. args.push(this.Identification);
  53299. ;
  53300. args.push(this.CreationDate);
  53301. ;
  53302. args.push(this.Creators);
  53303. ;
  53304. args.push(this.Purpose);
  53305. ;
  53306. args.push(this.Duration);
  53307. ;
  53308. args.push(this.TotalFloat);
  53309. ;
  53310. args.push(this.StartTime);
  53311. ;
  53312. args.push(this.FinishTime);
  53313. ;
  53314. args.push(this.PredefinedType);
  53315. ;
  53316. return args;
  53317. }
  53318. };
  53319. var IfcWorkSchedule = class {
  53320. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) {
  53321. this.expressID = expressID;
  53322. this.type = type;
  53323. this.GlobalId = GlobalId;
  53324. this.OwnerHistory = OwnerHistory;
  53325. this.Name = Name;
  53326. this.Description = Description;
  53327. this.ObjectType = ObjectType;
  53328. this.Identification = Identification;
  53329. this.CreationDate = CreationDate;
  53330. this.Creators = Creators;
  53331. this.Purpose = Purpose;
  53332. this.Duration = Duration;
  53333. this.TotalFloat = TotalFloat;
  53334. this.StartTime = StartTime;
  53335. this.FinishTime = FinishTime;
  53336. this.PredefinedType = PredefinedType;
  53337. }
  53338. static FromTape(expressID, type, tape) {
  53339. let ptr = 0;
  53340. let GlobalId = tape[ptr++];
  53341. let OwnerHistory = tape[ptr++];
  53342. let Name = tape[ptr++];
  53343. let Description = tape[ptr++];
  53344. let ObjectType = tape[ptr++];
  53345. let Identification = tape[ptr++];
  53346. let CreationDate = tape[ptr++];
  53347. let Creators = tape[ptr++];
  53348. let Purpose = tape[ptr++];
  53349. let Duration = tape[ptr++];
  53350. let TotalFloat = tape[ptr++];
  53351. let StartTime = tape[ptr++];
  53352. let FinishTime = tape[ptr++];
  53353. let PredefinedType = tape[ptr++];
  53354. return new IfcWorkSchedule(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType);
  53355. }
  53356. ToTape() {
  53357. let args = [];
  53358. args.push(this.GlobalId);
  53359. ;
  53360. args.push(this.OwnerHistory);
  53361. ;
  53362. args.push(this.Name);
  53363. ;
  53364. args.push(this.Description);
  53365. ;
  53366. args.push(this.ObjectType);
  53367. ;
  53368. args.push(this.Identification);
  53369. ;
  53370. args.push(this.CreationDate);
  53371. ;
  53372. args.push(this.Creators);
  53373. ;
  53374. args.push(this.Purpose);
  53375. ;
  53376. args.push(this.Duration);
  53377. ;
  53378. args.push(this.TotalFloat);
  53379. ;
  53380. args.push(this.StartTime);
  53381. ;
  53382. args.push(this.FinishTime);
  53383. ;
  53384. args.push(this.PredefinedType);
  53385. ;
  53386. return args;
  53387. }
  53388. };
  53389. var IfcWorkTime = class {
  53390. constructor(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, Start, Finish) {
  53391. this.expressID = expressID;
  53392. this.type = type;
  53393. this.Name = Name;
  53394. this.DataOrigin = DataOrigin;
  53395. this.UserDefinedDataOrigin = UserDefinedDataOrigin;
  53396. this.RecurrencePattern = RecurrencePattern;
  53397. this.Start = Start;
  53398. this.Finish = Finish;
  53399. }
  53400. static FromTape(expressID, type, tape) {
  53401. let ptr = 0;
  53402. let Name = tape[ptr++];
  53403. let DataOrigin = tape[ptr++];
  53404. let UserDefinedDataOrigin = tape[ptr++];
  53405. let RecurrencePattern = tape[ptr++];
  53406. let Start = tape[ptr++];
  53407. let Finish = tape[ptr++];
  53408. return new IfcWorkTime(expressID, type, Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, Start, Finish);
  53409. }
  53410. ToTape() {
  53411. let args = [];
  53412. args.push(this.Name);
  53413. ;
  53414. args.push(this.DataOrigin);
  53415. ;
  53416. args.push(this.UserDefinedDataOrigin);
  53417. ;
  53418. args.push(this.RecurrencePattern);
  53419. ;
  53420. args.push(this.Start);
  53421. ;
  53422. args.push(this.Finish);
  53423. ;
  53424. return args;
  53425. }
  53426. };
  53427. var IfcZShapeProfileDef = class {
  53428. constructor(expressID, type, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) {
  53429. this.expressID = expressID;
  53430. this.type = type;
  53431. this.ProfileType = ProfileType;
  53432. this.ProfileName = ProfileName;
  53433. this.Position = Position;
  53434. this.Depth = Depth;
  53435. this.FlangeWidth = FlangeWidth;
  53436. this.WebThickness = WebThickness;
  53437. this.FlangeThickness = FlangeThickness;
  53438. this.FilletRadius = FilletRadius;
  53439. this.EdgeRadius = EdgeRadius;
  53440. }
  53441. static FromTape(expressID, type, tape) {
  53442. let ptr = 0;
  53443. let ProfileType = tape[ptr++];
  53444. let ProfileName = tape[ptr++];
  53445. let Position = tape[ptr++];
  53446. let Depth = tape[ptr++];
  53447. let FlangeWidth = tape[ptr++];
  53448. let WebThickness = tape[ptr++];
  53449. let FlangeThickness = tape[ptr++];
  53450. let FilletRadius = tape[ptr++];
  53451. let EdgeRadius = tape[ptr++];
  53452. return new IfcZShapeProfileDef(expressID, type, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius);
  53453. }
  53454. ToTape() {
  53455. let args = [];
  53456. args.push(this.ProfileType);
  53457. ;
  53458. args.push(this.ProfileName);
  53459. ;
  53460. args.push(this.Position);
  53461. ;
  53462. args.push(this.Depth);
  53463. ;
  53464. args.push(this.FlangeWidth);
  53465. ;
  53466. args.push(this.WebThickness);
  53467. ;
  53468. args.push(this.FlangeThickness);
  53469. ;
  53470. args.push(this.FilletRadius);
  53471. ;
  53472. args.push(this.EdgeRadius);
  53473. ;
  53474. return args;
  53475. }
  53476. };
  53477. var IfcZone = class {
  53478. constructor(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) {
  53479. this.expressID = expressID;
  53480. this.type = type;
  53481. this.GlobalId = GlobalId;
  53482. this.OwnerHistory = OwnerHistory;
  53483. this.Name = Name;
  53484. this.Description = Description;
  53485. this.ObjectType = ObjectType;
  53486. this.LongName = LongName;
  53487. }
  53488. static FromTape(expressID, type, tape) {
  53489. let ptr = 0;
  53490. let GlobalId = tape[ptr++];
  53491. let OwnerHistory = tape[ptr++];
  53492. let Name = tape[ptr++];
  53493. let Description = tape[ptr++];
  53494. let ObjectType = tape[ptr++];
  53495. let LongName = tape[ptr++];
  53496. return new IfcZone(expressID, type, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName);
  53497. }
  53498. ToTape() {
  53499. let args = [];
  53500. args.push(this.GlobalId);
  53501. ;
  53502. args.push(this.OwnerHistory);
  53503. ;
  53504. args.push(this.Name);
  53505. ;
  53506. args.push(this.Description);
  53507. ;
  53508. args.push(this.ObjectType);
  53509. ;
  53510. args.push(this.LongName);
  53511. ;
  53512. return args;
  53513. }
  53514. };
  53515. // dist/helpers/ifc-elements.ts
  53516. var IfcElements2 = {
  53517. 103090709: "IFCPROJECT",
  53518. 4097777520: "IFCSITE",
  53519. 4031249490: "IFCBUILDING",
  53520. 3124254112: "IFCBUILDINGSTOREY",
  53521. 3856911033: "IFCSPACE",
  53522. 1674181508: "IFCANNOTATION",
  53523. 25142252: "IFCCONTROLLER",
  53524. 32344328: "IFCBOILER",
  53525. 76236018: "IFCLAMP",
  53526. 90941305: "IFCPUMP",
  53527. 177149247: "IFCAIRTERMINALBOX",
  53528. 182646315: "IFCFLOWINSTRUMENT",
  53529. 263784265: "IFCFURNISHINGELEMENT",
  53530. 264262732: "IFCELECTRICGENERATOR",
  53531. 277319702: "IFCAUDIOVISUALAPPLIANCE",
  53532. 310824031: "IFCPIPEFITTING",
  53533. 331165859: "IFCSTAIR",
  53534. 342316401: "IFCDUCTFITTING",
  53535. 377706215: "IFCMECHANICALFASTENER",
  53536. 395920057: "IFCDOOR",
  53537. 402227799: "IFCELECTRICMOTOR",
  53538. 413509423: "IFCSYSTEMFURNITUREELEMENT",
  53539. 484807127: "IFCEVAPORATOR",
  53540. 486154966: "IFCWINDOWSTANDARDCASE",
  53541. 629592764: "IFCLIGHTFIXTURE",
  53542. 630975310: "IFCUNITARYCONTROLELEMENT",
  53543. 635142910: "IFCCABLECARRIERFITTING",
  53544. 639361253: "IFCCOIL",
  53545. 647756555: "IFCFASTENER",
  53546. 707683696: "IFCFLOWSTORAGEDEVICE",
  53547. 738039164: "IFCPROTECTIVEDEVICE",
  53548. 753842376: "IFCBEAM",
  53549. 812556717: "IFCTANK",
  53550. 819412036: "IFCFILTER",
  53551. 843113511: "IFCCOLUMN",
  53552. 862014818: "IFCELECTRICDISTRIBUTIONBOARD",
  53553. 900683007: "IFCFOOTING",
  53554. 905975707: "IFCCOLUMNSTANDARDCASE",
  53555. 926996030: "IFCVOIDINGFEATURE",
  53556. 979691226: "IFCREINFORCINGBAR",
  53557. 987401354: "IFCFLOWSEGMENT",
  53558. 1003880860: "IFCELECTRICTIMECONTROL",
  53559. 1051757585: "IFCCABLEFITTING",
  53560. 1052013943: "IFCDISTRIBUTIONCHAMBERELEMENT",
  53561. 1062813311: "IFCDISTRIBUTIONCONTROLELEMENT",
  53562. 1073191201: "IFCMEMBER",
  53563. 1095909175: "IFCBUILDINGELEMENTPROXY",
  53564. 1156407060: "IFCPLATESTANDARDCASE",
  53565. 1162798199: "IFCSWITCHINGDEVICE",
  53566. 1329646415: "IFCSHADINGDEVICE",
  53567. 1335981549: "IFCDISCRETEACCESSORY",
  53568. 1360408905: "IFCDUCTSILENCER",
  53569. 1404847402: "IFCSTACKTERMINAL",
  53570. 1426591983: "IFCFIRESUPPRESSIONTERMINAL",
  53571. 1437502449: "IFCMEDICALDEVICE",
  53572. 1509553395: "IFCFURNITURE",
  53573. 1529196076: "IFCSLAB",
  53574. 1620046519: "IFCTRANSPORTELEMENT",
  53575. 1634111441: "IFCAIRTERMINAL",
  53576. 1658829314: "IFCENERGYCONVERSIONDEVICE",
  53577. 1677625105: "IFCCIVILELEMENT",
  53578. 1687234759: "IFCPILE",
  53579. 1904799276: "IFCELECTRICAPPLIANCE",
  53580. 1911478936: "IFCMEMBERSTANDARDCASE",
  53581. 1945004755: "IFCDISTRIBUTIONELEMENT",
  53582. 1973544240: "IFCCOVERING",
  53583. 1999602285: "IFCSPACEHEATER",
  53584. 2016517767: "IFCROOF",
  53585. 2056796094: "IFCAIRTOAIRHEATRECOVERY",
  53586. 2058353004: "IFCFLOWCONTROLLER",
  53587. 2068733104: "IFCHUMIDIFIER",
  53588. 2176052936: "IFCJUNCTIONBOX",
  53589. 2188021234: "IFCFLOWMETER",
  53590. 2223149337: "IFCFLOWTERMINAL",
  53591. 2262370178: "IFCRAILING",
  53592. 2272882330: "IFCCONDENSER",
  53593. 2295281155: "IFCPROTECTIVEDEVICETRIPPINGUNIT",
  53594. 2320036040: "IFCREINFORCINGMESH",
  53595. 2347447852: "IFCTENDONANCHOR",
  53596. 2391383451: "IFCVIBRATIONISOLATOR",
  53597. 2391406946: "IFCWALL",
  53598. 2474470126: "IFCMOTORCONNECTION",
  53599. 2769231204: "IFCVIRTUALELEMENT",
  53600. 2814081492: "IFCENGINE",
  53601. 2906023776: "IFCBEAMSTANDARDCASE",
  53602. 2938176219: "IFCBURNER",
  53603. 2979338954: "IFCBUILDINGELEMENTPART",
  53604. 3024970846: "IFCRAMP",
  53605. 3026737570: "IFCTUBEBUNDLE",
  53606. 3027962421: "IFCSLABSTANDARDCASE",
  53607. 3040386961: "IFCDISTRIBUTIONFLOWELEMENT",
  53608. 3053780830: "IFCSANITARYTERMINAL",
  53609. 3079942009: "IFCOPENINGSTANDARDCASE",
  53610. 3087945054: "IFCALARM",
  53611. 3101698114: "IFCSURFACEFEATURE",
  53612. 3127900445: "IFCSLABELEMENTEDCASE",
  53613. 3132237377: "IFCFLOWMOVINGDEVICE",
  53614. 3171933400: "IFCPLATE",
  53615. 3221913625: "IFCCOMMUNICATIONSAPPLIANCE",
  53616. 3242481149: "IFCDOORSTANDARDCASE",
  53617. 3283111854: "IFCRAMPFLIGHT",
  53618. 3296154744: "IFCCHIMNEY",
  53619. 3304561284: "IFCWINDOW",
  53620. 3310460725: "IFCELECTRICFLOWSTORAGEDEVICE",
  53621. 3319311131: "IFCHEATEXCHANGER",
  53622. 3415622556: "IFCFAN",
  53623. 3420628829: "IFCSOLARDEVICE",
  53624. 3493046030: "IFCGEOGRAPHICELEMENT",
  53625. 3495092785: "IFCCURTAINWALL",
  53626. 3508470533: "IFCFLOWTREATMENTDEVICE",
  53627. 3512223829: "IFCWALLSTANDARDCASE",
  53628. 3518393246: "IFCDUCTSEGMENT",
  53629. 3571504051: "IFCCOMPRESSOR",
  53630. 3588315303: "IFCOPENINGELEMENT",
  53631. 3612865200: "IFCPIPESEGMENT",
  53632. 3640358203: "IFCCOOLINGTOWER",
  53633. 3651124850: "IFCPROJECTIONELEMENT",
  53634. 3694346114: "IFCOUTLET",
  53635. 3747195512: "IFCEVAPORATIVECOOLER",
  53636. 3758799889: "IFCCABLECARRIERSEGMENT",
  53637. 3824725483: "IFCTENDON",
  53638. 3825984169: "IFCTRANSFORMER",
  53639. 3902619387: "IFCCHILLER",
  53640. 4074379575: "IFCDAMPER",
  53641. 4086658281: "IFCSENSOR",
  53642. 4123344466: "IFCELEMENTASSEMBLY",
  53643. 4136498852: "IFCCOOLEDBEAM",
  53644. 4156078855: "IFCWALLELEMENTEDCASE",
  53645. 4175244083: "IFCINTERCEPTOR",
  53646. 4207607924: "IFCVALVE",
  53647. 4217484030: "IFCCABLESEGMENT",
  53648. 4237592921: "IFCWASTETERMINAL",
  53649. 4252922144: "IFCSTAIRFLIGHT",
  53650. 4278956645: "IFCFLOWFITTING",
  53651. 4288193352: "IFCACTUATOR",
  53652. 4292641817: "IFCUNITARYEQUIPMENT",
  53653. 3009204131: "IFCGRID"
  53654. };
  53655. // dist/helpers/properties.ts
  53656. var PropsNames = {
  53657. aggregates: {
  53658. name: IFCRELAGGREGATES,
  53659. relating: "RelatingObject",
  53660. related: "RelatedObjects",
  53661. key: "children"
  53662. },
  53663. spatial: {
  53664. name: IFCRELCONTAINEDINSPATIALSTRUCTURE,
  53665. relating: "RelatingStructure",
  53666. related: "RelatedElements",
  53667. key: "children"
  53668. },
  53669. psets: {
  53670. name: IFCRELDEFINESBYPROPERTIES,
  53671. relating: "RelatingPropertyDefinition",
  53672. related: "RelatedObjects",
  53673. key: "hasPsets"
  53674. },
  53675. materials: {
  53676. name: IFCRELASSOCIATESMATERIAL,
  53677. relating: "RelatingMaterial",
  53678. related: "RelatedObjects",
  53679. key: "hasMaterial"
  53680. },
  53681. type: {
  53682. name: IFCRELDEFINESBYTYPE,
  53683. relating: "RelatingType",
  53684. related: "RelatedObjects",
  53685. key: "hasType"
  53686. }
  53687. };
  53688. var Properties = class {
  53689. constructor(api) {
  53690. this.api = api;
  53691. }
  53692. getItemProperties(modelID, id, recursive = false) {
  53693. return __async(this, null, function* () {
  53694. return this.api.GetLine(modelID, id, recursive);
  53695. });
  53696. }
  53697. getPropertySets(modelID, elementID, recursive = false) {
  53698. return __async(this, null, function* () {
  53699. return yield this.getProperty(modelID, elementID, recursive, PropsNames.psets);
  53700. });
  53701. }
  53702. getTypeProperties(modelID, elementID, recursive = false) {
  53703. return __async(this, null, function* () {
  53704. return yield this.getProperty(modelID, elementID, recursive, PropsNames.type);
  53705. });
  53706. }
  53707. getMaterialsProperties(modelID, elementID, recursive = false) {
  53708. return __async(this, null, function* () {
  53709. return yield this.getProperty(modelID, elementID, recursive, PropsNames.materials);
  53710. });
  53711. }
  53712. getSpatialStructure(modelID, includeProperties) {
  53713. return __async(this, null, function* () {
  53714. yield this.getAllTypesOfModel(modelID);
  53715. const chunks = yield this.getSpatialTreeChunks(modelID);
  53716. const allLines = yield this.api.GetLineIDsWithType(modelID, IFCPROJECT);
  53717. const projectID = allLines.get(0);
  53718. const project = Properties.newIfcProject(projectID);
  53719. yield this.getSpatialNode(modelID, project, chunks, includeProperties);
  53720. this.cleanupTypes();
  53721. return project;
  53722. });
  53723. }
  53724. getAllItemsOfType(modelID, type, verbose) {
  53725. return __async(this, null, function* () {
  53726. let items = [];
  53727. const lines = yield this.api.GetLineIDsWithType(modelID, type);
  53728. for (let i = 0; i < lines.size(); i++)
  53729. items.push(lines.get(i));
  53730. if (!verbose)
  53731. return items;
  53732. const result = [];
  53733. for (let i = 0; i < items.length; i++) {
  53734. result.push(yield this.api.GetLine(modelID, items[i]));
  53735. }
  53736. return result;
  53737. });
  53738. }
  53739. getProperty(modelID, elementID, recursive = false, propName) {
  53740. return __async(this, null, function* () {
  53741. const propSetIds = yield this.getAllRelatedItemsOfType(modelID, elementID, propName);
  53742. const result = [];
  53743. for (let i = 0; i < propSetIds.length; i++) {
  53744. result.push(yield this.api.GetLine(modelID, propSetIds[i], recursive));
  53745. }
  53746. return result;
  53747. });
  53748. }
  53749. getChunks(modelID, chunks, propNames) {
  53750. return __async(this, null, function* () {
  53751. const relation = yield this.api.GetLineIDsWithType(modelID, propNames.name);
  53752. for (let i = 0; i < relation.size(); i++) {
  53753. const rel = yield this.api.GetLine(modelID, relation.get(i), false);
  53754. this.saveChunk(chunks, propNames, rel);
  53755. }
  53756. });
  53757. }
  53758. static isRelated(id, rel, propNames) {
  53759. const relatedItems = rel[propNames.related];
  53760. if (Array.isArray(relatedItems)) {
  53761. const values = relatedItems.map((item) => item.value);
  53762. return values.includes(id);
  53763. }
  53764. return relatedItems.value === id;
  53765. }
  53766. static newIfcProject(id) {
  53767. return {
  53768. expressID: id,
  53769. type: "IFCPROJECT",
  53770. children: []
  53771. };
  53772. }
  53773. getSpatialNode(modelID, node, treeChunks, includeProperties) {
  53774. return __async(this, null, function* () {
  53775. yield this.getChildren(modelID, node, treeChunks, PropsNames.aggregates, includeProperties);
  53776. yield this.getChildren(modelID, node, treeChunks, PropsNames.spatial, includeProperties);
  53777. });
  53778. }
  53779. getChildren(modelID, node, treeChunks, propNames, includeProperties) {
  53780. return __async(this, null, function* () {
  53781. const children = treeChunks[node.expressID];
  53782. if (children == void 0)
  53783. return;
  53784. const prop = propNames.key;
  53785. const nodes = [];
  53786. for (let i = 0; i < children.length; i++) {
  53787. const child = children[i];
  53788. let node2 = this.newNode(child);
  53789. if (includeProperties) {
  53790. const properties = yield this.getItemProperties(modelID, node2.expressID);
  53791. node2 = __spreadValues(__spreadValues({}, properties), node2);
  53792. }
  53793. yield this.getSpatialNode(modelID, node2, treeChunks, includeProperties);
  53794. nodes.push(node2);
  53795. }
  53796. node[prop] = nodes;
  53797. });
  53798. }
  53799. newNode(id) {
  53800. const typeName = this.getNodeType(id);
  53801. return {
  53802. expressID: id,
  53803. type: typeName,
  53804. children: []
  53805. };
  53806. }
  53807. getNodeType(id) {
  53808. const typeID = this.types[id];
  53809. return IfcElements2[typeID];
  53810. }
  53811. getSpatialTreeChunks(modelID) {
  53812. return __async(this, null, function* () {
  53813. const treeChunks = {};
  53814. yield this.getChunks(modelID, treeChunks, PropsNames.aggregates);
  53815. yield this.getChunks(modelID, treeChunks, PropsNames.spatial);
  53816. return treeChunks;
  53817. });
  53818. }
  53819. saveChunk(chunks, propNames, rel) {
  53820. const relating = rel[propNames.relating].value;
  53821. const related = rel[propNames.related].map((r) => r.value);
  53822. if (chunks[relating] == void 0) {
  53823. chunks[relating] = related;
  53824. } else {
  53825. chunks[relating] = chunks[relating].concat(related);
  53826. }
  53827. }
  53828. getRelated(rel, propNames, IDs) {
  53829. const element = rel[propNames.relating];
  53830. if (!Array.isArray(element))
  53831. IDs.push(element.value);
  53832. else
  53833. element.forEach((ele) => IDs.push(ele.value));
  53834. }
  53835. getAllRelatedItemsOfType(modelID, id, propNames) {
  53836. return __async(this, null, function* () {
  53837. const lines = yield this.api.GetLineIDsWithType(modelID, propNames.name);
  53838. const IDs = [];
  53839. for (let i = 0; i < lines.size(); i++) {
  53840. const rel = yield this.api.GetLine(modelID, lines.get(i));
  53841. const isRelated = Properties.isRelated(id, rel, propNames);
  53842. if (isRelated)
  53843. this.getRelated(rel, propNames, IDs);
  53844. }
  53845. return IDs;
  53846. });
  53847. }
  53848. cleanupTypes() {
  53849. this.types = {};
  53850. }
  53851. getAllTypesOfModel(modelID) {
  53852. return __async(this, null, function* () {
  53853. const result = {};
  53854. const elements = Object.keys(IfcElements2).map((e) => parseInt(e));
  53855. for (let i = 0; i < elements.length; i++) {
  53856. const element = elements[i];
  53857. const lines = yield this.api.GetLineIDsWithType(modelID, element);
  53858. const size = lines.size();
  53859. for (let i2 = 0; i2 < size; i2++)
  53860. result[lines.get(i2)] = element;
  53861. }
  53862. this.types = result;
  53863. });
  53864. }
  53865. };
  53866. // dist/web-ifc-api.ts
  53867. var WebIFCWasm;
  53868. if (typeof self !== "undefined" && self.crossOriginIsolated) {
  53869. WebIFCWasm = require_web_ifc_mt();
  53870. } else {
  53871. WebIFCWasm = require_web_ifc();
  53872. }
  53873. var UNKNOWN = 0;
  53874. var STRING = 1;
  53875. var LABEL = 2;
  53876. var ENUM = 3;
  53877. var REAL = 4;
  53878. var REF = 5;
  53879. var EMPTY = 6;
  53880. var SET_BEGIN = 7;
  53881. var SET_END = 8;
  53882. var LINE_END = 9;
  53883. function ms() {
  53884. return new Date().getTime();
  53885. }
  53886. var IfcAPI2 = class {
  53887. constructor() {
  53888. this.wasmModule = void 0;
  53889. this.fs = void 0;
  53890. this.wasmPath = "";
  53891. this.ifcGuidMap = new Map();
  53892. this.properties = new Properties(this);
  53893. }
  53894. Init(customLocateFileHandler) {
  53895. return __async(this, null, function* () {
  53896. if (WebIFCWasm) {
  53897. let locateFileHandler = (path, prefix) => {
  53898. if (path.endsWith(".wasm")) {
  53899. return prefix + this.wasmPath + path;
  53900. }
  53901. return prefix + path;
  53902. };
  53903. this.wasmModule = yield WebIFCWasm({ noInitialRun: true, locateFile: customLocateFileHandler || locateFileHandler });
  53904. this.fs = this.wasmModule.FS;
  53905. } else {
  53906. console.error(`Could not find wasm module at './web-ifc' from web-ifc-api.ts`);
  53907. }
  53908. });
  53909. }
  53910. OpenModel(data, settings) {
  53911. let s = __spreadValues({
  53912. COORDINATE_TO_ORIGIN: false,
  53913. USE_FAST_BOOLS: false,
  53914. CIRCLE_SEGMENTS_LOW: 5,
  53915. CIRCLE_SEGMENTS_MEDIUM: 8,
  53916. CIRCLE_SEGMENTS_HIGH: 12,
  53917. BOOL_ABORT_THRESHOLD: 1e4
  53918. }, settings);
  53919. let offsetInSrc = 0;
  53920. let result = this.wasmModule.OpenModel(s, (destPtr, destSize) => {
  53921. let srcSize = Math.min(data.byteLength - offsetInSrc, destSize);
  53922. let dest = this.wasmModule.HEAPU8.subarray(destPtr, destPtr + destSize);
  53923. let src = data.subarray(offsetInSrc, offsetInSrc + srcSize);
  53924. dest.set(src);
  53925. offsetInSrc += srcSize;
  53926. return srcSize;
  53927. });
  53928. return result;
  53929. }
  53930. CreateModel(settings) {
  53931. let s = __spreadValues({
  53932. COORDINATE_TO_ORIGIN: false,
  53933. USE_FAST_BOOLS: false,
  53934. CIRCLE_SEGMENTS_LOW: 5,
  53935. CIRCLE_SEGMENTS_MEDIUM: 8,
  53936. CIRCLE_SEGMENTS_HIGH: 12,
  53937. BOOL_ABORT_THRESHOLD: 1e4
  53938. }, settings);
  53939. let result = this.wasmModule.CreateModel(s);
  53940. return result;
  53941. }
  53942. ExportFileAsIFC(modelID) {
  53943. this.wasmModule.ExportFileAsIFC(modelID);
  53944. let result = this.fs.readFile("/export.ifc");
  53945. this.wasmModule["FS_unlink"]("/export.ifc");
  53946. return result;
  53947. }
  53948. GetGeometry(modelID, geometryExpressID) {
  53949. return this.wasmModule.GetGeometry(modelID, geometryExpressID);
  53950. }
  53951. GetLine(modelID, expressID, flatten = false) {
  53952. let rawLineData = this.GetRawLineData(modelID, expressID);
  53953. let lineData = FromRawLineData[rawLineData.type](rawLineData);
  53954. if (flatten) {
  53955. this.FlattenLine(modelID, lineData);
  53956. }
  53957. return lineData;
  53958. }
  53959. GetAndClearErrors(modelID) {
  53960. return this.wasmModule.GetAndClearErrors(modelID);
  53961. }
  53962. WriteLine(modelID, lineObject) {
  53963. Object.keys(lineObject).forEach((propertyName) => {
  53964. let property = lineObject[propertyName];
  53965. if (property && property.expressID !== void 0) {
  53966. this.WriteLine(modelID, property);
  53967. lineObject[propertyName] = {
  53968. type: 5,
  53969. value: property.expressID
  53970. };
  53971. } else if (Array.isArray(property) && property.length > 0) {
  53972. for (let i = 0; i < property.length; i++) {
  53973. if (property[i].expressID !== void 0) {
  53974. this.WriteLine(modelID, property[i]);
  53975. lineObject[propertyName][i] = {
  53976. type: 5,
  53977. value: property[i].expressID
  53978. };
  53979. }
  53980. }
  53981. }
  53982. });
  53983. let rawLineData = {
  53984. ID: lineObject.expressID,
  53985. type: lineObject.type,
  53986. arguments: lineObject.ToTape()
  53987. };
  53988. this.WriteRawLineData(modelID, rawLineData);
  53989. }
  53990. FlattenLine(modelID, line) {
  53991. Object.keys(line).forEach((propertyName) => {
  53992. let property = line[propertyName];
  53993. if (property && property.type === 5) {
  53994. line[propertyName] = this.GetLine(modelID, property.value, true);
  53995. } else if (Array.isArray(property) && property.length > 0 && property[0].type === 5) {
  53996. for (let i = 0; i < property.length; i++) {
  53997. line[propertyName][i] = this.GetLine(modelID, property[i].value, true);
  53998. }
  53999. }
  54000. });
  54001. }
  54002. GetRawLineData(modelID, expressID) {
  54003. return this.wasmModule.GetLine(modelID, expressID);
  54004. }
  54005. WriteRawLineData(modelID, data) {
  54006. return this.wasmModule.WriteLine(modelID, data.ID, data.type, data.arguments);
  54007. }
  54008. GetLineIDsWithType(modelID, type) {
  54009. return this.wasmModule.GetLineIDsWithType(modelID, type);
  54010. }
  54011. GetAllLines(modelID) {
  54012. return this.wasmModule.GetAllLines(modelID);
  54013. }
  54014. SetGeometryTransformation(modelID, transformationMatrix) {
  54015. if (transformationMatrix.length != 16) {
  54016. console.log(`Bad transformation matrix size: ${transformationMatrix.length}`);
  54017. return;
  54018. }
  54019. this.wasmModule.SetGeometryTransformation(modelID, transformationMatrix);
  54020. }
  54021. GetCoordinationMatrix(modelID) {
  54022. return this.wasmModule.GetCoordinationMatrix(modelID);
  54023. }
  54024. GetVertexArray(ptr, size) {
  54025. return this.getSubArray(this.wasmModule.HEAPF32, ptr, size);
  54026. }
  54027. GetIndexArray(ptr, size) {
  54028. return this.getSubArray(this.wasmModule.HEAPU32, ptr, size);
  54029. }
  54030. getSubArray(heap, startPtr, sizeBytes) {
  54031. return heap.subarray(startPtr / 4, startPtr / 4 + sizeBytes).slice(0);
  54032. }
  54033. CloseModel(modelID) {
  54034. this.ifcGuidMap.delete(modelID);
  54035. this.wasmModule.CloseModel(modelID);
  54036. }
  54037. StreamAllMeshes(modelID, meshCallback) {
  54038. this.wasmModule.StreamAllMeshes(modelID, meshCallback);
  54039. }
  54040. StreamAllMeshesWithTypes(modelID, types, meshCallback) {
  54041. this.wasmModule.StreamAllMeshesWithTypes(modelID, types, meshCallback);
  54042. }
  54043. IsModelOpen(modelID) {
  54044. return this.wasmModule.IsModelOpen(modelID);
  54045. }
  54046. LoadAllGeometry(modelID) {
  54047. return this.wasmModule.LoadAllGeometry(modelID);
  54048. }
  54049. GetFlatMesh(modelID, expressID) {
  54050. return this.wasmModule.GetFlatMesh(modelID, expressID);
  54051. }
  54052. CreateIfcGuidToExpressIdMapping(modelID) {
  54053. const map = new Map();
  54054. for (let x = 0; x < IfcElements.length; x++) {
  54055. const type = IfcElements[x];
  54056. const lines = this.GetLineIDsWithType(modelID, type);
  54057. const size = lines.size();
  54058. for (let y = 0; y < size; y++) {
  54059. const expressID = lines.get(y);
  54060. const info = this.GetLine(modelID, expressID);
  54061. const globalID = info.GlobalId.value;
  54062. map.set(expressID, globalID);
  54063. map.set(globalID, expressID);
  54064. }
  54065. }
  54066. this.ifcGuidMap.set(modelID, map);
  54067. }
  54068. SetWasmPath(path) {
  54069. this.wasmPath = path;
  54070. }
  54071. };
  54072. return web_ifc_api_exports;
  54073. })();