StepReaderGen.cpp 783 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908
  1. /*
  2. Open Asset Import Library (ASSIMP)
  3. ----------------------------------------------------------------------
  4. Copyright (c) 2006-2018, ASSIMP Development Team
  5. All rights reserved.
  6. Redistribution and use of this software in source and binary forms,
  7. with or without modification, are permitted provided that the
  8. following conditions are met:
  9. * Redistributions of source code must retain the above
  10. copyright notice, this list of conditions and the
  11. following disclaimer.
  12. * Redistributions in binary form must reproduce the above
  13. copyright notice, this list of conditions and the
  14. following disclaimer in the documentation and/or other
  15. materials provided with the distribution.
  16. * Neither the name of the ASSIMP team, nor the names of its
  17. contributors may be used to endorse or promote products
  18. derived from this software without specific prior
  19. written permission of the ASSIMP Development Team.
  20. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. ----------------------------------------------------------------------
  32. */
  33. /** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
  34. #ifndef ASSIMP_BUILD_NO_STEPFILE_IMPORTER
  35. #include "code/Importer/StepFile/StepReaderGen.h"
  36. namespace Assimp {
  37. using namespace StepFile;
  38. namespace {
  39. typedef EXPRESS::ConversionSchema::SchemaEntry SchemaEntry;
  40. const SchemaEntry schema_raw[] = {
  41. SchemaEntry("absorbed_dose_measure",NULL )
  42. , SchemaEntry("acceleration_measure",NULL )
  43. , SchemaEntry("action_items",NULL )
  44. , SchemaEntry("action_method_items",NULL )
  45. , SchemaEntry("action_request_item",NULL )
  46. , SchemaEntry("ahead_or_behind",NULL )
  47. , SchemaEntry("amount_of_substance_measure",NULL )
  48. , SchemaEntry("angle_direction_reference_select",NULL )
  49. , SchemaEntry("angle_direction_reference_with_a2p3d_select",NULL )
  50. , SchemaEntry("angle_relator",NULL )
  51. , SchemaEntry("annotation_plane_element",NULL )
  52. , SchemaEntry("annotation_representation_select",NULL )
  53. , SchemaEntry("annotation_symbol_occurrence_item",NULL )
  54. , SchemaEntry("annotation_text_occurrence_item",NULL )
  55. , SchemaEntry("approval_item",NULL )
  56. , SchemaEntry("approved_item",NULL )
  57. , SchemaEntry("area_measure",NULL )
  58. , SchemaEntry("area_or_view",NULL )
  59. , SchemaEntry("attribute_classification_item",NULL )
  60. , SchemaEntry("attribute_language_item",NULL )
  61. , SchemaEntry("attribute_type",NULL )
  62. , SchemaEntry("axis2_placement",NULL )
  63. , SchemaEntry("b_spline_curve_form",NULL )
  64. , SchemaEntry("b_spline_surface_form",NULL )
  65. , SchemaEntry("base_solid_select",NULL )
  66. , SchemaEntry("blend_end_condition_select",NULL )
  67. , SchemaEntry("blend_radius_variation_type",NULL )
  68. , SchemaEntry("boolean_operand",NULL )
  69. , SchemaEntry("boolean_operator",NULL )
  70. , SchemaEntry("box_characteristic_select",NULL )
  71. , SchemaEntry("box_height",NULL )
  72. , SchemaEntry("box_rotate_angle",NULL )
  73. , SchemaEntry("box_slant_angle",NULL )
  74. , SchemaEntry("box_width",NULL )
  75. , SchemaEntry("camera_model_d3_multi_clipping_interection_select",NULL )
  76. , SchemaEntry("camera_model_d3_multi_clipping_union_select",NULL )
  77. , SchemaEntry("capacitance_measure",NULL )
  78. , SchemaEntry("category_usage_item",NULL )
  79. , SchemaEntry("cc_classified_item",NULL )
  80. , SchemaEntry("cc_person_organization_item",NULL )
  81. , SchemaEntry("cc_specified_item",NULL )
  82. , SchemaEntry("celsius_temperature_measure",NULL )
  83. , SchemaEntry("central_or_parallel",NULL )
  84. , SchemaEntry("certification_item",NULL )
  85. , SchemaEntry("certified_item",NULL )
  86. , SchemaEntry("change_request_item",NULL )
  87. , SchemaEntry("character_spacing_select",NULL )
  88. , SchemaEntry("character_style_select",NULL )
  89. , SchemaEntry("characterized_action_definition",NULL )
  90. , SchemaEntry("characterized_definition",NULL )
  91. , SchemaEntry("characterized_material_property",NULL )
  92. , SchemaEntry("characterized_product_composition_value",NULL )
  93. , SchemaEntry("characterized_product_definition",NULL )
  94. , SchemaEntry("class_usage_effectivity_context_item",NULL )
  95. , SchemaEntry("classification_item",NULL )
  96. , SchemaEntry("classified_item",NULL )
  97. , SchemaEntry("compound_item_definition",NULL )
  98. , SchemaEntry("conductance_measure",NULL )
  99. , SchemaEntry("configuration_design_item",NULL )
  100. , SchemaEntry("configured_effectivity_context_item",NULL )
  101. , SchemaEntry("configured_effectivity_item",NULL )
  102. , SchemaEntry("constructive_geometry_representation_or_shape_represenation",NULL )
  103. , SchemaEntry("context_dependent_measure",NULL )
  104. , SchemaEntry("contract_item",NULL )
  105. , SchemaEntry("contracted_item",NULL )
  106. , SchemaEntry("count_measure",NULL )
  107. , SchemaEntry("csg_primitive",NULL )
  108. , SchemaEntry("csg_select",NULL )
  109. , SchemaEntry("curve_font_or_scaled_curve_font_select",NULL )
  110. , SchemaEntry("curve_on_surface",NULL )
  111. , SchemaEntry("curve_or_annotation_curve_occurrence",NULL )
  112. , SchemaEntry("curve_or_render",NULL )
  113. , SchemaEntry("curve_style_font_select",NULL )
  114. , SchemaEntry("date_and_time_item",NULL )
  115. , SchemaEntry("date_item",NULL )
  116. , SchemaEntry("date_time_item",NULL )
  117. , SchemaEntry("date_time_or_event_occurrence",NULL )
  118. , SchemaEntry("date_time_select",NULL )
  119. , SchemaEntry("day_in_month_number",NULL )
  120. , SchemaEntry("day_in_week_number",NULL )
  121. , SchemaEntry("day_in_year_number",NULL )
  122. , SchemaEntry("defined_symbol_select",NULL )
  123. , SchemaEntry("derived_property_select",NULL )
  124. , SchemaEntry("description_attribute_select",NULL )
  125. , SchemaEntry("descriptive_measure",NULL )
  126. , SchemaEntry("dimension_count",NULL )
  127. , SchemaEntry("dimension_extent_usage",NULL )
  128. , SchemaEntry("dimensional_characteristic",NULL )
  129. , SchemaEntry("direction_count_select",NULL )
  130. , SchemaEntry("document_identifier_assigned_item",NULL )
  131. , SchemaEntry("document_reference_item",NULL )
  132. , SchemaEntry("dose_equivalent_measure",NULL )
  133. , SchemaEntry("draughting_callout_element",NULL )
  134. , SchemaEntry("draughting_model_item_association_select",NULL )
  135. , SchemaEntry("draughting_model_item_select",NULL )
  136. , SchemaEntry("draughting_titled_item",NULL )
  137. , SchemaEntry("effectivity_item",NULL )
  138. , SchemaEntry("electric_charge_measure",NULL )
  139. , SchemaEntry("electric_current_measure",NULL )
  140. , SchemaEntry("electric_potential_measure",NULL )
  141. , SchemaEntry("energy_measure",NULL )
  142. , SchemaEntry("event_occurrence_item",NULL )
  143. , SchemaEntry("external_identification_item",NULL )
  144. , SchemaEntry("fill_area_style_tile_shape_select",NULL )
  145. , SchemaEntry("fill_style_select",NULL )
  146. , SchemaEntry("font_select",NULL )
  147. , SchemaEntry("force_measure",NULL )
  148. , SchemaEntry("founded_item_select",NULL )
  149. , SchemaEntry("frequency_measure",NULL )
  150. , SchemaEntry("generalized_surface_select",NULL )
  151. , SchemaEntry("geometric_item_specific_usage_select",NULL )
  152. , SchemaEntry("geometric_set_select",NULL )
  153. , SchemaEntry("groupable_item",NULL )
  154. , SchemaEntry("hour_in_day",NULL )
  155. , SchemaEntry("id_attribute_select",NULL )
  156. , SchemaEntry("identification_item",NULL )
  157. , SchemaEntry("identifier",NULL )
  158. , SchemaEntry("illuminance_measure",NULL )
  159. , SchemaEntry("inductance_measure",NULL )
  160. , SchemaEntry("instance_usage_context_select",NULL )
  161. , SchemaEntry("invisibility_context",NULL )
  162. , SchemaEntry("invisible_item",NULL )
  163. , SchemaEntry("ir_usage_item",NULL )
  164. , SchemaEntry("knot_type",NULL )
  165. , SchemaEntry("label",NULL )
  166. , SchemaEntry("layered_item",NULL )
  167. , SchemaEntry("length_measure",NULL )
  168. , SchemaEntry("limit_condition",NULL )
  169. , SchemaEntry("list_of_reversible_topology_item",NULL )
  170. , SchemaEntry("list_representation_item",NULL )
  171. , SchemaEntry("luminous_flux_measure",NULL )
  172. , SchemaEntry("luminous_intensity_measure",NULL )
  173. , SchemaEntry("magnetic_flux_density_measure",NULL )
  174. , SchemaEntry("magnetic_flux_measure",NULL )
  175. , SchemaEntry("marker_select",NULL )
  176. , SchemaEntry("marker_type",NULL )
  177. , SchemaEntry("mass_measure",NULL )
  178. , SchemaEntry("measure_value",NULL )
  179. , SchemaEntry("mechanical_design_and_draughting_relationship_select",NULL )
  180. , SchemaEntry("mechanical_design_geometric_presentation_area_items",NULL )
  181. , SchemaEntry("mechanical_design_geometric_presentation_representation_items",NULL )
  182. , SchemaEntry("message",NULL )
  183. , SchemaEntry("minute_in_hour",NULL )
  184. , SchemaEntry("month_in_year_number",NULL )
  185. , SchemaEntry("multi_language_attribute_item",NULL )
  186. , SchemaEntry("name_attribute_select",NULL )
  187. , SchemaEntry("name_item",NULL )
  188. , SchemaEntry("non_negative_length_measure",NULL )
  189. , SchemaEntry("nonnegative_integer",NULL )
  190. , SchemaEntry("null_style",NULL )
  191. , SchemaEntry("numeric_measure",NULL )
  192. , SchemaEntry("organization_item",NULL )
  193. , SchemaEntry("orientation_basis_select",NULL )
  194. , SchemaEntry("parameter_value",NULL )
  195. , SchemaEntry("pcurve_or_surface",NULL )
  196. , SchemaEntry("person_and_organization_item",NULL )
  197. , SchemaEntry("person_organization_select",NULL )
  198. , SchemaEntry("picture_representation_item_select",NULL )
  199. , SchemaEntry("plane_angle_measure",NULL )
  200. , SchemaEntry("plane_or_planar_box",NULL )
  201. , SchemaEntry("point_and_vector_member",NULL )
  202. , SchemaEntry("point_and_vector_members",NULL )
  203. , SchemaEntry("point_path_members",NULL )
  204. , SchemaEntry("positive_integer",NULL )
  205. , SchemaEntry("positive_length_measure",NULL )
  206. , SchemaEntry("positive_plane_angle_measure",NULL )
  207. , SchemaEntry("positive_ratio_measure",NULL )
  208. , SchemaEntry("power_measure",NULL )
  209. , SchemaEntry("preferred_surface_curve_representation",NULL )
  210. , SchemaEntry("presentable_text",NULL )
  211. , SchemaEntry("presentation_representation_select",NULL )
  212. , SchemaEntry("presentation_size_assignment_select",NULL )
  213. , SchemaEntry("presentation_style_select",NULL )
  214. , SchemaEntry("presented_item_select",NULL )
  215. , SchemaEntry("pressure_measure",NULL )
  216. , SchemaEntry("product_definition_or_assembly_relationship",NULL )
  217. , SchemaEntry("product_definition_or_breakdown_element_usage",NULL )
  218. , SchemaEntry("product_definition_or_product_definition_relationship",NULL )
  219. , SchemaEntry("product_or_formation_or_definition",NULL )
  220. , SchemaEntry("project_item",NULL )
  221. , SchemaEntry("radioactivity_measure",NULL )
  222. , SchemaEntry("ratio_measure",NULL )
  223. , SchemaEntry("rendering_properties_select",NULL )
  224. , SchemaEntry("represented_definition",NULL )
  225. , SchemaEntry("requirement_assigned_item",NULL )
  226. , SchemaEntry("requirement_satisfaction_item",NULL )
  227. , SchemaEntry("requirement_source_item",NULL )
  228. , SchemaEntry("resistance_measure",NULL )
  229. , SchemaEntry("reversible_topology",NULL )
  230. , SchemaEntry("reversible_topology_item",NULL )
  231. , SchemaEntry("role_select",NULL )
  232. , SchemaEntry("rule_superseded_item",NULL )
  233. , SchemaEntry("second_in_minute",NULL )
  234. , SchemaEntry("security_classification_item",NULL )
  235. , SchemaEntry("set_of_reversible_topology_item",NULL )
  236. , SchemaEntry("set_representation_item",NULL )
  237. , SchemaEntry("shading_curve_method",NULL )
  238. , SchemaEntry("shading_surface_method",NULL )
  239. , SchemaEntry("shape_definition",NULL )
  240. , SchemaEntry("shell",NULL )
  241. , SchemaEntry("si_prefix",NULL )
  242. , SchemaEntry("si_unit_name",NULL )
  243. , SchemaEntry("size_select",NULL )
  244. , SchemaEntry("sketch_basis_select",NULL )
  245. , SchemaEntry("solid_angle_measure",NULL )
  246. , SchemaEntry("source",NULL )
  247. , SchemaEntry("source_item",NULL )
  248. , SchemaEntry("start_request_item",NULL )
  249. , SchemaEntry("string_representation_item_select",NULL )
  250. , SchemaEntry("style_context_select",NULL )
  251. , SchemaEntry("surface_side",NULL )
  252. , SchemaEntry("surface_side_style_select",NULL )
  253. , SchemaEntry("surface_style_element_select",NULL )
  254. , SchemaEntry("symbol_style_select",NULL )
  255. , SchemaEntry("text",NULL )
  256. , SchemaEntry("text_alignment",NULL )
  257. , SchemaEntry("text_delineation",NULL )
  258. , SchemaEntry("text_or_character",NULL )
  259. , SchemaEntry("text_path",NULL )
  260. , SchemaEntry("text_string_representation_item",NULL )
  261. , SchemaEntry("thermodynamic_temperature_measure",NULL )
  262. , SchemaEntry("time_interval_item",NULL )
  263. , SchemaEntry("time_measure",NULL )
  264. , SchemaEntry("tolerance_method_definition",NULL )
  265. , SchemaEntry("transformation",NULL )
  266. , SchemaEntry("transition_code",NULL )
  267. , SchemaEntry("trim_condition_select",NULL )
  268. , SchemaEntry("trim_intent",NULL )
  269. , SchemaEntry("trimming_preference",NULL )
  270. , SchemaEntry("trimming_select",NULL )
  271. , SchemaEntry("u_direction_count",NULL )
  272. , SchemaEntry("unit",NULL )
  273. , SchemaEntry("v_direction_count",NULL )
  274. , SchemaEntry("value_qualifier",NULL )
  275. , SchemaEntry("vector_or_direction",NULL )
  276. , SchemaEntry("velocity_measure",NULL )
  277. , SchemaEntry("volume_measure",NULL )
  278. , SchemaEntry("week_in_year_number",NULL )
  279. , SchemaEntry("work_item",NULL )
  280. , SchemaEntry("year_number",NULL )
  281. , SchemaEntry("measure_with_unit",&STEP::ObjectHelper<measure_with_unit,2>::Construct )
  282. , SchemaEntry("absorbed_dose_measure_with_unit",&STEP::ObjectHelper<absorbed_dose_measure_with_unit,0>::Construct )
  283. , SchemaEntry("derived_unit",&STEP::ObjectHelper<derived_unit,1>::Construct )
  284. , SchemaEntry("absorbed_dose_unit",&STEP::ObjectHelper<absorbed_dose_unit,0>::Construct )
  285. , SchemaEntry("abstract_variable",&STEP::ObjectHelper<abstract_variable,0>::Construct )
  286. , SchemaEntry("acceleration_measure_with_unit",&STEP::ObjectHelper<acceleration_measure_with_unit,0>::Construct )
  287. , SchemaEntry("acceleration_unit",&STEP::ObjectHelper<acceleration_unit,0>::Construct )
  288. , SchemaEntry("action",&STEP::ObjectHelper<action,3>::Construct )
  289. , SchemaEntry("action_assignment",&STEP::ObjectHelper<action_assignment,1>::Construct )
  290. , SchemaEntry("action_directive",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  291. , SchemaEntry("action_method",&STEP::ObjectHelper<action_method,4>::Construct )
  292. , SchemaEntry("action_method_assignment",&STEP::ObjectHelper<action_method_assignment,2>::Construct )
  293. , SchemaEntry("action_method_relationship",&STEP::ObjectHelper<action_method_relationship,4>::Construct )
  294. , SchemaEntry("action_method_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  295. , SchemaEntry("action_property",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  296. , SchemaEntry("action_property_representation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  297. , SchemaEntry("action_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  298. , SchemaEntry("action_request_assignment",&STEP::ObjectHelper<action_request_assignment,1>::Construct )
  299. , SchemaEntry("action_request_solution",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  300. , SchemaEntry("action_request_status",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  301. , SchemaEntry("action_status",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  302. , SchemaEntry("address",&STEP::ObjectHelper<address,12>::Construct )
  303. , SchemaEntry("representation",&STEP::ObjectHelper<representation,3>::Construct )
  304. , SchemaEntry("shape_representation",&STEP::ObjectHelper<shape_representation,0>::Construct )
  305. , SchemaEntry("advanced_brep_shape_representation",&STEP::ObjectHelper<advanced_brep_shape_representation,0>::Construct )
  306. , SchemaEntry("face_surface",&STEP::ObjectHelper<face_surface,2>::Construct )
  307. , SchemaEntry("advanced_face",&STEP::ObjectHelper<advanced_face,0>::Construct )
  308. , SchemaEntry("alternate_product_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  309. , SchemaEntry("amount_of_substance_measure_with_unit",&STEP::ObjectHelper<amount_of_substance_measure_with_unit,0>::Construct )
  310. , SchemaEntry("named_unit",&STEP::ObjectHelper<named_unit,1>::Construct )
  311. , SchemaEntry("amount_of_substance_unit",&STEP::ObjectHelper<amount_of_substance_unit,0>::Construct )
  312. , SchemaEntry("angle_direction_reference",&STEP::ObjectHelper<angle_direction_reference,0>::Construct )
  313. , SchemaEntry("representation_item",&STEP::ObjectHelper<representation_item,1>::Construct )
  314. , SchemaEntry("geometric_representation_item",&STEP::ObjectHelper<geometric_representation_item,0>::Construct )
  315. , SchemaEntry("draughting_callout",&STEP::ObjectHelper<draughting_callout,1>::Construct )
  316. , SchemaEntry("dimension_curve_directed_callout",&STEP::ObjectHelper<dimension_curve_directed_callout,0>::Construct )
  317. , SchemaEntry("angular_dimension",&STEP::ObjectHelper<angular_dimension,0>::Construct )
  318. , SchemaEntry("shape_aspect_relationship",&STEP::ObjectHelper<shape_aspect_relationship,4>::Construct )
  319. , SchemaEntry("dimensional_location",&STEP::ObjectHelper<dimensional_location,0>::Construct )
  320. , SchemaEntry("angular_location",&STEP::ObjectHelper<angular_location,1>::Construct )
  321. , SchemaEntry("dimensional_size",&STEP::ObjectHelper<dimensional_size,2>::Construct )
  322. , SchemaEntry("angular_size",&STEP::ObjectHelper<angular_size,1>::Construct )
  323. , SchemaEntry("geometric_tolerance",&STEP::ObjectHelper<geometric_tolerance,4>::Construct )
  324. , SchemaEntry("geometric_tolerance_with_datum_reference",&STEP::ObjectHelper<geometric_tolerance_with_datum_reference,1>::Construct )
  325. , SchemaEntry("angularity_tolerance",&STEP::ObjectHelper<angularity_tolerance,0>::Construct )
  326. , SchemaEntry("styled_item",&STEP::ObjectHelper<styled_item,2>::Construct )
  327. , SchemaEntry("annotation_occurrence",&STEP::ObjectHelper<annotation_occurrence,0>::Construct )
  328. , SchemaEntry("annotation_curve_occurrence",&STEP::ObjectHelper<annotation_curve_occurrence,0>::Construct )
  329. , SchemaEntry("annotation_fill_area",&STEP::ObjectHelper<annotation_fill_area,1>::Construct )
  330. , SchemaEntry("annotation_fill_area_occurrence",&STEP::ObjectHelper<annotation_fill_area_occurrence,1>::Construct )
  331. , SchemaEntry("annotation_occurrence_relationship",&STEP::ObjectHelper<annotation_occurrence_relationship,4>::Construct )
  332. , SchemaEntry("annotation_occurrence_associativity",&STEP::ObjectHelper<annotation_occurrence_associativity,0>::Construct )
  333. , SchemaEntry("annotation_plane",&STEP::ObjectHelper<annotation_plane,1>::Construct )
  334. , SchemaEntry("annotation_symbol_occurrence",&STEP::ObjectHelper<annotation_symbol_occurrence,0>::Construct )
  335. , SchemaEntry("annotation_subfigure_occurrence",&STEP::ObjectHelper<annotation_subfigure_occurrence,0>::Construct )
  336. , SchemaEntry("mapped_item",&STEP::ObjectHelper<mapped_item,2>::Construct )
  337. , SchemaEntry("annotation_symbol",&STEP::ObjectHelper<annotation_symbol,0>::Construct )
  338. , SchemaEntry("annotation_text",&STEP::ObjectHelper<annotation_text,0>::Construct )
  339. , SchemaEntry("annotation_text_character",&STEP::ObjectHelper<annotation_text_character,1>::Construct )
  340. , SchemaEntry("annotation_text_occurrence",&STEP::ObjectHelper<annotation_text_occurrence,0>::Construct )
  341. , SchemaEntry("shape_aspect",&STEP::ObjectHelper<shape_aspect,4>::Construct )
  342. , SchemaEntry("derived_shape_aspect",&STEP::ObjectHelper<derived_shape_aspect,0>::Construct )
  343. , SchemaEntry("apex",&STEP::ObjectHelper<apex,0>::Construct )
  344. , SchemaEntry("application_context",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  345. , SchemaEntry("application_context_element",&STEP::ObjectHelper<application_context_element,2>::Construct )
  346. , SchemaEntry("application_protocol_definition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  347. , SchemaEntry("applied_action_assignment",&STEP::ObjectHelper<applied_action_assignment,1>::Construct )
  348. , SchemaEntry("applied_action_method_assignment",&STEP::ObjectHelper<applied_action_method_assignment,1>::Construct )
  349. , SchemaEntry("applied_action_request_assignment",&STEP::ObjectHelper<applied_action_request_assignment,1>::Construct )
  350. , SchemaEntry("approval_assignment",&STEP::ObjectHelper<approval_assignment,1>::Construct )
  351. , SchemaEntry("applied_approval_assignment",&STEP::ObjectHelper<applied_approval_assignment,1>::Construct )
  352. , SchemaEntry("attribute_classification_assignment",&STEP::ObjectHelper<attribute_classification_assignment,3>::Construct )
  353. , SchemaEntry("applied_attribute_classification_assignment",&STEP::ObjectHelper<applied_attribute_classification_assignment,1>::Construct )
  354. , SchemaEntry("certification_assignment",&STEP::ObjectHelper<certification_assignment,1>::Construct )
  355. , SchemaEntry("applied_certification_assignment",&STEP::ObjectHelper<applied_certification_assignment,1>::Construct )
  356. , SchemaEntry("classification_assignment",&STEP::ObjectHelper<classification_assignment,2>::Construct )
  357. , SchemaEntry("applied_classification_assignment",&STEP::ObjectHelper<applied_classification_assignment,1>::Construct )
  358. , SchemaEntry("contract_assignment",&STEP::ObjectHelper<contract_assignment,1>::Construct )
  359. , SchemaEntry("applied_contract_assignment",&STEP::ObjectHelper<applied_contract_assignment,1>::Construct )
  360. , SchemaEntry("date_and_time_assignment",&STEP::ObjectHelper<date_and_time_assignment,2>::Construct )
  361. , SchemaEntry("applied_date_and_time_assignment",&STEP::ObjectHelper<applied_date_and_time_assignment,1>::Construct )
  362. , SchemaEntry("date_assignment",&STEP::ObjectHelper<date_assignment,2>::Construct )
  363. , SchemaEntry("applied_date_assignment",&STEP::ObjectHelper<applied_date_assignment,1>::Construct )
  364. , SchemaEntry("document_reference",&STEP::ObjectHelper<document_reference,2>::Construct )
  365. , SchemaEntry("applied_document_reference",&STEP::ObjectHelper<applied_document_reference,1>::Construct )
  366. , SchemaEntry("document_usage_constraint_assignment",&STEP::ObjectHelper<document_usage_constraint_assignment,2>::Construct )
  367. , SchemaEntry("applied_document_usage_constraint_assignment",&STEP::ObjectHelper<applied_document_usage_constraint_assignment,1>::Construct )
  368. , SchemaEntry("effectivity_assignment",&STEP::ObjectHelper<effectivity_assignment,1>::Construct )
  369. , SchemaEntry("applied_effectivity_assignment",&STEP::ObjectHelper<applied_effectivity_assignment,1>::Construct )
  370. , SchemaEntry("event_occurrence_assignment",&STEP::ObjectHelper<event_occurrence_assignment,2>::Construct )
  371. , SchemaEntry("applied_event_occurrence_assignment",&STEP::ObjectHelper<applied_event_occurrence_assignment,1>::Construct )
  372. , SchemaEntry("identification_assignment",&STEP::ObjectHelper<identification_assignment,2>::Construct )
  373. , SchemaEntry("external_identification_assignment",&STEP::ObjectHelper<external_identification_assignment,1>::Construct )
  374. , SchemaEntry("applied_external_identification_assignment",&STEP::ObjectHelper<applied_external_identification_assignment,1>::Construct )
  375. , SchemaEntry("group_assignment",&STEP::ObjectHelper<group_assignment,1>::Construct )
  376. , SchemaEntry("applied_group_assignment",&STEP::ObjectHelper<applied_group_assignment,1>::Construct )
  377. , SchemaEntry("applied_identification_assignment",&STEP::ObjectHelper<applied_identification_assignment,1>::Construct )
  378. , SchemaEntry("name_assignment",&STEP::ObjectHelper<name_assignment,1>::Construct )
  379. , SchemaEntry("applied_name_assignment",&STEP::ObjectHelper<applied_name_assignment,1>::Construct )
  380. , SchemaEntry("organization_assignment",&STEP::ObjectHelper<organization_assignment,2>::Construct )
  381. , SchemaEntry("applied_organization_assignment",&STEP::ObjectHelper<applied_organization_assignment,1>::Construct )
  382. , SchemaEntry("organizational_project_assignment",&STEP::ObjectHelper<organizational_project_assignment,2>::Construct )
  383. , SchemaEntry("applied_organizational_project_assignment",&STEP::ObjectHelper<applied_organizational_project_assignment,1>::Construct )
  384. , SchemaEntry("person_and_organization_assignment",&STEP::ObjectHelper<person_and_organization_assignment,2>::Construct )
  385. , SchemaEntry("applied_person_and_organization_assignment",&STEP::ObjectHelper<applied_person_and_organization_assignment,1>::Construct )
  386. , SchemaEntry("presented_item",&STEP::ObjectHelper<presented_item,0>::Construct )
  387. , SchemaEntry("applied_presented_item",&STEP::ObjectHelper<applied_presented_item,1>::Construct )
  388. , SchemaEntry("security_classification_assignment",&STEP::ObjectHelper<security_classification_assignment,1>::Construct )
  389. , SchemaEntry("applied_security_classification_assignment",&STEP::ObjectHelper<applied_security_classification_assignment,1>::Construct )
  390. , SchemaEntry("time_interval_assignment",&STEP::ObjectHelper<time_interval_assignment,2>::Construct )
  391. , SchemaEntry("applied_time_interval_assignment",&STEP::ObjectHelper<applied_time_interval_assignment,1>::Construct )
  392. , SchemaEntry("applied_usage_right",&STEP::ObjectHelper<applied_usage_right,0>::Construct )
  393. , SchemaEntry("approval",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  394. , SchemaEntry("approval_date_time",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  395. , SchemaEntry("approval_person_organization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  396. , SchemaEntry("approval_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  397. , SchemaEntry("approval_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  398. , SchemaEntry("approval_status",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  399. , SchemaEntry("area_in_set",&STEP::ObjectHelper<area_in_set,2>::Construct )
  400. , SchemaEntry("area_measure_with_unit",&STEP::ObjectHelper<area_measure_with_unit,0>::Construct )
  401. , SchemaEntry("area_unit",&STEP::ObjectHelper<area_unit,0>::Construct )
  402. , SchemaEntry("product_definition_relationship",&STEP::ObjectHelper<product_definition_relationship,5>::Construct )
  403. , SchemaEntry("product_definition_usage",&STEP::ObjectHelper<product_definition_usage,0>::Construct )
  404. , SchemaEntry("assembly_component_usage",&STEP::ObjectHelper<assembly_component_usage,1>::Construct )
  405. , SchemaEntry("assembly_component_usage_substitute",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  406. , SchemaEntry("assigned_requirement",&STEP::ObjectHelper<assigned_requirement,1>::Construct )
  407. , SchemaEntry("compound_representation_item",&STEP::ObjectHelper<compound_representation_item,1>::Construct )
  408. , SchemaEntry("atomic_formula",&STEP::ObjectHelper<atomic_formula,0>::Construct )
  409. , SchemaEntry("attribute_assertion",&STEP::ObjectHelper<attribute_assertion,0>::Construct )
  410. , SchemaEntry("attribute_language_assignment",&STEP::ObjectHelper<attribute_language_assignment,1>::Construct )
  411. , SchemaEntry("attribute_value_assignment",&STEP::ObjectHelper<attribute_value_assignment,3>::Construct )
  412. , SchemaEntry("attribute_value_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  413. , SchemaEntry("auxiliary_geometric_representation_item",&STEP::ObjectHelper<auxiliary_geometric_representation_item,0>::Construct )
  414. , SchemaEntry("placement",&STEP::ObjectHelper<placement,1>::Construct )
  415. , SchemaEntry("axis1_placement",&STEP::ObjectHelper<axis1_placement,1>::Construct )
  416. , SchemaEntry("axis2_placement_2d",&STEP::ObjectHelper<axis2_placement_2d,1>::Construct )
  417. , SchemaEntry("axis2_placement_3d",&STEP::ObjectHelper<axis2_placement_3d,2>::Construct )
  418. , SchemaEntry("curve",&STEP::ObjectHelper<curve,0>::Construct )
  419. , SchemaEntry("bounded_curve",&STEP::ObjectHelper<bounded_curve,0>::Construct )
  420. , SchemaEntry("b_spline_curve",&STEP::ObjectHelper<b_spline_curve,5>::Construct )
  421. , SchemaEntry("b_spline_curve_with_knots",&STEP::ObjectHelper<b_spline_curve_with_knots,3>::Construct )
  422. , SchemaEntry("surface",&STEP::ObjectHelper<surface,0>::Construct )
  423. , SchemaEntry("bounded_surface",&STEP::ObjectHelper<bounded_surface,0>::Construct )
  424. , SchemaEntry("b_spline_surface",&STEP::ObjectHelper<b_spline_surface,6>::Construct )
  425. , SchemaEntry("b_spline_surface_with_knots",&STEP::ObjectHelper<b_spline_surface_with_knots,5>::Construct )
  426. , SchemaEntry("product_definition",&STEP::ObjectHelper<product_definition,4>::Construct )
  427. , SchemaEntry("rule_software_definition",&STEP::ObjectHelper<rule_software_definition,0>::Construct )
  428. , SchemaEntry("rule_definition",&STEP::ObjectHelper<rule_definition,0>::Construct )
  429. , SchemaEntry("back_chaining_rule",&STEP::ObjectHelper<back_chaining_rule,0>::Construct )
  430. , SchemaEntry("back_chaining_rule_body",&STEP::ObjectHelper<back_chaining_rule_body,0>::Construct )
  431. , SchemaEntry("colour",&STEP::ObjectHelper<colour,0>::Construct )
  432. , SchemaEntry("background_colour",&STEP::ObjectHelper<background_colour,1>::Construct )
  433. , SchemaEntry("beveled_sheet_representation",&STEP::ObjectHelper<beveled_sheet_representation,0>::Construct )
  434. , SchemaEntry("bezier_curve",&STEP::ObjectHelper<bezier_curve,0>::Construct )
  435. , SchemaEntry("bezier_surface",&STEP::ObjectHelper<bezier_surface,0>::Construct )
  436. , SchemaEntry("generic_expression",&STEP::ObjectHelper<generic_expression,0>::Construct )
  437. , SchemaEntry("binary_generic_expression",&STEP::ObjectHelper<binary_generic_expression,1>::Construct )
  438. , SchemaEntry("binary_numeric_expression",&STEP::ObjectHelper<binary_numeric_expression,0>::Construct )
  439. , SchemaEntry("binary_representation_item",&STEP::ObjectHelper<binary_representation_item,1>::Construct )
  440. , SchemaEntry("block",&STEP::ObjectHelper<block,4>::Construct )
  441. , SchemaEntry("expression",&STEP::ObjectHelper<expression,0>::Construct )
  442. , SchemaEntry("boolean_expression",&STEP::ObjectHelper<boolean_expression,0>::Construct )
  443. , SchemaEntry("boolean_literal",&STEP::ObjectHelper<boolean_literal,1>::Construct )
  444. , SchemaEntry("boolean_representation_item",&STEP::ObjectHelper<boolean_representation_item,0>::Construct )
  445. , SchemaEntry("boolean_result",&STEP::ObjectHelper<boolean_result,3>::Construct )
  446. , SchemaEntry("composite_curve",&STEP::ObjectHelper<composite_curve,2>::Construct )
  447. , SchemaEntry("composite_curve_on_surface",&STEP::ObjectHelper<composite_curve_on_surface,0>::Construct )
  448. , SchemaEntry("boundary_curve",&STEP::ObjectHelper<boundary_curve,0>::Construct )
  449. , SchemaEntry("bounded_pcurve",&STEP::ObjectHelper<bounded_pcurve,0>::Construct )
  450. , SchemaEntry("bounded_surface_curve",&STEP::ObjectHelper<bounded_surface_curve,0>::Construct )
  451. , SchemaEntry("founded_item",&STEP::ObjectHelper<founded_item,0>::Construct )
  452. , SchemaEntry("box_domain",&STEP::ObjectHelper<box_domain,4>::Construct )
  453. , SchemaEntry("half_space_solid",&STEP::ObjectHelper<half_space_solid,2>::Construct )
  454. , SchemaEntry("boxed_half_space",&STEP::ObjectHelper<boxed_half_space,1>::Construct )
  455. , SchemaEntry("breakdown_context",&STEP::ObjectHelper<breakdown_context,0>::Construct )
  456. , SchemaEntry("breakdown_element_group_assignment",&STEP::ObjectHelper<breakdown_element_group_assignment,1>::Construct )
  457. , SchemaEntry("breakdown_element_realization",&STEP::ObjectHelper<breakdown_element_realization,0>::Construct )
  458. , SchemaEntry("breakdown_element_usage",&STEP::ObjectHelper<breakdown_element_usage,0>::Construct )
  459. , SchemaEntry("breakdown_of",&STEP::ObjectHelper<breakdown_of,0>::Construct )
  460. , SchemaEntry("solid_model",&STEP::ObjectHelper<solid_model,0>::Construct )
  461. , SchemaEntry("manifold_solid_brep",&STEP::ObjectHelper<manifold_solid_brep,1>::Construct )
  462. , SchemaEntry("brep_with_voids",&STEP::ObjectHelper<brep_with_voids,1>::Construct )
  463. , SchemaEntry("bytes_representation_item",&STEP::ObjectHelper<bytes_representation_item,0>::Construct )
  464. , SchemaEntry("date",&STEP::ObjectHelper<date,1>::Construct )
  465. , SchemaEntry("calendar_date",&STEP::ObjectHelper<calendar_date,2>::Construct )
  466. , SchemaEntry("camera_image",&STEP::ObjectHelper<camera_image,0>::Construct )
  467. , SchemaEntry("camera_image_3d_with_scale",&STEP::ObjectHelper<camera_image_3d_with_scale,0>::Construct )
  468. , SchemaEntry("camera_model",&STEP::ObjectHelper<camera_model,0>::Construct )
  469. , SchemaEntry("camera_model_d3",&STEP::ObjectHelper<camera_model_d3,2>::Construct )
  470. , SchemaEntry("camera_model_d3_multi_clipping",&STEP::ObjectHelper<camera_model_d3_multi_clipping,1>::Construct )
  471. , SchemaEntry("camera_model_d3_multi_clipping_intersection",&STEP::ObjectHelper<camera_model_d3_multi_clipping_intersection,1>::Construct )
  472. , SchemaEntry("camera_model_d3_multi_clipping_union",&STEP::ObjectHelper<camera_model_d3_multi_clipping_union,1>::Construct )
  473. , SchemaEntry("camera_model_d3_with_hlhsr",&STEP::ObjectHelper<camera_model_d3_with_hlhsr,1>::Construct )
  474. , SchemaEntry("camera_model_with_light_sources",&STEP::ObjectHelper<camera_model_with_light_sources,1>::Construct )
  475. , SchemaEntry("representation_map",&STEP::ObjectHelper<representation_map,2>::Construct )
  476. , SchemaEntry("camera_usage",&STEP::ObjectHelper<camera_usage,0>::Construct )
  477. , SchemaEntry("capacitance_measure_with_unit",&STEP::ObjectHelper<capacitance_measure_with_unit,0>::Construct )
  478. , SchemaEntry("capacitance_unit",&STEP::ObjectHelper<capacitance_unit,0>::Construct )
  479. , SchemaEntry("point",&STEP::ObjectHelper<point,0>::Construct )
  480. , SchemaEntry("cartesian_point",&STEP::ObjectHelper<cartesian_point,1>::Construct )
  481. , SchemaEntry("cartesian_transformation_operator",&STEP::ObjectHelper<cartesian_transformation_operator,4>::Construct )
  482. , SchemaEntry("cartesian_transformation_operator_2d",&STEP::ObjectHelper<cartesian_transformation_operator_2d,0>::Construct )
  483. , SchemaEntry("cartesian_transformation_operator_3d",&STEP::ObjectHelper<cartesian_transformation_operator_3d,1>::Construct )
  484. , SchemaEntry("cc_design_approval",&STEP::ObjectHelper<cc_design_approval,1>::Construct )
  485. , SchemaEntry("cc_design_certification",&STEP::ObjectHelper<cc_design_certification,1>::Construct )
  486. , SchemaEntry("cc_design_contract",&STEP::ObjectHelper<cc_design_contract,1>::Construct )
  487. , SchemaEntry("cc_design_date_and_time_assignment",&STEP::ObjectHelper<cc_design_date_and_time_assignment,1>::Construct )
  488. , SchemaEntry("cc_design_person_and_organization_assignment",&STEP::ObjectHelper<cc_design_person_and_organization_assignment,1>::Construct )
  489. , SchemaEntry("cc_design_security_classification",&STEP::ObjectHelper<cc_design_security_classification,1>::Construct )
  490. , SchemaEntry("cc_design_specification_reference",&STEP::ObjectHelper<cc_design_specification_reference,1>::Construct )
  491. , SchemaEntry("celsius_temperature_measure_with_unit",&STEP::ObjectHelper<celsius_temperature_measure_with_unit,0>::Construct )
  492. , SchemaEntry("centre_of_symmetry",&STEP::ObjectHelper<centre_of_symmetry,0>::Construct )
  493. , SchemaEntry("certification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  494. , SchemaEntry("certification_type",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  495. , SchemaEntry("change",&STEP::ObjectHelper<change,1>::Construct )
  496. , SchemaEntry("change_request",&STEP::ObjectHelper<change_request,1>::Construct )
  497. , SchemaEntry("character_glyph_font_usage",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  498. , SchemaEntry("character_glyph_style_outline",&STEP::ObjectHelper<character_glyph_style_outline,1>::Construct )
  499. , SchemaEntry("character_glyph_style_stroke",&STEP::ObjectHelper<character_glyph_style_stroke,1>::Construct )
  500. , SchemaEntry("symbol_representation",&STEP::ObjectHelper<symbol_representation,0>::Construct )
  501. , SchemaEntry("generic_character_glyph_symbol",&STEP::ObjectHelper<generic_character_glyph_symbol,0>::Construct )
  502. , SchemaEntry("character_glyph_symbol",&STEP::ObjectHelper<character_glyph_symbol,2>::Construct )
  503. , SchemaEntry("character_glyph_symbol_outline",&STEP::ObjectHelper<character_glyph_symbol_outline,1>::Construct )
  504. , SchemaEntry("character_glyph_symbol_stroke",&STEP::ObjectHelper<character_glyph_symbol_stroke,1>::Construct )
  505. , SchemaEntry("general_property",&STEP::ObjectHelper<general_property,3>::Construct )
  506. , SchemaEntry("characteristic_data_column_header",&STEP::ObjectHelper<characteristic_data_column_header,0>::Construct )
  507. , SchemaEntry("general_property_relationship",&STEP::ObjectHelper<general_property_relationship,4>::Construct )
  508. , SchemaEntry("characteristic_data_column_header_link",&STEP::ObjectHelper<characteristic_data_column_header_link,0>::Construct )
  509. , SchemaEntry("characteristic_data_table_header",&STEP::ObjectHelper<characteristic_data_table_header,0>::Construct )
  510. , SchemaEntry("characteristic_data_table_header_decomposition",&STEP::ObjectHelper<characteristic_data_table_header_decomposition,0>::Construct )
  511. , SchemaEntry("group",&STEP::ObjectHelper<group,2>::Construct )
  512. , SchemaEntry("characteristic_type",&STEP::ObjectHelper<characteristic_type,0>::Construct )
  513. , SchemaEntry("characterized_class",&STEP::ObjectHelper<characterized_class,0>::Construct )
  514. , SchemaEntry("characterized_object",&STEP::ObjectHelper<characterized_object,2>::Construct )
  515. , SchemaEntry("conic",&STEP::ObjectHelper<conic,1>::Construct )
  516. , SchemaEntry("circle",&STEP::ObjectHelper<circle,1>::Construct )
  517. , SchemaEntry("circular_runout_tolerance",&STEP::ObjectHelper<circular_runout_tolerance,0>::Construct )
  518. , SchemaEntry("class_t",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  519. , SchemaEntry("class_by_extension",&STEP::ObjectHelper<class_by_extension,0>::Construct )
  520. , SchemaEntry("class_by_intension",&STEP::ObjectHelper<class_by_intension,0>::Construct )
  521. , SchemaEntry("class_system",&STEP::ObjectHelper<class_system,0>::Construct )
  522. , SchemaEntry("effectivity_context_assignment",&STEP::ObjectHelper<effectivity_context_assignment,2>::Construct )
  523. , SchemaEntry("class_usage_effectivity_context_assignment",&STEP::ObjectHelper<class_usage_effectivity_context_assignment,1>::Construct )
  524. , SchemaEntry("classification_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  525. , SchemaEntry("topological_representation_item",&STEP::ObjectHelper<topological_representation_item,0>::Construct )
  526. , SchemaEntry("connected_face_set",&STEP::ObjectHelper<connected_face_set,1>::Construct )
  527. , SchemaEntry("closed_shell",&STEP::ObjectHelper<closed_shell,0>::Construct )
  528. , SchemaEntry("coaxiality_tolerance",&STEP::ObjectHelper<coaxiality_tolerance,0>::Construct )
  529. , SchemaEntry("colour_specification",&STEP::ObjectHelper<colour_specification,1>::Construct )
  530. , SchemaEntry("colour_rgb",&STEP::ObjectHelper<colour_rgb,3>::Construct )
  531. , SchemaEntry("common_datum",&STEP::ObjectHelper<common_datum,0>::Construct )
  532. , SchemaEntry("comparison_expression",&STEP::ObjectHelper<comparison_expression,0>::Construct )
  533. , SchemaEntry("complex_clause",&STEP::ObjectHelper<complex_clause,0>::Construct )
  534. , SchemaEntry("complex_conjunctive_clause",&STEP::ObjectHelper<complex_conjunctive_clause,0>::Construct )
  535. , SchemaEntry("complex_disjunctive_clause",&STEP::ObjectHelper<complex_disjunctive_clause,0>::Construct )
  536. , SchemaEntry("modified_solid",&STEP::ObjectHelper<modified_solid,2>::Construct )
  537. , SchemaEntry("shelled_solid",&STEP::ObjectHelper<shelled_solid,2>::Construct )
  538. , SchemaEntry("complex_shelled_solid",&STEP::ObjectHelper<complex_shelled_solid,1>::Construct )
  539. , SchemaEntry("composite_assembly_definition",&STEP::ObjectHelper<composite_assembly_definition,0>::Construct )
  540. , SchemaEntry("composite_assembly_sequence_definition",&STEP::ObjectHelper<composite_assembly_sequence_definition,0>::Construct )
  541. , SchemaEntry("laminate_table",&STEP::ObjectHelper<laminate_table,0>::Construct )
  542. , SchemaEntry("part_laminate_table",&STEP::ObjectHelper<part_laminate_table,0>::Construct )
  543. , SchemaEntry("composite_assembly_table",&STEP::ObjectHelper<composite_assembly_table,0>::Construct )
  544. , SchemaEntry("composite_curve_segment",&STEP::ObjectHelper<composite_curve_segment,3>::Construct )
  545. , SchemaEntry("material_designation",&STEP::ObjectHelper<material_designation,2>::Construct )
  546. , SchemaEntry("composite_material_designation",&STEP::ObjectHelper<composite_material_designation,0>::Construct )
  547. , SchemaEntry("composite_shape_aspect",&STEP::ObjectHelper<composite_shape_aspect,0>::Construct )
  548. , SchemaEntry("composite_sheet_representation",&STEP::ObjectHelper<composite_sheet_representation,0>::Construct )
  549. , SchemaEntry("composite_text",&STEP::ObjectHelper<composite_text,1>::Construct )
  550. , SchemaEntry("composite_text_with_associated_curves",&STEP::ObjectHelper<composite_text_with_associated_curves,1>::Construct )
  551. , SchemaEntry("composite_text_with_blanking_box",&STEP::ObjectHelper<composite_text_with_blanking_box,1>::Construct )
  552. , SchemaEntry("composite_text_with_delineation",&STEP::ObjectHelper<composite_text_with_delineation,1>::Construct )
  553. , SchemaEntry("composite_text_with_extent",&STEP::ObjectHelper<composite_text_with_extent,1>::Construct )
  554. , SchemaEntry("compound_shape_representation",&STEP::ObjectHelper<compound_shape_representation,0>::Construct )
  555. , SchemaEntry("concentricity_tolerance",&STEP::ObjectHelper<concentricity_tolerance,0>::Construct )
  556. , SchemaEntry("concept_feature_operator",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  557. , SchemaEntry("concept_feature_relationship",&STEP::ObjectHelper<concept_feature_relationship,4>::Construct )
  558. , SchemaEntry("concept_feature_relationship_with_condition",&STEP::ObjectHelper<concept_feature_relationship_with_condition,1>::Construct )
  559. , SchemaEntry("product_concept_feature",&STEP::ObjectHelper<product_concept_feature,3>::Construct )
  560. , SchemaEntry("conditional_concept_feature",&STEP::ObjectHelper<conditional_concept_feature,1>::Construct )
  561. , SchemaEntry("conductance_measure_with_unit",&STEP::ObjectHelper<conductance_measure_with_unit,0>::Construct )
  562. , SchemaEntry("conductance_unit",&STEP::ObjectHelper<conductance_unit,0>::Construct )
  563. , SchemaEntry("configuration_item",&STEP::ObjectHelper<configuration_item,5>::Construct )
  564. , SchemaEntry("configurable_item",&STEP::ObjectHelper<configurable_item,1>::Construct )
  565. , SchemaEntry("configuration_design",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  566. , SchemaEntry("effectivity",&STEP::ObjectHelper<effectivity,1>::Construct )
  567. , SchemaEntry("product_definition_effectivity",&STEP::ObjectHelper<product_definition_effectivity,1>::Construct )
  568. , SchemaEntry("configuration_effectivity",&STEP::ObjectHelper<configuration_effectivity,1>::Construct )
  569. , SchemaEntry("configuration_item_relationship",&STEP::ObjectHelper<configuration_item_relationship,4>::Construct )
  570. , SchemaEntry("configuration_item_hierarchical_relationship",&STEP::ObjectHelper<configuration_item_hierarchical_relationship,0>::Construct )
  571. , SchemaEntry("configuration_item_revision_sequence",&STEP::ObjectHelper<configuration_item_revision_sequence,0>::Construct )
  572. , SchemaEntry("configured_effectivity_assignment",&STEP::ObjectHelper<configured_effectivity_assignment,1>::Construct )
  573. , SchemaEntry("configured_effectivity_context_assignment",&STEP::ObjectHelper<configured_effectivity_context_assignment,1>::Construct )
  574. , SchemaEntry("conical_stepped_hole_transition",&STEP::ObjectHelper<conical_stepped_hole_transition,3>::Construct )
  575. , SchemaEntry("elementary_surface",&STEP::ObjectHelper<elementary_surface,1>::Construct )
  576. , SchemaEntry("conical_surface",&STEP::ObjectHelper<conical_surface,2>::Construct )
  577. , SchemaEntry("connected_edge_set",&STEP::ObjectHelper<connected_edge_set,1>::Construct )
  578. , SchemaEntry("connected_face_sub_set",&STEP::ObjectHelper<connected_face_sub_set,1>::Construct )
  579. , SchemaEntry("constructive_geometry_representation",&STEP::ObjectHelper<constructive_geometry_representation,0>::Construct )
  580. , SchemaEntry("representation_relationship",&STEP::ObjectHelper<representation_relationship,4>::Construct )
  581. , SchemaEntry("constructive_geometry_representation_relationship",&STEP::ObjectHelper<constructive_geometry_representation_relationship,0>::Construct )
  582. , SchemaEntry("contact_ratio_representation",&STEP::ObjectHelper<contact_ratio_representation,0>::Construct )
  583. , SchemaEntry("invisibility",&STEP::ObjectHelper<invisibility,1>::Construct )
  584. , SchemaEntry("context_dependent_invisibility",&STEP::ObjectHelper<context_dependent_invisibility,1>::Construct )
  585. , SchemaEntry("over_riding_styled_item",&STEP::ObjectHelper<over_riding_styled_item,1>::Construct )
  586. , SchemaEntry("context_dependent_over_riding_styled_item",&STEP::ObjectHelper<context_dependent_over_riding_styled_item,1>::Construct )
  587. , SchemaEntry("context_dependent_shape_representation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  588. , SchemaEntry("context_dependent_unit",&STEP::ObjectHelper<context_dependent_unit,1>::Construct )
  589. , SchemaEntry("contract",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  590. , SchemaEntry("contract_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  591. , SchemaEntry("contract_type",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  592. , SchemaEntry("conversion_based_unit",&STEP::ObjectHelper<conversion_based_unit,2>::Construct )
  593. , SchemaEntry("coordinated_universal_time_offset",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  594. , SchemaEntry("csg_shape_representation",&STEP::ObjectHelper<csg_shape_representation,0>::Construct )
  595. , SchemaEntry("csg_solid",&STEP::ObjectHelper<csg_solid,1>::Construct )
  596. , SchemaEntry("currency",&STEP::ObjectHelper<currency,0>::Construct )
  597. , SchemaEntry("currency_measure_with_unit",&STEP::ObjectHelper<currency_measure_with_unit,0>::Construct )
  598. , SchemaEntry("curve_bounded_surface",&STEP::ObjectHelper<curve_bounded_surface,3>::Construct )
  599. , SchemaEntry("curve_dimension",&STEP::ObjectHelper<curve_dimension,0>::Construct )
  600. , SchemaEntry("curve_replica",&STEP::ObjectHelper<curve_replica,2>::Construct )
  601. , SchemaEntry("curve_style",&STEP::ObjectHelper<curve_style,4>::Construct )
  602. , SchemaEntry("curve_style_font",&STEP::ObjectHelper<curve_style_font,2>::Construct )
  603. , SchemaEntry("curve_style_font_and_scaling",&STEP::ObjectHelper<curve_style_font_and_scaling,3>::Construct )
  604. , SchemaEntry("curve_style_font_pattern",&STEP::ObjectHelper<curve_style_font_pattern,2>::Construct )
  605. , SchemaEntry("curve_style_rendering",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  606. , SchemaEntry("curve_swept_solid_shape_representation",&STEP::ObjectHelper<curve_swept_solid_shape_representation,0>::Construct )
  607. , SchemaEntry("cylindrical_surface",&STEP::ObjectHelper<cylindrical_surface,1>::Construct )
  608. , SchemaEntry("cylindricity_tolerance",&STEP::ObjectHelper<cylindricity_tolerance,0>::Construct )
  609. , SchemaEntry("data_environment",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  610. , SchemaEntry("date_and_time",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  611. , SchemaEntry("date_representation_item",&STEP::ObjectHelper<date_representation_item,0>::Construct )
  612. , SchemaEntry("date_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  613. , SchemaEntry("date_time_representation_item",&STEP::ObjectHelper<date_time_representation_item,0>::Construct )
  614. , SchemaEntry("date_time_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  615. , SchemaEntry("dated_effectivity",&STEP::ObjectHelper<dated_effectivity,2>::Construct )
  616. , SchemaEntry("datum",&STEP::ObjectHelper<datum,1>::Construct )
  617. , SchemaEntry("datum_feature",&STEP::ObjectHelper<datum_feature,0>::Construct )
  618. , SchemaEntry("datum_feature_callout",&STEP::ObjectHelper<datum_feature_callout,0>::Construct )
  619. , SchemaEntry("datum_reference",&STEP::ObjectHelper<datum_reference,2>::Construct )
  620. , SchemaEntry("datum_target",&STEP::ObjectHelper<datum_target,1>::Construct )
  621. , SchemaEntry("datum_target_callout",&STEP::ObjectHelper<datum_target_callout,0>::Construct )
  622. , SchemaEntry("default_tolerance_table",&STEP::ObjectHelper<default_tolerance_table,0>::Construct )
  623. , SchemaEntry("default_tolerance_table_cell",&STEP::ObjectHelper<default_tolerance_table_cell,0>::Construct )
  624. , SchemaEntry("defined_symbol",&STEP::ObjectHelper<defined_symbol,2>::Construct )
  625. , SchemaEntry("definitional_representation",&STEP::ObjectHelper<definitional_representation,0>::Construct )
  626. , SchemaEntry("definitional_representation_relationship",&STEP::ObjectHelper<definitional_representation_relationship,0>::Construct )
  627. , SchemaEntry("definitional_representation_relationship_with_same_context",&STEP::ObjectHelper<definitional_representation_relationship_with_same_context,0>::Construct )
  628. , SchemaEntry("degenerate_pcurve",&STEP::ObjectHelper<degenerate_pcurve,2>::Construct )
  629. , SchemaEntry("toroidal_surface",&STEP::ObjectHelper<toroidal_surface,2>::Construct )
  630. , SchemaEntry("degenerate_toroidal_surface",&STEP::ObjectHelper<degenerate_toroidal_surface,1>::Construct )
  631. , SchemaEntry("derived_unit_element",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  632. , SchemaEntry("description_attribute",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  633. , SchemaEntry("descriptive_representation_item",&STEP::ObjectHelper<descriptive_representation_item,1>::Construct )
  634. , SchemaEntry("product_definition_context",&STEP::ObjectHelper<product_definition_context,1>::Construct )
  635. , SchemaEntry("design_context",&STEP::ObjectHelper<design_context,0>::Construct )
  636. , SchemaEntry("design_make_from_relationship",&STEP::ObjectHelper<design_make_from_relationship,0>::Construct )
  637. , SchemaEntry("diameter_dimension",&STEP::ObjectHelper<diameter_dimension,0>::Construct )
  638. , SchemaEntry("ratio_measure_with_unit",&STEP::ObjectHelper<ratio_measure_with_unit,0>::Construct )
  639. , SchemaEntry("dielectric_constant_measure_with_unit",&STEP::ObjectHelper<dielectric_constant_measure_with_unit,0>::Construct )
  640. , SchemaEntry("dimension_callout",&STEP::ObjectHelper<dimension_callout,0>::Construct )
  641. , SchemaEntry("draughting_callout_relationship",&STEP::ObjectHelper<draughting_callout_relationship,4>::Construct )
  642. , SchemaEntry("dimension_callout_component_relationship",&STEP::ObjectHelper<dimension_callout_component_relationship,0>::Construct )
  643. , SchemaEntry("dimension_callout_relationship",&STEP::ObjectHelper<dimension_callout_relationship,0>::Construct )
  644. , SchemaEntry("dimension_curve",&STEP::ObjectHelper<dimension_curve,0>::Construct )
  645. , SchemaEntry("terminator_symbol",&STEP::ObjectHelper<terminator_symbol,1>::Construct )
  646. , SchemaEntry("dimension_curve_terminator",&STEP::ObjectHelper<dimension_curve_terminator,1>::Construct )
  647. , SchemaEntry("dimension_curve_terminator_to_projection_curve_associativity",&STEP::ObjectHelper<dimension_curve_terminator_to_projection_curve_associativity,0>::Construct )
  648. , SchemaEntry("dimension_pair",&STEP::ObjectHelper<dimension_pair,0>::Construct )
  649. , SchemaEntry("dimension_related_tolerance_zone_element",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  650. , SchemaEntry("dimension_text_associativity",&STEP::ObjectHelper<dimension_text_associativity,0>::Construct )
  651. , SchemaEntry("dimensional_characteristic_representation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  652. , SchemaEntry("dimensional_exponents",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  653. , SchemaEntry("dimensional_location_with_path",&STEP::ObjectHelper<dimensional_location_with_path,1>::Construct )
  654. , SchemaEntry("dimensional_size_with_path",&STEP::ObjectHelper<dimensional_size_with_path,1>::Construct )
  655. , SchemaEntry("executed_action",&STEP::ObjectHelper<executed_action,0>::Construct )
  656. , SchemaEntry("directed_action",&STEP::ObjectHelper<directed_action,1>::Construct )
  657. , SchemaEntry("directed_dimensional_location",&STEP::ObjectHelper<directed_dimensional_location,0>::Construct )
  658. , SchemaEntry("direction",&STEP::ObjectHelper<direction,1>::Construct )
  659. , SchemaEntry("document",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  660. , SchemaEntry("document_file",&STEP::ObjectHelper<document_file,0>::Construct )
  661. , SchemaEntry("document_identifier",&STEP::ObjectHelper<document_identifier,0>::Construct )
  662. , SchemaEntry("document_identifier_assignment",&STEP::ObjectHelper<document_identifier_assignment,1>::Construct )
  663. , SchemaEntry("document_product_association",&STEP::ObjectHelper<document_product_association,4>::Construct )
  664. , SchemaEntry("document_product_equivalence",&STEP::ObjectHelper<document_product_equivalence,0>::Construct )
  665. , SchemaEntry("document_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  666. , SchemaEntry("document_representation_type",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  667. , SchemaEntry("document_type",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  668. , SchemaEntry("document_usage_constraint",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  669. , SchemaEntry("document_usage_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  670. , SchemaEntry("dose_equivalent_measure_with_unit",&STEP::ObjectHelper<dose_equivalent_measure_with_unit,0>::Construct )
  671. , SchemaEntry("dose_equivalent_unit",&STEP::ObjectHelper<dose_equivalent_unit,0>::Construct )
  672. , SchemaEntry("double_offset_shelled_solid",&STEP::ObjectHelper<double_offset_shelled_solid,1>::Construct )
  673. , SchemaEntry("item_defined_transformation",&STEP::ObjectHelper<item_defined_transformation,4>::Construct )
  674. , SchemaEntry("transformation_with_derived_angle",&STEP::ObjectHelper<transformation_with_derived_angle,0>::Construct )
  675. , SchemaEntry("draped_defined_transformation",&STEP::ObjectHelper<draped_defined_transformation,0>::Construct )
  676. , SchemaEntry("draughting_annotation_occurrence",&STEP::ObjectHelper<draughting_annotation_occurrence,0>::Construct )
  677. , SchemaEntry("draughting_elements",&STEP::ObjectHelper<draughting_elements,0>::Construct )
  678. , SchemaEntry("draughting_model",&STEP::ObjectHelper<draughting_model,0>::Construct )
  679. , SchemaEntry("item_identified_representation_usage",&STEP::ObjectHelper<item_identified_representation_usage,5>::Construct )
  680. , SchemaEntry("draughting_model_item_association",&STEP::ObjectHelper<draughting_model_item_association,0>::Construct )
  681. , SchemaEntry("pre_defined_colour",&STEP::ObjectHelper<pre_defined_colour,0>::Construct )
  682. , SchemaEntry("draughting_pre_defined_colour",&STEP::ObjectHelper<draughting_pre_defined_colour,0>::Construct )
  683. , SchemaEntry("pre_defined_item",&STEP::ObjectHelper<pre_defined_item,1>::Construct )
  684. , SchemaEntry("pre_defined_curve_font",&STEP::ObjectHelper<pre_defined_curve_font,0>::Construct )
  685. , SchemaEntry("draughting_pre_defined_curve_font",&STEP::ObjectHelper<draughting_pre_defined_curve_font,0>::Construct )
  686. , SchemaEntry("pre_defined_text_font",&STEP::ObjectHelper<pre_defined_text_font,0>::Construct )
  687. , SchemaEntry("draughting_pre_defined_text_font",&STEP::ObjectHelper<draughting_pre_defined_text_font,0>::Construct )
  688. , SchemaEntry("draughting_subfigure_representation",&STEP::ObjectHelper<draughting_subfigure_representation,0>::Construct )
  689. , SchemaEntry("draughting_symbol_representation",&STEP::ObjectHelper<draughting_symbol_representation,0>::Construct )
  690. , SchemaEntry("text_literal",&STEP::ObjectHelper<text_literal,5>::Construct )
  691. , SchemaEntry("text_literal_with_delineation",&STEP::ObjectHelper<text_literal_with_delineation,1>::Construct )
  692. , SchemaEntry("draughting_text_literal_with_delineation",&STEP::ObjectHelper<draughting_text_literal_with_delineation,0>::Construct )
  693. , SchemaEntry("draughting_title",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  694. , SchemaEntry("drawing_definition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  695. , SchemaEntry("presentation_set",&STEP::ObjectHelper<presentation_set,0>::Construct )
  696. , SchemaEntry("drawing_revision",&STEP::ObjectHelper<drawing_revision,3>::Construct )
  697. , SchemaEntry("drawing_revision_sequence",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  698. , SchemaEntry("presentation_representation",&STEP::ObjectHelper<presentation_representation,0>::Construct )
  699. , SchemaEntry("presentation_area",&STEP::ObjectHelper<presentation_area,0>::Construct )
  700. , SchemaEntry("drawing_sheet_revision",&STEP::ObjectHelper<drawing_sheet_revision,1>::Construct )
  701. , SchemaEntry("drawing_sheet_revision_sequence",&STEP::ObjectHelper<drawing_sheet_revision_sequence,0>::Construct )
  702. , SchemaEntry("drawing_sheet_revision_usage",&STEP::ObjectHelper<drawing_sheet_revision_usage,1>::Construct )
  703. , SchemaEntry("edge",&STEP::ObjectHelper<edge,2>::Construct )
  704. , SchemaEntry("edge_based_wireframe_model",&STEP::ObjectHelper<edge_based_wireframe_model,1>::Construct )
  705. , SchemaEntry("edge_based_wireframe_shape_representation",&STEP::ObjectHelper<edge_based_wireframe_shape_representation,0>::Construct )
  706. , SchemaEntry("edge_blended_solid",&STEP::ObjectHelper<edge_blended_solid,1>::Construct )
  707. , SchemaEntry("edge_curve",&STEP::ObjectHelper<edge_curve,2>::Construct )
  708. , SchemaEntry("edge_loop",&STEP::ObjectHelper<edge_loop,0>::Construct )
  709. , SchemaEntry("effectivity_context_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  710. , SchemaEntry("effectivity_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  711. , SchemaEntry("electric_charge_measure_with_unit",&STEP::ObjectHelper<electric_charge_measure_with_unit,0>::Construct )
  712. , SchemaEntry("electric_charge_unit",&STEP::ObjectHelper<electric_charge_unit,0>::Construct )
  713. , SchemaEntry("electric_current_measure_with_unit",&STEP::ObjectHelper<electric_current_measure_with_unit,0>::Construct )
  714. , SchemaEntry("electric_current_unit",&STEP::ObjectHelper<electric_current_unit,0>::Construct )
  715. , SchemaEntry("electric_potential_measure_with_unit",&STEP::ObjectHelper<electric_potential_measure_with_unit,0>::Construct )
  716. , SchemaEntry("electric_potential_unit",&STEP::ObjectHelper<electric_potential_unit,0>::Construct )
  717. , SchemaEntry("elementary_brep_shape_representation",&STEP::ObjectHelper<elementary_brep_shape_representation,0>::Construct )
  718. , SchemaEntry("ellipse",&STEP::ObjectHelper<ellipse,2>::Construct )
  719. , SchemaEntry("energy_measure_with_unit",&STEP::ObjectHelper<energy_measure_with_unit,0>::Construct )
  720. , SchemaEntry("energy_unit",&STEP::ObjectHelper<energy_unit,0>::Construct )
  721. , SchemaEntry("property_definition",&STEP::ObjectHelper<property_definition,3>::Construct )
  722. , SchemaEntry("fact_type",&STEP::ObjectHelper<fact_type,0>::Construct )
  723. , SchemaEntry("entity_assertion",&STEP::ObjectHelper<entity_assertion,0>::Construct )
  724. , SchemaEntry("enum_reference_prefix",&STEP::ObjectHelper<enum_reference_prefix,0>::Construct )
  725. , SchemaEntry("environment",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  726. , SchemaEntry("evaluated_characteristic",&STEP::ObjectHelper<evaluated_characteristic,0>::Construct )
  727. , SchemaEntry("evaluated_degenerate_pcurve",&STEP::ObjectHelper<evaluated_degenerate_pcurve,1>::Construct )
  728. , SchemaEntry("evaluation_product_definition",&STEP::ObjectHelper<evaluation_product_definition,0>::Construct )
  729. , SchemaEntry("event_occurrence",&STEP::ObjectHelper<event_occurrence,3>::Construct )
  730. , SchemaEntry("event_occurrence_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  731. , SchemaEntry("event_occurrence_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  732. , SchemaEntry("product_concept_feature_category",&STEP::ObjectHelper<product_concept_feature_category,0>::Construct )
  733. , SchemaEntry("exclusive_product_concept_feature_category",&STEP::ObjectHelper<exclusive_product_concept_feature_category,0>::Construct )
  734. , SchemaEntry("uncertainty_qualifier",&STEP::ObjectHelper<uncertainty_qualifier,2>::Construct )
  735. , SchemaEntry("standard_uncertainty",&STEP::ObjectHelper<standard_uncertainty,1>::Construct )
  736. , SchemaEntry("expanded_uncertainty",&STEP::ObjectHelper<expanded_uncertainty,1>::Construct )
  737. , SchemaEntry("representation_item_relationship",&STEP::ObjectHelper<representation_item_relationship,4>::Construct )
  738. , SchemaEntry("explicit_procedural_representation_item_relationship",&STEP::ObjectHelper<explicit_procedural_representation_item_relationship,0>::Construct )
  739. , SchemaEntry("explicit_procedural_geometric_representation_item_relationship",&STEP::ObjectHelper<explicit_procedural_geometric_representation_item_relationship,0>::Construct )
  740. , SchemaEntry("explicit_procedural_representation_relationship",&STEP::ObjectHelper<explicit_procedural_representation_relationship,0>::Construct )
  741. , SchemaEntry("explicit_procedural_shape_representation_relationship",&STEP::ObjectHelper<explicit_procedural_shape_representation_relationship,0>::Construct )
  742. , SchemaEntry("expression_conversion_based_unit",&STEP::ObjectHelper<expression_conversion_based_unit,0>::Construct )
  743. , SchemaEntry("extension",&STEP::ObjectHelper<extension,0>::Construct )
  744. , SchemaEntry("extent",&STEP::ObjectHelper<extent,0>::Construct )
  745. , SchemaEntry("external_source",&STEP::ObjectHelper<external_source,1>::Construct )
  746. , SchemaEntry("external_class_library",&STEP::ObjectHelper<external_class_library,0>::Construct )
  747. , SchemaEntry("external_source_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  748. , SchemaEntry("externally_defined_class",&STEP::ObjectHelper<externally_defined_class,0>::Construct )
  749. , SchemaEntry("externally_defined_colour",&STEP::ObjectHelper<externally_defined_colour,0>::Construct )
  750. , SchemaEntry("externally_defined_context_dependent_unit",&STEP::ObjectHelper<externally_defined_context_dependent_unit,0>::Construct )
  751. , SchemaEntry("externally_defined_conversion_based_unit",&STEP::ObjectHelper<externally_defined_conversion_based_unit,0>::Construct )
  752. , SchemaEntry("externally_defined_currency",&STEP::ObjectHelper<externally_defined_currency,0>::Construct )
  753. , SchemaEntry("externally_defined_item",&STEP::ObjectHelper<externally_defined_item,2>::Construct )
  754. , SchemaEntry("externally_defined_curve_font",&STEP::ObjectHelper<externally_defined_curve_font,0>::Construct )
  755. , SchemaEntry("externally_defined_dimension_definition",&STEP::ObjectHelper<externally_defined_dimension_definition,0>::Construct )
  756. , SchemaEntry("externally_defined_general_property",&STEP::ObjectHelper<externally_defined_general_property,0>::Construct )
  757. , SchemaEntry("externally_defined_hatch_style",&STEP::ObjectHelper<externally_defined_hatch_style,0>::Construct )
  758. , SchemaEntry("externally_defined_item_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  759. , SchemaEntry("externally_defined_marker",&STEP::ObjectHelper<externally_defined_marker,0>::Construct )
  760. , SchemaEntry("picture_representation_item",&STEP::ObjectHelper<picture_representation_item,0>::Construct )
  761. , SchemaEntry("externally_defined_picture_representation_item",&STEP::ObjectHelper<externally_defined_picture_representation_item,0>::Construct )
  762. , SchemaEntry("externally_defined_representation_item",&STEP::ObjectHelper<externally_defined_representation_item,0>::Construct )
  763. , SchemaEntry("externally_defined_string",&STEP::ObjectHelper<externally_defined_string,0>::Construct )
  764. , SchemaEntry("externally_defined_symbol",&STEP::ObjectHelper<externally_defined_symbol,0>::Construct )
  765. , SchemaEntry("externally_defined_terminator_symbol",&STEP::ObjectHelper<externally_defined_terminator_symbol,0>::Construct )
  766. , SchemaEntry("externally_defined_text_font",&STEP::ObjectHelper<externally_defined_text_font,0>::Construct )
  767. , SchemaEntry("externally_defined_tile",&STEP::ObjectHelper<externally_defined_tile,0>::Construct )
  768. , SchemaEntry("externally_defined_tile_style",&STEP::ObjectHelper<externally_defined_tile_style,0>::Construct )
  769. , SchemaEntry("swept_area_solid",&STEP::ObjectHelper<swept_area_solid,1>::Construct )
  770. , SchemaEntry("extruded_area_solid",&STEP::ObjectHelper<extruded_area_solid,2>::Construct )
  771. , SchemaEntry("swept_face_solid",&STEP::ObjectHelper<swept_face_solid,1>::Construct )
  772. , SchemaEntry("extruded_face_solid",&STEP::ObjectHelper<extruded_face_solid,2>::Construct )
  773. , SchemaEntry("extruded_face_solid_with_trim_conditions",&STEP::ObjectHelper<extruded_face_solid_with_trim_conditions,6>::Construct )
  774. , SchemaEntry("extruded_face_solid_with_draft_angle",&STEP::ObjectHelper<extruded_face_solid_with_draft_angle,1>::Construct )
  775. , SchemaEntry("extruded_face_solid_with_multiple_draft_angles",&STEP::ObjectHelper<extruded_face_solid_with_multiple_draft_angles,1>::Construct )
  776. , SchemaEntry("face",&STEP::ObjectHelper<face,1>::Construct )
  777. , SchemaEntry("face_based_surface_model",&STEP::ObjectHelper<face_based_surface_model,1>::Construct )
  778. , SchemaEntry("face_bound",&STEP::ObjectHelper<face_bound,2>::Construct )
  779. , SchemaEntry("face_outer_bound",&STEP::ObjectHelper<face_outer_bound,0>::Construct )
  780. , SchemaEntry("faceted_brep",&STEP::ObjectHelper<faceted_brep,0>::Construct )
  781. , SchemaEntry("faceted_brep_shape_representation",&STEP::ObjectHelper<faceted_brep_shape_representation,0>::Construct )
  782. , SchemaEntry("fill_area_style",&STEP::ObjectHelper<fill_area_style,2>::Construct )
  783. , SchemaEntry("fill_area_style_colour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  784. , SchemaEntry("fill_area_style_hatching",&STEP::ObjectHelper<fill_area_style_hatching,5>::Construct )
  785. , SchemaEntry("fill_area_style_tile_coloured_region",&STEP::ObjectHelper<fill_area_style_tile_coloured_region,2>::Construct )
  786. , SchemaEntry("fill_area_style_tile_curve_with_style",&STEP::ObjectHelper<fill_area_style_tile_curve_with_style,1>::Construct )
  787. , SchemaEntry("fill_area_style_tile_symbol_with_style",&STEP::ObjectHelper<fill_area_style_tile_symbol_with_style,1>::Construct )
  788. , SchemaEntry("fill_area_style_tiles",&STEP::ObjectHelper<fill_area_style_tiles,3>::Construct )
  789. , SchemaEntry("shape_representation_relationship",&STEP::ObjectHelper<shape_representation_relationship,0>::Construct )
  790. , SchemaEntry("flat_pattern_ply_representation_relationship",&STEP::ObjectHelper<flat_pattern_ply_representation_relationship,0>::Construct )
  791. , SchemaEntry("flatness_tolerance",&STEP::ObjectHelper<flatness_tolerance,0>::Construct )
  792. , SchemaEntry("force_measure_with_unit",&STEP::ObjectHelper<force_measure_with_unit,0>::Construct )
  793. , SchemaEntry("force_unit",&STEP::ObjectHelper<force_unit,0>::Construct )
  794. , SchemaEntry("forward_chaining_rule",&STEP::ObjectHelper<forward_chaining_rule,0>::Construct )
  795. , SchemaEntry("forward_chaining_rule_premise",&STEP::ObjectHelper<forward_chaining_rule_premise,0>::Construct )
  796. , SchemaEntry("frequency_measure_with_unit",&STEP::ObjectHelper<frequency_measure_with_unit,0>::Construct )
  797. , SchemaEntry("frequency_unit",&STEP::ObjectHelper<frequency_unit,0>::Construct )
  798. , SchemaEntry("func",&STEP::ObjectHelper<func,0>::Construct )
  799. , SchemaEntry("functional_breakdown_context",&STEP::ObjectHelper<functional_breakdown_context,0>::Construct )
  800. , SchemaEntry("functional_element_usage",&STEP::ObjectHelper<functional_element_usage,0>::Construct )
  801. , SchemaEntry("functionally_defined_transformation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  802. , SchemaEntry("general_material_property",&STEP::ObjectHelper<general_material_property,0>::Construct )
  803. , SchemaEntry("general_property_association",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  804. , SchemaEntry("simple_generic_expression",&STEP::ObjectHelper<simple_generic_expression,0>::Construct )
  805. , SchemaEntry("generic_literal",&STEP::ObjectHelper<generic_literal,0>::Construct )
  806. , SchemaEntry("generic_variable",&STEP::ObjectHelper<generic_variable,0>::Construct )
  807. , SchemaEntry("geometric_alignment",&STEP::ObjectHelper<geometric_alignment,0>::Construct )
  808. , SchemaEntry("geometric_set",&STEP::ObjectHelper<geometric_set,1>::Construct )
  809. , SchemaEntry("geometric_curve_set",&STEP::ObjectHelper<geometric_curve_set,0>::Construct )
  810. , SchemaEntry("geometric_intersection",&STEP::ObjectHelper<geometric_intersection,0>::Construct )
  811. , SchemaEntry("geometric_item_specific_usage",&STEP::ObjectHelper<geometric_item_specific_usage,0>::Construct )
  812. , SchemaEntry("geometric_model_element_relationship",&STEP::ObjectHelper<geometric_model_element_relationship,0>::Construct )
  813. , SchemaEntry("representation_context",&STEP::ObjectHelper<representation_context,2>::Construct )
  814. , SchemaEntry("geometric_representation_context",&STEP::ObjectHelper<geometric_representation_context,1>::Construct )
  815. , SchemaEntry("geometric_tolerance_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  816. , SchemaEntry("geometric_tolerance_with_defined_unit",&STEP::ObjectHelper<geometric_tolerance_with_defined_unit,1>::Construct )
  817. , SchemaEntry("geometrical_tolerance_callout",&STEP::ObjectHelper<geometrical_tolerance_callout,0>::Construct )
  818. , SchemaEntry("geometrically_bounded_2d_wireframe_representation",&STEP::ObjectHelper<geometrically_bounded_2d_wireframe_representation,0>::Construct )
  819. , SchemaEntry("geometrically_bounded_surface_shape_representation",&STEP::ObjectHelper<geometrically_bounded_surface_shape_representation,0>::Construct )
  820. , SchemaEntry("geometrically_bounded_wireframe_shape_representation",&STEP::ObjectHelper<geometrically_bounded_wireframe_shape_representation,0>::Construct )
  821. , SchemaEntry("global_assignment",&STEP::ObjectHelper<global_assignment,0>::Construct )
  822. , SchemaEntry("global_uncertainty_assigned_context",&STEP::ObjectHelper<global_uncertainty_assigned_context,1>::Construct )
  823. , SchemaEntry("global_unit_assigned_context",&STEP::ObjectHelper<global_unit_assigned_context,1>::Construct )
  824. , SchemaEntry("ground_fact",&STEP::ObjectHelper<ground_fact,0>::Construct )
  825. , SchemaEntry("group_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  826. , SchemaEntry("hardness_representation",&STEP::ObjectHelper<hardness_representation,0>::Construct )
  827. , SchemaEntry("hidden_element_over_riding_styled_item",&STEP::ObjectHelper<hidden_element_over_riding_styled_item,0>::Construct )
  828. , SchemaEntry("hyperbola",&STEP::ObjectHelper<hyperbola,2>::Construct )
  829. , SchemaEntry("id_attribute",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  830. , SchemaEntry("identification_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  831. , SchemaEntry("illuminance_measure_with_unit",&STEP::ObjectHelper<illuminance_measure_with_unit,0>::Construct )
  832. , SchemaEntry("illuminance_unit",&STEP::ObjectHelper<illuminance_unit,0>::Construct )
  833. , SchemaEntry("included_text_block",&STEP::ObjectHelper<included_text_block,0>::Construct )
  834. , SchemaEntry("inclusion_product_concept_feature",&STEP::ObjectHelper<inclusion_product_concept_feature,0>::Construct )
  835. , SchemaEntry("user_selected_elements",&STEP::ObjectHelper<user_selected_elements,1>::Construct )
  836. , SchemaEntry("indirectly_selected_elements",&STEP::ObjectHelper<indirectly_selected_elements,1>::Construct )
  837. , SchemaEntry("indirectly_selected_shape_elements",&STEP::ObjectHelper<indirectly_selected_shape_elements,0>::Construct )
  838. , SchemaEntry("inductance_measure_with_unit",&STEP::ObjectHelper<inductance_measure_with_unit,0>::Construct )
  839. , SchemaEntry("inductance_unit",&STEP::ObjectHelper<inductance_unit,0>::Construct )
  840. , SchemaEntry("information_right",&STEP::ObjectHelper<information_right,0>::Construct )
  841. , SchemaEntry("information_usage_right",&STEP::ObjectHelper<information_usage_right,0>::Construct )
  842. , SchemaEntry("instance_usage_context_assignment",&STEP::ObjectHelper<instance_usage_context_assignment,1>::Construct )
  843. , SchemaEntry("instanced_feature",&STEP::ObjectHelper<instanced_feature,0>::Construct )
  844. , SchemaEntry("literal_number",&STEP::ObjectHelper<literal_number,1>::Construct )
  845. , SchemaEntry("int_literal",&STEP::ObjectHelper<int_literal,0>::Construct )
  846. , SchemaEntry("integer_representation_item",&STEP::ObjectHelper<integer_representation_item,0>::Construct )
  847. , SchemaEntry("surface_curve",&STEP::ObjectHelper<surface_curve,3>::Construct )
  848. , SchemaEntry("intersection_curve",&STEP::ObjectHelper<intersection_curve,0>::Construct )
  849. , SchemaEntry("interval_expression",&STEP::ObjectHelper<interval_expression,0>::Construct )
  850. , SchemaEntry("iso4217_currency",&STEP::ObjectHelper<iso4217_currency,0>::Construct )
  851. , SchemaEntry("known_source",&STEP::ObjectHelper<known_source,0>::Construct )
  852. , SchemaEntry("laid_defined_transformation",&STEP::ObjectHelper<laid_defined_transformation,0>::Construct )
  853. , SchemaEntry("language",&STEP::ObjectHelper<language,0>::Construct )
  854. , SchemaEntry("leader_curve",&STEP::ObjectHelper<leader_curve,0>::Construct )
  855. , SchemaEntry("leader_directed_callout",&STEP::ObjectHelper<leader_directed_callout,0>::Construct )
  856. , SchemaEntry("leader_directed_dimension",&STEP::ObjectHelper<leader_directed_dimension,0>::Construct )
  857. , SchemaEntry("leader_terminator",&STEP::ObjectHelper<leader_terminator,0>::Construct )
  858. , SchemaEntry("length_measure_with_unit",&STEP::ObjectHelper<length_measure_with_unit,0>::Construct )
  859. , SchemaEntry("length_unit",&STEP::ObjectHelper<length_unit,0>::Construct )
  860. , SchemaEntry("light_source",&STEP::ObjectHelper<light_source,1>::Construct )
  861. , SchemaEntry("light_source_ambient",&STEP::ObjectHelper<light_source_ambient,0>::Construct )
  862. , SchemaEntry("light_source_directional",&STEP::ObjectHelper<light_source_directional,1>::Construct )
  863. , SchemaEntry("light_source_positional",&STEP::ObjectHelper<light_source_positional,3>::Construct )
  864. , SchemaEntry("light_source_spot",&STEP::ObjectHelper<light_source_spot,6>::Construct )
  865. , SchemaEntry("limits_and_fits",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  866. , SchemaEntry("line",&STEP::ObjectHelper<line,2>::Construct )
  867. , SchemaEntry("line_profile_tolerance",&STEP::ObjectHelper<line_profile_tolerance,0>::Construct )
  868. , SchemaEntry("linear_dimension",&STEP::ObjectHelper<linear_dimension,0>::Construct )
  869. , SchemaEntry("simple_clause",&STEP::ObjectHelper<simple_clause,0>::Construct )
  870. , SchemaEntry("literal_conjunction",&STEP::ObjectHelper<literal_conjunction,0>::Construct )
  871. , SchemaEntry("literal_disjunction",&STEP::ObjectHelper<literal_disjunction,0>::Construct )
  872. , SchemaEntry("local_time",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  873. , SchemaEntry("logical_literal",&STEP::ObjectHelper<logical_literal,1>::Construct )
  874. , SchemaEntry("logical_representation_item",&STEP::ObjectHelper<logical_representation_item,0>::Construct )
  875. , SchemaEntry("loop",&STEP::ObjectHelper<loop,0>::Construct )
  876. , SchemaEntry("loss_tangent_measure_with_unit",&STEP::ObjectHelper<loss_tangent_measure_with_unit,0>::Construct )
  877. , SchemaEntry("lot_effectivity",&STEP::ObjectHelper<lot_effectivity,2>::Construct )
  878. , SchemaEntry("luminous_flux_measure_with_unit",&STEP::ObjectHelper<luminous_flux_measure_with_unit,0>::Construct )
  879. , SchemaEntry("luminous_flux_unit",&STEP::ObjectHelper<luminous_flux_unit,0>::Construct )
  880. , SchemaEntry("luminous_intensity_measure_with_unit",&STEP::ObjectHelper<luminous_intensity_measure_with_unit,0>::Construct )
  881. , SchemaEntry("luminous_intensity_unit",&STEP::ObjectHelper<luminous_intensity_unit,0>::Construct )
  882. , SchemaEntry("magnetic_flux_density_measure_with_unit",&STEP::ObjectHelper<magnetic_flux_density_measure_with_unit,0>::Construct )
  883. , SchemaEntry("magnetic_flux_density_unit",&STEP::ObjectHelper<magnetic_flux_density_unit,0>::Construct )
  884. , SchemaEntry("magnetic_flux_measure_with_unit",&STEP::ObjectHelper<magnetic_flux_measure_with_unit,0>::Construct )
  885. , SchemaEntry("magnetic_flux_unit",&STEP::ObjectHelper<magnetic_flux_unit,0>::Construct )
  886. , SchemaEntry("make_from_usage_option",&STEP::ObjectHelper<make_from_usage_option,3>::Construct )
  887. , SchemaEntry("manifold_subsurface_shape_representation",&STEP::ObjectHelper<manifold_subsurface_shape_representation,0>::Construct )
  888. , SchemaEntry("manifold_surface_shape_representation",&STEP::ObjectHelper<manifold_surface_shape_representation,0>::Construct )
  889. , SchemaEntry("mass_measure_with_unit",&STEP::ObjectHelper<mass_measure_with_unit,0>::Construct )
  890. , SchemaEntry("mass_unit",&STEP::ObjectHelper<mass_unit,0>::Construct )
  891. , SchemaEntry("material_designation_characterization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  892. , SchemaEntry("material_property",&STEP::ObjectHelper<material_property,0>::Construct )
  893. , SchemaEntry("property_definition_representation",&STEP::ObjectHelper<property_definition_representation,2>::Construct )
  894. , SchemaEntry("material_property_representation",&STEP::ObjectHelper<material_property_representation,1>::Construct )
  895. , SchemaEntry("measure_qualification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  896. , SchemaEntry("measure_representation_item",&STEP::ObjectHelper<measure_representation_item,0>::Construct )
  897. , SchemaEntry("product_context",&STEP::ObjectHelper<product_context,1>::Construct )
  898. , SchemaEntry("mechanical_context",&STEP::ObjectHelper<mechanical_context,0>::Construct )
  899. , SchemaEntry("mechanical_design_and_draughting_relationship",&STEP::ObjectHelper<mechanical_design_and_draughting_relationship,0>::Construct )
  900. , SchemaEntry("mechanical_design_geometric_presentation_area",&STEP::ObjectHelper<mechanical_design_geometric_presentation_area,0>::Construct )
  901. , SchemaEntry("mechanical_design_geometric_presentation_representation",&STEP::ObjectHelper<mechanical_design_geometric_presentation_representation,0>::Construct )
  902. , SchemaEntry("mechanical_design_presentation_representation_with_draughting",&STEP::ObjectHelper<mechanical_design_presentation_representation_with_draughting,0>::Construct )
  903. , SchemaEntry("mechanical_design_shaded_presentation_area",&STEP::ObjectHelper<mechanical_design_shaded_presentation_area,0>::Construct )
  904. , SchemaEntry("mechanical_design_shaded_presentation_representation",&STEP::ObjectHelper<mechanical_design_shaded_presentation_representation,0>::Construct )
  905. , SchemaEntry("min_and_major_ply_orientation_basis",&STEP::ObjectHelper<min_and_major_ply_orientation_basis,0>::Construct )
  906. , SchemaEntry("modified_geometric_tolerance",&STEP::ObjectHelper<modified_geometric_tolerance,1>::Construct )
  907. , SchemaEntry("modified_solid_with_placed_configuration",&STEP::ObjectHelper<modified_solid_with_placed_configuration,1>::Construct )
  908. , SchemaEntry("moments_of_inertia_representation",&STEP::ObjectHelper<moments_of_inertia_representation,0>::Construct )
  909. , SchemaEntry("multi_language_attribute_assignment",&STEP::ObjectHelper<multi_language_attribute_assignment,1>::Construct )
  910. , SchemaEntry("multiple_arity_boolean_expression",&STEP::ObjectHelper<multiple_arity_boolean_expression,0>::Construct )
  911. , SchemaEntry("multiple_arity_generic_expression",&STEP::ObjectHelper<multiple_arity_generic_expression,1>::Construct )
  912. , SchemaEntry("multiple_arity_numeric_expression",&STEP::ObjectHelper<multiple_arity_numeric_expression,0>::Construct )
  913. , SchemaEntry("name_attribute",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  914. , SchemaEntry("next_assembly_usage_occurrence",&STEP::ObjectHelper<next_assembly_usage_occurrence,0>::Construct )
  915. , SchemaEntry("non_manifold_surface_shape_representation",&STEP::ObjectHelper<non_manifold_surface_shape_representation,0>::Construct )
  916. , SchemaEntry("null_representation_item",&STEP::ObjectHelper<null_representation_item,0>::Construct )
  917. , SchemaEntry("numeric_expression",&STEP::ObjectHelper<numeric_expression,0>::Construct )
  918. , SchemaEntry("object_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  919. , SchemaEntry("offset_curve_2d",&STEP::ObjectHelper<offset_curve_2d,3>::Construct )
  920. , SchemaEntry("offset_curve_3d",&STEP::ObjectHelper<offset_curve_3d,4>::Construct )
  921. , SchemaEntry("offset_surface",&STEP::ObjectHelper<offset_surface,3>::Construct )
  922. , SchemaEntry("one_direction_repeat_factor",&STEP::ObjectHelper<one_direction_repeat_factor,1>::Construct )
  923. , SchemaEntry("open_shell",&STEP::ObjectHelper<open_shell,0>::Construct )
  924. , SchemaEntry("ordinal_date",&STEP::ObjectHelper<ordinal_date,1>::Construct )
  925. , SchemaEntry("projection_directed_callout",&STEP::ObjectHelper<projection_directed_callout,0>::Construct )
  926. , SchemaEntry("ordinate_dimension",&STEP::ObjectHelper<ordinate_dimension,0>::Construct )
  927. , SchemaEntry("organization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  928. , SchemaEntry("organization_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  929. , SchemaEntry("organization_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  930. , SchemaEntry("organizational_address",&STEP::ObjectHelper<organizational_address,2>::Construct )
  931. , SchemaEntry("organizational_project",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  932. , SchemaEntry("organizational_project_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  933. , SchemaEntry("organizational_project_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  934. , SchemaEntry("oriented_closed_shell",&STEP::ObjectHelper<oriented_closed_shell,2>::Construct )
  935. , SchemaEntry("oriented_edge",&STEP::ObjectHelper<oriented_edge,2>::Construct )
  936. , SchemaEntry("oriented_face",&STEP::ObjectHelper<oriented_face,2>::Construct )
  937. , SchemaEntry("oriented_open_shell",&STEP::ObjectHelper<oriented_open_shell,2>::Construct )
  938. , SchemaEntry("path",&STEP::ObjectHelper<path,1>::Construct )
  939. , SchemaEntry("oriented_path",&STEP::ObjectHelper<oriented_path,2>::Construct )
  940. , SchemaEntry("oriented_surface",&STEP::ObjectHelper<oriented_surface,1>::Construct )
  941. , SchemaEntry("outer_boundary_curve",&STEP::ObjectHelper<outer_boundary_curve,0>::Construct )
  942. , SchemaEntry("package_product_concept_feature",&STEP::ObjectHelper<package_product_concept_feature,0>::Construct )
  943. , SchemaEntry("parabola",&STEP::ObjectHelper<parabola,1>::Construct )
  944. , SchemaEntry("parallel_offset",&STEP::ObjectHelper<parallel_offset,1>::Construct )
  945. , SchemaEntry("parallelism_tolerance",&STEP::ObjectHelper<parallelism_tolerance,0>::Construct )
  946. , SchemaEntry("parametric_representation_context",&STEP::ObjectHelper<parametric_representation_context,0>::Construct )
  947. , SchemaEntry("partial_document_with_structured_text_representation_assignment",&STEP::ObjectHelper<partial_document_with_structured_text_representation_assignment,0>::Construct )
  948. , SchemaEntry("pcurve",&STEP::ObjectHelper<pcurve,2>::Construct )
  949. , SchemaEntry("percentage_laminate_definition",&STEP::ObjectHelper<percentage_laminate_definition,0>::Construct )
  950. , SchemaEntry("zone_structural_makeup",&STEP::ObjectHelper<zone_structural_makeup,0>::Construct )
  951. , SchemaEntry("percentage_laminate_table",&STEP::ObjectHelper<percentage_laminate_table,0>::Construct )
  952. , SchemaEntry("percentage_ply_definition",&STEP::ObjectHelper<percentage_ply_definition,0>::Construct )
  953. , SchemaEntry("perpendicular_to",&STEP::ObjectHelper<perpendicular_to,0>::Construct )
  954. , SchemaEntry("perpendicularity_tolerance",&STEP::ObjectHelper<perpendicularity_tolerance,0>::Construct )
  955. , SchemaEntry("person",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  956. , SchemaEntry("person_and_organization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  957. , SchemaEntry("person_and_organization_address",&STEP::ObjectHelper<person_and_organization_address,0>::Construct )
  958. , SchemaEntry("person_and_organization_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  959. , SchemaEntry("personal_address",&STEP::ObjectHelper<personal_address,2>::Construct )
  960. , SchemaEntry("physical_breakdown_context",&STEP::ObjectHelper<physical_breakdown_context,0>::Construct )
  961. , SchemaEntry("physical_element_usage",&STEP::ObjectHelper<physical_element_usage,0>::Construct )
  962. , SchemaEntry("presentation_view",&STEP::ObjectHelper<presentation_view,0>::Construct )
  963. , SchemaEntry("picture_representation",&STEP::ObjectHelper<picture_representation,0>::Construct )
  964. , SchemaEntry("placed_datum_target_feature",&STEP::ObjectHelper<placed_datum_target_feature,0>::Construct )
  965. , SchemaEntry("placed_feature",&STEP::ObjectHelper<placed_feature,0>::Construct )
  966. , SchemaEntry("planar_extent",&STEP::ObjectHelper<planar_extent,2>::Construct )
  967. , SchemaEntry("planar_box",&STEP::ObjectHelper<planar_box,1>::Construct )
  968. , SchemaEntry("plane",&STEP::ObjectHelper<plane,0>::Construct )
  969. , SchemaEntry("plane_angle_measure_with_unit",&STEP::ObjectHelper<plane_angle_measure_with_unit,0>::Construct )
  970. , SchemaEntry("plane_angle_unit",&STEP::ObjectHelper<plane_angle_unit,0>::Construct )
  971. , SchemaEntry("plus_minus_tolerance",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  972. , SchemaEntry("ply_laminate_definition",&STEP::ObjectHelper<ply_laminate_definition,0>::Construct )
  973. , SchemaEntry("ply_laminate_sequence_definition",&STEP::ObjectHelper<ply_laminate_sequence_definition,0>::Construct )
  974. , SchemaEntry("ply_laminate_table",&STEP::ObjectHelper<ply_laminate_table,0>::Construct )
  975. , SchemaEntry("point_and_vector",&STEP::ObjectHelper<point_and_vector,0>::Construct )
  976. , SchemaEntry("point_on_curve",&STEP::ObjectHelper<point_on_curve,2>::Construct )
  977. , SchemaEntry("point_on_surface",&STEP::ObjectHelper<point_on_surface,3>::Construct )
  978. , SchemaEntry("point_path",&STEP::ObjectHelper<point_path,0>::Construct )
  979. , SchemaEntry("point_replica",&STEP::ObjectHelper<point_replica,2>::Construct )
  980. , SchemaEntry("point_style",&STEP::ObjectHelper<point_style,4>::Construct )
  981. , SchemaEntry("polar_complex_number_literal",&STEP::ObjectHelper<polar_complex_number_literal,2>::Construct )
  982. , SchemaEntry("poly_loop",&STEP::ObjectHelper<poly_loop,1>::Construct )
  983. , SchemaEntry("polyline",&STEP::ObjectHelper<polyline,1>::Construct )
  984. , SchemaEntry("position_tolerance",&STEP::ObjectHelper<position_tolerance,0>::Construct )
  985. , SchemaEntry("positioned_sketch",&STEP::ObjectHelper<positioned_sketch,2>::Construct )
  986. , SchemaEntry("power_measure_with_unit",&STEP::ObjectHelper<power_measure_with_unit,0>::Construct )
  987. , SchemaEntry("power_unit",&STEP::ObjectHelper<power_unit,0>::Construct )
  988. , SchemaEntry("pre_defined_symbol",&STEP::ObjectHelper<pre_defined_symbol,0>::Construct )
  989. , SchemaEntry("pre_defined_dimension_symbol",&STEP::ObjectHelper<pre_defined_dimension_symbol,0>::Construct )
  990. , SchemaEntry("pre_defined_geometrical_tolerance_symbol",&STEP::ObjectHelper<pre_defined_geometrical_tolerance_symbol,0>::Construct )
  991. , SchemaEntry("pre_defined_marker",&STEP::ObjectHelper<pre_defined_marker,0>::Construct )
  992. , SchemaEntry("pre_defined_point_marker_symbol",&STEP::ObjectHelper<pre_defined_point_marker_symbol,0>::Construct )
  993. , SchemaEntry("pre_defined_surface_condition_symbol",&STEP::ObjectHelper<pre_defined_surface_condition_symbol,0>::Construct )
  994. , SchemaEntry("pre_defined_surface_side_style",&STEP::ObjectHelper<pre_defined_surface_side_style,0>::Construct )
  995. , SchemaEntry("pre_defined_terminator_symbol",&STEP::ObjectHelper<pre_defined_terminator_symbol,0>::Construct )
  996. , SchemaEntry("pre_defined_tile",&STEP::ObjectHelper<pre_defined_tile,0>::Construct )
  997. , SchemaEntry("precision_qualifier",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  998. , SchemaEntry("predefined_picture_representation_item",&STEP::ObjectHelper<predefined_picture_representation_item,0>::Construct )
  999. , SchemaEntry("presentation_layer_assignment",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1000. , SchemaEntry("presentation_size",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1001. , SchemaEntry("presentation_style_assignment",&STEP::ObjectHelper<presentation_style_assignment,1>::Construct )
  1002. , SchemaEntry("presentation_style_by_context",&STEP::ObjectHelper<presentation_style_by_context,1>::Construct )
  1003. , SchemaEntry("presented_item_representation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1004. , SchemaEntry("pressure_measure_with_unit",&STEP::ObjectHelper<pressure_measure_with_unit,0>::Construct )
  1005. , SchemaEntry("pressure_unit",&STEP::ObjectHelper<pressure_unit,0>::Construct )
  1006. , SchemaEntry("procedural_representation",&STEP::ObjectHelper<procedural_representation,0>::Construct )
  1007. , SchemaEntry("procedural_representation_sequence",&STEP::ObjectHelper<procedural_representation_sequence,3>::Construct )
  1008. , SchemaEntry("procedural_shape_representation",&STEP::ObjectHelper<procedural_shape_representation,0>::Construct )
  1009. , SchemaEntry("procedural_shape_representation_sequence",&STEP::ObjectHelper<procedural_shape_representation_sequence,0>::Construct )
  1010. , SchemaEntry("product",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1011. , SchemaEntry("product_category",&STEP::ObjectHelper<product_category,2>::Construct )
  1012. , SchemaEntry("product_class",&STEP::ObjectHelper<product_class,0>::Construct )
  1013. , SchemaEntry("product_concept",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1014. , SchemaEntry("product_concept_context",&STEP::ObjectHelper<product_concept_context,1>::Construct )
  1015. , SchemaEntry("product_concept_feature_association",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1016. , SchemaEntry("product_concept_feature_category_usage",&STEP::ObjectHelper<product_concept_feature_category_usage,1>::Construct )
  1017. , SchemaEntry("product_concept_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1018. , SchemaEntry("product_definition_context_association",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1019. , SchemaEntry("product_definition_context_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1020. , SchemaEntry("product_definition_element_relationship",&STEP::ObjectHelper<product_definition_element_relationship,0>::Construct )
  1021. , SchemaEntry("product_definition_formation",&STEP::ObjectHelper<product_definition_formation,3>::Construct )
  1022. , SchemaEntry("product_definition_formation_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1023. , SchemaEntry("product_definition_formation_with_specified_source",&STEP::ObjectHelper<product_definition_formation_with_specified_source,1>::Construct )
  1024. , SchemaEntry("product_definition_group_assignment",&STEP::ObjectHelper<product_definition_group_assignment,1>::Construct )
  1025. , SchemaEntry("product_definition_occurrence_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1026. , SchemaEntry("product_definition_shape",&STEP::ObjectHelper<product_definition_shape,0>::Construct )
  1027. , SchemaEntry("product_definition_substitute",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1028. , SchemaEntry("product_definition_with_associated_documents",&STEP::ObjectHelper<product_definition_with_associated_documents,1>::Construct )
  1029. , SchemaEntry("product_identification",&STEP::ObjectHelper<product_identification,0>::Construct )
  1030. , SchemaEntry("product_material_composition_relationship",&STEP::ObjectHelper<product_material_composition_relationship,4>::Construct )
  1031. , SchemaEntry("product_related_product_category",&STEP::ObjectHelper<product_related_product_category,1>::Construct )
  1032. , SchemaEntry("product_specification",&STEP::ObjectHelper<product_specification,0>::Construct )
  1033. , SchemaEntry("tolerance_zone_definition",&STEP::ObjectHelper<tolerance_zone_definition,2>::Construct )
  1034. , SchemaEntry("projected_zone_definition",&STEP::ObjectHelper<projected_zone_definition,2>::Construct )
  1035. , SchemaEntry("projection_curve",&STEP::ObjectHelper<projection_curve,0>::Construct )
  1036. , SchemaEntry("promissory_usage_occurrence",&STEP::ObjectHelper<promissory_usage_occurrence,0>::Construct )
  1037. , SchemaEntry("property_definition_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1038. , SchemaEntry("qualified_representation_item",&STEP::ObjectHelper<qualified_representation_item,1>::Construct )
  1039. , SchemaEntry("qualitative_uncertainty",&STEP::ObjectHelper<qualitative_uncertainty,1>::Construct )
  1040. , SchemaEntry("quantified_assembly_component_usage",&STEP::ObjectHelper<quantified_assembly_component_usage,1>::Construct )
  1041. , SchemaEntry("quasi_uniform_curve",&STEP::ObjectHelper<quasi_uniform_curve,0>::Construct )
  1042. , SchemaEntry("quasi_uniform_surface",&STEP::ObjectHelper<quasi_uniform_surface,0>::Construct )
  1043. , SchemaEntry("radioactivity_measure_with_unit",&STEP::ObjectHelper<radioactivity_measure_with_unit,0>::Construct )
  1044. , SchemaEntry("radioactivity_unit",&STEP::ObjectHelper<radioactivity_unit,0>::Construct )
  1045. , SchemaEntry("radius_dimension",&STEP::ObjectHelper<radius_dimension,0>::Construct )
  1046. , SchemaEntry("range_characteristic",&STEP::ObjectHelper<range_characteristic,0>::Construct )
  1047. , SchemaEntry("ratio_unit",&STEP::ObjectHelper<ratio_unit,0>::Construct )
  1048. , SchemaEntry("rational_b_spline_curve",&STEP::ObjectHelper<rational_b_spline_curve,1>::Construct )
  1049. , SchemaEntry("rational_b_spline_surface",&STEP::ObjectHelper<rational_b_spline_surface,0>::Construct )
  1050. , SchemaEntry("rational_representation_item",&STEP::ObjectHelper<rational_representation_item,0>::Construct )
  1051. , SchemaEntry("real_literal",&STEP::ObjectHelper<real_literal,0>::Construct )
  1052. , SchemaEntry("real_representation_item",&STEP::ObjectHelper<real_representation_item,0>::Construct )
  1053. , SchemaEntry("rectangular_composite_surface",&STEP::ObjectHelper<rectangular_composite_surface,0>::Construct )
  1054. , SchemaEntry("rectangular_trimmed_surface",&STEP::ObjectHelper<rectangular_trimmed_surface,7>::Construct )
  1055. , SchemaEntry("referenced_modified_datum",&STEP::ObjectHelper<referenced_modified_datum,1>::Construct )
  1056. , SchemaEntry("relative_event_occurrence",&STEP::ObjectHelper<relative_event_occurrence,2>::Construct )
  1057. , SchemaEntry("rep_item_group",&STEP::ObjectHelper<rep_item_group,0>::Construct )
  1058. , SchemaEntry("reparametrised_composite_curve_segment",&STEP::ObjectHelper<reparametrised_composite_curve_segment,1>::Construct )
  1059. , SchemaEntry("representation_relationship_with_transformation",&STEP::ObjectHelper<representation_relationship_with_transformation,1>::Construct )
  1060. , SchemaEntry("requirement_assigned_object",&STEP::ObjectHelper<requirement_assigned_object,1>::Construct )
  1061. , SchemaEntry("requirement_assignment",&STEP::ObjectHelper<requirement_assignment,0>::Construct )
  1062. , SchemaEntry("requirement_source",&STEP::ObjectHelper<requirement_source,0>::Construct )
  1063. , SchemaEntry("requirement_view_definition_relationship",&STEP::ObjectHelper<requirement_view_definition_relationship,0>::Construct )
  1064. , SchemaEntry("resistance_measure_with_unit",&STEP::ObjectHelper<resistance_measure_with_unit,0>::Construct )
  1065. , SchemaEntry("resistance_unit",&STEP::ObjectHelper<resistance_unit,0>::Construct )
  1066. , SchemaEntry("revolved_area_solid",&STEP::ObjectHelper<revolved_area_solid,2>::Construct )
  1067. , SchemaEntry("revolved_face_solid",&STEP::ObjectHelper<revolved_face_solid,2>::Construct )
  1068. , SchemaEntry("revolved_face_solid_with_trim_conditions",&STEP::ObjectHelper<revolved_face_solid_with_trim_conditions,2>::Construct )
  1069. , SchemaEntry("right_angular_wedge",&STEP::ObjectHelper<right_angular_wedge,5>::Construct )
  1070. , SchemaEntry("right_circular_cone",&STEP::ObjectHelper<right_circular_cone,4>::Construct )
  1071. , SchemaEntry("right_circular_cylinder",&STEP::ObjectHelper<right_circular_cylinder,3>::Construct )
  1072. , SchemaEntry("right_to_usage_association",&STEP::ObjectHelper<right_to_usage_association,0>::Construct )
  1073. , SchemaEntry("role_association",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1074. , SchemaEntry("roundness_tolerance",&STEP::ObjectHelper<roundness_tolerance,0>::Construct )
  1075. , SchemaEntry("row_representation_item",&STEP::ObjectHelper<row_representation_item,0>::Construct )
  1076. , SchemaEntry("row_value",&STEP::ObjectHelper<row_value,0>::Construct )
  1077. , SchemaEntry("row_variable",&STEP::ObjectHelper<row_variable,0>::Construct )
  1078. , SchemaEntry("rule_action",&STEP::ObjectHelper<rule_action,0>::Construct )
  1079. , SchemaEntry("rule_condition",&STEP::ObjectHelper<rule_condition,0>::Construct )
  1080. , SchemaEntry("rule_set",&STEP::ObjectHelper<rule_set,0>::Construct )
  1081. , SchemaEntry("rule_set_group",&STEP::ObjectHelper<rule_set_group,0>::Construct )
  1082. , SchemaEntry("rule_superseded_assignment",&STEP::ObjectHelper<rule_superseded_assignment,1>::Construct )
  1083. , SchemaEntry("rule_supersedence",&STEP::ObjectHelper<rule_supersedence,0>::Construct )
  1084. , SchemaEntry("surface_curve_swept_area_solid",&STEP::ObjectHelper<surface_curve_swept_area_solid,4>::Construct )
  1085. , SchemaEntry("ruled_surface_swept_area_solid",&STEP::ObjectHelper<ruled_surface_swept_area_solid,0>::Construct )
  1086. , SchemaEntry("runout_zone_definition",&STEP::ObjectHelper<runout_zone_definition,1>::Construct )
  1087. , SchemaEntry("runout_zone_orientation",&STEP::ObjectHelper<runout_zone_orientation,1>::Construct )
  1088. , SchemaEntry("runout_zone_orientation_reference_direction",&STEP::ObjectHelper<runout_zone_orientation_reference_direction,1>::Construct )
  1089. , SchemaEntry("satisfied_requirement",&STEP::ObjectHelper<satisfied_requirement,1>::Construct )
  1090. , SchemaEntry("satisfies_requirement",&STEP::ObjectHelper<satisfies_requirement,0>::Construct )
  1091. , SchemaEntry("satisfying_item",&STEP::ObjectHelper<satisfying_item,1>::Construct )
  1092. , SchemaEntry("scalar_variable",&STEP::ObjectHelper<scalar_variable,0>::Construct )
  1093. , SchemaEntry("scattering_parameter",&STEP::ObjectHelper<scattering_parameter,0>::Construct )
  1094. , SchemaEntry("sculptured_solid",&STEP::ObjectHelper<sculptured_solid,2>::Construct )
  1095. , SchemaEntry("seam_curve",&STEP::ObjectHelper<seam_curve,0>::Construct )
  1096. , SchemaEntry("security_classification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1097. , SchemaEntry("security_classification_level",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1098. , SchemaEntry("serial_numbered_effectivity",&STEP::ObjectHelper<serial_numbered_effectivity,2>::Construct )
  1099. , SchemaEntry("shape_aspect_associativity",&STEP::ObjectHelper<shape_aspect_associativity,0>::Construct )
  1100. , SchemaEntry("shape_aspect_deriving_relationship",&STEP::ObjectHelper<shape_aspect_deriving_relationship,0>::Construct )
  1101. , SchemaEntry("shape_definition_representation",&STEP::ObjectHelper<shape_definition_representation,0>::Construct )
  1102. , SchemaEntry("shape_dimension_representation",&STEP::ObjectHelper<shape_dimension_representation,0>::Construct )
  1103. , SchemaEntry("shape_feature_definition",&STEP::ObjectHelper<shape_feature_definition,0>::Construct )
  1104. , SchemaEntry("shape_representation_with_parameters",&STEP::ObjectHelper<shape_representation_with_parameters,0>::Construct )
  1105. , SchemaEntry("shell_based_surface_model",&STEP::ObjectHelper<shell_based_surface_model,1>::Construct )
  1106. , SchemaEntry("shell_based_wireframe_model",&STEP::ObjectHelper<shell_based_wireframe_model,1>::Construct )
  1107. , SchemaEntry("shell_based_wireframe_shape_representation",&STEP::ObjectHelper<shell_based_wireframe_shape_representation,0>::Construct )
  1108. , SchemaEntry("si_absorbed_dose_unit",&STEP::ObjectHelper<si_absorbed_dose_unit,0>::Construct )
  1109. , SchemaEntry("si_capacitance_unit",&STEP::ObjectHelper<si_capacitance_unit,0>::Construct )
  1110. , SchemaEntry("si_conductance_unit",&STEP::ObjectHelper<si_conductance_unit,0>::Construct )
  1111. , SchemaEntry("si_dose_equivalent_unit",&STEP::ObjectHelper<si_dose_equivalent_unit,0>::Construct )
  1112. , SchemaEntry("si_electric_charge_unit",&STEP::ObjectHelper<si_electric_charge_unit,0>::Construct )
  1113. , SchemaEntry("si_electric_potential_unit",&STEP::ObjectHelper<si_electric_potential_unit,0>::Construct )
  1114. , SchemaEntry("si_energy_unit",&STEP::ObjectHelper<si_energy_unit,0>::Construct )
  1115. , SchemaEntry("si_force_unit",&STEP::ObjectHelper<si_force_unit,0>::Construct )
  1116. , SchemaEntry("si_frequency_unit",&STEP::ObjectHelper<si_frequency_unit,0>::Construct )
  1117. , SchemaEntry("si_illuminance_unit",&STEP::ObjectHelper<si_illuminance_unit,0>::Construct )
  1118. , SchemaEntry("si_inductance_unit",&STEP::ObjectHelper<si_inductance_unit,0>::Construct )
  1119. , SchemaEntry("si_magnetic_flux_density_unit",&STEP::ObjectHelper<si_magnetic_flux_density_unit,0>::Construct )
  1120. , SchemaEntry("si_magnetic_flux_unit",&STEP::ObjectHelper<si_magnetic_flux_unit,0>::Construct )
  1121. , SchemaEntry("si_power_unit",&STEP::ObjectHelper<si_power_unit,0>::Construct )
  1122. , SchemaEntry("si_pressure_unit",&STEP::ObjectHelper<si_pressure_unit,0>::Construct )
  1123. , SchemaEntry("si_radioactivity_unit",&STEP::ObjectHelper<si_radioactivity_unit,0>::Construct )
  1124. , SchemaEntry("si_resistance_unit",&STEP::ObjectHelper<si_resistance_unit,0>::Construct )
  1125. , SchemaEntry("si_unit",&STEP::ObjectHelper<si_unit,2>::Construct )
  1126. , SchemaEntry("simple_boolean_expression",&STEP::ObjectHelper<simple_boolean_expression,0>::Construct )
  1127. , SchemaEntry("simple_numeric_expression",&STEP::ObjectHelper<simple_numeric_expression,0>::Construct )
  1128. , SchemaEntry("slash_expression",&STEP::ObjectHelper<slash_expression,0>::Construct )
  1129. , SchemaEntry("smeared_material_definition",&STEP::ObjectHelper<smeared_material_definition,0>::Construct )
  1130. , SchemaEntry("solid_angle_measure_with_unit",&STEP::ObjectHelper<solid_angle_measure_with_unit,0>::Construct )
  1131. , SchemaEntry("solid_angle_unit",&STEP::ObjectHelper<solid_angle_unit,0>::Construct )
  1132. , SchemaEntry("solid_curve_font",&STEP::ObjectHelper<solid_curve_font,0>::Construct )
  1133. , SchemaEntry("solid_replica",&STEP::ObjectHelper<solid_replica,2>::Construct )
  1134. , SchemaEntry("solid_with_chamfered_edges",&STEP::ObjectHelper<solid_with_chamfered_edges,0>::Construct )
  1135. , SchemaEntry("solid_with_angle_based_chamfer",&STEP::ObjectHelper<solid_with_angle_based_chamfer,3>::Construct )
  1136. , SchemaEntry("solid_with_shape_element_pattern",&STEP::ObjectHelper<solid_with_shape_element_pattern,1>::Construct )
  1137. , SchemaEntry("solid_with_circular_pattern",&STEP::ObjectHelper<solid_with_circular_pattern,4>::Construct )
  1138. , SchemaEntry("solid_with_depression",&STEP::ObjectHelper<solid_with_depression,1>::Construct )
  1139. , SchemaEntry("solid_with_pocket",&STEP::ObjectHelper<solid_with_pocket,2>::Construct )
  1140. , SchemaEntry("solid_with_circular_pocket",&STEP::ObjectHelper<solid_with_circular_pocket,1>::Construct )
  1141. , SchemaEntry("solid_with_protrusion",&STEP::ObjectHelper<solid_with_protrusion,2>::Construct )
  1142. , SchemaEntry("solid_with_circular_protrusion",&STEP::ObjectHelper<solid_with_circular_protrusion,1>::Construct )
  1143. , SchemaEntry("solid_with_hole",&STEP::ObjectHelper<solid_with_hole,0>::Construct )
  1144. , SchemaEntry("solid_with_stepped_round_hole",&STEP::ObjectHelper<solid_with_stepped_round_hole,1>::Construct )
  1145. , SchemaEntry("solid_with_conical_bottom_round_hole",&STEP::ObjectHelper<solid_with_conical_bottom_round_hole,2>::Construct )
  1146. , SchemaEntry("solid_with_constant_radius_edge_blend",&STEP::ObjectHelper<solid_with_constant_radius_edge_blend,1>::Construct )
  1147. , SchemaEntry("solid_with_slot",&STEP::ObjectHelper<solid_with_slot,2>::Construct )
  1148. , SchemaEntry("solid_with_curved_slot",&STEP::ObjectHelper<solid_with_curved_slot,1>::Construct )
  1149. , SchemaEntry("solid_with_double_offset_chamfer",&STEP::ObjectHelper<solid_with_double_offset_chamfer,2>::Construct )
  1150. , SchemaEntry("solid_with_flat_bottom_round_hole",&STEP::ObjectHelper<solid_with_flat_bottom_round_hole,1>::Construct )
  1151. , SchemaEntry("solid_with_general_pocket",&STEP::ObjectHelper<solid_with_general_pocket,2>::Construct )
  1152. , SchemaEntry("solid_with_general_protrusion",&STEP::ObjectHelper<solid_with_general_protrusion,2>::Construct )
  1153. , SchemaEntry("solid_with_groove",&STEP::ObjectHelper<solid_with_groove,5>::Construct )
  1154. , SchemaEntry("solid_with_incomplete_circular_pattern",&STEP::ObjectHelper<solid_with_incomplete_circular_pattern,1>::Construct )
  1155. , SchemaEntry("solid_with_rectangular_pattern",&STEP::ObjectHelper<solid_with_rectangular_pattern,4>::Construct )
  1156. , SchemaEntry("solid_with_incomplete_rectangular_pattern",&STEP::ObjectHelper<solid_with_incomplete_rectangular_pattern,0>::Construct )
  1157. , SchemaEntry("solid_with_rectangular_pocket",&STEP::ObjectHelper<solid_with_rectangular_pocket,3>::Construct )
  1158. , SchemaEntry("solid_with_rectangular_protrusion",&STEP::ObjectHelper<solid_with_rectangular_protrusion,3>::Construct )
  1159. , SchemaEntry("solid_with_single_offset_chamfer",&STEP::ObjectHelper<solid_with_single_offset_chamfer,1>::Construct )
  1160. , SchemaEntry("solid_with_spherical_bottom_round_hole",&STEP::ObjectHelper<solid_with_spherical_bottom_round_hole,1>::Construct )
  1161. , SchemaEntry("solid_with_stepped_round_hole_and_conical_transitions",&STEP::ObjectHelper<solid_with_stepped_round_hole_and_conical_transitions,1>::Construct )
  1162. , SchemaEntry("solid_with_straight_slot",&STEP::ObjectHelper<solid_with_straight_slot,1>::Construct )
  1163. , SchemaEntry("solid_with_tee_section_slot",&STEP::ObjectHelper<solid_with_tee_section_slot,2>::Construct )
  1164. , SchemaEntry("solid_with_through_depression",&STEP::ObjectHelper<solid_with_through_depression,1>::Construct )
  1165. , SchemaEntry("solid_with_trapezoidal_section_slot",&STEP::ObjectHelper<solid_with_trapezoidal_section_slot,2>::Construct )
  1166. , SchemaEntry("solid_with_variable_radius_edge_blend",&STEP::ObjectHelper<solid_with_variable_radius_edge_blend,3>::Construct )
  1167. , SchemaEntry("source_for_requirement",&STEP::ObjectHelper<source_for_requirement,1>::Construct )
  1168. , SchemaEntry("sourced_requirement",&STEP::ObjectHelper<sourced_requirement,1>::Construct )
  1169. , SchemaEntry("specification_definition",&STEP::ObjectHelper<specification_definition,0>::Construct )
  1170. , SchemaEntry("specified_higher_usage_occurrence",&STEP::ObjectHelper<specified_higher_usage_occurrence,2>::Construct )
  1171. , SchemaEntry("sphere",&STEP::ObjectHelper<sphere,2>::Construct )
  1172. , SchemaEntry("spherical_surface",&STEP::ObjectHelper<spherical_surface,1>::Construct )
  1173. , SchemaEntry("start_request",&STEP::ObjectHelper<start_request,1>::Construct )
  1174. , SchemaEntry("start_work",&STEP::ObjectHelper<start_work,1>::Construct )
  1175. , SchemaEntry("straightness_tolerance",&STEP::ObjectHelper<straightness_tolerance,0>::Construct )
  1176. , SchemaEntry("structured_dimension_callout",&STEP::ObjectHelper<structured_dimension_callout,0>::Construct )
  1177. , SchemaEntry("structured_text_composition",&STEP::ObjectHelper<structured_text_composition,0>::Construct )
  1178. , SchemaEntry("structured_text_representation",&STEP::ObjectHelper<structured_text_representation,0>::Construct )
  1179. , SchemaEntry("subedge",&STEP::ObjectHelper<subedge,1>::Construct )
  1180. , SchemaEntry("subface",&STEP::ObjectHelper<subface,1>::Construct )
  1181. , SchemaEntry("supplied_part_relationship",&STEP::ObjectHelper<supplied_part_relationship,0>::Construct )
  1182. , SchemaEntry("surface_condition_callout",&STEP::ObjectHelper<surface_condition_callout,0>::Construct )
  1183. , SchemaEntry("swept_surface",&STEP::ObjectHelper<swept_surface,1>::Construct )
  1184. , SchemaEntry("surface_of_linear_extrusion",&STEP::ObjectHelper<surface_of_linear_extrusion,1>::Construct )
  1185. , SchemaEntry("surface_of_revolution",&STEP::ObjectHelper<surface_of_revolution,1>::Construct )
  1186. , SchemaEntry("surface_patch",&STEP::ObjectHelper<surface_patch,5>::Construct )
  1187. , SchemaEntry("surface_profile_tolerance",&STEP::ObjectHelper<surface_profile_tolerance,0>::Construct )
  1188. , SchemaEntry("surface_rendering_properties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1189. , SchemaEntry("surface_replica",&STEP::ObjectHelper<surface_replica,2>::Construct )
  1190. , SchemaEntry("surface_side_style",&STEP::ObjectHelper<surface_side_style,2>::Construct )
  1191. , SchemaEntry("surface_style_boundary",&STEP::ObjectHelper<surface_style_boundary,1>::Construct )
  1192. , SchemaEntry("surface_style_control_grid",&STEP::ObjectHelper<surface_style_control_grid,1>::Construct )
  1193. , SchemaEntry("surface_style_fill_area",&STEP::ObjectHelper<surface_style_fill_area,1>::Construct )
  1194. , SchemaEntry("surface_style_parameter_line",&STEP::ObjectHelper<surface_style_parameter_line,2>::Construct )
  1195. , SchemaEntry("surface_style_reflectance_ambient",&STEP::ObjectHelper<surface_style_reflectance_ambient,1>::Construct )
  1196. , SchemaEntry("surface_style_reflectance_ambient_diffuse",&STEP::ObjectHelper<surface_style_reflectance_ambient_diffuse,1>::Construct )
  1197. , SchemaEntry("surface_style_reflectance_ambient_diffuse_specular",&STEP::ObjectHelper<surface_style_reflectance_ambient_diffuse_specular,3>::Construct )
  1198. , SchemaEntry("surface_style_rendering",&STEP::ObjectHelper<surface_style_rendering,2>::Construct )
  1199. , SchemaEntry("surface_style_rendering_with_properties",&STEP::ObjectHelper<surface_style_rendering_with_properties,1>::Construct )
  1200. , SchemaEntry("surface_style_segmentation_curve",&STEP::ObjectHelper<surface_style_segmentation_curve,1>::Construct )
  1201. , SchemaEntry("surface_style_silhouette",&STEP::ObjectHelper<surface_style_silhouette,1>::Construct )
  1202. , SchemaEntry("surface_style_transparent",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1203. , SchemaEntry("surface_style_usage",&STEP::ObjectHelper<surface_style_usage,2>::Construct )
  1204. , SchemaEntry("surface_texture_representation",&STEP::ObjectHelper<surface_texture_representation,0>::Construct )
  1205. , SchemaEntry("surfaced_open_shell",&STEP::ObjectHelper<surfaced_open_shell,0>::Construct )
  1206. , SchemaEntry("swept_disk_solid",&STEP::ObjectHelper<swept_disk_solid,5>::Construct )
  1207. , SchemaEntry("symbol",&STEP::ObjectHelper<symbol,0>::Construct )
  1208. , SchemaEntry("symbol_colour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1209. , SchemaEntry("symbol_representation_map",&STEP::ObjectHelper<symbol_representation_map,0>::Construct )
  1210. , SchemaEntry("symbol_style",&STEP::ObjectHelper<symbol_style,2>::Construct )
  1211. , SchemaEntry("symbol_target",&STEP::ObjectHelper<symbol_target,3>::Construct )
  1212. , SchemaEntry("symmetric_shape_aspect",&STEP::ObjectHelper<symmetric_shape_aspect,0>::Construct )
  1213. , SchemaEntry("symmetry_tolerance",&STEP::ObjectHelper<symmetry_tolerance,0>::Construct )
  1214. , SchemaEntry("table_representation_item",&STEP::ObjectHelper<table_representation_item,0>::Construct )
  1215. , SchemaEntry("tactile_appearance_representation",&STEP::ObjectHelper<tactile_appearance_representation,0>::Construct )
  1216. , SchemaEntry("tagged_text_format",&STEP::ObjectHelper<tagged_text_format,0>::Construct )
  1217. , SchemaEntry("tagged_text_item",&STEP::ObjectHelper<tagged_text_item,0>::Construct )
  1218. , SchemaEntry("tangent",&STEP::ObjectHelper<tangent,0>::Construct )
  1219. , SchemaEntry("text_font",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1220. , SchemaEntry("text_font_family",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1221. , SchemaEntry("text_font_in_family",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1222. , SchemaEntry("text_literal_with_associated_curves",&STEP::ObjectHelper<text_literal_with_associated_curves,1>::Construct )
  1223. , SchemaEntry("text_literal_with_blanking_box",&STEP::ObjectHelper<text_literal_with_blanking_box,1>::Construct )
  1224. , SchemaEntry("text_literal_with_extent",&STEP::ObjectHelper<text_literal_with_extent,1>::Construct )
  1225. , SchemaEntry("text_string_representation",&STEP::ObjectHelper<text_string_representation,0>::Construct )
  1226. , SchemaEntry("text_style",&STEP::ObjectHelper<text_style,2>::Construct )
  1227. , SchemaEntry("text_style_for_defined_font",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1228. , SchemaEntry("text_style_with_box_characteristics",&STEP::ObjectHelper<text_style_with_box_characteristics,1>::Construct )
  1229. , SchemaEntry("text_style_with_mirror",&STEP::ObjectHelper<text_style_with_mirror,1>::Construct )
  1230. , SchemaEntry("text_style_with_spacing",&STEP::ObjectHelper<text_style_with_spacing,1>::Construct )
  1231. , SchemaEntry("thermal_resistance_measure_with_unit",&STEP::ObjectHelper<thermal_resistance_measure_with_unit,0>::Construct )
  1232. , SchemaEntry("thermal_resistance_unit",&STEP::ObjectHelper<thermal_resistance_unit,0>::Construct )
  1233. , SchemaEntry("thermodynamic_temperature_measure_with_unit",&STEP::ObjectHelper<thermodynamic_temperature_measure_with_unit,0>::Construct )
  1234. , SchemaEntry("thermodynamic_temperature_unit",&STEP::ObjectHelper<thermodynamic_temperature_unit,0>::Construct )
  1235. , SchemaEntry("thickened_face_solid",&STEP::ObjectHelper<thickened_face_solid,3>::Construct )
  1236. , SchemaEntry("thickness_laminate_definition",&STEP::ObjectHelper<thickness_laminate_definition,0>::Construct )
  1237. , SchemaEntry("thickness_laminate_table",&STEP::ObjectHelper<thickness_laminate_table,0>::Construct )
  1238. , SchemaEntry("time_interval",&STEP::ObjectHelper<time_interval,3>::Construct )
  1239. , SchemaEntry("time_interval_based_effectivity",&STEP::ObjectHelper<time_interval_based_effectivity,1>::Construct )
  1240. , SchemaEntry("time_interval_relationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1241. , SchemaEntry("time_interval_role",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1242. , SchemaEntry("time_interval_with_bounds",&STEP::ObjectHelper<time_interval_with_bounds,3>::Construct )
  1243. , SchemaEntry("time_measure_with_unit",&STEP::ObjectHelper<time_measure_with_unit,0>::Construct )
  1244. , SchemaEntry("time_unit",&STEP::ObjectHelper<time_unit,0>::Construct )
  1245. , SchemaEntry("tolerance_value",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1246. , SchemaEntry("tolerance_zone",&STEP::ObjectHelper<tolerance_zone,2>::Construct )
  1247. , SchemaEntry("tolerance_zone_form",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1248. , SchemaEntry("torus",&STEP::ObjectHelper<torus,3>::Construct )
  1249. , SchemaEntry("total_runout_tolerance",&STEP::ObjectHelper<total_runout_tolerance,0>::Construct )
  1250. , SchemaEntry("track_blended_solid",&STEP::ObjectHelper<track_blended_solid,0>::Construct )
  1251. , SchemaEntry("track_blended_solid_with_end_conditions",&STEP::ObjectHelper<track_blended_solid_with_end_conditions,1>::Construct )
  1252. , SchemaEntry("trimmed_curve",&STEP::ObjectHelper<trimmed_curve,5>::Construct )
  1253. , SchemaEntry("two_direction_repeat_factor",&STEP::ObjectHelper<two_direction_repeat_factor,1>::Construct )
  1254. , SchemaEntry("type_qualifier",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1255. , SchemaEntry("unary_generic_expression",&STEP::ObjectHelper<unary_generic_expression,1>::Construct )
  1256. , SchemaEntry("unary_numeric_expression",&STEP::ObjectHelper<unary_numeric_expression,0>::Construct )
  1257. , SchemaEntry("uncertainty_assigned_representation",&STEP::ObjectHelper<uncertainty_assigned_representation,1>::Construct )
  1258. , SchemaEntry("uncertainty_measure_with_unit",&STEP::ObjectHelper<uncertainty_measure_with_unit,2>::Construct )
  1259. , SchemaEntry("uniform_curve",&STEP::ObjectHelper<uniform_curve,0>::Construct )
  1260. , SchemaEntry("uniform_resource_identifier",&STEP::ObjectHelper<uniform_resource_identifier,0>::Construct )
  1261. , SchemaEntry("uniform_surface",&STEP::ObjectHelper<uniform_surface,0>::Construct )
  1262. , SchemaEntry("usage_association",&STEP::ObjectHelper<usage_association,0>::Construct )
  1263. , SchemaEntry("user_defined_curve_font",&STEP::ObjectHelper<user_defined_curve_font,0>::Construct )
  1264. , SchemaEntry("user_defined_marker",&STEP::ObjectHelper<user_defined_marker,0>::Construct )
  1265. , SchemaEntry("user_defined_terminator_symbol",&STEP::ObjectHelper<user_defined_terminator_symbol,0>::Construct )
  1266. , SchemaEntry("user_selected_shape_elements",&STEP::ObjectHelper<user_selected_shape_elements,0>::Construct )
  1267. , SchemaEntry("value_range",&STEP::ObjectHelper<value_range,0>::Construct )
  1268. , SchemaEntry("value_representation_item",&STEP::ObjectHelper<value_representation_item,1>::Construct )
  1269. , SchemaEntry("variable_semantics",&STEP::ObjectHelper<variable_semantics,0>::Construct )
  1270. , SchemaEntry("variational_representation_item",&STEP::ObjectHelper<variational_representation_item,0>::Construct )
  1271. , SchemaEntry("vector",&STEP::ObjectHelper<vector,2>::Construct )
  1272. , SchemaEntry("vector_style",&STEP::ObjectHelper<vector_style,0>::Construct )
  1273. , SchemaEntry("velocity_measure_with_unit",&STEP::ObjectHelper<velocity_measure_with_unit,0>::Construct )
  1274. , SchemaEntry("velocity_unit",&STEP::ObjectHelper<velocity_unit,0>::Construct )
  1275. , SchemaEntry("versioned_action_request",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1276. , SchemaEntry("vertex",&STEP::ObjectHelper<vertex,0>::Construct )
  1277. , SchemaEntry("vertex_loop",&STEP::ObjectHelper<vertex_loop,1>::Construct )
  1278. , SchemaEntry("vertex_point",&STEP::ObjectHelper<vertex_point,1>::Construct )
  1279. , SchemaEntry("vertex_shell",&STEP::ObjectHelper<vertex_shell,1>::Construct )
  1280. , SchemaEntry("view_volume",&STEP::ObjectHelper<view_volume,9>::Construct )
  1281. , SchemaEntry("visual_appearance_representation",&STEP::ObjectHelper<visual_appearance_representation,0>::Construct )
  1282. , SchemaEntry("volume_measure_with_unit",&STEP::ObjectHelper<volume_measure_with_unit,0>::Construct )
  1283. , SchemaEntry("volume_unit",&STEP::ObjectHelper<volume_unit,0>::Construct )
  1284. , SchemaEntry("week_of_year_and_day_date",&STEP::ObjectHelper<week_of_year_and_day_date,2>::Construct )
  1285. , SchemaEntry("wire_shell",&STEP::ObjectHelper<wire_shell,1>::Construct )
  1286. , SchemaEntry("year_month",&STEP::ObjectHelper<year_month,1>::Construct )
  1287. };
  1288. }
  1289. // -----------------------------------------------------------------------------------------------------------
  1290. void StepFile::GetSchema(EXPRESS::ConversionSchema& out)
  1291. {
  1292. out = EXPRESS::ConversionSchema(schema_raw);
  1293. }
  1294. namespace STEP {
  1295. // -----------------------------------------------------------------------------------------------------------
  1296. template <> size_t GenericFill<NotImplemented>(const STEP::DB& db, const LIST& params, NotImplemented* in)
  1297. {
  1298. return 0;
  1299. }
  1300. // -----------------------------------------------------------------------------------------------------------
  1301. template <> size_t GenericFill<measure_with_unit>(const DB& db, const LIST& params, measure_with_unit* in)
  1302. {
  1303. size_t base = 0;
  1304. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to measure_with_unit"); } do { // convert the 'value_component' argument
  1305. std::shared_ptr<const DataType> arg = params[base++];
  1306. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::measure_with_unit,2>::aux_is_derived[0]=true; break; }
  1307. try { GenericConvert( in->value_component, arg, db ); break; }
  1308. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to measure_with_unit to be a `measure_value`")); }
  1309. } while(0);
  1310. do { // convert the 'unit_component' argument
  1311. std::shared_ptr<const DataType> arg = params[base++];
  1312. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::measure_with_unit,2>::aux_is_derived[1]=true; break; }
  1313. try { GenericConvert( in->unit_component, arg, db ); break; }
  1314. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to measure_with_unit to be a `unit`")); }
  1315. } while(0);
  1316. return base;
  1317. }
  1318. // -----------------------------------------------------------------------------------------------------------
  1319. template <> size_t GenericFill<absorbed_dose_measure_with_unit>(const DB& db, const LIST& params, absorbed_dose_measure_with_unit* in)
  1320. {
  1321. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  1322. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to absorbed_dose_measure_with_unit"); } return base;
  1323. }
  1324. // -----------------------------------------------------------------------------------------------------------
  1325. template <> size_t GenericFill<derived_unit>(const DB& db, const LIST& params, derived_unit* in)
  1326. {
  1327. size_t base = 0;
  1328. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to derived_unit"); } do { // convert the 'elements' argument
  1329. std::shared_ptr<const DataType> arg = params[base++];
  1330. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::derived_unit,1>::aux_is_derived[0]=true; break; }
  1331. try { GenericConvert( in->elements, arg, db ); break; }
  1332. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to derived_unit to be a `SET [1:?] OF derived_unit_element`")); }
  1333. } while(0);
  1334. return base;
  1335. }
  1336. // -----------------------------------------------------------------------------------------------------------
  1337. template <> size_t GenericFill<absorbed_dose_unit>(const DB& db, const LIST& params, absorbed_dose_unit* in)
  1338. {
  1339. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  1340. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to absorbed_dose_unit"); } return base;
  1341. }
  1342. // -----------------------------------------------------------------------------------------------------------
  1343. template <> size_t GenericFill<abstract_variable>(const DB& db, const LIST& params, abstract_variable* in)
  1344. {
  1345. size_t base = 0;
  1346. return base;
  1347. }
  1348. // -----------------------------------------------------------------------------------------------------------
  1349. template <> size_t GenericFill<acceleration_measure_with_unit>(const DB& db, const LIST& params, acceleration_measure_with_unit* in)
  1350. {
  1351. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  1352. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to acceleration_measure_with_unit"); } return base;
  1353. }
  1354. // -----------------------------------------------------------------------------------------------------------
  1355. template <> size_t GenericFill<acceleration_unit>(const DB& db, const LIST& params, acceleration_unit* in)
  1356. {
  1357. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  1358. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to acceleration_unit"); } return base;
  1359. }
  1360. // -----------------------------------------------------------------------------------------------------------
  1361. template <> size_t GenericFill<action>(const DB& db, const LIST& params, action* in)
  1362. {
  1363. size_t base = 0;
  1364. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to action"); } do { // convert the 'name' argument
  1365. std::shared_ptr<const DataType> arg = params[base++];
  1366. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action,3>::aux_is_derived[0]=true; break; }
  1367. try { GenericConvert( in->name, arg, db ); break; }
  1368. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action to be a `label`")); }
  1369. } while(0);
  1370. do { // convert the 'description' argument
  1371. std::shared_ptr<const DataType> arg = params[base++];
  1372. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action,3>::aux_is_derived[1]=true; break; }
  1373. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1374. try { GenericConvert( in->description, arg, db ); break; }
  1375. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action to be a `text`")); }
  1376. } while(0);
  1377. do { // convert the 'chosen_method' argument
  1378. std::shared_ptr<const DataType> arg = params[base++];
  1379. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action,3>::aux_is_derived[2]=true; break; }
  1380. try { GenericConvert( in->chosen_method, arg, db ); break; }
  1381. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to action to be a `action_method`")); }
  1382. } while(0);
  1383. return base;
  1384. }
  1385. // -----------------------------------------------------------------------------------------------------------
  1386. template <> size_t GenericFill<action_assignment>(const DB& db, const LIST& params, action_assignment* in)
  1387. {
  1388. size_t base = 0;
  1389. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to action_assignment"); } do { // convert the 'assigned_action' argument
  1390. std::shared_ptr<const DataType> arg = params[base++];
  1391. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_assignment,1>::aux_is_derived[0]=true; break; }
  1392. try { GenericConvert( in->assigned_action, arg, db ); break; }
  1393. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_assignment to be a `action`")); }
  1394. } while(0);
  1395. return base;
  1396. }
  1397. // -----------------------------------------------------------------------------------------------------------
  1398. template <> size_t GenericFill<action_method>(const DB& db, const LIST& params, action_method* in)
  1399. {
  1400. size_t base = 0;
  1401. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to action_method"); } do { // convert the 'name' argument
  1402. std::shared_ptr<const DataType> arg = params[base++];
  1403. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method,4>::aux_is_derived[0]=true; break; }
  1404. try { GenericConvert( in->name, arg, db ); break; }
  1405. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_method to be a `label`")); }
  1406. } while(0);
  1407. do { // convert the 'description' argument
  1408. std::shared_ptr<const DataType> arg = params[base++];
  1409. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method,4>::aux_is_derived[1]=true; break; }
  1410. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1411. try { GenericConvert( in->description, arg, db ); break; }
  1412. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action_method to be a `text`")); }
  1413. } while(0);
  1414. do { // convert the 'consequence' argument
  1415. std::shared_ptr<const DataType> arg = params[base++];
  1416. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method,4>::aux_is_derived[2]=true; break; }
  1417. try { GenericConvert( in->consequence, arg, db ); break; }
  1418. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to action_method to be a `text`")); }
  1419. } while(0);
  1420. do { // convert the 'purpose' argument
  1421. std::shared_ptr<const DataType> arg = params[base++];
  1422. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method,4>::aux_is_derived[3]=true; break; }
  1423. try { GenericConvert( in->purpose, arg, db ); break; }
  1424. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to action_method to be a `text`")); }
  1425. } while(0);
  1426. return base;
  1427. }
  1428. // -----------------------------------------------------------------------------------------------------------
  1429. template <> size_t GenericFill<action_method_assignment>(const DB& db, const LIST& params, action_method_assignment* in)
  1430. {
  1431. size_t base = 0;
  1432. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to action_method_assignment"); } do { // convert the 'assigned_action_method' argument
  1433. std::shared_ptr<const DataType> arg = params[base++];
  1434. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method_assignment,2>::aux_is_derived[0]=true; break; }
  1435. try { GenericConvert( in->assigned_action_method, arg, db ); break; }
  1436. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_method_assignment to be a `action_method`")); }
  1437. } while(0);
  1438. do { // convert the 'role' argument
  1439. std::shared_ptr<const DataType> arg = params[base++];
  1440. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method_assignment,2>::aux_is_derived[1]=true; break; }
  1441. try { GenericConvert( in->role, arg, db ); break; }
  1442. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action_method_assignment to be a `action_method_role`")); }
  1443. } while(0);
  1444. return base;
  1445. }
  1446. // -----------------------------------------------------------------------------------------------------------
  1447. template <> size_t GenericFill<action_method_relationship>(const DB& db, const LIST& params, action_method_relationship* in)
  1448. {
  1449. size_t base = 0;
  1450. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to action_method_relationship"); } do { // convert the 'name' argument
  1451. std::shared_ptr<const DataType> arg = params[base++];
  1452. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method_relationship,4>::aux_is_derived[0]=true; break; }
  1453. try { GenericConvert( in->name, arg, db ); break; }
  1454. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_method_relationship to be a `label`")); }
  1455. } while(0);
  1456. do { // convert the 'description' argument
  1457. std::shared_ptr<const DataType> arg = params[base++];
  1458. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method_relationship,4>::aux_is_derived[1]=true; break; }
  1459. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1460. try { GenericConvert( in->description, arg, db ); break; }
  1461. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action_method_relationship to be a `text`")); }
  1462. } while(0);
  1463. do { // convert the 'relating_method' argument
  1464. std::shared_ptr<const DataType> arg = params[base++];
  1465. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method_relationship,4>::aux_is_derived[2]=true; break; }
  1466. try { GenericConvert( in->relating_method, arg, db ); break; }
  1467. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to action_method_relationship to be a `action_method`")); }
  1468. } while(0);
  1469. do { // convert the 'related_method' argument
  1470. std::shared_ptr<const DataType> arg = params[base++];
  1471. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_method_relationship,4>::aux_is_derived[3]=true; break; }
  1472. try { GenericConvert( in->related_method, arg, db ); break; }
  1473. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to action_method_relationship to be a `action_method`")); }
  1474. } while(0);
  1475. return base;
  1476. }
  1477. // -----------------------------------------------------------------------------------------------------------
  1478. template <> size_t GenericFill<action_request_assignment>(const DB& db, const LIST& params, action_request_assignment* in)
  1479. {
  1480. size_t base = 0;
  1481. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to action_request_assignment"); } do { // convert the 'assigned_action_request' argument
  1482. std::shared_ptr<const DataType> arg = params[base++];
  1483. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::action_request_assignment,1>::aux_is_derived[0]=true; break; }
  1484. try { GenericConvert( in->assigned_action_request, arg, db ); break; }
  1485. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_request_assignment to be a `versioned_action_request`")); }
  1486. } while(0);
  1487. return base;
  1488. }
  1489. // -----------------------------------------------------------------------------------------------------------
  1490. template <> size_t GenericFill<address>(const DB& db, const LIST& params, address* in)
  1491. {
  1492. size_t base = 0;
  1493. if (params.GetSize() < 12) { throw STEP::TypeError("expected 12 arguments to address"); } do { // convert the 'internal_location' argument
  1494. std::shared_ptr<const DataType> arg = params[base++];
  1495. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[0]=true; break; }
  1496. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1497. try { GenericConvert( in->internal_location, arg, db ); break; }
  1498. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to address to be a `label`")); }
  1499. } while(0);
  1500. do { // convert the 'street_number' argument
  1501. std::shared_ptr<const DataType> arg = params[base++];
  1502. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[1]=true; break; }
  1503. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1504. try { GenericConvert( in->street_number, arg, db ); break; }
  1505. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to address to be a `label`")); }
  1506. } while(0);
  1507. do { // convert the 'street' argument
  1508. std::shared_ptr<const DataType> arg = params[base++];
  1509. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[2]=true; break; }
  1510. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1511. try { GenericConvert( in->street, arg, db ); break; }
  1512. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to address to be a `label`")); }
  1513. } while(0);
  1514. do { // convert the 'postal_box' argument
  1515. std::shared_ptr<const DataType> arg = params[base++];
  1516. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[3]=true; break; }
  1517. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1518. try { GenericConvert( in->postal_box, arg, db ); break; }
  1519. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to address to be a `label`")); }
  1520. } while(0);
  1521. do { // convert the 'town' argument
  1522. std::shared_ptr<const DataType> arg = params[base++];
  1523. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[4]=true; break; }
  1524. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1525. try { GenericConvert( in->town, arg, db ); break; }
  1526. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to address to be a `label`")); }
  1527. } while(0);
  1528. do { // convert the 'region' argument
  1529. std::shared_ptr<const DataType> arg = params[base++];
  1530. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[5]=true; break; }
  1531. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1532. try { GenericConvert( in->region, arg, db ); break; }
  1533. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to address to be a `label`")); }
  1534. } while(0);
  1535. do { // convert the 'postal_code' argument
  1536. std::shared_ptr<const DataType> arg = params[base++];
  1537. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[6]=true; break; }
  1538. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1539. try { GenericConvert( in->postal_code, arg, db ); break; }
  1540. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to address to be a `label`")); }
  1541. } while(0);
  1542. do { // convert the 'country' argument
  1543. std::shared_ptr<const DataType> arg = params[base++];
  1544. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[7]=true; break; }
  1545. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1546. try { GenericConvert( in->country, arg, db ); break; }
  1547. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to address to be a `label`")); }
  1548. } while(0);
  1549. do { // convert the 'facsimile_number' argument
  1550. std::shared_ptr<const DataType> arg = params[base++];
  1551. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[8]=true; break; }
  1552. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1553. try { GenericConvert( in->facsimile_number, arg, db ); break; }
  1554. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to address to be a `label`")); }
  1555. } while(0);
  1556. do { // convert the 'telephone_number' argument
  1557. std::shared_ptr<const DataType> arg = params[base++];
  1558. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[9]=true; break; }
  1559. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1560. try { GenericConvert( in->telephone_number, arg, db ); break; }
  1561. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to address to be a `label`")); }
  1562. } while(0);
  1563. do { // convert the 'electronic_mail_address' argument
  1564. std::shared_ptr<const DataType> arg = params[base++];
  1565. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[10]=true; break; }
  1566. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1567. try { GenericConvert( in->electronic_mail_address, arg, db ); break; }
  1568. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to address to be a `label`")); }
  1569. } while(0);
  1570. do { // convert the 'telex_number' argument
  1571. std::shared_ptr<const DataType> arg = params[base++];
  1572. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::address,12>::aux_is_derived[11]=true; break; }
  1573. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1574. try { GenericConvert( in->telex_number, arg, db ); break; }
  1575. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to address to be a `label`")); }
  1576. } while(0);
  1577. return base;
  1578. }
  1579. // -----------------------------------------------------------------------------------------------------------
  1580. template <> size_t GenericFill<representation>(const DB& db, const LIST& params, representation* in)
  1581. {
  1582. size_t base = 0;
  1583. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to representation"); } do { // convert the 'name' argument
  1584. std::shared_ptr<const DataType> arg = params[base++];
  1585. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation,3>::aux_is_derived[0]=true; break; }
  1586. try { GenericConvert( in->name, arg, db ); break; }
  1587. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation to be a `label`")); }
  1588. } while(0);
  1589. do { // convert the 'items' argument
  1590. std::shared_ptr<const DataType> arg = params[base++];
  1591. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation,3>::aux_is_derived[1]=true; break; }
  1592. try { GenericConvert( in->items, arg, db ); break; }
  1593. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation to be a `SET [1:?] OF representation_item`")); }
  1594. } while(0);
  1595. do { // convert the 'context_of_items' argument
  1596. std::shared_ptr<const DataType> arg = params[base++];
  1597. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation,3>::aux_is_derived[2]=true; break; }
  1598. try { GenericConvert( in->context_of_items, arg, db ); break; }
  1599. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to representation to be a `representation_context`")); }
  1600. } while(0);
  1601. return base;
  1602. }
  1603. // -----------------------------------------------------------------------------------------------------------
  1604. template <> size_t GenericFill<shape_representation>(const DB& db, const LIST& params, shape_representation* in)
  1605. {
  1606. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  1607. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shape_representation"); } return base;
  1608. }
  1609. // -----------------------------------------------------------------------------------------------------------
  1610. template <> size_t GenericFill<advanced_brep_shape_representation>(const DB& db, const LIST& params, advanced_brep_shape_representation* in)
  1611. {
  1612. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  1613. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to advanced_brep_shape_representation"); } return base;
  1614. }
  1615. // -----------------------------------------------------------------------------------------------------------
  1616. template <> size_t GenericFill<face_surface>(const DB& db, const LIST& params, face_surface* in)
  1617. {
  1618. size_t base = 0;
  1619. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to face_surface"); } do { // convert the 'face_geometry' argument
  1620. std::shared_ptr<const DataType> arg = params[base++];
  1621. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::face_surface,2>::aux_is_derived[0]=true; break; }
  1622. try { GenericConvert( in->face_geometry, arg, db ); break; }
  1623. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to face_surface to be a `surface`")); }
  1624. } while(0);
  1625. do { // convert the 'same_sense' argument
  1626. std::shared_ptr<const DataType> arg = params[base++];
  1627. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::face_surface,2>::aux_is_derived[1]=true; break; }
  1628. try { GenericConvert( in->same_sense, arg, db ); break; }
  1629. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face_surface to be a `BOOLEAN`")); }
  1630. } while(0);
  1631. return base;
  1632. }
  1633. // -----------------------------------------------------------------------------------------------------------
  1634. template <> size_t GenericFill<advanced_face>(const DB& db, const LIST& params, advanced_face* in)
  1635. {
  1636. size_t base = GenericFill(db,params,static_cast<face_surface*>(in));
  1637. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to advanced_face"); } return base;
  1638. }
  1639. // -----------------------------------------------------------------------------------------------------------
  1640. template <> size_t GenericFill<amount_of_substance_measure_with_unit>(const DB& db, const LIST& params, amount_of_substance_measure_with_unit* in)
  1641. {
  1642. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  1643. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to amount_of_substance_measure_with_unit"); } return base;
  1644. }
  1645. // -----------------------------------------------------------------------------------------------------------
  1646. template <> size_t GenericFill<named_unit>(const DB& db, const LIST& params, named_unit* in)
  1647. {
  1648. size_t base = 0;
  1649. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to named_unit"); } do { // convert the 'dimensions' argument
  1650. std::shared_ptr<const DataType> arg = params[base++];
  1651. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::named_unit,1>::aux_is_derived[0]=true; break; }
  1652. try { GenericConvert( in->dimensions, arg, db ); break; }
  1653. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to named_unit to be a `dimensional_exponents`")); }
  1654. } while(0);
  1655. return base;
  1656. }
  1657. // -----------------------------------------------------------------------------------------------------------
  1658. template <> size_t GenericFill<amount_of_substance_unit>(const DB& db, const LIST& params, amount_of_substance_unit* in)
  1659. {
  1660. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  1661. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to amount_of_substance_unit"); } return base;
  1662. }
  1663. // -----------------------------------------------------------------------------------------------------------
  1664. template <> size_t GenericFill<angle_direction_reference>(const DB& db, const LIST& params, angle_direction_reference* in)
  1665. {
  1666. size_t base = 0;
  1667. return base;
  1668. }
  1669. // -----------------------------------------------------------------------------------------------------------
  1670. template <> size_t GenericFill<representation_item>(const DB& db, const LIST& params, representation_item* in)
  1671. {
  1672. size_t base = 0;
  1673. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to representation_item"); } do { // convert the 'name' argument
  1674. std::shared_ptr<const DataType> arg = params[base++];
  1675. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_item,1>::aux_is_derived[0]=true; break; }
  1676. try { GenericConvert( in->name, arg, db ); break; }
  1677. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_item to be a `label`")); }
  1678. } while(0);
  1679. return base;
  1680. }
  1681. // -----------------------------------------------------------------------------------------------------------
  1682. template <> size_t GenericFill<geometric_representation_item>(const DB& db, const LIST& params, geometric_representation_item* in)
  1683. {
  1684. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  1685. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to geometric_representation_item"); } return base;
  1686. }
  1687. // -----------------------------------------------------------------------------------------------------------
  1688. template <> size_t GenericFill<draughting_callout>(const DB& db, const LIST& params, draughting_callout* in)
  1689. {
  1690. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  1691. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to draughting_callout"); } do { // convert the 'contents' argument
  1692. std::shared_ptr<const DataType> arg = params[base++];
  1693. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::draughting_callout,1>::aux_is_derived[0]=true; break; }
  1694. try { GenericConvert( in->contents, arg, db ); break; }
  1695. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to draughting_callout to be a `SET [1:?] OF draughting_callout_element`")); }
  1696. } while(0);
  1697. return base;
  1698. }
  1699. // -----------------------------------------------------------------------------------------------------------
  1700. template <> size_t GenericFill<dimension_curve_directed_callout>(const DB& db, const LIST& params, dimension_curve_directed_callout* in)
  1701. {
  1702. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  1703. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dimension_curve_directed_callout"); } return base;
  1704. }
  1705. // -----------------------------------------------------------------------------------------------------------
  1706. template <> size_t GenericFill<angular_dimension>(const DB& db, const LIST& params, angular_dimension* in)
  1707. {
  1708. size_t base = GenericFill(db,params,static_cast<dimension_curve_directed_callout*>(in));
  1709. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to angular_dimension"); } return base;
  1710. }
  1711. // -----------------------------------------------------------------------------------------------------------
  1712. template <> size_t GenericFill<shape_aspect_relationship>(const DB& db, const LIST& params, shape_aspect_relationship* in)
  1713. {
  1714. size_t base = 0;
  1715. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect_relationship"); } do { // convert the 'name' argument
  1716. std::shared_ptr<const DataType> arg = params[base++];
  1717. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect_relationship,4>::aux_is_derived[0]=true; break; }
  1718. try { GenericConvert( in->name, arg, db ); break; }
  1719. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to shape_aspect_relationship to be a `label`")); }
  1720. } while(0);
  1721. do { // convert the 'description' argument
  1722. std::shared_ptr<const DataType> arg = params[base++];
  1723. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect_relationship,4>::aux_is_derived[1]=true; break; }
  1724. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1725. try { GenericConvert( in->description, arg, db ); break; }
  1726. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shape_aspect_relationship to be a `text`")); }
  1727. } while(0);
  1728. do { // convert the 'relating_shape_aspect' argument
  1729. std::shared_ptr<const DataType> arg = params[base++];
  1730. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect_relationship,4>::aux_is_derived[2]=true; break; }
  1731. try { GenericConvert( in->relating_shape_aspect, arg, db ); break; }
  1732. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to shape_aspect_relationship to be a `shape_aspect`")); }
  1733. } while(0);
  1734. do { // convert the 'related_shape_aspect' argument
  1735. std::shared_ptr<const DataType> arg = params[base++];
  1736. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect_relationship,4>::aux_is_derived[3]=true; break; }
  1737. try { GenericConvert( in->related_shape_aspect, arg, db ); break; }
  1738. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to shape_aspect_relationship to be a `shape_aspect`")); }
  1739. } while(0);
  1740. return base;
  1741. }
  1742. // -----------------------------------------------------------------------------------------------------------
  1743. template <> size_t GenericFill<dimensional_location>(const DB& db, const LIST& params, dimensional_location* in)
  1744. {
  1745. size_t base = GenericFill(db,params,static_cast<shape_aspect_relationship*>(in));
  1746. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimensional_location"); } return base;
  1747. }
  1748. // -----------------------------------------------------------------------------------------------------------
  1749. template <> size_t GenericFill<angular_location>(const DB& db, const LIST& params, angular_location* in)
  1750. {
  1751. size_t base = GenericFill(db,params,static_cast<dimensional_location*>(in));
  1752. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to angular_location"); } do { // convert the 'angle_selection' argument
  1753. std::shared_ptr<const DataType> arg = params[base++];
  1754. try { GenericConvert( in->angle_selection, arg, db ); break; }
  1755. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to angular_location to be a `angle_relator`")); }
  1756. } while(0);
  1757. return base;
  1758. }
  1759. // -----------------------------------------------------------------------------------------------------------
  1760. template <> size_t GenericFill<dimensional_size>(const DB& db, const LIST& params, dimensional_size* in)
  1761. {
  1762. size_t base = 0;
  1763. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dimensional_size"); } do { // convert the 'applies_to' argument
  1764. std::shared_ptr<const DataType> arg = params[base++];
  1765. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::dimensional_size,2>::aux_is_derived[0]=true; break; }
  1766. try { GenericConvert( in->applies_to, arg, db ); break; }
  1767. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to dimensional_size to be a `shape_aspect`")); }
  1768. } while(0);
  1769. do { // convert the 'name' argument
  1770. std::shared_ptr<const DataType> arg = params[base++];
  1771. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::dimensional_size,2>::aux_is_derived[1]=true; break; }
  1772. try { GenericConvert( in->name, arg, db ); break; }
  1773. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to dimensional_size to be a `label`")); }
  1774. } while(0);
  1775. return base;
  1776. }
  1777. // -----------------------------------------------------------------------------------------------------------
  1778. template <> size_t GenericFill<angular_size>(const DB& db, const LIST& params, angular_size* in)
  1779. {
  1780. size_t base = GenericFill(db,params,static_cast<dimensional_size*>(in));
  1781. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to angular_size"); } do { // convert the 'angle_selection' argument
  1782. std::shared_ptr<const DataType> arg = params[base++];
  1783. try { GenericConvert( in->angle_selection, arg, db ); break; }
  1784. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to angular_size to be a `angle_relator`")); }
  1785. } while(0);
  1786. return base;
  1787. }
  1788. // -----------------------------------------------------------------------------------------------------------
  1789. template <> size_t GenericFill<geometric_tolerance>(const DB& db, const LIST& params, geometric_tolerance* in)
  1790. {
  1791. size_t base = 0;
  1792. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to geometric_tolerance"); } do { // convert the 'name' argument
  1793. std::shared_ptr<const DataType> arg = params[base++];
  1794. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::geometric_tolerance,4>::aux_is_derived[0]=true; break; }
  1795. try { GenericConvert( in->name, arg, db ); break; }
  1796. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to geometric_tolerance to be a `label`")); }
  1797. } while(0);
  1798. do { // convert the 'description' argument
  1799. std::shared_ptr<const DataType> arg = params[base++];
  1800. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::geometric_tolerance,4>::aux_is_derived[1]=true; break; }
  1801. try { GenericConvert( in->description, arg, db ); break; }
  1802. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to geometric_tolerance to be a `text`")); }
  1803. } while(0);
  1804. do { // convert the 'magnitude' argument
  1805. std::shared_ptr<const DataType> arg = params[base++];
  1806. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::geometric_tolerance,4>::aux_is_derived[2]=true; break; }
  1807. try { GenericConvert( in->magnitude, arg, db ); break; }
  1808. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to geometric_tolerance to be a `measure_with_unit`")); }
  1809. } while(0);
  1810. do { // convert the 'toleranced_shape_aspect' argument
  1811. std::shared_ptr<const DataType> arg = params[base++];
  1812. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::geometric_tolerance,4>::aux_is_derived[3]=true; break; }
  1813. try { GenericConvert( in->toleranced_shape_aspect, arg, db ); break; }
  1814. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to geometric_tolerance to be a `shape_aspect`")); }
  1815. } while(0);
  1816. return base;
  1817. }
  1818. // -----------------------------------------------------------------------------------------------------------
  1819. template <> size_t GenericFill<geometric_tolerance_with_datum_reference>(const DB& db, const LIST& params, geometric_tolerance_with_datum_reference* in)
  1820. {
  1821. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  1822. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to geometric_tolerance_with_datum_reference"); } do { // convert the 'datum_system' argument
  1823. std::shared_ptr<const DataType> arg = params[base++];
  1824. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::geometric_tolerance_with_datum_reference,1>::aux_is_derived[0]=true; break; }
  1825. try { GenericConvert( in->datum_system, arg, db ); break; }
  1826. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to geometric_tolerance_with_datum_reference to be a `SET [1:?] OF datum_reference`")); }
  1827. } while(0);
  1828. return base;
  1829. }
  1830. // -----------------------------------------------------------------------------------------------------------
  1831. template <> size_t GenericFill<angularity_tolerance>(const DB& db, const LIST& params, angularity_tolerance* in)
  1832. {
  1833. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  1834. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to angularity_tolerance"); } return base;
  1835. }
  1836. // -----------------------------------------------------------------------------------------------------------
  1837. template <> size_t GenericFill<styled_item>(const DB& db, const LIST& params, styled_item* in)
  1838. {
  1839. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  1840. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to styled_item"); } do { // convert the 'styles' argument
  1841. std::shared_ptr<const DataType> arg = params[base++];
  1842. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::styled_item,2>::aux_is_derived[0]=true; break; }
  1843. try { GenericConvert( in->styles, arg, db ); break; }
  1844. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to styled_item to be a `SET [1:?] OF presentation_style_assignment`")); }
  1845. } while(0);
  1846. do { // convert the 'item' argument
  1847. std::shared_ptr<const DataType> arg = params[base++];
  1848. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::styled_item,2>::aux_is_derived[1]=true; break; }
  1849. try { GenericConvert( in->item, arg, db ); break; }
  1850. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to styled_item to be a `representation_item`")); }
  1851. } while(0);
  1852. return base;
  1853. }
  1854. // -----------------------------------------------------------------------------------------------------------
  1855. template <> size_t GenericFill<annotation_occurrence>(const DB& db, const LIST& params, annotation_occurrence* in)
  1856. {
  1857. size_t base = GenericFill(db,params,static_cast<styled_item*>(in));
  1858. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_occurrence"); } return base;
  1859. }
  1860. // -----------------------------------------------------------------------------------------------------------
  1861. template <> size_t GenericFill<annotation_curve_occurrence>(const DB& db, const LIST& params, annotation_curve_occurrence* in)
  1862. {
  1863. size_t base = GenericFill(db,params,static_cast<annotation_occurrence*>(in));
  1864. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_curve_occurrence"); } return base;
  1865. }
  1866. // -----------------------------------------------------------------------------------------------------------
  1867. template <> size_t GenericFill<annotation_fill_area>(const DB& db, const LIST& params, annotation_fill_area* in)
  1868. {
  1869. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  1870. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to annotation_fill_area"); } do { // convert the 'boundaries' argument
  1871. std::shared_ptr<const DataType> arg = params[base++];
  1872. try { GenericConvert( in->boundaries, arg, db ); break; }
  1873. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to annotation_fill_area to be a `SET [1:?] OF curve`")); }
  1874. } while(0);
  1875. return base;
  1876. }
  1877. // -----------------------------------------------------------------------------------------------------------
  1878. template <> size_t GenericFill<annotation_fill_area_occurrence>(const DB& db, const LIST& params, annotation_fill_area_occurrence* in)
  1879. {
  1880. size_t base = GenericFill(db,params,static_cast<annotation_occurrence*>(in));
  1881. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_fill_area_occurrence"); } do { // convert the 'fill_style_target' argument
  1882. std::shared_ptr<const DataType> arg = params[base++];
  1883. try { GenericConvert( in->fill_style_target, arg, db ); break; }
  1884. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to annotation_fill_area_occurrence to be a `point`")); }
  1885. } while(0);
  1886. return base;
  1887. }
  1888. // -----------------------------------------------------------------------------------------------------------
  1889. template <> size_t GenericFill<annotation_occurrence_relationship>(const DB& db, const LIST& params, annotation_occurrence_relationship* in)
  1890. {
  1891. size_t base = 0;
  1892. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_occurrence_relationship"); } do { // convert the 'name' argument
  1893. std::shared_ptr<const DataType> arg = params[base++];
  1894. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::annotation_occurrence_relationship,4>::aux_is_derived[0]=true; break; }
  1895. try { GenericConvert( in->name, arg, db ); break; }
  1896. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to annotation_occurrence_relationship to be a `label`")); }
  1897. } while(0);
  1898. do { // convert the 'description' argument
  1899. std::shared_ptr<const DataType> arg = params[base++];
  1900. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::annotation_occurrence_relationship,4>::aux_is_derived[1]=true; break; }
  1901. try { GenericConvert( in->description, arg, db ); break; }
  1902. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to annotation_occurrence_relationship to be a `text`")); }
  1903. } while(0);
  1904. do { // convert the 'relating_annotation_occurrence' argument
  1905. std::shared_ptr<const DataType> arg = params[base++];
  1906. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::annotation_occurrence_relationship,4>::aux_is_derived[2]=true; break; }
  1907. try { GenericConvert( in->relating_annotation_occurrence, arg, db ); break; }
  1908. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to annotation_occurrence_relationship to be a `annotation_occurrence`")); }
  1909. } while(0);
  1910. do { // convert the 'related_annotation_occurrence' argument
  1911. std::shared_ptr<const DataType> arg = params[base++];
  1912. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::annotation_occurrence_relationship,4>::aux_is_derived[3]=true; break; }
  1913. try { GenericConvert( in->related_annotation_occurrence, arg, db ); break; }
  1914. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to annotation_occurrence_relationship to be a `annotation_occurrence`")); }
  1915. } while(0);
  1916. return base;
  1917. }
  1918. // -----------------------------------------------------------------------------------------------------------
  1919. template <> size_t GenericFill<annotation_occurrence_associativity>(const DB& db, const LIST& params, annotation_occurrence_associativity* in)
  1920. {
  1921. size_t base = GenericFill(db,params,static_cast<annotation_occurrence_relationship*>(in));
  1922. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_occurrence_associativity"); } return base;
  1923. }
  1924. // -----------------------------------------------------------------------------------------------------------
  1925. template <> size_t GenericFill<annotation_plane>(const DB& db, const LIST& params, annotation_plane* in)
  1926. {
  1927. size_t base = 0;
  1928. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to annotation_plane"); } do { // convert the 'elements' argument
  1929. std::shared_ptr<const DataType> arg = params[base++];
  1930. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1931. try { GenericConvert( in->elements, arg, db ); break; }
  1932. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to annotation_plane to be a `SET [1:?] OF annotation_plane_element`")); }
  1933. } while(0);
  1934. return base;
  1935. }
  1936. // -----------------------------------------------------------------------------------------------------------
  1937. template <> size_t GenericFill<annotation_symbol_occurrence>(const DB& db, const LIST& params, annotation_symbol_occurrence* in)
  1938. {
  1939. size_t base = GenericFill(db,params,static_cast<annotation_occurrence*>(in));
  1940. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_symbol_occurrence"); } return base;
  1941. }
  1942. // -----------------------------------------------------------------------------------------------------------
  1943. template <> size_t GenericFill<annotation_subfigure_occurrence>(const DB& db, const LIST& params, annotation_subfigure_occurrence* in)
  1944. {
  1945. size_t base = GenericFill(db,params,static_cast<annotation_symbol_occurrence*>(in));
  1946. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_subfigure_occurrence"); } return base;
  1947. }
  1948. // -----------------------------------------------------------------------------------------------------------
  1949. template <> size_t GenericFill<mapped_item>(const DB& db, const LIST& params, mapped_item* in)
  1950. {
  1951. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  1952. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mapped_item"); } do { // convert the 'mapping_source' argument
  1953. std::shared_ptr<const DataType> arg = params[base++];
  1954. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::mapped_item,2>::aux_is_derived[0]=true; break; }
  1955. try { GenericConvert( in->mapping_source, arg, db ); break; }
  1956. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to mapped_item to be a `representation_map`")); }
  1957. } while(0);
  1958. do { // convert the 'mapping_target' argument
  1959. std::shared_ptr<const DataType> arg = params[base++];
  1960. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::mapped_item,2>::aux_is_derived[1]=true; break; }
  1961. try { GenericConvert( in->mapping_target, arg, db ); break; }
  1962. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to mapped_item to be a `representation_item`")); }
  1963. } while(0);
  1964. return base;
  1965. }
  1966. // -----------------------------------------------------------------------------------------------------------
  1967. template <> size_t GenericFill<annotation_symbol>(const DB& db, const LIST& params, annotation_symbol* in)
  1968. {
  1969. size_t base = GenericFill(db,params,static_cast<mapped_item*>(in));
  1970. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_symbol"); } return base;
  1971. }
  1972. // -----------------------------------------------------------------------------------------------------------
  1973. template <> size_t GenericFill<annotation_text>(const DB& db, const LIST& params, annotation_text* in)
  1974. {
  1975. size_t base = GenericFill(db,params,static_cast<mapped_item*>(in));
  1976. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_text"); } return base;
  1977. }
  1978. // -----------------------------------------------------------------------------------------------------------
  1979. template <> size_t GenericFill<annotation_text_character>(const DB& db, const LIST& params, annotation_text_character* in)
  1980. {
  1981. size_t base = GenericFill(db,params,static_cast<mapped_item*>(in));
  1982. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_text_character"); } do { // convert the 'alignment' argument
  1983. std::shared_ptr<const DataType> arg = params[base++];
  1984. try { GenericConvert( in->alignment, arg, db ); break; }
  1985. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to annotation_text_character to be a `text_alignment`")); }
  1986. } while(0);
  1987. return base;
  1988. }
  1989. // -----------------------------------------------------------------------------------------------------------
  1990. template <> size_t GenericFill<annotation_text_occurrence>(const DB& db, const LIST& params, annotation_text_occurrence* in)
  1991. {
  1992. size_t base = GenericFill(db,params,static_cast<annotation_occurrence*>(in));
  1993. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_text_occurrence"); } return base;
  1994. }
  1995. // -----------------------------------------------------------------------------------------------------------
  1996. template <> size_t GenericFill<shape_aspect>(const DB& db, const LIST& params, shape_aspect* in)
  1997. {
  1998. size_t base = 0;
  1999. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect"); } do { // convert the 'name' argument
  2000. std::shared_ptr<const DataType> arg = params[base++];
  2001. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect,4>::aux_is_derived[0]=true; break; }
  2002. try { GenericConvert( in->name, arg, db ); break; }
  2003. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to shape_aspect to be a `label`")); }
  2004. } while(0);
  2005. do { // convert the 'description' argument
  2006. std::shared_ptr<const DataType> arg = params[base++];
  2007. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect,4>::aux_is_derived[1]=true; break; }
  2008. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2009. try { GenericConvert( in->description, arg, db ); break; }
  2010. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shape_aspect to be a `text`")); }
  2011. } while(0);
  2012. do { // convert the 'of_shape' argument
  2013. std::shared_ptr<const DataType> arg = params[base++];
  2014. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect,4>::aux_is_derived[2]=true; break; }
  2015. try { GenericConvert( in->of_shape, arg, db ); break; }
  2016. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to shape_aspect to be a `product_definition_shape`")); }
  2017. } while(0);
  2018. do { // convert the 'product_definitional' argument
  2019. std::shared_ptr<const DataType> arg = params[base++];
  2020. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shape_aspect,4>::aux_is_derived[3]=true; break; }
  2021. try { GenericConvert( in->product_definitional, arg, db ); break; }
  2022. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to shape_aspect to be a `LOGICAL`")); }
  2023. } while(0);
  2024. return base;
  2025. }
  2026. // -----------------------------------------------------------------------------------------------------------
  2027. template <> size_t GenericFill<derived_shape_aspect>(const DB& db, const LIST& params, derived_shape_aspect* in)
  2028. {
  2029. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  2030. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to derived_shape_aspect"); } return base;
  2031. }
  2032. // -----------------------------------------------------------------------------------------------------------
  2033. template <> size_t GenericFill<apex>(const DB& db, const LIST& params, apex* in)
  2034. {
  2035. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  2036. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to apex"); } return base;
  2037. }
  2038. // -----------------------------------------------------------------------------------------------------------
  2039. template <> size_t GenericFill<application_context_element>(const DB& db, const LIST& params, application_context_element* in)
  2040. {
  2041. size_t base = 0;
  2042. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to application_context_element"); } do { // convert the 'name' argument
  2043. std::shared_ptr<const DataType> arg = params[base++];
  2044. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::application_context_element,2>::aux_is_derived[0]=true; break; }
  2045. try { GenericConvert( in->name, arg, db ); break; }
  2046. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to application_context_element to be a `label`")); }
  2047. } while(0);
  2048. do { // convert the 'frame_of_reference' argument
  2049. std::shared_ptr<const DataType> arg = params[base++];
  2050. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::application_context_element,2>::aux_is_derived[1]=true; break; }
  2051. try { GenericConvert( in->frame_of_reference, arg, db ); break; }
  2052. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to application_context_element to be a `application_context`")); }
  2053. } while(0);
  2054. return base;
  2055. }
  2056. // -----------------------------------------------------------------------------------------------------------
  2057. template <> size_t GenericFill<applied_action_assignment>(const DB& db, const LIST& params, applied_action_assignment* in)
  2058. {
  2059. size_t base = GenericFill(db,params,static_cast<action_assignment*>(in));
  2060. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_action_assignment"); } do { // convert the 'items' argument
  2061. std::shared_ptr<const DataType> arg = params[base++];
  2062. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::applied_action_assignment,1>::aux_is_derived[0]=true; break; }
  2063. try { GenericConvert( in->items, arg, db ); break; }
  2064. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_action_assignment to be a `SET [1:?] OF action_items`")); }
  2065. } while(0);
  2066. return base;
  2067. }
  2068. // -----------------------------------------------------------------------------------------------------------
  2069. template <> size_t GenericFill<applied_action_method_assignment>(const DB& db, const LIST& params, applied_action_method_assignment* in)
  2070. {
  2071. size_t base = GenericFill(db,params,static_cast<action_method_assignment*>(in));
  2072. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_action_method_assignment"); } do { // convert the 'items' argument
  2073. std::shared_ptr<const DataType> arg = params[base++];
  2074. try { GenericConvert( in->items, arg, db ); break; }
  2075. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_action_method_assignment to be a `SET [1:?] OF action_method_items`")); }
  2076. } while(0);
  2077. return base;
  2078. }
  2079. // -----------------------------------------------------------------------------------------------------------
  2080. template <> size_t GenericFill<applied_action_request_assignment>(const DB& db, const LIST& params, applied_action_request_assignment* in)
  2081. {
  2082. size_t base = GenericFill(db,params,static_cast<action_request_assignment*>(in));
  2083. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_action_request_assignment"); } do { // convert the 'items' argument
  2084. std::shared_ptr<const DataType> arg = params[base++];
  2085. try { GenericConvert( in->items, arg, db ); break; }
  2086. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_action_request_assignment to be a `SET [1:?] OF action_request_item`")); }
  2087. } while(0);
  2088. return base;
  2089. }
  2090. // -----------------------------------------------------------------------------------------------------------
  2091. template <> size_t GenericFill<approval_assignment>(const DB& db, const LIST& params, approval_assignment* in)
  2092. {
  2093. size_t base = 0;
  2094. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to approval_assignment"); } do { // convert the 'assigned_approval' argument
  2095. std::shared_ptr<const DataType> arg = params[base++];
  2096. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::approval_assignment,1>::aux_is_derived[0]=true; break; }
  2097. try { GenericConvert( in->assigned_approval, arg, db ); break; }
  2098. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to approval_assignment to be a `approval`")); }
  2099. } while(0);
  2100. return base;
  2101. }
  2102. // -----------------------------------------------------------------------------------------------------------
  2103. template <> size_t GenericFill<applied_approval_assignment>(const DB& db, const LIST& params, applied_approval_assignment* in)
  2104. {
  2105. size_t base = GenericFill(db,params,static_cast<approval_assignment*>(in));
  2106. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_approval_assignment"); } do { // convert the 'items' argument
  2107. std::shared_ptr<const DataType> arg = params[base++];
  2108. try { GenericConvert( in->items, arg, db ); break; }
  2109. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_approval_assignment to be a `SET [1:?] OF approval_item`")); }
  2110. } while(0);
  2111. return base;
  2112. }
  2113. // -----------------------------------------------------------------------------------------------------------
  2114. template <> size_t GenericFill<attribute_classification_assignment>(const DB& db, const LIST& params, attribute_classification_assignment* in)
  2115. {
  2116. size_t base = 0;
  2117. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to attribute_classification_assignment"); } do { // convert the 'assigned_class' argument
  2118. std::shared_ptr<const DataType> arg = params[base++];
  2119. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::attribute_classification_assignment,3>::aux_is_derived[0]=true; break; }
  2120. try { GenericConvert( in->assigned_class, arg, db ); break; }
  2121. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to attribute_classification_assignment to be a `group`")); }
  2122. } while(0);
  2123. do { // convert the 'attribute_name' argument
  2124. std::shared_ptr<const DataType> arg = params[base++];
  2125. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::attribute_classification_assignment,3>::aux_is_derived[1]=true; break; }
  2126. try { GenericConvert( in->attribute_name, arg, db ); break; }
  2127. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to attribute_classification_assignment to be a `label`")); }
  2128. } while(0);
  2129. do { // convert the 'role' argument
  2130. std::shared_ptr<const DataType> arg = params[base++];
  2131. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::attribute_classification_assignment,3>::aux_is_derived[2]=true; break; }
  2132. try { GenericConvert( in->role, arg, db ); break; }
  2133. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to attribute_classification_assignment to be a `classification_role`")); }
  2134. } while(0);
  2135. return base;
  2136. }
  2137. // -----------------------------------------------------------------------------------------------------------
  2138. template <> size_t GenericFill<applied_attribute_classification_assignment>(const DB& db, const LIST& params, applied_attribute_classification_assignment* in)
  2139. {
  2140. size_t base = GenericFill(db,params,static_cast<attribute_classification_assignment*>(in));
  2141. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to applied_attribute_classification_assignment"); } do { // convert the 'items' argument
  2142. std::shared_ptr<const DataType> arg = params[base++];
  2143. try { GenericConvert( in->items, arg, db ); break; }
  2144. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to applied_attribute_classification_assignment to be a `SET [1:?] OF attribute_classification_item`")); }
  2145. } while(0);
  2146. return base;
  2147. }
  2148. // -----------------------------------------------------------------------------------------------------------
  2149. template <> size_t GenericFill<certification_assignment>(const DB& db, const LIST& params, certification_assignment* in)
  2150. {
  2151. size_t base = 0;
  2152. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to certification_assignment"); } do { // convert the 'assigned_certification' argument
  2153. std::shared_ptr<const DataType> arg = params[base++];
  2154. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::certification_assignment,1>::aux_is_derived[0]=true; break; }
  2155. try { GenericConvert( in->assigned_certification, arg, db ); break; }
  2156. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to certification_assignment to be a `certification`")); }
  2157. } while(0);
  2158. return base;
  2159. }
  2160. // -----------------------------------------------------------------------------------------------------------
  2161. template <> size_t GenericFill<applied_certification_assignment>(const DB& db, const LIST& params, applied_certification_assignment* in)
  2162. {
  2163. size_t base = GenericFill(db,params,static_cast<certification_assignment*>(in));
  2164. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_certification_assignment"); } do { // convert the 'items' argument
  2165. std::shared_ptr<const DataType> arg = params[base++];
  2166. try { GenericConvert( in->items, arg, db ); break; }
  2167. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_certification_assignment to be a `SET [1:?] OF certification_item`")); }
  2168. } while(0);
  2169. return base;
  2170. }
  2171. // -----------------------------------------------------------------------------------------------------------
  2172. template <> size_t GenericFill<classification_assignment>(const DB& db, const LIST& params, classification_assignment* in)
  2173. {
  2174. size_t base = 0;
  2175. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to classification_assignment"); } do { // convert the 'assigned_class' argument
  2176. std::shared_ptr<const DataType> arg = params[base++];
  2177. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::classification_assignment,2>::aux_is_derived[0]=true; break; }
  2178. try { GenericConvert( in->assigned_class, arg, db ); break; }
  2179. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to classification_assignment to be a `group`")); }
  2180. } while(0);
  2181. do { // convert the 'role' argument
  2182. std::shared_ptr<const DataType> arg = params[base++];
  2183. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::classification_assignment,2>::aux_is_derived[1]=true; break; }
  2184. try { GenericConvert( in->role, arg, db ); break; }
  2185. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to classification_assignment to be a `classification_role`")); }
  2186. } while(0);
  2187. return base;
  2188. }
  2189. // -----------------------------------------------------------------------------------------------------------
  2190. template <> size_t GenericFill<applied_classification_assignment>(const DB& db, const LIST& params, applied_classification_assignment* in)
  2191. {
  2192. size_t base = GenericFill(db,params,static_cast<classification_assignment*>(in));
  2193. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_classification_assignment"); } do { // convert the 'items' argument
  2194. std::shared_ptr<const DataType> arg = params[base++];
  2195. try { GenericConvert( in->items, arg, db ); break; }
  2196. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_classification_assignment to be a `SET [1:?] OF classification_item`")); }
  2197. } while(0);
  2198. return base;
  2199. }
  2200. // -----------------------------------------------------------------------------------------------------------
  2201. template <> size_t GenericFill<contract_assignment>(const DB& db, const LIST& params, contract_assignment* in)
  2202. {
  2203. size_t base = 0;
  2204. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to contract_assignment"); } do { // convert the 'assigned_contract' argument
  2205. std::shared_ptr<const DataType> arg = params[base++];
  2206. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::contract_assignment,1>::aux_is_derived[0]=true; break; }
  2207. try { GenericConvert( in->assigned_contract, arg, db ); break; }
  2208. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to contract_assignment to be a `contract`")); }
  2209. } while(0);
  2210. return base;
  2211. }
  2212. // -----------------------------------------------------------------------------------------------------------
  2213. template <> size_t GenericFill<applied_contract_assignment>(const DB& db, const LIST& params, applied_contract_assignment* in)
  2214. {
  2215. size_t base = GenericFill(db,params,static_cast<contract_assignment*>(in));
  2216. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_contract_assignment"); } do { // convert the 'items' argument
  2217. std::shared_ptr<const DataType> arg = params[base++];
  2218. try { GenericConvert( in->items, arg, db ); break; }
  2219. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_contract_assignment to be a `SET [1:?] OF contract_item`")); }
  2220. } while(0);
  2221. return base;
  2222. }
  2223. // -----------------------------------------------------------------------------------------------------------
  2224. template <> size_t GenericFill<date_and_time_assignment>(const DB& db, const LIST& params, date_and_time_assignment* in)
  2225. {
  2226. size_t base = 0;
  2227. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to date_and_time_assignment"); } do { // convert the 'assigned_date_and_time' argument
  2228. std::shared_ptr<const DataType> arg = params[base++];
  2229. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::date_and_time_assignment,2>::aux_is_derived[0]=true; break; }
  2230. try { GenericConvert( in->assigned_date_and_time, arg, db ); break; }
  2231. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to date_and_time_assignment to be a `date_and_time`")); }
  2232. } while(0);
  2233. do { // convert the 'role' argument
  2234. std::shared_ptr<const DataType> arg = params[base++];
  2235. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::date_and_time_assignment,2>::aux_is_derived[1]=true; break; }
  2236. try { GenericConvert( in->role, arg, db ); break; }
  2237. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to date_and_time_assignment to be a `date_time_role`")); }
  2238. } while(0);
  2239. return base;
  2240. }
  2241. // -----------------------------------------------------------------------------------------------------------
  2242. template <> size_t GenericFill<applied_date_and_time_assignment>(const DB& db, const LIST& params, applied_date_and_time_assignment* in)
  2243. {
  2244. size_t base = GenericFill(db,params,static_cast<date_and_time_assignment*>(in));
  2245. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_date_and_time_assignment"); } do { // convert the 'items' argument
  2246. std::shared_ptr<const DataType> arg = params[base++];
  2247. try { GenericConvert( in->items, arg, db ); break; }
  2248. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_date_and_time_assignment to be a `SET [1:?] OF date_and_time_item`")); }
  2249. } while(0);
  2250. return base;
  2251. }
  2252. // -----------------------------------------------------------------------------------------------------------
  2253. template <> size_t GenericFill<date_assignment>(const DB& db, const LIST& params, date_assignment* in)
  2254. {
  2255. size_t base = 0;
  2256. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to date_assignment"); } do { // convert the 'assigned_date' argument
  2257. std::shared_ptr<const DataType> arg = params[base++];
  2258. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::date_assignment,2>::aux_is_derived[0]=true; break; }
  2259. try { GenericConvert( in->assigned_date, arg, db ); break; }
  2260. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to date_assignment to be a `date`")); }
  2261. } while(0);
  2262. do { // convert the 'role' argument
  2263. std::shared_ptr<const DataType> arg = params[base++];
  2264. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::date_assignment,2>::aux_is_derived[1]=true; break; }
  2265. try { GenericConvert( in->role, arg, db ); break; }
  2266. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to date_assignment to be a `date_role`")); }
  2267. } while(0);
  2268. return base;
  2269. }
  2270. // -----------------------------------------------------------------------------------------------------------
  2271. template <> size_t GenericFill<applied_date_assignment>(const DB& db, const LIST& params, applied_date_assignment* in)
  2272. {
  2273. size_t base = GenericFill(db,params,static_cast<date_assignment*>(in));
  2274. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_date_assignment"); } do { // convert the 'items' argument
  2275. std::shared_ptr<const DataType> arg = params[base++];
  2276. try { GenericConvert( in->items, arg, db ); break; }
  2277. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_date_assignment to be a `SET [1:?] OF date_item`")); }
  2278. } while(0);
  2279. return base;
  2280. }
  2281. // -----------------------------------------------------------------------------------------------------------
  2282. template <> size_t GenericFill<document_reference>(const DB& db, const LIST& params, document_reference* in)
  2283. {
  2284. size_t base = 0;
  2285. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_reference"); } do { // convert the 'assigned_document' argument
  2286. std::shared_ptr<const DataType> arg = params[base++];
  2287. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_reference,2>::aux_is_derived[0]=true; break; }
  2288. try { GenericConvert( in->assigned_document, arg, db ); break; }
  2289. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to document_reference to be a `document`")); }
  2290. } while(0);
  2291. do { // convert the 'source' argument
  2292. std::shared_ptr<const DataType> arg = params[base++];
  2293. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_reference,2>::aux_is_derived[1]=true; break; }
  2294. try { GenericConvert( in->source, arg, db ); break; }
  2295. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_reference to be a `label`")); }
  2296. } while(0);
  2297. return base;
  2298. }
  2299. // -----------------------------------------------------------------------------------------------------------
  2300. template <> size_t GenericFill<applied_document_reference>(const DB& db, const LIST& params, applied_document_reference* in)
  2301. {
  2302. size_t base = GenericFill(db,params,static_cast<document_reference*>(in));
  2303. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_document_reference"); } do { // convert the 'items' argument
  2304. std::shared_ptr<const DataType> arg = params[base++];
  2305. try { GenericConvert( in->items, arg, db ); break; }
  2306. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_document_reference to be a `SET [1:?] OF document_reference_item`")); }
  2307. } while(0);
  2308. return base;
  2309. }
  2310. // -----------------------------------------------------------------------------------------------------------
  2311. template <> size_t GenericFill<document_usage_constraint_assignment>(const DB& db, const LIST& params, document_usage_constraint_assignment* in)
  2312. {
  2313. size_t base = 0;
  2314. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_usage_constraint_assignment"); } do { // convert the 'assigned_document_usage' argument
  2315. std::shared_ptr<const DataType> arg = params[base++];
  2316. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_usage_constraint_assignment,2>::aux_is_derived[0]=true; break; }
  2317. try { GenericConvert( in->assigned_document_usage, arg, db ); break; }
  2318. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to document_usage_constraint_assignment to be a `document_usage_constraint`")); }
  2319. } while(0);
  2320. do { // convert the 'role' argument
  2321. std::shared_ptr<const DataType> arg = params[base++];
  2322. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_usage_constraint_assignment,2>::aux_is_derived[1]=true; break; }
  2323. try { GenericConvert( in->role, arg, db ); break; }
  2324. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_usage_constraint_assignment to be a `document_usage_role`")); }
  2325. } while(0);
  2326. return base;
  2327. }
  2328. // -----------------------------------------------------------------------------------------------------------
  2329. template <> size_t GenericFill<applied_document_usage_constraint_assignment>(const DB& db, const LIST& params, applied_document_usage_constraint_assignment* in)
  2330. {
  2331. size_t base = GenericFill(db,params,static_cast<document_usage_constraint_assignment*>(in));
  2332. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_document_usage_constraint_assignment"); } do { // convert the 'items' argument
  2333. std::shared_ptr<const DataType> arg = params[base++];
  2334. try { GenericConvert( in->items, arg, db ); break; }
  2335. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_document_usage_constraint_assignment to be a `SET [1:?] OF document_reference_item`")); }
  2336. } while(0);
  2337. return base;
  2338. }
  2339. // -----------------------------------------------------------------------------------------------------------
  2340. template <> size_t GenericFill<effectivity_assignment>(const DB& db, const LIST& params, effectivity_assignment* in)
  2341. {
  2342. size_t base = 0;
  2343. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to effectivity_assignment"); } do { // convert the 'assigned_effectivity' argument
  2344. std::shared_ptr<const DataType> arg = params[base++];
  2345. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::effectivity_assignment,1>::aux_is_derived[0]=true; break; }
  2346. try { GenericConvert( in->assigned_effectivity, arg, db ); break; }
  2347. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to effectivity_assignment to be a `effectivity`")); }
  2348. } while(0);
  2349. return base;
  2350. }
  2351. // -----------------------------------------------------------------------------------------------------------
  2352. template <> size_t GenericFill<applied_effectivity_assignment>(const DB& db, const LIST& params, applied_effectivity_assignment* in)
  2353. {
  2354. size_t base = GenericFill(db,params,static_cast<effectivity_assignment*>(in));
  2355. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_effectivity_assignment"); } do { // convert the 'items' argument
  2356. std::shared_ptr<const DataType> arg = params[base++];
  2357. try { GenericConvert( in->items, arg, db ); break; }
  2358. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_effectivity_assignment to be a `SET [1:?] OF effectivity_item`")); }
  2359. } while(0);
  2360. return base;
  2361. }
  2362. // -----------------------------------------------------------------------------------------------------------
  2363. template <> size_t GenericFill<event_occurrence_assignment>(const DB& db, const LIST& params, event_occurrence_assignment* in)
  2364. {
  2365. size_t base = 0;
  2366. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to event_occurrence_assignment"); } do { // convert the 'assigned_event_occurrence' argument
  2367. std::shared_ptr<const DataType> arg = params[base++];
  2368. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::event_occurrence_assignment,2>::aux_is_derived[0]=true; break; }
  2369. try { GenericConvert( in->assigned_event_occurrence, arg, db ); break; }
  2370. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to event_occurrence_assignment to be a `event_occurrence`")); }
  2371. } while(0);
  2372. do { // convert the 'role' argument
  2373. std::shared_ptr<const DataType> arg = params[base++];
  2374. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::event_occurrence_assignment,2>::aux_is_derived[1]=true; break; }
  2375. try { GenericConvert( in->role, arg, db ); break; }
  2376. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to event_occurrence_assignment to be a `event_occurrence_role`")); }
  2377. } while(0);
  2378. return base;
  2379. }
  2380. // -----------------------------------------------------------------------------------------------------------
  2381. template <> size_t GenericFill<applied_event_occurrence_assignment>(const DB& db, const LIST& params, applied_event_occurrence_assignment* in)
  2382. {
  2383. size_t base = GenericFill(db,params,static_cast<event_occurrence_assignment*>(in));
  2384. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_event_occurrence_assignment"); } do { // convert the 'items' argument
  2385. std::shared_ptr<const DataType> arg = params[base++];
  2386. try { GenericConvert( in->items, arg, db ); break; }
  2387. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_event_occurrence_assignment to be a `SET [1:?] OF event_occurrence_item`")); }
  2388. } while(0);
  2389. return base;
  2390. }
  2391. // -----------------------------------------------------------------------------------------------------------
  2392. template <> size_t GenericFill<identification_assignment>(const DB& db, const LIST& params, identification_assignment* in)
  2393. {
  2394. size_t base = 0;
  2395. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to identification_assignment"); } do { // convert the 'assigned_id' argument
  2396. std::shared_ptr<const DataType> arg = params[base++];
  2397. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::identification_assignment,2>::aux_is_derived[0]=true; break; }
  2398. try { GenericConvert( in->assigned_id, arg, db ); break; }
  2399. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to identification_assignment to be a `identifier`")); }
  2400. } while(0);
  2401. do { // convert the 'role' argument
  2402. std::shared_ptr<const DataType> arg = params[base++];
  2403. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::identification_assignment,2>::aux_is_derived[1]=true; break; }
  2404. try { GenericConvert( in->role, arg, db ); break; }
  2405. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to identification_assignment to be a `identification_role`")); }
  2406. } while(0);
  2407. return base;
  2408. }
  2409. // -----------------------------------------------------------------------------------------------------------
  2410. template <> size_t GenericFill<external_identification_assignment>(const DB& db, const LIST& params, external_identification_assignment* in)
  2411. {
  2412. size_t base = GenericFill(db,params,static_cast<identification_assignment*>(in));
  2413. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to external_identification_assignment"); } do { // convert the 'source' argument
  2414. std::shared_ptr<const DataType> arg = params[base++];
  2415. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::external_identification_assignment,1>::aux_is_derived[0]=true; break; }
  2416. try { GenericConvert( in->source, arg, db ); break; }
  2417. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to external_identification_assignment to be a `external_source`")); }
  2418. } while(0);
  2419. return base;
  2420. }
  2421. // -----------------------------------------------------------------------------------------------------------
  2422. template <> size_t GenericFill<applied_external_identification_assignment>(const DB& db, const LIST& params, applied_external_identification_assignment* in)
  2423. {
  2424. size_t base = GenericFill(db,params,static_cast<external_identification_assignment*>(in));
  2425. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to applied_external_identification_assignment"); } do { // convert the 'items' argument
  2426. std::shared_ptr<const DataType> arg = params[base++];
  2427. try { GenericConvert( in->items, arg, db ); break; }
  2428. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to applied_external_identification_assignment to be a `SET [1:?] OF external_identification_item`")); }
  2429. } while(0);
  2430. return base;
  2431. }
  2432. // -----------------------------------------------------------------------------------------------------------
  2433. template <> size_t GenericFill<group_assignment>(const DB& db, const LIST& params, group_assignment* in)
  2434. {
  2435. size_t base = 0;
  2436. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to group_assignment"); } do { // convert the 'assigned_group' argument
  2437. std::shared_ptr<const DataType> arg = params[base++];
  2438. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::group_assignment,1>::aux_is_derived[0]=true; break; }
  2439. try { GenericConvert( in->assigned_group, arg, db ); break; }
  2440. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to group_assignment to be a `group`")); }
  2441. } while(0);
  2442. return base;
  2443. }
  2444. // -----------------------------------------------------------------------------------------------------------
  2445. template <> size_t GenericFill<applied_group_assignment>(const DB& db, const LIST& params, applied_group_assignment* in)
  2446. {
  2447. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  2448. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_group_assignment"); } do { // convert the 'items' argument
  2449. std::shared_ptr<const DataType> arg = params[base++];
  2450. try { GenericConvert( in->items, arg, db ); break; }
  2451. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_group_assignment to be a `SET [1:?] OF groupable_item`")); }
  2452. } while(0);
  2453. return base;
  2454. }
  2455. // -----------------------------------------------------------------------------------------------------------
  2456. template <> size_t GenericFill<applied_identification_assignment>(const DB& db, const LIST& params, applied_identification_assignment* in)
  2457. {
  2458. size_t base = GenericFill(db,params,static_cast<identification_assignment*>(in));
  2459. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_identification_assignment"); } do { // convert the 'items' argument
  2460. std::shared_ptr<const DataType> arg = params[base++];
  2461. try { GenericConvert( in->items, arg, db ); break; }
  2462. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_identification_assignment to be a `SET [1:?] OF identification_item`")); }
  2463. } while(0);
  2464. return base;
  2465. }
  2466. // -----------------------------------------------------------------------------------------------------------
  2467. template <> size_t GenericFill<name_assignment>(const DB& db, const LIST& params, name_assignment* in)
  2468. {
  2469. size_t base = 0;
  2470. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to name_assignment"); } do { // convert the 'assigned_name' argument
  2471. std::shared_ptr<const DataType> arg = params[base++];
  2472. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::name_assignment,1>::aux_is_derived[0]=true; break; }
  2473. try { GenericConvert( in->assigned_name, arg, db ); break; }
  2474. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to name_assignment to be a `label`")); }
  2475. } while(0);
  2476. return base;
  2477. }
  2478. // -----------------------------------------------------------------------------------------------------------
  2479. template <> size_t GenericFill<applied_name_assignment>(const DB& db, const LIST& params, applied_name_assignment* in)
  2480. {
  2481. size_t base = GenericFill(db,params,static_cast<name_assignment*>(in));
  2482. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_name_assignment"); } do { // convert the 'item' argument
  2483. std::shared_ptr<const DataType> arg = params[base++];
  2484. try { GenericConvert( in->item, arg, db ); break; }
  2485. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_name_assignment to be a `name_item`")); }
  2486. } while(0);
  2487. return base;
  2488. }
  2489. // -----------------------------------------------------------------------------------------------------------
  2490. template <> size_t GenericFill<organization_assignment>(const DB& db, const LIST& params, organization_assignment* in)
  2491. {
  2492. size_t base = 0;
  2493. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to organization_assignment"); } do { // convert the 'assigned_organization' argument
  2494. std::shared_ptr<const DataType> arg = params[base++];
  2495. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::organization_assignment,2>::aux_is_derived[0]=true; break; }
  2496. try { GenericConvert( in->assigned_organization, arg, db ); break; }
  2497. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to organization_assignment to be a `organization`")); }
  2498. } while(0);
  2499. do { // convert the 'role' argument
  2500. std::shared_ptr<const DataType> arg = params[base++];
  2501. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::organization_assignment,2>::aux_is_derived[1]=true; break; }
  2502. try { GenericConvert( in->role, arg, db ); break; }
  2503. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to organization_assignment to be a `organization_role`")); }
  2504. } while(0);
  2505. return base;
  2506. }
  2507. // -----------------------------------------------------------------------------------------------------------
  2508. template <> size_t GenericFill<applied_organization_assignment>(const DB& db, const LIST& params, applied_organization_assignment* in)
  2509. {
  2510. size_t base = GenericFill(db,params,static_cast<organization_assignment*>(in));
  2511. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_organization_assignment"); } do { // convert the 'items' argument
  2512. std::shared_ptr<const DataType> arg = params[base++];
  2513. try { GenericConvert( in->items, arg, db ); break; }
  2514. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_organization_assignment to be a `SET [1:?] OF organization_item`")); }
  2515. } while(0);
  2516. return base;
  2517. }
  2518. // -----------------------------------------------------------------------------------------------------------
  2519. template <> size_t GenericFill<organizational_project_assignment>(const DB& db, const LIST& params, organizational_project_assignment* in)
  2520. {
  2521. size_t base = 0;
  2522. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to organizational_project_assignment"); } do { // convert the 'assigned_organizational_project' argument
  2523. std::shared_ptr<const DataType> arg = params[base++];
  2524. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::organizational_project_assignment,2>::aux_is_derived[0]=true; break; }
  2525. try { GenericConvert( in->assigned_organizational_project, arg, db ); break; }
  2526. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to organizational_project_assignment to be a `organizational_project`")); }
  2527. } while(0);
  2528. do { // convert the 'role' argument
  2529. std::shared_ptr<const DataType> arg = params[base++];
  2530. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::organizational_project_assignment,2>::aux_is_derived[1]=true; break; }
  2531. try { GenericConvert( in->role, arg, db ); break; }
  2532. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to organizational_project_assignment to be a `organizational_project_role`")); }
  2533. } while(0);
  2534. return base;
  2535. }
  2536. // -----------------------------------------------------------------------------------------------------------
  2537. template <> size_t GenericFill<applied_organizational_project_assignment>(const DB& db, const LIST& params, applied_organizational_project_assignment* in)
  2538. {
  2539. size_t base = GenericFill(db,params,static_cast<organizational_project_assignment*>(in));
  2540. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_organizational_project_assignment"); } do { // convert the 'items' argument
  2541. std::shared_ptr<const DataType> arg = params[base++];
  2542. try { GenericConvert( in->items, arg, db ); break; }
  2543. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_organizational_project_assignment to be a `SET [1:?] OF project_item`")); }
  2544. } while(0);
  2545. return base;
  2546. }
  2547. // -----------------------------------------------------------------------------------------------------------
  2548. template <> size_t GenericFill<person_and_organization_assignment>(const DB& db, const LIST& params, person_and_organization_assignment* in)
  2549. {
  2550. size_t base = 0;
  2551. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to person_and_organization_assignment"); } do { // convert the 'assigned_person_and_organization' argument
  2552. std::shared_ptr<const DataType> arg = params[base++];
  2553. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::person_and_organization_assignment,2>::aux_is_derived[0]=true; break; }
  2554. try { GenericConvert( in->assigned_person_and_organization, arg, db ); break; }
  2555. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to person_and_organization_assignment to be a `person_and_organization`")); }
  2556. } while(0);
  2557. do { // convert the 'role' argument
  2558. std::shared_ptr<const DataType> arg = params[base++];
  2559. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::person_and_organization_assignment,2>::aux_is_derived[1]=true; break; }
  2560. try { GenericConvert( in->role, arg, db ); break; }
  2561. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to person_and_organization_assignment to be a `person_and_organization_role`")); }
  2562. } while(0);
  2563. return base;
  2564. }
  2565. // -----------------------------------------------------------------------------------------------------------
  2566. template <> size_t GenericFill<applied_person_and_organization_assignment>(const DB& db, const LIST& params, applied_person_and_organization_assignment* in)
  2567. {
  2568. size_t base = GenericFill(db,params,static_cast<person_and_organization_assignment*>(in));
  2569. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_person_and_organization_assignment"); } do { // convert the 'items' argument
  2570. std::shared_ptr<const DataType> arg = params[base++];
  2571. try { GenericConvert( in->items, arg, db ); break; }
  2572. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_person_and_organization_assignment to be a `SET [1:?] OF person_and_organization_item`")); }
  2573. } while(0);
  2574. return base;
  2575. }
  2576. // -----------------------------------------------------------------------------------------------------------
  2577. template <> size_t GenericFill<presented_item>(const DB& db, const LIST& params, presented_item* in)
  2578. {
  2579. size_t base = 0;
  2580. return base;
  2581. }
  2582. // -----------------------------------------------------------------------------------------------------------
  2583. template <> size_t GenericFill<applied_presented_item>(const DB& db, const LIST& params, applied_presented_item* in)
  2584. {
  2585. size_t base = GenericFill(db,params,static_cast<presented_item*>(in));
  2586. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to applied_presented_item"); } do { // convert the 'items' argument
  2587. std::shared_ptr<const DataType> arg = params[base++];
  2588. try { GenericConvert( in->items, arg, db ); break; }
  2589. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to applied_presented_item to be a `SET [1:?] OF presented_item_select`")); }
  2590. } while(0);
  2591. return base;
  2592. }
  2593. // -----------------------------------------------------------------------------------------------------------
  2594. template <> size_t GenericFill<security_classification_assignment>(const DB& db, const LIST& params, security_classification_assignment* in)
  2595. {
  2596. size_t base = 0;
  2597. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to security_classification_assignment"); } do { // convert the 'assigned_security_classification' argument
  2598. std::shared_ptr<const DataType> arg = params[base++];
  2599. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::security_classification_assignment,1>::aux_is_derived[0]=true; break; }
  2600. try { GenericConvert( in->assigned_security_classification, arg, db ); break; }
  2601. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to security_classification_assignment to be a `security_classification`")); }
  2602. } while(0);
  2603. return base;
  2604. }
  2605. // -----------------------------------------------------------------------------------------------------------
  2606. template <> size_t GenericFill<applied_security_classification_assignment>(const DB& db, const LIST& params, applied_security_classification_assignment* in)
  2607. {
  2608. size_t base = GenericFill(db,params,static_cast<security_classification_assignment*>(in));
  2609. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_security_classification_assignment"); } do { // convert the 'items' argument
  2610. std::shared_ptr<const DataType> arg = params[base++];
  2611. try { GenericConvert( in->items, arg, db ); break; }
  2612. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_security_classification_assignment to be a `SET [1:?] OF security_classification_item`")); }
  2613. } while(0);
  2614. return base;
  2615. }
  2616. // -----------------------------------------------------------------------------------------------------------
  2617. template <> size_t GenericFill<time_interval_assignment>(const DB& db, const LIST& params, time_interval_assignment* in)
  2618. {
  2619. size_t base = 0;
  2620. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to time_interval_assignment"); } do { // convert the 'assigned_time_interval' argument
  2621. std::shared_ptr<const DataType> arg = params[base++];
  2622. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::time_interval_assignment,2>::aux_is_derived[0]=true; break; }
  2623. try { GenericConvert( in->assigned_time_interval, arg, db ); break; }
  2624. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to time_interval_assignment to be a `time_interval`")); }
  2625. } while(0);
  2626. do { // convert the 'role' argument
  2627. std::shared_ptr<const DataType> arg = params[base++];
  2628. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::time_interval_assignment,2>::aux_is_derived[1]=true; break; }
  2629. try { GenericConvert( in->role, arg, db ); break; }
  2630. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to time_interval_assignment to be a `time_interval_role`")); }
  2631. } while(0);
  2632. return base;
  2633. }
  2634. // -----------------------------------------------------------------------------------------------------------
  2635. template <> size_t GenericFill<applied_time_interval_assignment>(const DB& db, const LIST& params, applied_time_interval_assignment* in)
  2636. {
  2637. size_t base = GenericFill(db,params,static_cast<time_interval_assignment*>(in));
  2638. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_time_interval_assignment"); } do { // convert the 'items' argument
  2639. std::shared_ptr<const DataType> arg = params[base++];
  2640. try { GenericConvert( in->items, arg, db ); break; }
  2641. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_time_interval_assignment to be a `SET [0:?] OF time_interval_item`")); }
  2642. } while(0);
  2643. return base;
  2644. }
  2645. // -----------------------------------------------------------------------------------------------------------
  2646. template <> size_t GenericFill<applied_usage_right>(const DB& db, const LIST& params, applied_usage_right* in)
  2647. {
  2648. size_t base = GenericFill(db,params,static_cast<applied_action_assignment*>(in));
  2649. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_usage_right"); } return base;
  2650. }
  2651. // -----------------------------------------------------------------------------------------------------------
  2652. template <> size_t GenericFill<area_in_set>(const DB& db, const LIST& params, area_in_set* in)
  2653. {
  2654. size_t base = 0;
  2655. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to area_in_set"); } do { // convert the 'area' argument
  2656. std::shared_ptr<const DataType> arg = params[base++];
  2657. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::area_in_set,2>::aux_is_derived[0]=true; break; }
  2658. try { GenericConvert( in->area, arg, db ); break; }
  2659. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to area_in_set to be a `presentation_area`")); }
  2660. } while(0);
  2661. do { // convert the 'in_set' argument
  2662. std::shared_ptr<const DataType> arg = params[base++];
  2663. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::area_in_set,2>::aux_is_derived[1]=true; break; }
  2664. try { GenericConvert( in->in_set, arg, db ); break; }
  2665. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to area_in_set to be a `presentation_set`")); }
  2666. } while(0);
  2667. return base;
  2668. }
  2669. // -----------------------------------------------------------------------------------------------------------
  2670. template <> size_t GenericFill<area_measure_with_unit>(const DB& db, const LIST& params, area_measure_with_unit* in)
  2671. {
  2672. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  2673. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to area_measure_with_unit"); } return base;
  2674. }
  2675. // -----------------------------------------------------------------------------------------------------------
  2676. template <> size_t GenericFill<area_unit>(const DB& db, const LIST& params, area_unit* in)
  2677. {
  2678. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  2679. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to area_unit"); } return base;
  2680. }
  2681. // -----------------------------------------------------------------------------------------------------------
  2682. template <> size_t GenericFill<product_definition_relationship>(const DB& db, const LIST& params, product_definition_relationship* in)
  2683. {
  2684. size_t base = 0;
  2685. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to product_definition_relationship"); } do { // convert the 'id' argument
  2686. std::shared_ptr<const DataType> arg = params[base++];
  2687. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_relationship,5>::aux_is_derived[0]=true; break; }
  2688. try { GenericConvert( in->id, arg, db ); break; }
  2689. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_definition_relationship to be a `identifier`")); }
  2690. } while(0);
  2691. do { // convert the 'name' argument
  2692. std::shared_ptr<const DataType> arg = params[base++];
  2693. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_relationship,5>::aux_is_derived[1]=true; break; }
  2694. try { GenericConvert( in->name, arg, db ); break; }
  2695. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_relationship to be a `label`")); }
  2696. } while(0);
  2697. do { // convert the 'description' argument
  2698. std::shared_ptr<const DataType> arg = params[base++];
  2699. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_relationship,5>::aux_is_derived[2]=true; break; }
  2700. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2701. try { GenericConvert( in->description, arg, db ); break; }
  2702. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition_relationship to be a `text`")); }
  2703. } while(0);
  2704. do { // convert the 'relating_product_definition' argument
  2705. std::shared_ptr<const DataType> arg = params[base++];
  2706. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_relationship,5>::aux_is_derived[3]=true; break; }
  2707. try { GenericConvert( in->relating_product_definition, arg, db ); break; }
  2708. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to product_definition_relationship to be a `product_definition`")); }
  2709. } while(0);
  2710. do { // convert the 'related_product_definition' argument
  2711. std::shared_ptr<const DataType> arg = params[base++];
  2712. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_relationship,5>::aux_is_derived[4]=true; break; }
  2713. try { GenericConvert( in->related_product_definition, arg, db ); break; }
  2714. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to product_definition_relationship to be a `product_definition`")); }
  2715. } while(0);
  2716. return base;
  2717. }
  2718. // -----------------------------------------------------------------------------------------------------------
  2719. template <> size_t GenericFill<product_definition_usage>(const DB& db, const LIST& params, product_definition_usage* in)
  2720. {
  2721. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  2722. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to product_definition_usage"); } return base;
  2723. }
  2724. // -----------------------------------------------------------------------------------------------------------
  2725. template <> size_t GenericFill<assembly_component_usage>(const DB& db, const LIST& params, assembly_component_usage* in)
  2726. {
  2727. size_t base = GenericFill(db,params,static_cast<product_definition_usage*>(in));
  2728. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to assembly_component_usage"); } do { // convert the 'reference_designator' argument
  2729. std::shared_ptr<const DataType> arg = params[base++];
  2730. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::assembly_component_usage,1>::aux_is_derived[0]=true; break; }
  2731. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2732. try { GenericConvert( in->reference_designator, arg, db ); break; }
  2733. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to assembly_component_usage to be a `identifier`")); }
  2734. } while(0);
  2735. return base;
  2736. }
  2737. // -----------------------------------------------------------------------------------------------------------
  2738. template <> size_t GenericFill<assigned_requirement>(const DB& db, const LIST& params, assigned_requirement* in)
  2739. {
  2740. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  2741. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to assigned_requirement"); } do { // convert the 'items' argument
  2742. std::shared_ptr<const DataType> arg = params[base++];
  2743. try { GenericConvert( in->items, arg, db ); break; }
  2744. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to assigned_requirement to be a `SET [1:1] OF product_definition`")); }
  2745. } while(0);
  2746. return base;
  2747. }
  2748. // -----------------------------------------------------------------------------------------------------------
  2749. template <> size_t GenericFill<compound_representation_item>(const DB& db, const LIST& params, compound_representation_item* in)
  2750. {
  2751. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  2752. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to compound_representation_item"); } do { // convert the 'item_element' argument
  2753. std::shared_ptr<const DataType> arg = params[base++];
  2754. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::compound_representation_item,1>::aux_is_derived[0]=true; break; }
  2755. try { GenericConvert( in->item_element, arg, db ); break; }
  2756. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to compound_representation_item to be a `compound_item_definition`")); }
  2757. } while(0);
  2758. return base;
  2759. }
  2760. // -----------------------------------------------------------------------------------------------------------
  2761. template <> size_t GenericFill<atomic_formula>(const DB& db, const LIST& params, atomic_formula* in)
  2762. {
  2763. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  2764. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to atomic_formula"); } return base;
  2765. }
  2766. // -----------------------------------------------------------------------------------------------------------
  2767. template <> size_t GenericFill<attribute_assertion>(const DB& db, const LIST& params, attribute_assertion* in)
  2768. {
  2769. size_t base = 0;
  2770. return base;
  2771. }
  2772. // -----------------------------------------------------------------------------------------------------------
  2773. template <> size_t GenericFill<attribute_language_assignment>(const DB& db, const LIST& params, attribute_language_assignment* in)
  2774. {
  2775. size_t base = GenericFill(db,params,static_cast<attribute_classification_assignment*>(in));
  2776. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to attribute_language_assignment"); } do { // convert the 'items' argument
  2777. std::shared_ptr<const DataType> arg = params[base++];
  2778. try { GenericConvert( in->items, arg, db ); break; }
  2779. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to attribute_language_assignment to be a `SET [1:?] OF attribute_language_item`")); }
  2780. } while(0);
  2781. return base;
  2782. }
  2783. // -----------------------------------------------------------------------------------------------------------
  2784. template <> size_t GenericFill<attribute_value_assignment>(const DB& db, const LIST& params, attribute_value_assignment* in)
  2785. {
  2786. size_t base = 0;
  2787. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to attribute_value_assignment"); } do { // convert the 'attribute_name' argument
  2788. std::shared_ptr<const DataType> arg = params[base++];
  2789. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::attribute_value_assignment,3>::aux_is_derived[0]=true; break; }
  2790. try { GenericConvert( in->attribute_name, arg, db ); break; }
  2791. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to attribute_value_assignment to be a `label`")); }
  2792. } while(0);
  2793. do { // convert the 'attribute_value' argument
  2794. std::shared_ptr<const DataType> arg = params[base++];
  2795. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::attribute_value_assignment,3>::aux_is_derived[1]=true; break; }
  2796. try { GenericConvert( in->attribute_value, arg, db ); break; }
  2797. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to attribute_value_assignment to be a `attribute_type`")); }
  2798. } while(0);
  2799. do { // convert the 'role' argument
  2800. std::shared_ptr<const DataType> arg = params[base++];
  2801. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::attribute_value_assignment,3>::aux_is_derived[2]=true; break; }
  2802. try { GenericConvert( in->role, arg, db ); break; }
  2803. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to attribute_value_assignment to be a `attribute_value_role`")); }
  2804. } while(0);
  2805. return base;
  2806. }
  2807. // -----------------------------------------------------------------------------------------------------------
  2808. template <> size_t GenericFill<auxiliary_geometric_representation_item>(const DB& db, const LIST& params, auxiliary_geometric_representation_item* in)
  2809. {
  2810. size_t base = 0;
  2811. return base;
  2812. }
  2813. // -----------------------------------------------------------------------------------------------------------
  2814. template <> size_t GenericFill<placement>(const DB& db, const LIST& params, placement* in)
  2815. {
  2816. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  2817. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to placement"); } do { // convert the 'location' argument
  2818. std::shared_ptr<const DataType> arg = params[base++];
  2819. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::placement,1>::aux_is_derived[0]=true; break; }
  2820. try { GenericConvert( in->location, arg, db ); break; }
  2821. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to placement to be a `cartesian_point`")); }
  2822. } while(0);
  2823. return base;
  2824. }
  2825. // -----------------------------------------------------------------------------------------------------------
  2826. template <> size_t GenericFill<axis1_placement>(const DB& db, const LIST& params, axis1_placement* in)
  2827. {
  2828. size_t base = GenericFill(db,params,static_cast<placement*>(in));
  2829. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to axis1_placement"); } do { // convert the 'axis' argument
  2830. std::shared_ptr<const DataType> arg = params[base++];
  2831. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2832. try { GenericConvert( in->axis, arg, db ); break; }
  2833. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to axis1_placement to be a `direction`")); }
  2834. } while(0);
  2835. return base;
  2836. }
  2837. // -----------------------------------------------------------------------------------------------------------
  2838. template <> size_t GenericFill<axis2_placement_2d>(const DB& db, const LIST& params, axis2_placement_2d* in)
  2839. {
  2840. size_t base = GenericFill(db,params,static_cast<placement*>(in));
  2841. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to axis2_placement_2d"); } do { // convert the 'ref_direction' argument
  2842. std::shared_ptr<const DataType> arg = params[base++];
  2843. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2844. try { GenericConvert( in->ref_direction, arg, db ); break; }
  2845. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to axis2_placement_2d to be a `direction`")); }
  2846. } while(0);
  2847. return base;
  2848. }
  2849. // -----------------------------------------------------------------------------------------------------------
  2850. template <> size_t GenericFill<axis2_placement_3d>(const DB& db, const LIST& params, axis2_placement_3d* in)
  2851. {
  2852. size_t base = GenericFill(db,params,static_cast<placement*>(in));
  2853. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to axis2_placement_3d"); } do { // convert the 'axis' argument
  2854. std::shared_ptr<const DataType> arg = params[base++];
  2855. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2856. try { GenericConvert( in->axis, arg, db ); break; }
  2857. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to axis2_placement_3d to be a `direction`")); }
  2858. } while(0);
  2859. do { // convert the 'ref_direction' argument
  2860. std::shared_ptr<const DataType> arg = params[base++];
  2861. if (dynamic_cast<const UNSET*>(&*arg)) break;
  2862. try { GenericConvert( in->ref_direction, arg, db ); break; }
  2863. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to axis2_placement_3d to be a `direction`")); }
  2864. } while(0);
  2865. return base;
  2866. }
  2867. // -----------------------------------------------------------------------------------------------------------
  2868. template <> size_t GenericFill<curve>(const DB& db, const LIST& params, curve* in)
  2869. {
  2870. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  2871. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to curve"); } return base;
  2872. }
  2873. // -----------------------------------------------------------------------------------------------------------
  2874. template <> size_t GenericFill<bounded_curve>(const DB& db, const LIST& params, bounded_curve* in)
  2875. {
  2876. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  2877. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to bounded_curve"); } return base;
  2878. }
  2879. // -----------------------------------------------------------------------------------------------------------
  2880. template <> size_t GenericFill<b_spline_curve>(const DB& db, const LIST& params, b_spline_curve* in)
  2881. {
  2882. size_t base = GenericFill(db,params,static_cast<bounded_curve*>(in));
  2883. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to b_spline_curve"); } do { // convert the 'degree' argument
  2884. std::shared_ptr<const DataType> arg = params[base++];
  2885. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_curve,5>::aux_is_derived[0]=true; break; }
  2886. try { GenericConvert( in->degree, arg, db ); break; }
  2887. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to b_spline_curve to be a `INTEGER`")); }
  2888. } while(0);
  2889. do { // convert the 'control_points_list' argument
  2890. std::shared_ptr<const DataType> arg = params[base++];
  2891. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_curve,5>::aux_is_derived[1]=true; break; }
  2892. try { GenericConvert( in->control_points_list, arg, db ); break; }
  2893. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to b_spline_curve to be a `LIST [2:?] OF cartesian_point`")); }
  2894. } while(0);
  2895. do { // convert the 'curve_form' argument
  2896. std::shared_ptr<const DataType> arg = params[base++];
  2897. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_curve,5>::aux_is_derived[2]=true; break; }
  2898. try { GenericConvert( in->curve_form, arg, db ); break; }
  2899. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to b_spline_curve to be a `b_spline_curve_form`")); }
  2900. } while(0);
  2901. do { // convert the 'closed_curve' argument
  2902. std::shared_ptr<const DataType> arg = params[base++];
  2903. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_curve,5>::aux_is_derived[3]=true; break; }
  2904. try { GenericConvert( in->closed_curve, arg, db ); break; }
  2905. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to b_spline_curve to be a `LOGICAL`")); }
  2906. } while(0);
  2907. do { // convert the 'self_intersect' argument
  2908. std::shared_ptr<const DataType> arg = params[base++];
  2909. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_curve,5>::aux_is_derived[4]=true; break; }
  2910. try { GenericConvert( in->self_intersect, arg, db ); break; }
  2911. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to b_spline_curve to be a `LOGICAL`")); }
  2912. } while(0);
  2913. return base;
  2914. }
  2915. // -----------------------------------------------------------------------------------------------------------
  2916. template <> size_t GenericFill<b_spline_curve_with_knots>(const DB& db, const LIST& params, b_spline_curve_with_knots* in)
  2917. {
  2918. size_t base = GenericFill(db,params,static_cast<b_spline_curve*>(in));
  2919. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to b_spline_curve_with_knots"); } do { // convert the 'knot_multiplicities' argument
  2920. std::shared_ptr<const DataType> arg = params[base++];
  2921. try { GenericConvert( in->knot_multiplicities, arg, db ); break; }
  2922. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to b_spline_curve_with_knots to be a `LIST [2:?] OF INTEGER`")); }
  2923. } while(0);
  2924. do { // convert the 'knots' argument
  2925. std::shared_ptr<const DataType> arg = params[base++];
  2926. try { GenericConvert( in->knots, arg, db ); break; }
  2927. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to b_spline_curve_with_knots to be a `LIST [2:?] OF parameter_value`")); }
  2928. } while(0);
  2929. do { // convert the 'knot_spec' argument
  2930. std::shared_ptr<const DataType> arg = params[base++];
  2931. try { GenericConvert( in->knot_spec, arg, db ); break; }
  2932. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to b_spline_curve_with_knots to be a `knot_type`")); }
  2933. } while(0);
  2934. return base;
  2935. }
  2936. // -----------------------------------------------------------------------------------------------------------
  2937. template <> size_t GenericFill<surface>(const DB& db, const LIST& params, surface* in)
  2938. {
  2939. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  2940. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface"); } return base;
  2941. }
  2942. // -----------------------------------------------------------------------------------------------------------
  2943. template <> size_t GenericFill<bounded_surface>(const DB& db, const LIST& params, bounded_surface* in)
  2944. {
  2945. size_t base = GenericFill(db,params,static_cast<surface*>(in));
  2946. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to bounded_surface"); } return base;
  2947. }
  2948. // -----------------------------------------------------------------------------------------------------------
  2949. template <> size_t GenericFill<b_spline_surface>(const DB& db, const LIST& params, b_spline_surface* in)
  2950. {
  2951. size_t base = GenericFill(db,params,static_cast<bounded_surface*>(in));
  2952. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to b_spline_surface"); } do { // convert the 'u_degree' argument
  2953. std::shared_ptr<const DataType> arg = params[base++];
  2954. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_surface,6>::aux_is_derived[0]=true; break; }
  2955. try { GenericConvert( in->u_degree, arg, db ); break; }
  2956. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to b_spline_surface to be a `INTEGER`")); }
  2957. } while(0);
  2958. do { // convert the 'v_degree' argument
  2959. std::shared_ptr<const DataType> arg = params[base++];
  2960. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_surface,6>::aux_is_derived[1]=true; break; }
  2961. try { GenericConvert( in->v_degree, arg, db ); break; }
  2962. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to b_spline_surface to be a `INTEGER`")); }
  2963. } while(0);
  2964. do { // convert the 'surface_form' argument
  2965. std::shared_ptr<const DataType> arg = params[base++];
  2966. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_surface,6>::aux_is_derived[2]=true; break; }
  2967. try { GenericConvert( in->surface_form, arg, db ); break; }
  2968. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to b_spline_surface to be a `b_spline_surface_form`")); }
  2969. } while(0);
  2970. do { // convert the 'u_closed' argument
  2971. std::shared_ptr<const DataType> arg = params[base++];
  2972. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_surface,6>::aux_is_derived[3]=true; break; }
  2973. try { GenericConvert( in->u_closed, arg, db ); break; }
  2974. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to b_spline_surface to be a `LOGICAL`")); }
  2975. } while(0);
  2976. do { // convert the 'v_closed' argument
  2977. std::shared_ptr<const DataType> arg = params[base++];
  2978. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_surface,6>::aux_is_derived[4]=true; break; }
  2979. try { GenericConvert( in->v_closed, arg, db ); break; }
  2980. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to b_spline_surface to be a `LOGICAL`")); }
  2981. } while(0);
  2982. do { // convert the 'self_intersect' argument
  2983. std::shared_ptr<const DataType> arg = params[base++];
  2984. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::b_spline_surface,6>::aux_is_derived[5]=true; break; }
  2985. try { GenericConvert( in->self_intersect, arg, db ); break; }
  2986. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to b_spline_surface to be a `LOGICAL`")); }
  2987. } while(0);
  2988. return base;
  2989. }
  2990. // -----------------------------------------------------------------------------------------------------------
  2991. template <> size_t GenericFill<b_spline_surface_with_knots>(const DB& db, const LIST& params, b_spline_surface_with_knots* in)
  2992. {
  2993. size_t base = GenericFill(db,params,static_cast<b_spline_surface*>(in));
  2994. if (params.GetSize() < 12) { throw STEP::TypeError("expected 12 arguments to b_spline_surface_with_knots"); } do { // convert the 'u_multiplicities' argument
  2995. std::shared_ptr<const DataType> arg = params[base++];
  2996. try { GenericConvert( in->u_multiplicities, arg, db ); break; }
  2997. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to b_spline_surface_with_knots to be a `LIST [2:?] OF INTEGER`")); }
  2998. } while(0);
  2999. do { // convert the 'v_multiplicities' argument
  3000. std::shared_ptr<const DataType> arg = params[base++];
  3001. try { GenericConvert( in->v_multiplicities, arg, db ); break; }
  3002. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to b_spline_surface_with_knots to be a `LIST [2:?] OF INTEGER`")); }
  3003. } while(0);
  3004. do { // convert the 'u_knots' argument
  3005. std::shared_ptr<const DataType> arg = params[base++];
  3006. try { GenericConvert( in->u_knots, arg, db ); break; }
  3007. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to b_spline_surface_with_knots to be a `LIST [2:?] OF parameter_value`")); }
  3008. } while(0);
  3009. do { // convert the 'v_knots' argument
  3010. std::shared_ptr<const DataType> arg = params[base++];
  3011. try { GenericConvert( in->v_knots, arg, db ); break; }
  3012. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to b_spline_surface_with_knots to be a `LIST [2:?] OF parameter_value`")); }
  3013. } while(0);
  3014. do { // convert the 'knot_spec' argument
  3015. std::shared_ptr<const DataType> arg = params[base++];
  3016. try { GenericConvert( in->knot_spec, arg, db ); break; }
  3017. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to b_spline_surface_with_knots to be a `knot_type`")); }
  3018. } while(0);
  3019. return base;
  3020. }
  3021. // -----------------------------------------------------------------------------------------------------------
  3022. template <> size_t GenericFill<product_definition>(const DB& db, const LIST& params, product_definition* in)
  3023. {
  3024. size_t base = 0;
  3025. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to product_definition"); } do { // convert the 'id' argument
  3026. std::shared_ptr<const DataType> arg = params[base++];
  3027. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition,4>::aux_is_derived[0]=true; break; }
  3028. try { GenericConvert( in->id, arg, db ); break; }
  3029. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_definition to be a `identifier`")); }
  3030. } while(0);
  3031. do { // convert the 'description' argument
  3032. std::shared_ptr<const DataType> arg = params[base++];
  3033. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition,4>::aux_is_derived[1]=true; break; }
  3034. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3035. try { GenericConvert( in->description, arg, db ); break; }
  3036. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition to be a `text`")); }
  3037. } while(0);
  3038. do { // convert the 'formation' argument
  3039. std::shared_ptr<const DataType> arg = params[base++];
  3040. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition,4>::aux_is_derived[2]=true; break; }
  3041. try { GenericConvert( in->formation, arg, db ); break; }
  3042. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition to be a `product_definition_formation`")); }
  3043. } while(0);
  3044. do { // convert the 'frame_of_reference' argument
  3045. std::shared_ptr<const DataType> arg = params[base++];
  3046. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition,4>::aux_is_derived[3]=true; break; }
  3047. try { GenericConvert( in->frame_of_reference, arg, db ); break; }
  3048. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to product_definition to be a `product_definition_context`")); }
  3049. } while(0);
  3050. return base;
  3051. }
  3052. // -----------------------------------------------------------------------------------------------------------
  3053. template <> size_t GenericFill<rule_software_definition>(const DB& db, const LIST& params, rule_software_definition* in)
  3054. {
  3055. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  3056. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_software_definition"); } return base;
  3057. }
  3058. // -----------------------------------------------------------------------------------------------------------
  3059. template <> size_t GenericFill<rule_definition>(const DB& db, const LIST& params, rule_definition* in)
  3060. {
  3061. size_t base = GenericFill(db,params,static_cast<rule_software_definition*>(in));
  3062. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_definition"); } return base;
  3063. }
  3064. // -----------------------------------------------------------------------------------------------------------
  3065. template <> size_t GenericFill<back_chaining_rule>(const DB& db, const LIST& params, back_chaining_rule* in)
  3066. {
  3067. size_t base = GenericFill(db,params,static_cast<rule_definition*>(in));
  3068. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to back_chaining_rule"); } return base;
  3069. }
  3070. // -----------------------------------------------------------------------------------------------------------
  3071. template <> size_t GenericFill<back_chaining_rule_body>(const DB& db, const LIST& params, back_chaining_rule_body* in)
  3072. {
  3073. size_t base = 0;
  3074. return base;
  3075. }
  3076. // -----------------------------------------------------------------------------------------------------------
  3077. template <> size_t GenericFill<colour>(const DB& db, const LIST& params, colour* in)
  3078. {
  3079. size_t base = 0;
  3080. return base;
  3081. }
  3082. // -----------------------------------------------------------------------------------------------------------
  3083. template <> size_t GenericFill<background_colour>(const DB& db, const LIST& params, background_colour* in)
  3084. {
  3085. size_t base = GenericFill(db,params,static_cast<colour*>(in));
  3086. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to background_colour"); } do { // convert the 'presentation' argument
  3087. std::shared_ptr<const DataType> arg = params[base++];
  3088. try { GenericConvert( in->presentation, arg, db ); break; }
  3089. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to background_colour to be a `area_or_view`")); }
  3090. } while(0);
  3091. return base;
  3092. }
  3093. // -----------------------------------------------------------------------------------------------------------
  3094. template <> size_t GenericFill<beveled_sheet_representation>(const DB& db, const LIST& params, beveled_sheet_representation* in)
  3095. {
  3096. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  3097. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to beveled_sheet_representation"); } return base;
  3098. }
  3099. // -----------------------------------------------------------------------------------------------------------
  3100. template <> size_t GenericFill<bezier_curve>(const DB& db, const LIST& params, bezier_curve* in)
  3101. {
  3102. size_t base = GenericFill(db,params,static_cast<b_spline_curve*>(in));
  3103. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to bezier_curve"); } return base;
  3104. }
  3105. // -----------------------------------------------------------------------------------------------------------
  3106. template <> size_t GenericFill<bezier_surface>(const DB& db, const LIST& params, bezier_surface* in)
  3107. {
  3108. size_t base = GenericFill(db,params,static_cast<b_spline_surface*>(in));
  3109. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to bezier_surface"); } return base;
  3110. }
  3111. // -----------------------------------------------------------------------------------------------------------
  3112. template <> size_t GenericFill<generic_expression>(const DB& db, const LIST& params, generic_expression* in)
  3113. {
  3114. size_t base = 0;
  3115. return base;
  3116. }
  3117. // -----------------------------------------------------------------------------------------------------------
  3118. template <> size_t GenericFill<binary_generic_expression>(const DB& db, const LIST& params, binary_generic_expression* in)
  3119. {
  3120. size_t base = GenericFill(db,params,static_cast<generic_expression*>(in));
  3121. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to binary_generic_expression"); } do { // convert the 'operands' argument
  3122. std::shared_ptr<const DataType> arg = params[base++];
  3123. try { GenericConvert( in->operands, arg, db ); break; }
  3124. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to binary_generic_expression to be a `LIST [2:2] OF generic_expression`")); }
  3125. } while(0);
  3126. return base;
  3127. }
  3128. // -----------------------------------------------------------------------------------------------------------
  3129. template <> size_t GenericFill<binary_numeric_expression>(const DB& db, const LIST& params, binary_numeric_expression* in)
  3130. {
  3131. size_t base = 0;
  3132. return base;
  3133. }
  3134. // -----------------------------------------------------------------------------------------------------------
  3135. template <> size_t GenericFill<binary_representation_item>(const DB& db, const LIST& params, binary_representation_item* in)
  3136. {
  3137. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  3138. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to binary_representation_item"); } do { // convert the 'binary_value' argument
  3139. std::shared_ptr<const DataType> arg = params[base++];
  3140. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::binary_representation_item,1>::aux_is_derived[0]=true; break; }
  3141. try { GenericConvert( in->binary_value, arg, db ); break; }
  3142. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to binary_representation_item to be a `BINARY`")); }
  3143. } while(0);
  3144. return base;
  3145. }
  3146. // -----------------------------------------------------------------------------------------------------------
  3147. template <> size_t GenericFill<block>(const DB& db, const LIST& params, block* in)
  3148. {
  3149. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3150. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to block"); } do { // convert the 'position' argument
  3151. std::shared_ptr<const DataType> arg = params[base++];
  3152. try { GenericConvert( in->position, arg, db ); break; }
  3153. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to block to be a `axis2_placement_3d`")); }
  3154. } while(0);
  3155. do { // convert the 'x' argument
  3156. std::shared_ptr<const DataType> arg = params[base++];
  3157. try { GenericConvert( in->x, arg, db ); break; }
  3158. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to block to be a `positive_length_measure`")); }
  3159. } while(0);
  3160. do { // convert the 'y' argument
  3161. std::shared_ptr<const DataType> arg = params[base++];
  3162. try { GenericConvert( in->y, arg, db ); break; }
  3163. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to block to be a `positive_length_measure`")); }
  3164. } while(0);
  3165. do { // convert the 'z' argument
  3166. std::shared_ptr<const DataType> arg = params[base++];
  3167. try { GenericConvert( in->z, arg, db ); break; }
  3168. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to block to be a `positive_length_measure`")); }
  3169. } while(0);
  3170. return base;
  3171. }
  3172. // -----------------------------------------------------------------------------------------------------------
  3173. template <> size_t GenericFill<expression>(const DB& db, const LIST& params, expression* in)
  3174. {
  3175. size_t base = GenericFill(db,params,static_cast<generic_expression*>(in));
  3176. return base;
  3177. }
  3178. // -----------------------------------------------------------------------------------------------------------
  3179. template <> size_t GenericFill<boolean_expression>(const DB& db, const LIST& params, boolean_expression* in)
  3180. {
  3181. size_t base = GenericFill(db,params,static_cast<expression*>(in));
  3182. return base;
  3183. }
  3184. // -----------------------------------------------------------------------------------------------------------
  3185. template <> size_t GenericFill<boolean_literal>(const DB& db, const LIST& params, boolean_literal* in)
  3186. {
  3187. size_t base = 0;
  3188. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to boolean_literal"); } do { // convert the 'the_value' argument
  3189. std::shared_ptr<const DataType> arg = params[base++];
  3190. try { GenericConvert( in->the_value, arg, db ); break; }
  3191. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to boolean_literal to be a `BOOLEAN`")); }
  3192. } while(0);
  3193. return base;
  3194. }
  3195. // -----------------------------------------------------------------------------------------------------------
  3196. template <> size_t GenericFill<boolean_representation_item>(const DB& db, const LIST& params, boolean_representation_item* in)
  3197. {
  3198. size_t base = 0;
  3199. return base;
  3200. }
  3201. // -----------------------------------------------------------------------------------------------------------
  3202. template <> size_t GenericFill<boolean_result>(const DB& db, const LIST& params, boolean_result* in)
  3203. {
  3204. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3205. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to boolean_result"); } do { // convert the 'operator' argument
  3206. std::shared_ptr<const DataType> arg = params[base++];
  3207. try { GenericConvert( in->operator_, arg, db ); break; }
  3208. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to boolean_result to be a `boolean_operator`")); }
  3209. } while(0);
  3210. do { // convert the 'first_operand' argument
  3211. std::shared_ptr<const DataType> arg = params[base++];
  3212. try { GenericConvert( in->first_operand, arg, db ); break; }
  3213. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to boolean_result to be a `boolean_operand`")); }
  3214. } while(0);
  3215. do { // convert the 'second_operand' argument
  3216. std::shared_ptr<const DataType> arg = params[base++];
  3217. try { GenericConvert( in->second_operand, arg, db ); break; }
  3218. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to boolean_result to be a `boolean_operand`")); }
  3219. } while(0);
  3220. return base;
  3221. }
  3222. // -----------------------------------------------------------------------------------------------------------
  3223. template <> size_t GenericFill<composite_curve>(const DB& db, const LIST& params, composite_curve* in)
  3224. {
  3225. size_t base = GenericFill(db,params,static_cast<bounded_curve*>(in));
  3226. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_curve"); } do { // convert the 'segments' argument
  3227. std::shared_ptr<const DataType> arg = params[base++];
  3228. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::composite_curve,2>::aux_is_derived[0]=true; break; }
  3229. try { GenericConvert( in->segments, arg, db ); break; }
  3230. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to composite_curve to be a `LIST [1:?] OF composite_curve_segment`")); }
  3231. } while(0);
  3232. do { // convert the 'self_intersect' argument
  3233. std::shared_ptr<const DataType> arg = params[base++];
  3234. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::composite_curve,2>::aux_is_derived[1]=true; break; }
  3235. try { GenericConvert( in->self_intersect, arg, db ); break; }
  3236. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_curve to be a `LOGICAL`")); }
  3237. } while(0);
  3238. return base;
  3239. }
  3240. // -----------------------------------------------------------------------------------------------------------
  3241. template <> size_t GenericFill<composite_curve_on_surface>(const DB& db, const LIST& params, composite_curve_on_surface* in)
  3242. {
  3243. size_t base = GenericFill(db,params,static_cast<composite_curve*>(in));
  3244. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_curve_on_surface"); } return base;
  3245. }
  3246. // -----------------------------------------------------------------------------------------------------------
  3247. template <> size_t GenericFill<boundary_curve>(const DB& db, const LIST& params, boundary_curve* in)
  3248. {
  3249. size_t base = GenericFill(db,params,static_cast<composite_curve_on_surface*>(in));
  3250. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to boundary_curve"); } return base;
  3251. }
  3252. // -----------------------------------------------------------------------------------------------------------
  3253. template <> size_t GenericFill<bounded_pcurve>(const DB& db, const LIST& params, bounded_pcurve* in)
  3254. {
  3255. size_t base = 0;
  3256. return base;
  3257. }
  3258. // -----------------------------------------------------------------------------------------------------------
  3259. template <> size_t GenericFill<bounded_surface_curve>(const DB& db, const LIST& params, bounded_surface_curve* in)
  3260. {
  3261. size_t base = 0;
  3262. return base;
  3263. }
  3264. // -----------------------------------------------------------------------------------------------------------
  3265. template <> size_t GenericFill<founded_item>(const DB& db, const LIST& params, founded_item* in)
  3266. {
  3267. size_t base = 0;
  3268. return base;
  3269. }
  3270. // -----------------------------------------------------------------------------------------------------------
  3271. template <> size_t GenericFill<box_domain>(const DB& db, const LIST& params, box_domain* in)
  3272. {
  3273. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  3274. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to box_domain"); } do { // convert the 'corner' argument
  3275. std::shared_ptr<const DataType> arg = params[base++];
  3276. try { GenericConvert( in->corner, arg, db ); break; }
  3277. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to box_domain to be a `cartesian_point`")); }
  3278. } while(0);
  3279. do { // convert the 'xlength' argument
  3280. std::shared_ptr<const DataType> arg = params[base++];
  3281. try { GenericConvert( in->xlength, arg, db ); break; }
  3282. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to box_domain to be a `positive_length_measure`")); }
  3283. } while(0);
  3284. do { // convert the 'ylength' argument
  3285. std::shared_ptr<const DataType> arg = params[base++];
  3286. try { GenericConvert( in->ylength, arg, db ); break; }
  3287. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to box_domain to be a `positive_length_measure`")); }
  3288. } while(0);
  3289. do { // convert the 'zlength' argument
  3290. std::shared_ptr<const DataType> arg = params[base++];
  3291. try { GenericConvert( in->zlength, arg, db ); break; }
  3292. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to box_domain to be a `positive_length_measure`")); }
  3293. } while(0);
  3294. return base;
  3295. }
  3296. // -----------------------------------------------------------------------------------------------------------
  3297. template <> size_t GenericFill<half_space_solid>(const DB& db, const LIST& params, half_space_solid* in)
  3298. {
  3299. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3300. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to half_space_solid"); } do { // convert the 'base_surface' argument
  3301. std::shared_ptr<const DataType> arg = params[base++];
  3302. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::half_space_solid,2>::aux_is_derived[0]=true; break; }
  3303. try { GenericConvert( in->base_surface, arg, db ); break; }
  3304. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to half_space_solid to be a `surface`")); }
  3305. } while(0);
  3306. do { // convert the 'agreement_flag' argument
  3307. std::shared_ptr<const DataType> arg = params[base++];
  3308. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::half_space_solid,2>::aux_is_derived[1]=true; break; }
  3309. try { GenericConvert( in->agreement_flag, arg, db ); break; }
  3310. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to half_space_solid to be a `BOOLEAN`")); }
  3311. } while(0);
  3312. return base;
  3313. }
  3314. // -----------------------------------------------------------------------------------------------------------
  3315. template <> size_t GenericFill<boxed_half_space>(const DB& db, const LIST& params, boxed_half_space* in)
  3316. {
  3317. size_t base = GenericFill(db,params,static_cast<half_space_solid*>(in));
  3318. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to boxed_half_space"); } do { // convert the 'enclosure' argument
  3319. std::shared_ptr<const DataType> arg = params[base++];
  3320. try { GenericConvert( in->enclosure, arg, db ); break; }
  3321. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to boxed_half_space to be a `box_domain`")); }
  3322. } while(0);
  3323. return base;
  3324. }
  3325. // -----------------------------------------------------------------------------------------------------------
  3326. template <> size_t GenericFill<breakdown_context>(const DB& db, const LIST& params, breakdown_context* in)
  3327. {
  3328. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  3329. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to breakdown_context"); } return base;
  3330. }
  3331. // -----------------------------------------------------------------------------------------------------------
  3332. template <> size_t GenericFill<breakdown_element_group_assignment>(const DB& db, const LIST& params, breakdown_element_group_assignment* in)
  3333. {
  3334. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  3335. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to breakdown_element_group_assignment"); } do { // convert the 'items' argument
  3336. std::shared_ptr<const DataType> arg = params[base++];
  3337. try { GenericConvert( in->items, arg, db ); break; }
  3338. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to breakdown_element_group_assignment to be a `SET [1:1] OF product_definition_or_breakdown_element_usage`")); }
  3339. } while(0);
  3340. return base;
  3341. }
  3342. // -----------------------------------------------------------------------------------------------------------
  3343. template <> size_t GenericFill<breakdown_element_realization>(const DB& db, const LIST& params, breakdown_element_realization* in)
  3344. {
  3345. size_t base = 0;
  3346. return base;
  3347. }
  3348. // -----------------------------------------------------------------------------------------------------------
  3349. template <> size_t GenericFill<breakdown_element_usage>(const DB& db, const LIST& params, breakdown_element_usage* in)
  3350. {
  3351. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  3352. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to breakdown_element_usage"); } return base;
  3353. }
  3354. // -----------------------------------------------------------------------------------------------------------
  3355. template <> size_t GenericFill<breakdown_of>(const DB& db, const LIST& params, breakdown_of* in)
  3356. {
  3357. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  3358. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to breakdown_of"); } return base;
  3359. }
  3360. // -----------------------------------------------------------------------------------------------------------
  3361. template <> size_t GenericFill<solid_model>(const DB& db, const LIST& params, solid_model* in)
  3362. {
  3363. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3364. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to solid_model"); } return base;
  3365. }
  3366. // -----------------------------------------------------------------------------------------------------------
  3367. template <> size_t GenericFill<manifold_solid_brep>(const DB& db, const LIST& params, manifold_solid_brep* in)
  3368. {
  3369. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  3370. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to manifold_solid_brep"); } do { // convert the 'outer' argument
  3371. std::shared_ptr<const DataType> arg = params[base++];
  3372. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::manifold_solid_brep,1>::aux_is_derived[0]=true; break; }
  3373. try { GenericConvert( in->outer, arg, db ); break; }
  3374. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to manifold_solid_brep to be a `closed_shell`")); }
  3375. } while(0);
  3376. return base;
  3377. }
  3378. // -----------------------------------------------------------------------------------------------------------
  3379. template <> size_t GenericFill<brep_with_voids>(const DB& db, const LIST& params, brep_with_voids* in)
  3380. {
  3381. size_t base = GenericFill(db,params,static_cast<manifold_solid_brep*>(in));
  3382. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to brep_with_voids"); } do { // convert the 'voids' argument
  3383. std::shared_ptr<const DataType> arg = params[base++];
  3384. try { GenericConvert( in->voids, arg, db ); break; }
  3385. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to brep_with_voids to be a `SET [1:?] OF oriented_closed_shell`")); }
  3386. } while(0);
  3387. return base;
  3388. }
  3389. // -----------------------------------------------------------------------------------------------------------
  3390. template <> size_t GenericFill<bytes_representation_item>(const DB& db, const LIST& params, bytes_representation_item* in)
  3391. {
  3392. size_t base = GenericFill(db,params,static_cast<binary_representation_item*>(in));
  3393. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to bytes_representation_item"); } return base;
  3394. }
  3395. // -----------------------------------------------------------------------------------------------------------
  3396. template <> size_t GenericFill<date>(const DB& db, const LIST& params, date* in)
  3397. {
  3398. size_t base = 0;
  3399. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to date"); } do { // convert the 'year_component' argument
  3400. std::shared_ptr<const DataType> arg = params[base++];
  3401. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::date,1>::aux_is_derived[0]=true; break; }
  3402. try { GenericConvert( in->year_component, arg, db ); break; }
  3403. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to date to be a `year_number`")); }
  3404. } while(0);
  3405. return base;
  3406. }
  3407. // -----------------------------------------------------------------------------------------------------------
  3408. template <> size_t GenericFill<calendar_date>(const DB& db, const LIST& params, calendar_date* in)
  3409. {
  3410. size_t base = GenericFill(db,params,static_cast<date*>(in));
  3411. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to calendar_date"); } do { // convert the 'day_component' argument
  3412. std::shared_ptr<const DataType> arg = params[base++];
  3413. try { GenericConvert( in->day_component, arg, db ); break; }
  3414. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to calendar_date to be a `day_in_month_number`")); }
  3415. } while(0);
  3416. do { // convert the 'month_component' argument
  3417. std::shared_ptr<const DataType> arg = params[base++];
  3418. try { GenericConvert( in->month_component, arg, db ); break; }
  3419. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to calendar_date to be a `month_in_year_number`")); }
  3420. } while(0);
  3421. return base;
  3422. }
  3423. // -----------------------------------------------------------------------------------------------------------
  3424. template <> size_t GenericFill<camera_image>(const DB& db, const LIST& params, camera_image* in)
  3425. {
  3426. size_t base = GenericFill(db,params,static_cast<mapped_item*>(in));
  3427. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to camera_image"); } return base;
  3428. }
  3429. // -----------------------------------------------------------------------------------------------------------
  3430. template <> size_t GenericFill<camera_image_3d_with_scale>(const DB& db, const LIST& params, camera_image_3d_with_scale* in)
  3431. {
  3432. size_t base = GenericFill(db,params,static_cast<camera_image*>(in));
  3433. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to camera_image_3d_with_scale"); } return base;
  3434. }
  3435. // -----------------------------------------------------------------------------------------------------------
  3436. template <> size_t GenericFill<camera_model>(const DB& db, const LIST& params, camera_model* in)
  3437. {
  3438. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3439. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to camera_model"); } return base;
  3440. }
  3441. // -----------------------------------------------------------------------------------------------------------
  3442. template <> size_t GenericFill<camera_model_d3>(const DB& db, const LIST& params, camera_model_d3* in)
  3443. {
  3444. size_t base = GenericFill(db,params,static_cast<camera_model*>(in));
  3445. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to camera_model_d3"); } do { // convert the 'view_reference_system' argument
  3446. std::shared_ptr<const DataType> arg = params[base++];
  3447. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::camera_model_d3,2>::aux_is_derived[0]=true; break; }
  3448. try { GenericConvert( in->view_reference_system, arg, db ); break; }
  3449. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to camera_model_d3 to be a `axis2_placement_3d`")); }
  3450. } while(0);
  3451. do { // convert the 'perspective_of_volume' argument
  3452. std::shared_ptr<const DataType> arg = params[base++];
  3453. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::camera_model_d3,2>::aux_is_derived[1]=true; break; }
  3454. try { GenericConvert( in->perspective_of_volume, arg, db ); break; }
  3455. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to camera_model_d3 to be a `view_volume`")); }
  3456. } while(0);
  3457. return base;
  3458. }
  3459. // -----------------------------------------------------------------------------------------------------------
  3460. template <> size_t GenericFill<camera_model_d3_multi_clipping>(const DB& db, const LIST& params, camera_model_d3_multi_clipping* in)
  3461. {
  3462. size_t base = GenericFill(db,params,static_cast<camera_model_d3*>(in));
  3463. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to camera_model_d3_multi_clipping"); } do { // convert the 'shape_clipping' argument
  3464. std::shared_ptr<const DataType> arg = params[base++];
  3465. try { GenericConvert( in->shape_clipping, arg, db ); break; }
  3466. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to camera_model_d3_multi_clipping to be a `SET [1:?] OF camera_model_d3_multi_clipping_interection_select`")); }
  3467. } while(0);
  3468. return base;
  3469. }
  3470. // -----------------------------------------------------------------------------------------------------------
  3471. template <> size_t GenericFill<camera_model_d3_multi_clipping_intersection>(const DB& db, const LIST& params, camera_model_d3_multi_clipping_intersection* in)
  3472. {
  3473. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3474. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to camera_model_d3_multi_clipping_intersection"); } do { // convert the 'shape_clipping' argument
  3475. std::shared_ptr<const DataType> arg = params[base++];
  3476. try { GenericConvert( in->shape_clipping, arg, db ); break; }
  3477. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to camera_model_d3_multi_clipping_intersection to be a `SET [2:?] OF camera_model_d3_multi_clipping_interection_select`")); }
  3478. } while(0);
  3479. return base;
  3480. }
  3481. // -----------------------------------------------------------------------------------------------------------
  3482. template <> size_t GenericFill<camera_model_d3_multi_clipping_union>(const DB& db, const LIST& params, camera_model_d3_multi_clipping_union* in)
  3483. {
  3484. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3485. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to camera_model_d3_multi_clipping_union"); } do { // convert the 'shape_clipping' argument
  3486. std::shared_ptr<const DataType> arg = params[base++];
  3487. try { GenericConvert( in->shape_clipping, arg, db ); break; }
  3488. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to camera_model_d3_multi_clipping_union to be a `SET [2:?] OF camera_model_d3_multi_clipping_union_select`")); }
  3489. } while(0);
  3490. return base;
  3491. }
  3492. // -----------------------------------------------------------------------------------------------------------
  3493. template <> size_t GenericFill<camera_model_d3_with_hlhsr>(const DB& db, const LIST& params, camera_model_d3_with_hlhsr* in)
  3494. {
  3495. size_t base = GenericFill(db,params,static_cast<camera_model_d3*>(in));
  3496. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to camera_model_d3_with_hlhsr"); } do { // convert the 'hidden_line_surface_removal' argument
  3497. std::shared_ptr<const DataType> arg = params[base++];
  3498. try { GenericConvert( in->hidden_line_surface_removal, arg, db ); break; }
  3499. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to camera_model_d3_with_hlhsr to be a `BOOLEAN`")); }
  3500. } while(0);
  3501. return base;
  3502. }
  3503. // -----------------------------------------------------------------------------------------------------------
  3504. template <> size_t GenericFill<camera_model_with_light_sources>(const DB& db, const LIST& params, camera_model_with_light_sources* in)
  3505. {
  3506. size_t base = GenericFill(db,params,static_cast<camera_model_d3*>(in));
  3507. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to camera_model_with_light_sources"); } do { // convert the 'sources' argument
  3508. std::shared_ptr<const DataType> arg = params[base++];
  3509. try { GenericConvert( in->sources, arg, db ); break; }
  3510. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to camera_model_with_light_sources to be a `SET [1:?] OF light_source`")); }
  3511. } while(0);
  3512. return base;
  3513. }
  3514. // -----------------------------------------------------------------------------------------------------------
  3515. template <> size_t GenericFill<representation_map>(const DB& db, const LIST& params, representation_map* in)
  3516. {
  3517. size_t base = 0;
  3518. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to representation_map"); } do { // convert the 'mapping_origin' argument
  3519. std::shared_ptr<const DataType> arg = params[base++];
  3520. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_map,2>::aux_is_derived[0]=true; break; }
  3521. try { GenericConvert( in->mapping_origin, arg, db ); break; }
  3522. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_map to be a `representation_item`")); }
  3523. } while(0);
  3524. do { // convert the 'mapped_representation' argument
  3525. std::shared_ptr<const DataType> arg = params[base++];
  3526. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_map,2>::aux_is_derived[1]=true; break; }
  3527. try { GenericConvert( in->mapped_representation, arg, db ); break; }
  3528. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_map to be a `representation`")); }
  3529. } while(0);
  3530. return base;
  3531. }
  3532. // -----------------------------------------------------------------------------------------------------------
  3533. template <> size_t GenericFill<camera_usage>(const DB& db, const LIST& params, camera_usage* in)
  3534. {
  3535. size_t base = GenericFill(db,params,static_cast<representation_map*>(in));
  3536. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to camera_usage"); } return base;
  3537. }
  3538. // -----------------------------------------------------------------------------------------------------------
  3539. template <> size_t GenericFill<capacitance_measure_with_unit>(const DB& db, const LIST& params, capacitance_measure_with_unit* in)
  3540. {
  3541. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  3542. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to capacitance_measure_with_unit"); } return base;
  3543. }
  3544. // -----------------------------------------------------------------------------------------------------------
  3545. template <> size_t GenericFill<capacitance_unit>(const DB& db, const LIST& params, capacitance_unit* in)
  3546. {
  3547. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  3548. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to capacitance_unit"); } return base;
  3549. }
  3550. // -----------------------------------------------------------------------------------------------------------
  3551. template <> size_t GenericFill<point>(const DB& db, const LIST& params, point* in)
  3552. {
  3553. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  3554. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to point"); } return base;
  3555. }
  3556. // -----------------------------------------------------------------------------------------------------------
  3557. template <> size_t GenericFill<cartesian_point>(const DB& db, const LIST& params, cartesian_point* in)
  3558. {
  3559. size_t base = GenericFill(db,params,static_cast<point*>(in));
  3560. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cartesian_point"); } do { // convert the 'coordinates' argument
  3561. std::shared_ptr<const DataType> arg = params[base++];
  3562. try { GenericConvert( in->coordinates, arg, db ); break; }
  3563. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cartesian_point to be a `LIST [1:3] OF length_measure`")); }
  3564. } while(0);
  3565. return base;
  3566. }
  3567. // -----------------------------------------------------------------------------------------------------------
  3568. template <> size_t GenericFill<cartesian_transformation_operator>(const DB& db, const LIST& params, cartesian_transformation_operator* in)
  3569. {
  3570. size_t base = 0;
  3571. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to cartesian_transformation_operator"); } do { // convert the 'axis1' argument
  3572. std::shared_ptr<const DataType> arg = params[base++];
  3573. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::cartesian_transformation_operator,4>::aux_is_derived[0]=true; break; }
  3574. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3575. try { GenericConvert( in->axis1, arg, db ); break; }
  3576. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to cartesian_transformation_operator to be a `direction`")); }
  3577. } while(0);
  3578. do { // convert the 'axis2' argument
  3579. std::shared_ptr<const DataType> arg = params[base++];
  3580. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::cartesian_transformation_operator,4>::aux_is_derived[1]=true; break; }
  3581. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3582. try { GenericConvert( in->axis2, arg, db ); break; }
  3583. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cartesian_transformation_operator to be a `direction`")); }
  3584. } while(0);
  3585. do { // convert the 'local_origin' argument
  3586. std::shared_ptr<const DataType> arg = params[base++];
  3587. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::cartesian_transformation_operator,4>::aux_is_derived[2]=true; break; }
  3588. try { GenericConvert( in->local_origin, arg, db ); break; }
  3589. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cartesian_transformation_operator to be a `cartesian_point`")); }
  3590. } while(0);
  3591. do { // convert the 'scale' argument
  3592. std::shared_ptr<const DataType> arg = params[base++];
  3593. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::cartesian_transformation_operator,4>::aux_is_derived[3]=true; break; }
  3594. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3595. try { GenericConvert( in->scale, arg, db ); break; }
  3596. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to cartesian_transformation_operator to be a `REAL`")); }
  3597. } while(0);
  3598. return base;
  3599. }
  3600. // -----------------------------------------------------------------------------------------------------------
  3601. template <> size_t GenericFill<cartesian_transformation_operator_2d>(const DB& db, const LIST& params, cartesian_transformation_operator_2d* in)
  3602. {
  3603. size_t base = GenericFill(db,params,static_cast<cartesian_transformation_operator*>(in));
  3604. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to cartesian_transformation_operator_2d"); } return base;
  3605. }
  3606. // -----------------------------------------------------------------------------------------------------------
  3607. template <> size_t GenericFill<cartesian_transformation_operator_3d>(const DB& db, const LIST& params, cartesian_transformation_operator_3d* in)
  3608. {
  3609. size_t base = GenericFill(db,params,static_cast<cartesian_transformation_operator*>(in));
  3610. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to cartesian_transformation_operator_3d"); } do { // convert the 'axis3' argument
  3611. std::shared_ptr<const DataType> arg = params[base++];
  3612. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3613. try { GenericConvert( in->axis3, arg, db ); break; }
  3614. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to cartesian_transformation_operator_3d to be a `direction`")); }
  3615. } while(0);
  3616. return base;
  3617. }
  3618. // -----------------------------------------------------------------------------------------------------------
  3619. template <> size_t GenericFill<cc_design_approval>(const DB& db, const LIST& params, cc_design_approval* in)
  3620. {
  3621. size_t base = GenericFill(db,params,static_cast<approval_assignment*>(in));
  3622. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_approval"); } do { // convert the 'items' argument
  3623. std::shared_ptr<const DataType> arg = params[base++];
  3624. try { GenericConvert( in->items, arg, db ); break; }
  3625. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_approval to be a `SET [1:?] OF approved_item`")); }
  3626. } while(0);
  3627. return base;
  3628. }
  3629. // -----------------------------------------------------------------------------------------------------------
  3630. template <> size_t GenericFill<cc_design_certification>(const DB& db, const LIST& params, cc_design_certification* in)
  3631. {
  3632. size_t base = GenericFill(db,params,static_cast<certification_assignment*>(in));
  3633. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_certification"); } do { // convert the 'items' argument
  3634. std::shared_ptr<const DataType> arg = params[base++];
  3635. try { GenericConvert( in->items, arg, db ); break; }
  3636. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_certification to be a `SET [1:?] OF certified_item`")); }
  3637. } while(0);
  3638. return base;
  3639. }
  3640. // -----------------------------------------------------------------------------------------------------------
  3641. template <> size_t GenericFill<cc_design_contract>(const DB& db, const LIST& params, cc_design_contract* in)
  3642. {
  3643. size_t base = GenericFill(db,params,static_cast<contract_assignment*>(in));
  3644. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_contract"); } do { // convert the 'items' argument
  3645. std::shared_ptr<const DataType> arg = params[base++];
  3646. try { GenericConvert( in->items, arg, db ); break; }
  3647. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_contract to be a `SET [1:?] OF contracted_item`")); }
  3648. } while(0);
  3649. return base;
  3650. }
  3651. // -----------------------------------------------------------------------------------------------------------
  3652. template <> size_t GenericFill<cc_design_date_and_time_assignment>(const DB& db, const LIST& params, cc_design_date_and_time_assignment* in)
  3653. {
  3654. size_t base = GenericFill(db,params,static_cast<date_and_time_assignment*>(in));
  3655. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cc_design_date_and_time_assignment"); } do { // convert the 'items' argument
  3656. std::shared_ptr<const DataType> arg = params[base++];
  3657. try { GenericConvert( in->items, arg, db ); break; }
  3658. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cc_design_date_and_time_assignment to be a `SET [1:?] OF date_time_item`")); }
  3659. } while(0);
  3660. return base;
  3661. }
  3662. // -----------------------------------------------------------------------------------------------------------
  3663. template <> size_t GenericFill<cc_design_person_and_organization_assignment>(const DB& db, const LIST& params, cc_design_person_and_organization_assignment* in)
  3664. {
  3665. size_t base = GenericFill(db,params,static_cast<person_and_organization_assignment*>(in));
  3666. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cc_design_person_and_organization_assignment"); } do { // convert the 'items' argument
  3667. std::shared_ptr<const DataType> arg = params[base++];
  3668. try { GenericConvert( in->items, arg, db ); break; }
  3669. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cc_design_person_and_organization_assignment to be a `SET [1:?] OF cc_person_organization_item`")); }
  3670. } while(0);
  3671. return base;
  3672. }
  3673. // -----------------------------------------------------------------------------------------------------------
  3674. template <> size_t GenericFill<cc_design_security_classification>(const DB& db, const LIST& params, cc_design_security_classification* in)
  3675. {
  3676. size_t base = GenericFill(db,params,static_cast<security_classification_assignment*>(in));
  3677. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_security_classification"); } do { // convert the 'items' argument
  3678. std::shared_ptr<const DataType> arg = params[base++];
  3679. try { GenericConvert( in->items, arg, db ); break; }
  3680. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_security_classification to be a `SET [1:?] OF cc_classified_item`")); }
  3681. } while(0);
  3682. return base;
  3683. }
  3684. // -----------------------------------------------------------------------------------------------------------
  3685. template <> size_t GenericFill<cc_design_specification_reference>(const DB& db, const LIST& params, cc_design_specification_reference* in)
  3686. {
  3687. size_t base = GenericFill(db,params,static_cast<document_reference*>(in));
  3688. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cc_design_specification_reference"); } do { // convert the 'items' argument
  3689. std::shared_ptr<const DataType> arg = params[base++];
  3690. try { GenericConvert( in->items, arg, db ); break; }
  3691. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cc_design_specification_reference to be a `SET [1:?] OF cc_specified_item`")); }
  3692. } while(0);
  3693. return base;
  3694. }
  3695. // -----------------------------------------------------------------------------------------------------------
  3696. template <> size_t GenericFill<celsius_temperature_measure_with_unit>(const DB& db, const LIST& params, celsius_temperature_measure_with_unit* in)
  3697. {
  3698. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  3699. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to celsius_temperature_measure_with_unit"); } return base;
  3700. }
  3701. // -----------------------------------------------------------------------------------------------------------
  3702. template <> size_t GenericFill<centre_of_symmetry>(const DB& db, const LIST& params, centre_of_symmetry* in)
  3703. {
  3704. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  3705. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to centre_of_symmetry"); } return base;
  3706. }
  3707. // -----------------------------------------------------------------------------------------------------------
  3708. template <> size_t GenericFill<change>(const DB& db, const LIST& params, change* in)
  3709. {
  3710. size_t base = GenericFill(db,params,static_cast<action_assignment*>(in));
  3711. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to change"); } do { // convert the 'items' argument
  3712. std::shared_ptr<const DataType> arg = params[base++];
  3713. try { GenericConvert( in->items, arg, db ); break; }
  3714. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to change to be a `SET [1:?] OF work_item`")); }
  3715. } while(0);
  3716. return base;
  3717. }
  3718. // -----------------------------------------------------------------------------------------------------------
  3719. template <> size_t GenericFill<change_request>(const DB& db, const LIST& params, change_request* in)
  3720. {
  3721. size_t base = GenericFill(db,params,static_cast<action_request_assignment*>(in));
  3722. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to change_request"); } do { // convert the 'items' argument
  3723. std::shared_ptr<const DataType> arg = params[base++];
  3724. try { GenericConvert( in->items, arg, db ); break; }
  3725. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to change_request to be a `SET [1:?] OF change_request_item`")); }
  3726. } while(0);
  3727. return base;
  3728. }
  3729. // -----------------------------------------------------------------------------------------------------------
  3730. template <> size_t GenericFill<character_glyph_style_outline>(const DB& db, const LIST& params, character_glyph_style_outline* in)
  3731. {
  3732. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  3733. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to character_glyph_style_outline"); } do { // convert the 'outline_style' argument
  3734. std::shared_ptr<const DataType> arg = params[base++];
  3735. try { GenericConvert( in->outline_style, arg, db ); break; }
  3736. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to character_glyph_style_outline to be a `curve_style`")); }
  3737. } while(0);
  3738. return base;
  3739. }
  3740. // -----------------------------------------------------------------------------------------------------------
  3741. template <> size_t GenericFill<character_glyph_style_stroke>(const DB& db, const LIST& params, character_glyph_style_stroke* in)
  3742. {
  3743. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  3744. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to character_glyph_style_stroke"); } do { // convert the 'stroke_style' argument
  3745. std::shared_ptr<const DataType> arg = params[base++];
  3746. try { GenericConvert( in->stroke_style, arg, db ); break; }
  3747. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to character_glyph_style_stroke to be a `curve_style`")); }
  3748. } while(0);
  3749. return base;
  3750. }
  3751. // -----------------------------------------------------------------------------------------------------------
  3752. template <> size_t GenericFill<symbol_representation>(const DB& db, const LIST& params, symbol_representation* in)
  3753. {
  3754. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  3755. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to symbol_representation"); } return base;
  3756. }
  3757. // -----------------------------------------------------------------------------------------------------------
  3758. template <> size_t GenericFill<generic_character_glyph_symbol>(const DB& db, const LIST& params, generic_character_glyph_symbol* in)
  3759. {
  3760. size_t base = GenericFill(db,params,static_cast<symbol_representation*>(in));
  3761. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to generic_character_glyph_symbol"); } return base;
  3762. }
  3763. // -----------------------------------------------------------------------------------------------------------
  3764. template <> size_t GenericFill<character_glyph_symbol>(const DB& db, const LIST& params, character_glyph_symbol* in)
  3765. {
  3766. size_t base = GenericFill(db,params,static_cast<generic_character_glyph_symbol*>(in));
  3767. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to character_glyph_symbol"); } do { // convert the 'character_box' argument
  3768. std::shared_ptr<const DataType> arg = params[base++];
  3769. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::character_glyph_symbol,2>::aux_is_derived[0]=true; break; }
  3770. try { GenericConvert( in->character_box, arg, db ); break; }
  3771. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to character_glyph_symbol to be a `planar_extent`")); }
  3772. } while(0);
  3773. do { // convert the 'baseline_ratio' argument
  3774. std::shared_ptr<const DataType> arg = params[base++];
  3775. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::character_glyph_symbol,2>::aux_is_derived[1]=true; break; }
  3776. try { GenericConvert( in->baseline_ratio, arg, db ); break; }
  3777. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to character_glyph_symbol to be a `ratio_measure`")); }
  3778. } while(0);
  3779. return base;
  3780. }
  3781. // -----------------------------------------------------------------------------------------------------------
  3782. template <> size_t GenericFill<character_glyph_symbol_outline>(const DB& db, const LIST& params, character_glyph_symbol_outline* in)
  3783. {
  3784. size_t base = GenericFill(db,params,static_cast<character_glyph_symbol*>(in));
  3785. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to character_glyph_symbol_outline"); } do { // convert the 'outlines' argument
  3786. std::shared_ptr<const DataType> arg = params[base++];
  3787. try { GenericConvert( in->outlines, arg, db ); break; }
  3788. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to character_glyph_symbol_outline to be a `SET [1:?] OF annotation_fill_area`")); }
  3789. } while(0);
  3790. return base;
  3791. }
  3792. // -----------------------------------------------------------------------------------------------------------
  3793. template <> size_t GenericFill<character_glyph_symbol_stroke>(const DB& db, const LIST& params, character_glyph_symbol_stroke* in)
  3794. {
  3795. size_t base = GenericFill(db,params,static_cast<character_glyph_symbol*>(in));
  3796. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to character_glyph_symbol_stroke"); } do { // convert the 'strokes' argument
  3797. std::shared_ptr<const DataType> arg = params[base++];
  3798. try { GenericConvert( in->strokes, arg, db ); break; }
  3799. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to character_glyph_symbol_stroke to be a `SET [1:?] OF curve`")); }
  3800. } while(0);
  3801. return base;
  3802. }
  3803. // -----------------------------------------------------------------------------------------------------------
  3804. template <> size_t GenericFill<general_property>(const DB& db, const LIST& params, general_property* in)
  3805. {
  3806. size_t base = 0;
  3807. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to general_property"); } do { // convert the 'id' argument
  3808. std::shared_ptr<const DataType> arg = params[base++];
  3809. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property,3>::aux_is_derived[0]=true; break; }
  3810. try { GenericConvert( in->id, arg, db ); break; }
  3811. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to general_property to be a `identifier`")); }
  3812. } while(0);
  3813. do { // convert the 'name' argument
  3814. std::shared_ptr<const DataType> arg = params[base++];
  3815. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property,3>::aux_is_derived[1]=true; break; }
  3816. try { GenericConvert( in->name, arg, db ); break; }
  3817. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to general_property to be a `label`")); }
  3818. } while(0);
  3819. do { // convert the 'description' argument
  3820. std::shared_ptr<const DataType> arg = params[base++];
  3821. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property,3>::aux_is_derived[2]=true; break; }
  3822. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3823. try { GenericConvert( in->description, arg, db ); break; }
  3824. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to general_property to be a `text`")); }
  3825. } while(0);
  3826. return base;
  3827. }
  3828. // -----------------------------------------------------------------------------------------------------------
  3829. template <> size_t GenericFill<characteristic_data_column_header>(const DB& db, const LIST& params, characteristic_data_column_header* in)
  3830. {
  3831. size_t base = GenericFill(db,params,static_cast<general_property*>(in));
  3832. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to characteristic_data_column_header"); } return base;
  3833. }
  3834. // -----------------------------------------------------------------------------------------------------------
  3835. template <> size_t GenericFill<general_property_relationship>(const DB& db, const LIST& params, general_property_relationship* in)
  3836. {
  3837. size_t base = 0;
  3838. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to general_property_relationship"); } do { // convert the 'name' argument
  3839. std::shared_ptr<const DataType> arg = params[base++];
  3840. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property_relationship,4>::aux_is_derived[0]=true; break; }
  3841. try { GenericConvert( in->name, arg, db ); break; }
  3842. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to general_property_relationship to be a `label`")); }
  3843. } while(0);
  3844. do { // convert the 'description' argument
  3845. std::shared_ptr<const DataType> arg = params[base++];
  3846. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property_relationship,4>::aux_is_derived[1]=true; break; }
  3847. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3848. try { GenericConvert( in->description, arg, db ); break; }
  3849. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to general_property_relationship to be a `text`")); }
  3850. } while(0);
  3851. do { // convert the 'relating_property' argument
  3852. std::shared_ptr<const DataType> arg = params[base++];
  3853. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property_relationship,4>::aux_is_derived[2]=true; break; }
  3854. try { GenericConvert( in->relating_property, arg, db ); break; }
  3855. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to general_property_relationship to be a `general_property`")); }
  3856. } while(0);
  3857. do { // convert the 'related_property' argument
  3858. std::shared_ptr<const DataType> arg = params[base++];
  3859. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::general_property_relationship,4>::aux_is_derived[3]=true; break; }
  3860. try { GenericConvert( in->related_property, arg, db ); break; }
  3861. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to general_property_relationship to be a `general_property`")); }
  3862. } while(0);
  3863. return base;
  3864. }
  3865. // -----------------------------------------------------------------------------------------------------------
  3866. template <> size_t GenericFill<characteristic_data_column_header_link>(const DB& db, const LIST& params, characteristic_data_column_header_link* in)
  3867. {
  3868. size_t base = GenericFill(db,params,static_cast<general_property_relationship*>(in));
  3869. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to characteristic_data_column_header_link"); } return base;
  3870. }
  3871. // -----------------------------------------------------------------------------------------------------------
  3872. template <> size_t GenericFill<characteristic_data_table_header>(const DB& db, const LIST& params, characteristic_data_table_header* in)
  3873. {
  3874. size_t base = GenericFill(db,params,static_cast<general_property*>(in));
  3875. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to characteristic_data_table_header"); } return base;
  3876. }
  3877. // -----------------------------------------------------------------------------------------------------------
  3878. template <> size_t GenericFill<characteristic_data_table_header_decomposition>(const DB& db, const LIST& params, characteristic_data_table_header_decomposition* in)
  3879. {
  3880. size_t base = GenericFill(db,params,static_cast<general_property_relationship*>(in));
  3881. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to characteristic_data_table_header_decomposition"); } return base;
  3882. }
  3883. // -----------------------------------------------------------------------------------------------------------
  3884. template <> size_t GenericFill<group>(const DB& db, const LIST& params, group* in)
  3885. {
  3886. size_t base = 0;
  3887. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to group"); } do { // convert the 'name' argument
  3888. std::shared_ptr<const DataType> arg = params[base++];
  3889. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::group,2>::aux_is_derived[0]=true; break; }
  3890. try { GenericConvert( in->name, arg, db ); break; }
  3891. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to group to be a `label`")); }
  3892. } while(0);
  3893. do { // convert the 'description' argument
  3894. std::shared_ptr<const DataType> arg = params[base++];
  3895. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::group,2>::aux_is_derived[1]=true; break; }
  3896. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3897. try { GenericConvert( in->description, arg, db ); break; }
  3898. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to group to be a `text`")); }
  3899. } while(0);
  3900. return base;
  3901. }
  3902. // -----------------------------------------------------------------------------------------------------------
  3903. template <> size_t GenericFill<characteristic_type>(const DB& db, const LIST& params, characteristic_type* in)
  3904. {
  3905. size_t base = GenericFill(db,params,static_cast<group*>(in));
  3906. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to characteristic_type"); } return base;
  3907. }
  3908. // -----------------------------------------------------------------------------------------------------------
  3909. template <> size_t GenericFill<characterized_class>(const DB& db, const LIST& params, characterized_class* in)
  3910. {
  3911. size_t base = 0;
  3912. return base;
  3913. }
  3914. // -----------------------------------------------------------------------------------------------------------
  3915. template <> size_t GenericFill<characterized_object>(const DB& db, const LIST& params, characterized_object* in)
  3916. {
  3917. size_t base = 0;
  3918. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to characterized_object"); } do { // convert the 'name' argument
  3919. std::shared_ptr<const DataType> arg = params[base++];
  3920. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::characterized_object,2>::aux_is_derived[0]=true; break; }
  3921. try { GenericConvert( in->name, arg, db ); break; }
  3922. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to characterized_object to be a `label`")); }
  3923. } while(0);
  3924. do { // convert the 'description' argument
  3925. std::shared_ptr<const DataType> arg = params[base++];
  3926. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::characterized_object,2>::aux_is_derived[1]=true; break; }
  3927. if (dynamic_cast<const UNSET*>(&*arg)) break;
  3928. try { GenericConvert( in->description, arg, db ); break; }
  3929. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to characterized_object to be a `text`")); }
  3930. } while(0);
  3931. return base;
  3932. }
  3933. // -----------------------------------------------------------------------------------------------------------
  3934. template <> size_t GenericFill<conic>(const DB& db, const LIST& params, conic* in)
  3935. {
  3936. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  3937. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to conic"); } do { // convert the 'position' argument
  3938. std::shared_ptr<const DataType> arg = params[base++];
  3939. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::conic,1>::aux_is_derived[0]=true; break; }
  3940. try { GenericConvert( in->position, arg, db ); break; }
  3941. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to conic to be a `axis2_placement`")); }
  3942. } while(0);
  3943. return base;
  3944. }
  3945. // -----------------------------------------------------------------------------------------------------------
  3946. template <> size_t GenericFill<circle>(const DB& db, const LIST& params, circle* in)
  3947. {
  3948. size_t base = GenericFill(db,params,static_cast<conic*>(in));
  3949. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to circle"); } do { // convert the 'radius' argument
  3950. std::shared_ptr<const DataType> arg = params[base++];
  3951. try { GenericConvert( in->radius, arg, db ); break; }
  3952. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to circle to be a `positive_length_measure`")); }
  3953. } while(0);
  3954. return base;
  3955. }
  3956. // -----------------------------------------------------------------------------------------------------------
  3957. template <> size_t GenericFill<circular_runout_tolerance>(const DB& db, const LIST& params, circular_runout_tolerance* in)
  3958. {
  3959. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  3960. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to circular_runout_tolerance"); } return base;
  3961. }
  3962. // -----------------------------------------------------------------------------------------------------------
  3963. template <> size_t GenericFill<class_by_extension>(const DB& db, const LIST& params, class_by_extension* in)
  3964. {
  3965. size_t base = GenericFill(db,params,static_cast<class_t*>(in));
  3966. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to class_by_extension"); } return base;
  3967. }
  3968. // -----------------------------------------------------------------------------------------------------------
  3969. template <> size_t GenericFill<class_by_intension>(const DB& db, const LIST& params, class_by_intension* in)
  3970. {
  3971. size_t base = GenericFill(db,params,static_cast<class_t*>(in));
  3972. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to class_by_intension"); } return base;
  3973. }
  3974. // -----------------------------------------------------------------------------------------------------------
  3975. template <> size_t GenericFill<class_system>(const DB& db, const LIST& params, class_system* in)
  3976. {
  3977. size_t base = GenericFill(db,params,static_cast<group*>(in));
  3978. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to class_system"); } return base;
  3979. }
  3980. // -----------------------------------------------------------------------------------------------------------
  3981. template <> size_t GenericFill<effectivity_context_assignment>(const DB& db, const LIST& params, effectivity_context_assignment* in)
  3982. {
  3983. size_t base = 0;
  3984. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to effectivity_context_assignment"); } do { // convert the 'assigned_effectivity_assignment' argument
  3985. std::shared_ptr<const DataType> arg = params[base++];
  3986. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::effectivity_context_assignment,2>::aux_is_derived[0]=true; break; }
  3987. try { GenericConvert( in->assigned_effectivity_assignment, arg, db ); break; }
  3988. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to effectivity_context_assignment to be a `effectivity_assignment`")); }
  3989. } while(0);
  3990. do { // convert the 'role' argument
  3991. std::shared_ptr<const DataType> arg = params[base++];
  3992. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::effectivity_context_assignment,2>::aux_is_derived[1]=true; break; }
  3993. try { GenericConvert( in->role, arg, db ); break; }
  3994. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to effectivity_context_assignment to be a `effectivity_context_role`")); }
  3995. } while(0);
  3996. return base;
  3997. }
  3998. // -----------------------------------------------------------------------------------------------------------
  3999. template <> size_t GenericFill<class_usage_effectivity_context_assignment>(const DB& db, const LIST& params, class_usage_effectivity_context_assignment* in)
  4000. {
  4001. size_t base = GenericFill(db,params,static_cast<effectivity_context_assignment*>(in));
  4002. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to class_usage_effectivity_context_assignment"); } do { // convert the 'items' argument
  4003. std::shared_ptr<const DataType> arg = params[base++];
  4004. try { GenericConvert( in->items, arg, db ); break; }
  4005. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to class_usage_effectivity_context_assignment to be a `SET [1:?] OF class_usage_effectivity_context_item`")); }
  4006. } while(0);
  4007. return base;
  4008. }
  4009. // -----------------------------------------------------------------------------------------------------------
  4010. template <> size_t GenericFill<topological_representation_item>(const DB& db, const LIST& params, topological_representation_item* in)
  4011. {
  4012. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  4013. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to topological_representation_item"); } return base;
  4014. }
  4015. // -----------------------------------------------------------------------------------------------------------
  4016. template <> size_t GenericFill<connected_face_set>(const DB& db, const LIST& params, connected_face_set* in)
  4017. {
  4018. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  4019. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to connected_face_set"); } do { // convert the 'cfs_faces' argument
  4020. std::shared_ptr<const DataType> arg = params[base++];
  4021. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::connected_face_set,1>::aux_is_derived[0]=true; break; }
  4022. try { GenericConvert( in->cfs_faces, arg, db ); break; }
  4023. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to connected_face_set to be a `SET [1:?] OF face`")); }
  4024. } while(0);
  4025. return base;
  4026. }
  4027. // -----------------------------------------------------------------------------------------------------------
  4028. template <> size_t GenericFill<closed_shell>(const DB& db, const LIST& params, closed_shell* in)
  4029. {
  4030. size_t base = GenericFill(db,params,static_cast<connected_face_set*>(in));
  4031. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to closed_shell"); } return base;
  4032. }
  4033. // -----------------------------------------------------------------------------------------------------------
  4034. template <> size_t GenericFill<coaxiality_tolerance>(const DB& db, const LIST& params, coaxiality_tolerance* in)
  4035. {
  4036. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  4037. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to coaxiality_tolerance"); } return base;
  4038. }
  4039. // -----------------------------------------------------------------------------------------------------------
  4040. template <> size_t GenericFill<colour_specification>(const DB& db, const LIST& params, colour_specification* in)
  4041. {
  4042. size_t base = GenericFill(db,params,static_cast<colour*>(in));
  4043. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to colour_specification"); } do { // convert the 'name' argument
  4044. std::shared_ptr<const DataType> arg = params[base++];
  4045. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::colour_specification,1>::aux_is_derived[0]=true; break; }
  4046. try { GenericConvert( in->name, arg, db ); break; }
  4047. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to colour_specification to be a `label`")); }
  4048. } while(0);
  4049. return base;
  4050. }
  4051. // -----------------------------------------------------------------------------------------------------------
  4052. template <> size_t GenericFill<colour_rgb>(const DB& db, const LIST& params, colour_rgb* in)
  4053. {
  4054. size_t base = GenericFill(db,params,static_cast<colour_specification*>(in));
  4055. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to colour_rgb"); } do { // convert the 'red' argument
  4056. std::shared_ptr<const DataType> arg = params[base++];
  4057. try { GenericConvert( in->red, arg, db ); break; }
  4058. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to colour_rgb to be a `REAL`")); }
  4059. } while(0);
  4060. do { // convert the 'green' argument
  4061. std::shared_ptr<const DataType> arg = params[base++];
  4062. try { GenericConvert( in->green, arg, db ); break; }
  4063. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to colour_rgb to be a `REAL`")); }
  4064. } while(0);
  4065. do { // convert the 'blue' argument
  4066. std::shared_ptr<const DataType> arg = params[base++];
  4067. try { GenericConvert( in->blue, arg, db ); break; }
  4068. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to colour_rgb to be a `REAL`")); }
  4069. } while(0);
  4070. return base;
  4071. }
  4072. // -----------------------------------------------------------------------------------------------------------
  4073. template <> size_t GenericFill<common_datum>(const DB& db, const LIST& params, common_datum* in)
  4074. {
  4075. size_t base = 0;
  4076. return base;
  4077. }
  4078. // -----------------------------------------------------------------------------------------------------------
  4079. template <> size_t GenericFill<comparison_expression>(const DB& db, const LIST& params, comparison_expression* in)
  4080. {
  4081. size_t base = 0;
  4082. return base;
  4083. }
  4084. // -----------------------------------------------------------------------------------------------------------
  4085. template <> size_t GenericFill<complex_clause>(const DB& db, const LIST& params, complex_clause* in)
  4086. {
  4087. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  4088. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to complex_clause"); } return base;
  4089. }
  4090. // -----------------------------------------------------------------------------------------------------------
  4091. template <> size_t GenericFill<complex_conjunctive_clause>(const DB& db, const LIST& params, complex_conjunctive_clause* in)
  4092. {
  4093. size_t base = GenericFill(db,params,static_cast<complex_clause*>(in));
  4094. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to complex_conjunctive_clause"); } return base;
  4095. }
  4096. // -----------------------------------------------------------------------------------------------------------
  4097. template <> size_t GenericFill<complex_disjunctive_clause>(const DB& db, const LIST& params, complex_disjunctive_clause* in)
  4098. {
  4099. size_t base = GenericFill(db,params,static_cast<complex_clause*>(in));
  4100. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to complex_disjunctive_clause"); } return base;
  4101. }
  4102. // -----------------------------------------------------------------------------------------------------------
  4103. template <> size_t GenericFill<modified_solid>(const DB& db, const LIST& params, modified_solid* in)
  4104. {
  4105. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  4106. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to modified_solid"); } do { // convert the 'rationale' argument
  4107. std::shared_ptr<const DataType> arg = params[base++];
  4108. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::modified_solid,2>::aux_is_derived[0]=true; break; }
  4109. try { GenericConvert( in->rationale, arg, db ); break; }
  4110. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to modified_solid to be a `text`")); }
  4111. } while(0);
  4112. do { // convert the 'base_solid' argument
  4113. std::shared_ptr<const DataType> arg = params[base++];
  4114. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::modified_solid,2>::aux_is_derived[1]=true; break; }
  4115. try { GenericConvert( in->base_solid, arg, db ); break; }
  4116. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to modified_solid to be a `base_solid_select`")); }
  4117. } while(0);
  4118. return base;
  4119. }
  4120. // -----------------------------------------------------------------------------------------------------------
  4121. template <> size_t GenericFill<shelled_solid>(const DB& db, const LIST& params, shelled_solid* in)
  4122. {
  4123. size_t base = GenericFill(db,params,static_cast<modified_solid*>(in));
  4124. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to shelled_solid"); } do { // convert the 'deleted_face_set' argument
  4125. std::shared_ptr<const DataType> arg = params[base++];
  4126. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shelled_solid,2>::aux_is_derived[0]=true; break; }
  4127. try { GenericConvert( in->deleted_face_set, arg, db ); break; }
  4128. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to shelled_solid to be a `SET [1:?] OF face_surface`")); }
  4129. } while(0);
  4130. do { // convert the 'thickness' argument
  4131. std::shared_ptr<const DataType> arg = params[base++];
  4132. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::shelled_solid,2>::aux_is_derived[1]=true; break; }
  4133. try { GenericConvert( in->thickness, arg, db ); break; }
  4134. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to shelled_solid to be a `length_measure`")); }
  4135. } while(0);
  4136. return base;
  4137. }
  4138. // -----------------------------------------------------------------------------------------------------------
  4139. template <> size_t GenericFill<complex_shelled_solid>(const DB& db, const LIST& params, complex_shelled_solid* in)
  4140. {
  4141. size_t base = GenericFill(db,params,static_cast<shelled_solid*>(in));
  4142. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to complex_shelled_solid"); } do { // convert the 'thickness_list' argument
  4143. std::shared_ptr<const DataType> arg = params[base++];
  4144. try { GenericConvert( in->thickness_list, arg, db ); break; }
  4145. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to complex_shelled_solid to be a `LIST [1:?] OF length_measure`")); }
  4146. } while(0);
  4147. return base;
  4148. }
  4149. // -----------------------------------------------------------------------------------------------------------
  4150. template <> size_t GenericFill<composite_assembly_definition>(const DB& db, const LIST& params, composite_assembly_definition* in)
  4151. {
  4152. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  4153. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_assembly_definition"); } return base;
  4154. }
  4155. // -----------------------------------------------------------------------------------------------------------
  4156. template <> size_t GenericFill<composite_assembly_sequence_definition>(const DB& db, const LIST& params, composite_assembly_sequence_definition* in)
  4157. {
  4158. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  4159. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_assembly_sequence_definition"); } return base;
  4160. }
  4161. // -----------------------------------------------------------------------------------------------------------
  4162. template <> size_t GenericFill<laminate_table>(const DB& db, const LIST& params, laminate_table* in)
  4163. {
  4164. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  4165. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to laminate_table"); } return base;
  4166. }
  4167. // -----------------------------------------------------------------------------------------------------------
  4168. template <> size_t GenericFill<part_laminate_table>(const DB& db, const LIST& params, part_laminate_table* in)
  4169. {
  4170. size_t base = GenericFill(db,params,static_cast<laminate_table*>(in));
  4171. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to part_laminate_table"); } return base;
  4172. }
  4173. // -----------------------------------------------------------------------------------------------------------
  4174. template <> size_t GenericFill<composite_assembly_table>(const DB& db, const LIST& params, composite_assembly_table* in)
  4175. {
  4176. size_t base = GenericFill(db,params,static_cast<part_laminate_table*>(in));
  4177. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_assembly_table"); } return base;
  4178. }
  4179. // -----------------------------------------------------------------------------------------------------------
  4180. template <> size_t GenericFill<composite_curve_segment>(const DB& db, const LIST& params, composite_curve_segment* in)
  4181. {
  4182. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  4183. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_curve_segment"); } do { // convert the 'transition' argument
  4184. std::shared_ptr<const DataType> arg = params[base++];
  4185. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::composite_curve_segment,3>::aux_is_derived[0]=true; break; }
  4186. try { GenericConvert( in->transition, arg, db ); break; }
  4187. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to composite_curve_segment to be a `transition_code`")); }
  4188. } while(0);
  4189. do { // convert the 'same_sense' argument
  4190. std::shared_ptr<const DataType> arg = params[base++];
  4191. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::composite_curve_segment,3>::aux_is_derived[1]=true; break; }
  4192. try { GenericConvert( in->same_sense, arg, db ); break; }
  4193. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to composite_curve_segment to be a `BOOLEAN`")); }
  4194. } while(0);
  4195. do { // convert the 'parent_curve' argument
  4196. std::shared_ptr<const DataType> arg = params[base++];
  4197. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::composite_curve_segment,3>::aux_is_derived[2]=true; break; }
  4198. try { GenericConvert( in->parent_curve, arg, db ); break; }
  4199. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_curve_segment to be a `curve`")); }
  4200. } while(0);
  4201. return base;
  4202. }
  4203. // -----------------------------------------------------------------------------------------------------------
  4204. template <> size_t GenericFill<material_designation>(const DB& db, const LIST& params, material_designation* in)
  4205. {
  4206. size_t base = 0;
  4207. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to material_designation"); } do { // convert the 'name' argument
  4208. std::shared_ptr<const DataType> arg = params[base++];
  4209. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::material_designation,2>::aux_is_derived[0]=true; break; }
  4210. try { GenericConvert( in->name, arg, db ); break; }
  4211. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to material_designation to be a `label`")); }
  4212. } while(0);
  4213. do { // convert the 'definitions' argument
  4214. std::shared_ptr<const DataType> arg = params[base++];
  4215. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::material_designation,2>::aux_is_derived[1]=true; break; }
  4216. try { GenericConvert( in->definitions, arg, db ); break; }
  4217. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to material_designation to be a `SET [1:?] OF characterized_definition`")); }
  4218. } while(0);
  4219. return base;
  4220. }
  4221. // -----------------------------------------------------------------------------------------------------------
  4222. template <> size_t GenericFill<composite_material_designation>(const DB& db, const LIST& params, composite_material_designation* in)
  4223. {
  4224. size_t base = GenericFill(db,params,static_cast<material_designation*>(in));
  4225. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to composite_material_designation"); } return base;
  4226. }
  4227. // -----------------------------------------------------------------------------------------------------------
  4228. template <> size_t GenericFill<composite_shape_aspect>(const DB& db, const LIST& params, composite_shape_aspect* in)
  4229. {
  4230. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  4231. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_shape_aspect"); } return base;
  4232. }
  4233. // -----------------------------------------------------------------------------------------------------------
  4234. template <> size_t GenericFill<composite_sheet_representation>(const DB& db, const LIST& params, composite_sheet_representation* in)
  4235. {
  4236. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  4237. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_sheet_representation"); } return base;
  4238. }
  4239. // -----------------------------------------------------------------------------------------------------------
  4240. template <> size_t GenericFill<composite_text>(const DB& db, const LIST& params, composite_text* in)
  4241. {
  4242. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  4243. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to composite_text"); } do { // convert the 'collected_text' argument
  4244. std::shared_ptr<const DataType> arg = params[base++];
  4245. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::composite_text,1>::aux_is_derived[0]=true; break; }
  4246. try { GenericConvert( in->collected_text, arg, db ); break; }
  4247. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to composite_text to be a `SET [2:?] OF text_or_character`")); }
  4248. } while(0);
  4249. return base;
  4250. }
  4251. // -----------------------------------------------------------------------------------------------------------
  4252. template <> size_t GenericFill<composite_text_with_associated_curves>(const DB& db, const LIST& params, composite_text_with_associated_curves* in)
  4253. {
  4254. size_t base = GenericFill(db,params,static_cast<composite_text*>(in));
  4255. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_associated_curves"); } do { // convert the 'associated_curves' argument
  4256. std::shared_ptr<const DataType> arg = params[base++];
  4257. try { GenericConvert( in->associated_curves, arg, db ); break; }
  4258. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_associated_curves to be a `SET [1:?] OF curve`")); }
  4259. } while(0);
  4260. return base;
  4261. }
  4262. // -----------------------------------------------------------------------------------------------------------
  4263. template <> size_t GenericFill<composite_text_with_blanking_box>(const DB& db, const LIST& params, composite_text_with_blanking_box* in)
  4264. {
  4265. size_t base = GenericFill(db,params,static_cast<composite_text*>(in));
  4266. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_blanking_box"); } do { // convert the 'blanking' argument
  4267. std::shared_ptr<const DataType> arg = params[base++];
  4268. try { GenericConvert( in->blanking, arg, db ); break; }
  4269. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_blanking_box to be a `planar_box`")); }
  4270. } while(0);
  4271. return base;
  4272. }
  4273. // -----------------------------------------------------------------------------------------------------------
  4274. template <> size_t GenericFill<composite_text_with_delineation>(const DB& db, const LIST& params, composite_text_with_delineation* in)
  4275. {
  4276. size_t base = GenericFill(db,params,static_cast<composite_text*>(in));
  4277. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_delineation"); } do { // convert the 'delineation' argument
  4278. std::shared_ptr<const DataType> arg = params[base++];
  4279. try { GenericConvert( in->delineation, arg, db ); break; }
  4280. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_delineation to be a `text_delineation`")); }
  4281. } while(0);
  4282. return base;
  4283. }
  4284. // -----------------------------------------------------------------------------------------------------------
  4285. template <> size_t GenericFill<composite_text_with_extent>(const DB& db, const LIST& params, composite_text_with_extent* in)
  4286. {
  4287. size_t base = GenericFill(db,params,static_cast<composite_text*>(in));
  4288. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_extent"); } do { // convert the 'extent' argument
  4289. std::shared_ptr<const DataType> arg = params[base++];
  4290. try { GenericConvert( in->extent, arg, db ); break; }
  4291. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_extent to be a `planar_extent`")); }
  4292. } while(0);
  4293. return base;
  4294. }
  4295. // -----------------------------------------------------------------------------------------------------------
  4296. template <> size_t GenericFill<compound_shape_representation>(const DB& db, const LIST& params, compound_shape_representation* in)
  4297. {
  4298. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  4299. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to compound_shape_representation"); } return base;
  4300. }
  4301. // -----------------------------------------------------------------------------------------------------------
  4302. template <> size_t GenericFill<concentricity_tolerance>(const DB& db, const LIST& params, concentricity_tolerance* in)
  4303. {
  4304. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  4305. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to concentricity_tolerance"); } return base;
  4306. }
  4307. // -----------------------------------------------------------------------------------------------------------
  4308. template <> size_t GenericFill<concept_feature_relationship>(const DB& db, const LIST& params, concept_feature_relationship* in)
  4309. {
  4310. size_t base = 0;
  4311. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to concept_feature_relationship"); } do { // convert the 'name' argument
  4312. std::shared_ptr<const DataType> arg = params[base++];
  4313. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::concept_feature_relationship,4>::aux_is_derived[0]=true; break; }
  4314. try { GenericConvert( in->name, arg, db ); break; }
  4315. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to concept_feature_relationship to be a `label`")); }
  4316. } while(0);
  4317. do { // convert the 'description' argument
  4318. std::shared_ptr<const DataType> arg = params[base++];
  4319. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::concept_feature_relationship,4>::aux_is_derived[1]=true; break; }
  4320. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4321. try { GenericConvert( in->description, arg, db ); break; }
  4322. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to concept_feature_relationship to be a `text`")); }
  4323. } while(0);
  4324. do { // convert the 'relating_product_concept_feature' argument
  4325. std::shared_ptr<const DataType> arg = params[base++];
  4326. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::concept_feature_relationship,4>::aux_is_derived[2]=true; break; }
  4327. try { GenericConvert( in->relating_product_concept_feature, arg, db ); break; }
  4328. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to concept_feature_relationship to be a `product_concept_feature`")); }
  4329. } while(0);
  4330. do { // convert the 'related_product_concept_feature' argument
  4331. std::shared_ptr<const DataType> arg = params[base++];
  4332. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::concept_feature_relationship,4>::aux_is_derived[3]=true; break; }
  4333. try { GenericConvert( in->related_product_concept_feature, arg, db ); break; }
  4334. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to concept_feature_relationship to be a `product_concept_feature`")); }
  4335. } while(0);
  4336. return base;
  4337. }
  4338. // -----------------------------------------------------------------------------------------------------------
  4339. template <> size_t GenericFill<concept_feature_relationship_with_condition>(const DB& db, const LIST& params, concept_feature_relationship_with_condition* in)
  4340. {
  4341. size_t base = GenericFill(db,params,static_cast<concept_feature_relationship*>(in));
  4342. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to concept_feature_relationship_with_condition"); } do { // convert the 'conditional_operator' argument
  4343. std::shared_ptr<const DataType> arg = params[base++];
  4344. try { GenericConvert( in->conditional_operator, arg, db ); break; }
  4345. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to concept_feature_relationship_with_condition to be a `concept_feature_operator`")); }
  4346. } while(0);
  4347. return base;
  4348. }
  4349. // -----------------------------------------------------------------------------------------------------------
  4350. template <> size_t GenericFill<product_concept_feature>(const DB& db, const LIST& params, product_concept_feature* in)
  4351. {
  4352. size_t base = 0;
  4353. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_concept_feature"); } do { // convert the 'id' argument
  4354. std::shared_ptr<const DataType> arg = params[base++];
  4355. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_concept_feature,3>::aux_is_derived[0]=true; break; }
  4356. try { GenericConvert( in->id, arg, db ); break; }
  4357. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_concept_feature to be a `identifier`")); }
  4358. } while(0);
  4359. do { // convert the 'name' argument
  4360. std::shared_ptr<const DataType> arg = params[base++];
  4361. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_concept_feature,3>::aux_is_derived[1]=true; break; }
  4362. try { GenericConvert( in->name, arg, db ); break; }
  4363. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_concept_feature to be a `label`")); }
  4364. } while(0);
  4365. do { // convert the 'description' argument
  4366. std::shared_ptr<const DataType> arg = params[base++];
  4367. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_concept_feature,3>::aux_is_derived[2]=true; break; }
  4368. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4369. try { GenericConvert( in->description, arg, db ); break; }
  4370. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_concept_feature to be a `text`")); }
  4371. } while(0);
  4372. return base;
  4373. }
  4374. // -----------------------------------------------------------------------------------------------------------
  4375. template <> size_t GenericFill<conditional_concept_feature>(const DB& db, const LIST& params, conditional_concept_feature* in)
  4376. {
  4377. size_t base = GenericFill(db,params,static_cast<product_concept_feature*>(in));
  4378. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to conditional_concept_feature"); } do { // convert the 'condition' argument
  4379. std::shared_ptr<const DataType> arg = params[base++];
  4380. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::conditional_concept_feature,1>::aux_is_derived[0]=true; break; }
  4381. try { GenericConvert( in->condition, arg, db ); break; }
  4382. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to conditional_concept_feature to be a `concept_feature_relationship_with_condition`")); }
  4383. } while(0);
  4384. return base;
  4385. }
  4386. // -----------------------------------------------------------------------------------------------------------
  4387. template <> size_t GenericFill<conductance_measure_with_unit>(const DB& db, const LIST& params, conductance_measure_with_unit* in)
  4388. {
  4389. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  4390. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to conductance_measure_with_unit"); } return base;
  4391. }
  4392. // -----------------------------------------------------------------------------------------------------------
  4393. template <> size_t GenericFill<conductance_unit>(const DB& db, const LIST& params, conductance_unit* in)
  4394. {
  4395. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  4396. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to conductance_unit"); } return base;
  4397. }
  4398. // -----------------------------------------------------------------------------------------------------------
  4399. template <> size_t GenericFill<configuration_item>(const DB& db, const LIST& params, configuration_item* in)
  4400. {
  4401. size_t base = 0;
  4402. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to configuration_item"); } do { // convert the 'id' argument
  4403. std::shared_ptr<const DataType> arg = params[base++];
  4404. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item,5>::aux_is_derived[0]=true; break; }
  4405. try { GenericConvert( in->id, arg, db ); break; }
  4406. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to configuration_item to be a `identifier`")); }
  4407. } while(0);
  4408. do { // convert the 'name' argument
  4409. std::shared_ptr<const DataType> arg = params[base++];
  4410. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item,5>::aux_is_derived[1]=true; break; }
  4411. try { GenericConvert( in->name, arg, db ); break; }
  4412. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to configuration_item to be a `label`")); }
  4413. } while(0);
  4414. do { // convert the 'description' argument
  4415. std::shared_ptr<const DataType> arg = params[base++];
  4416. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item,5>::aux_is_derived[2]=true; break; }
  4417. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4418. try { GenericConvert( in->description, arg, db ); break; }
  4419. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configuration_item to be a `text`")); }
  4420. } while(0);
  4421. do { // convert the 'item_concept' argument
  4422. std::shared_ptr<const DataType> arg = params[base++];
  4423. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item,5>::aux_is_derived[3]=true; break; }
  4424. try { GenericConvert( in->item_concept, arg, db ); break; }
  4425. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to configuration_item to be a `product_concept`")); }
  4426. } while(0);
  4427. do { // convert the 'purpose' argument
  4428. std::shared_ptr<const DataType> arg = params[base++];
  4429. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item,5>::aux_is_derived[4]=true; break; }
  4430. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4431. try { GenericConvert( in->purpose, arg, db ); break; }
  4432. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to configuration_item to be a `label`")); }
  4433. } while(0);
  4434. return base;
  4435. }
  4436. // -----------------------------------------------------------------------------------------------------------
  4437. template <> size_t GenericFill<configurable_item>(const DB& db, const LIST& params, configurable_item* in)
  4438. {
  4439. size_t base = GenericFill(db,params,static_cast<configuration_item*>(in));
  4440. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to configurable_item"); } do { // convert the 'item_concept_feature' argument
  4441. std::shared_ptr<const DataType> arg = params[base++];
  4442. try { GenericConvert( in->item_concept_feature, arg, db ); break; }
  4443. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to configurable_item to be a `SET [1:?] OF product_concept_feature_association`")); }
  4444. } while(0);
  4445. return base;
  4446. }
  4447. // -----------------------------------------------------------------------------------------------------------
  4448. template <> size_t GenericFill<effectivity>(const DB& db, const LIST& params, effectivity* in)
  4449. {
  4450. size_t base = 0;
  4451. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to effectivity"); } do { // convert the 'id' argument
  4452. std::shared_ptr<const DataType> arg = params[base++];
  4453. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::effectivity,1>::aux_is_derived[0]=true; break; }
  4454. try { GenericConvert( in->id, arg, db ); break; }
  4455. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to effectivity to be a `identifier`")); }
  4456. } while(0);
  4457. return base;
  4458. }
  4459. // -----------------------------------------------------------------------------------------------------------
  4460. template <> size_t GenericFill<product_definition_effectivity>(const DB& db, const LIST& params, product_definition_effectivity* in)
  4461. {
  4462. size_t base = GenericFill(db,params,static_cast<effectivity*>(in));
  4463. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_definition_effectivity"); } do { // convert the 'usage' argument
  4464. std::shared_ptr<const DataType> arg = params[base++];
  4465. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_effectivity,1>::aux_is_derived[0]=true; break; }
  4466. try { GenericConvert( in->usage, arg, db ); break; }
  4467. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_effectivity to be a `product_definition_relationship`")); }
  4468. } while(0);
  4469. return base;
  4470. }
  4471. // -----------------------------------------------------------------------------------------------------------
  4472. template <> size_t GenericFill<configuration_effectivity>(const DB& db, const LIST& params, configuration_effectivity* in)
  4473. {
  4474. size_t base = GenericFill(db,params,static_cast<product_definition_effectivity*>(in));
  4475. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to configuration_effectivity"); } do { // convert the 'configuration' argument
  4476. std::shared_ptr<const DataType> arg = params[base++];
  4477. try { GenericConvert( in->configuration, arg, db ); break; }
  4478. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configuration_effectivity to be a `configuration_design`")); }
  4479. } while(0);
  4480. return base;
  4481. }
  4482. // -----------------------------------------------------------------------------------------------------------
  4483. template <> size_t GenericFill<configuration_item_relationship>(const DB& db, const LIST& params, configuration_item_relationship* in)
  4484. {
  4485. size_t base = 0;
  4486. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to configuration_item_relationship"); } do { // convert the 'name' argument
  4487. std::shared_ptr<const DataType> arg = params[base++];
  4488. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item_relationship,4>::aux_is_derived[0]=true; break; }
  4489. try { GenericConvert( in->name, arg, db ); break; }
  4490. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to configuration_item_relationship to be a `label`")); }
  4491. } while(0);
  4492. do { // convert the 'description' argument
  4493. std::shared_ptr<const DataType> arg = params[base++];
  4494. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item_relationship,4>::aux_is_derived[1]=true; break; }
  4495. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4496. try { GenericConvert( in->description, arg, db ); break; }
  4497. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to configuration_item_relationship to be a `text`")); }
  4498. } while(0);
  4499. do { // convert the 'relating_configuration_item' argument
  4500. std::shared_ptr<const DataType> arg = params[base++];
  4501. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item_relationship,4>::aux_is_derived[2]=true; break; }
  4502. try { GenericConvert( in->relating_configuration_item, arg, db ); break; }
  4503. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configuration_item_relationship to be a `configuration_item`")); }
  4504. } while(0);
  4505. do { // convert the 'related_configuration_item' argument
  4506. std::shared_ptr<const DataType> arg = params[base++];
  4507. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::configuration_item_relationship,4>::aux_is_derived[3]=true; break; }
  4508. try { GenericConvert( in->related_configuration_item, arg, db ); break; }
  4509. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to configuration_item_relationship to be a `configuration_item`")); }
  4510. } while(0);
  4511. return base;
  4512. }
  4513. // -----------------------------------------------------------------------------------------------------------
  4514. template <> size_t GenericFill<configuration_item_hierarchical_relationship>(const DB& db, const LIST& params, configuration_item_hierarchical_relationship* in)
  4515. {
  4516. size_t base = GenericFill(db,params,static_cast<configuration_item_relationship*>(in));
  4517. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to configuration_item_hierarchical_relationship"); } return base;
  4518. }
  4519. // -----------------------------------------------------------------------------------------------------------
  4520. template <> size_t GenericFill<configuration_item_revision_sequence>(const DB& db, const LIST& params, configuration_item_revision_sequence* in)
  4521. {
  4522. size_t base = GenericFill(db,params,static_cast<configuration_item_relationship*>(in));
  4523. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to configuration_item_revision_sequence"); } return base;
  4524. }
  4525. // -----------------------------------------------------------------------------------------------------------
  4526. template <> size_t GenericFill<configured_effectivity_assignment>(const DB& db, const LIST& params, configured_effectivity_assignment* in)
  4527. {
  4528. size_t base = GenericFill(db,params,static_cast<effectivity_assignment*>(in));
  4529. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to configured_effectivity_assignment"); } do { // convert the 'items' argument
  4530. std::shared_ptr<const DataType> arg = params[base++];
  4531. try { GenericConvert( in->items, arg, db ); break; }
  4532. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to configured_effectivity_assignment to be a `SET [1:?] OF configured_effectivity_item`")); }
  4533. } while(0);
  4534. return base;
  4535. }
  4536. // -----------------------------------------------------------------------------------------------------------
  4537. template <> size_t GenericFill<configured_effectivity_context_assignment>(const DB& db, const LIST& params, configured_effectivity_context_assignment* in)
  4538. {
  4539. size_t base = GenericFill(db,params,static_cast<effectivity_context_assignment*>(in));
  4540. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to configured_effectivity_context_assignment"); } do { // convert the 'items' argument
  4541. std::shared_ptr<const DataType> arg = params[base++];
  4542. try { GenericConvert( in->items, arg, db ); break; }
  4543. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configured_effectivity_context_assignment to be a `SET [1:?] OF configured_effectivity_context_item`")); }
  4544. } while(0);
  4545. return base;
  4546. }
  4547. // -----------------------------------------------------------------------------------------------------------
  4548. template <> size_t GenericFill<conical_stepped_hole_transition>(const DB& db, const LIST& params, conical_stepped_hole_transition* in)
  4549. {
  4550. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  4551. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to conical_stepped_hole_transition"); } do { // convert the 'transition_number' argument
  4552. std::shared_ptr<const DataType> arg = params[base++];
  4553. try { GenericConvert( in->transition_number, arg, db ); break; }
  4554. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to conical_stepped_hole_transition to be a `positive_integer`")); }
  4555. } while(0);
  4556. do { // convert the 'cone_apex_angle' argument
  4557. std::shared_ptr<const DataType> arg = params[base++];
  4558. try { GenericConvert( in->cone_apex_angle, arg, db ); break; }
  4559. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to conical_stepped_hole_transition to be a `plane_angle_measure`")); }
  4560. } while(0);
  4561. do { // convert the 'cone_base_radius' argument
  4562. std::shared_ptr<const DataType> arg = params[base++];
  4563. try { GenericConvert( in->cone_base_radius, arg, db ); break; }
  4564. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to conical_stepped_hole_transition to be a `positive_length_measure`")); }
  4565. } while(0);
  4566. return base;
  4567. }
  4568. // -----------------------------------------------------------------------------------------------------------
  4569. template <> size_t GenericFill<elementary_surface>(const DB& db, const LIST& params, elementary_surface* in)
  4570. {
  4571. size_t base = GenericFill(db,params,static_cast<surface*>(in));
  4572. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to elementary_surface"); } do { // convert the 'position' argument
  4573. std::shared_ptr<const DataType> arg = params[base++];
  4574. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::elementary_surface,1>::aux_is_derived[0]=true; break; }
  4575. try { GenericConvert( in->position, arg, db ); break; }
  4576. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to elementary_surface to be a `axis2_placement_3d`")); }
  4577. } while(0);
  4578. return base;
  4579. }
  4580. // -----------------------------------------------------------------------------------------------------------
  4581. template <> size_t GenericFill<conical_surface>(const DB& db, const LIST& params, conical_surface* in)
  4582. {
  4583. size_t base = GenericFill(db,params,static_cast<elementary_surface*>(in));
  4584. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to conical_surface"); } do { // convert the 'radius' argument
  4585. std::shared_ptr<const DataType> arg = params[base++];
  4586. try { GenericConvert( in->radius, arg, db ); break; }
  4587. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to conical_surface to be a `length_measure`")); }
  4588. } while(0);
  4589. do { // convert the 'semi_angle' argument
  4590. std::shared_ptr<const DataType> arg = params[base++];
  4591. try { GenericConvert( in->semi_angle, arg, db ); break; }
  4592. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to conical_surface to be a `plane_angle_measure`")); }
  4593. } while(0);
  4594. return base;
  4595. }
  4596. // -----------------------------------------------------------------------------------------------------------
  4597. template <> size_t GenericFill<connected_edge_set>(const DB& db, const LIST& params, connected_edge_set* in)
  4598. {
  4599. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  4600. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to connected_edge_set"); } do { // convert the 'ces_edges' argument
  4601. std::shared_ptr<const DataType> arg = params[base++];
  4602. try { GenericConvert( in->ces_edges, arg, db ); break; }
  4603. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to connected_edge_set to be a `SET [1:?] OF edge`")); }
  4604. } while(0);
  4605. return base;
  4606. }
  4607. // -----------------------------------------------------------------------------------------------------------
  4608. template <> size_t GenericFill<connected_face_sub_set>(const DB& db, const LIST& params, connected_face_sub_set* in)
  4609. {
  4610. size_t base = GenericFill(db,params,static_cast<connected_face_set*>(in));
  4611. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to connected_face_sub_set"); } do { // convert the 'parent_face_set' argument
  4612. std::shared_ptr<const DataType> arg = params[base++];
  4613. try { GenericConvert( in->parent_face_set, arg, db ); break; }
  4614. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to connected_face_sub_set to be a `connected_face_set`")); }
  4615. } while(0);
  4616. return base;
  4617. }
  4618. // -----------------------------------------------------------------------------------------------------------
  4619. template <> size_t GenericFill<constructive_geometry_representation>(const DB& db, const LIST& params, constructive_geometry_representation* in)
  4620. {
  4621. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  4622. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to constructive_geometry_representation"); } return base;
  4623. }
  4624. // -----------------------------------------------------------------------------------------------------------
  4625. template <> size_t GenericFill<representation_relationship>(const DB& db, const LIST& params, representation_relationship* in)
  4626. {
  4627. size_t base = 0;
  4628. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to representation_relationship"); } do { // convert the 'name' argument
  4629. std::shared_ptr<const DataType> arg = params[base++];
  4630. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_relationship,4>::aux_is_derived[0]=true; break; }
  4631. try { GenericConvert( in->name, arg, db ); break; }
  4632. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_relationship to be a `label`")); }
  4633. } while(0);
  4634. do { // convert the 'description' argument
  4635. std::shared_ptr<const DataType> arg = params[base++];
  4636. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_relationship,4>::aux_is_derived[1]=true; break; }
  4637. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4638. try { GenericConvert( in->description, arg, db ); break; }
  4639. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_relationship to be a `text`")); }
  4640. } while(0);
  4641. do { // convert the 'rep_1' argument
  4642. std::shared_ptr<const DataType> arg = params[base++];
  4643. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_relationship,4>::aux_is_derived[2]=true; break; }
  4644. try { GenericConvert( in->rep_1, arg, db ); break; }
  4645. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to representation_relationship to be a `representation`")); }
  4646. } while(0);
  4647. do { // convert the 'rep_2' argument
  4648. std::shared_ptr<const DataType> arg = params[base++];
  4649. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_relationship,4>::aux_is_derived[3]=true; break; }
  4650. try { GenericConvert( in->rep_2, arg, db ); break; }
  4651. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to representation_relationship to be a `representation`")); }
  4652. } while(0);
  4653. return base;
  4654. }
  4655. // -----------------------------------------------------------------------------------------------------------
  4656. template <> size_t GenericFill<constructive_geometry_representation_relationship>(const DB& db, const LIST& params, constructive_geometry_representation_relationship* in)
  4657. {
  4658. size_t base = GenericFill(db,params,static_cast<representation_relationship*>(in));
  4659. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to constructive_geometry_representation_relationship"); } return base;
  4660. }
  4661. // -----------------------------------------------------------------------------------------------------------
  4662. template <> size_t GenericFill<contact_ratio_representation>(const DB& db, const LIST& params, contact_ratio_representation* in)
  4663. {
  4664. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  4665. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to contact_ratio_representation"); } return base;
  4666. }
  4667. // -----------------------------------------------------------------------------------------------------------
  4668. template <> size_t GenericFill<invisibility>(const DB& db, const LIST& params, invisibility* in)
  4669. {
  4670. size_t base = 0;
  4671. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to invisibility"); } do { // convert the 'invisible_items' argument
  4672. std::shared_ptr<const DataType> arg = params[base++];
  4673. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::invisibility,1>::aux_is_derived[0]=true; break; }
  4674. try { GenericConvert( in->invisible_items, arg, db ); break; }
  4675. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to invisibility to be a `SET [1:?] OF invisible_item`")); }
  4676. } while(0);
  4677. return base;
  4678. }
  4679. // -----------------------------------------------------------------------------------------------------------
  4680. template <> size_t GenericFill<context_dependent_invisibility>(const DB& db, const LIST& params, context_dependent_invisibility* in)
  4681. {
  4682. size_t base = GenericFill(db,params,static_cast<invisibility*>(in));
  4683. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to context_dependent_invisibility"); } do { // convert the 'presentation_context' argument
  4684. std::shared_ptr<const DataType> arg = params[base++];
  4685. try { GenericConvert( in->presentation_context, arg, db ); break; }
  4686. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to context_dependent_invisibility to be a `invisibility_context`")); }
  4687. } while(0);
  4688. return base;
  4689. }
  4690. // -----------------------------------------------------------------------------------------------------------
  4691. template <> size_t GenericFill<over_riding_styled_item>(const DB& db, const LIST& params, over_riding_styled_item* in)
  4692. {
  4693. size_t base = GenericFill(db,params,static_cast<styled_item*>(in));
  4694. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to over_riding_styled_item"); } do { // convert the 'over_ridden_style' argument
  4695. std::shared_ptr<const DataType> arg = params[base++];
  4696. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::over_riding_styled_item,1>::aux_is_derived[0]=true; break; }
  4697. try { GenericConvert( in->over_ridden_style, arg, db ); break; }
  4698. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to over_riding_styled_item to be a `styled_item`")); }
  4699. } while(0);
  4700. return base;
  4701. }
  4702. // -----------------------------------------------------------------------------------------------------------
  4703. template <> size_t GenericFill<context_dependent_over_riding_styled_item>(const DB& db, const LIST& params, context_dependent_over_riding_styled_item* in)
  4704. {
  4705. size_t base = GenericFill(db,params,static_cast<over_riding_styled_item*>(in));
  4706. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to context_dependent_over_riding_styled_item"); } do { // convert the 'style_context' argument
  4707. std::shared_ptr<const DataType> arg = params[base++];
  4708. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::context_dependent_over_riding_styled_item,1>::aux_is_derived[0]=true; break; }
  4709. try { GenericConvert( in->style_context, arg, db ); break; }
  4710. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to context_dependent_over_riding_styled_item to be a `LIST [1:?] OF style_context_select`")); }
  4711. } while(0);
  4712. return base;
  4713. }
  4714. // -----------------------------------------------------------------------------------------------------------
  4715. template <> size_t GenericFill<context_dependent_unit>(const DB& db, const LIST& params, context_dependent_unit* in)
  4716. {
  4717. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  4718. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to context_dependent_unit"); } do { // convert the 'name' argument
  4719. std::shared_ptr<const DataType> arg = params[base++];
  4720. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::context_dependent_unit,1>::aux_is_derived[0]=true; break; }
  4721. try { GenericConvert( in->name, arg, db ); break; }
  4722. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to context_dependent_unit to be a `label`")); }
  4723. } while(0);
  4724. return base;
  4725. }
  4726. // -----------------------------------------------------------------------------------------------------------
  4727. template <> size_t GenericFill<conversion_based_unit>(const DB& db, const LIST& params, conversion_based_unit* in)
  4728. {
  4729. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  4730. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to conversion_based_unit"); } do { // convert the 'name' argument
  4731. std::shared_ptr<const DataType> arg = params[base++];
  4732. try { GenericConvert( in->name, arg, db ); break; }
  4733. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to conversion_based_unit to be a `label`")); }
  4734. } while(0);
  4735. do { // convert the 'conversion_factor' argument
  4736. std::shared_ptr<const DataType> arg = params[base++];
  4737. try { GenericConvert( in->conversion_factor, arg, db ); break; }
  4738. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to conversion_based_unit to be a `measure_with_unit`")); }
  4739. } while(0);
  4740. return base;
  4741. }
  4742. // -----------------------------------------------------------------------------------------------------------
  4743. template <> size_t GenericFill<csg_shape_representation>(const DB& db, const LIST& params, csg_shape_representation* in)
  4744. {
  4745. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  4746. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to csg_shape_representation"); } return base;
  4747. }
  4748. // -----------------------------------------------------------------------------------------------------------
  4749. template <> size_t GenericFill<csg_solid>(const DB& db, const LIST& params, csg_solid* in)
  4750. {
  4751. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  4752. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to csg_solid"); } do { // convert the 'tree_root_expression' argument
  4753. std::shared_ptr<const DataType> arg = params[base++];
  4754. try { GenericConvert( in->tree_root_expression, arg, db ); break; }
  4755. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to csg_solid to be a `csg_select`")); }
  4756. } while(0);
  4757. return base;
  4758. }
  4759. // -----------------------------------------------------------------------------------------------------------
  4760. template <> size_t GenericFill<currency>(const DB& db, const LIST& params, currency* in)
  4761. {
  4762. size_t base = GenericFill(db,params,static_cast<context_dependent_unit*>(in));
  4763. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to currency"); } return base;
  4764. }
  4765. // -----------------------------------------------------------------------------------------------------------
  4766. template <> size_t GenericFill<currency_measure_with_unit>(const DB& db, const LIST& params, currency_measure_with_unit* in)
  4767. {
  4768. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  4769. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to currency_measure_with_unit"); } return base;
  4770. }
  4771. // -----------------------------------------------------------------------------------------------------------
  4772. template <> size_t GenericFill<curve_bounded_surface>(const DB& db, const LIST& params, curve_bounded_surface* in)
  4773. {
  4774. size_t base = GenericFill(db,params,static_cast<bounded_surface*>(in));
  4775. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to curve_bounded_surface"); } do { // convert the 'basis_surface' argument
  4776. std::shared_ptr<const DataType> arg = params[base++];
  4777. try { GenericConvert( in->basis_surface, arg, db ); break; }
  4778. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_bounded_surface to be a `surface`")); }
  4779. } while(0);
  4780. do { // convert the 'boundaries' argument
  4781. std::shared_ptr<const DataType> arg = params[base++];
  4782. try { GenericConvert( in->boundaries, arg, db ); break; }
  4783. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_bounded_surface to be a `SET [1:?] OF boundary_curve`")); }
  4784. } while(0);
  4785. do { // convert the 'implicit_outer' argument
  4786. std::shared_ptr<const DataType> arg = params[base++];
  4787. try { GenericConvert( in->implicit_outer, arg, db ); break; }
  4788. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to curve_bounded_surface to be a `BOOLEAN`")); }
  4789. } while(0);
  4790. return base;
  4791. }
  4792. // -----------------------------------------------------------------------------------------------------------
  4793. template <> size_t GenericFill<curve_dimension>(const DB& db, const LIST& params, curve_dimension* in)
  4794. {
  4795. size_t base = GenericFill(db,params,static_cast<dimension_curve_directed_callout*>(in));
  4796. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to curve_dimension"); } return base;
  4797. }
  4798. // -----------------------------------------------------------------------------------------------------------
  4799. template <> size_t GenericFill<curve_replica>(const DB& db, const LIST& params, curve_replica* in)
  4800. {
  4801. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  4802. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to curve_replica"); } do { // convert the 'parent_curve' argument
  4803. std::shared_ptr<const DataType> arg = params[base++];
  4804. try { GenericConvert( in->parent_curve, arg, db ); break; }
  4805. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_replica to be a `curve`")); }
  4806. } while(0);
  4807. do { // convert the 'transformation' argument
  4808. std::shared_ptr<const DataType> arg = params[base++];
  4809. try { GenericConvert( in->transformation, arg, db ); break; }
  4810. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_replica to be a `cartesian_transformation_operator`")); }
  4811. } while(0);
  4812. return base;
  4813. }
  4814. // -----------------------------------------------------------------------------------------------------------
  4815. template <> size_t GenericFill<curve_style>(const DB& db, const LIST& params, curve_style* in)
  4816. {
  4817. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  4818. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to curve_style"); } do { // convert the 'name' argument
  4819. std::shared_ptr<const DataType> arg = params[base++];
  4820. try { GenericConvert( in->name, arg, db ); break; }
  4821. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style to be a `label`")); }
  4822. } while(0);
  4823. do { // convert the 'curve_font' argument
  4824. std::shared_ptr<const DataType> arg = params[base++];
  4825. try { GenericConvert( in->curve_font, arg, db ); break; }
  4826. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style to be a `curve_font_or_scaled_curve_font_select`")); }
  4827. } while(0);
  4828. do { // convert the 'curve_width' argument
  4829. std::shared_ptr<const DataType> arg = params[base++];
  4830. try { GenericConvert( in->curve_width, arg, db ); break; }
  4831. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_style to be a `size_select`")); }
  4832. } while(0);
  4833. do { // convert the 'curve_colour' argument
  4834. std::shared_ptr<const DataType> arg = params[base++];
  4835. try { GenericConvert( in->curve_colour, arg, db ); break; }
  4836. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to curve_style to be a `colour`")); }
  4837. } while(0);
  4838. return base;
  4839. }
  4840. // -----------------------------------------------------------------------------------------------------------
  4841. template <> size_t GenericFill<curve_style_font>(const DB& db, const LIST& params, curve_style_font* in)
  4842. {
  4843. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  4844. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to curve_style_font"); } do { // convert the 'name' argument
  4845. std::shared_ptr<const DataType> arg = params[base++];
  4846. try { GenericConvert( in->name, arg, db ); break; }
  4847. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style_font to be a `label`")); }
  4848. } while(0);
  4849. do { // convert the 'pattern_list' argument
  4850. std::shared_ptr<const DataType> arg = params[base++];
  4851. try { GenericConvert( in->pattern_list, arg, db ); break; }
  4852. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style_font to be a `LIST [1:?] OF curve_style_font_pattern`")); }
  4853. } while(0);
  4854. return base;
  4855. }
  4856. // -----------------------------------------------------------------------------------------------------------
  4857. template <> size_t GenericFill<curve_style_font_and_scaling>(const DB& db, const LIST& params, curve_style_font_and_scaling* in)
  4858. {
  4859. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  4860. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to curve_style_font_and_scaling"); } do { // convert the 'name' argument
  4861. std::shared_ptr<const DataType> arg = params[base++];
  4862. try { GenericConvert( in->name, arg, db ); break; }
  4863. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style_font_and_scaling to be a `label`")); }
  4864. } while(0);
  4865. do { // convert the 'curve_font' argument
  4866. std::shared_ptr<const DataType> arg = params[base++];
  4867. try { GenericConvert( in->curve_font, arg, db ); break; }
  4868. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style_font_and_scaling to be a `curve_style_font_select`")); }
  4869. } while(0);
  4870. do { // convert the 'curve_font_scaling' argument
  4871. std::shared_ptr<const DataType> arg = params[base++];
  4872. try { GenericConvert( in->curve_font_scaling, arg, db ); break; }
  4873. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_style_font_and_scaling to be a `REAL`")); }
  4874. } while(0);
  4875. return base;
  4876. }
  4877. // -----------------------------------------------------------------------------------------------------------
  4878. template <> size_t GenericFill<curve_style_font_pattern>(const DB& db, const LIST& params, curve_style_font_pattern* in)
  4879. {
  4880. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  4881. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to curve_style_font_pattern"); } do { // convert the 'visible_segment_length' argument
  4882. std::shared_ptr<const DataType> arg = params[base++];
  4883. try { GenericConvert( in->visible_segment_length, arg, db ); break; }
  4884. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style_font_pattern to be a `positive_length_measure`")); }
  4885. } while(0);
  4886. do { // convert the 'invisible_segment_length' argument
  4887. std::shared_ptr<const DataType> arg = params[base++];
  4888. try { GenericConvert( in->invisible_segment_length, arg, db ); break; }
  4889. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style_font_pattern to be a `positive_length_measure`")); }
  4890. } while(0);
  4891. return base;
  4892. }
  4893. // -----------------------------------------------------------------------------------------------------------
  4894. template <> size_t GenericFill<curve_swept_solid_shape_representation>(const DB& db, const LIST& params, curve_swept_solid_shape_representation* in)
  4895. {
  4896. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  4897. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to curve_swept_solid_shape_representation"); } return base;
  4898. }
  4899. // -----------------------------------------------------------------------------------------------------------
  4900. template <> size_t GenericFill<cylindrical_surface>(const DB& db, const LIST& params, cylindrical_surface* in)
  4901. {
  4902. size_t base = GenericFill(db,params,static_cast<elementary_surface*>(in));
  4903. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cylindrical_surface"); } do { // convert the 'radius' argument
  4904. std::shared_ptr<const DataType> arg = params[base++];
  4905. try { GenericConvert( in->radius, arg, db ); break; }
  4906. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cylindrical_surface to be a `positive_length_measure`")); }
  4907. } while(0);
  4908. return base;
  4909. }
  4910. // -----------------------------------------------------------------------------------------------------------
  4911. template <> size_t GenericFill<cylindricity_tolerance>(const DB& db, const LIST& params, cylindricity_tolerance* in)
  4912. {
  4913. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  4914. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to cylindricity_tolerance"); } return base;
  4915. }
  4916. // -----------------------------------------------------------------------------------------------------------
  4917. template <> size_t GenericFill<date_representation_item>(const DB& db, const LIST& params, date_representation_item* in)
  4918. {
  4919. size_t base = 0;
  4920. return base;
  4921. }
  4922. // -----------------------------------------------------------------------------------------------------------
  4923. template <> size_t GenericFill<date_time_representation_item>(const DB& db, const LIST& params, date_time_representation_item* in)
  4924. {
  4925. size_t base = 0;
  4926. return base;
  4927. }
  4928. // -----------------------------------------------------------------------------------------------------------
  4929. template <> size_t GenericFill<dated_effectivity>(const DB& db, const LIST& params, dated_effectivity* in)
  4930. {
  4931. size_t base = GenericFill(db,params,static_cast<effectivity*>(in));
  4932. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to dated_effectivity"); } do { // convert the 'effectivity_end_date' argument
  4933. std::shared_ptr<const DataType> arg = params[base++];
  4934. if (dynamic_cast<const UNSET*>(&*arg)) break;
  4935. try { GenericConvert( in->effectivity_end_date, arg, db ); break; }
  4936. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to dated_effectivity to be a `date_time_or_event_occurrence`")); }
  4937. } while(0);
  4938. do { // convert the 'effectivity_start_date' argument
  4939. std::shared_ptr<const DataType> arg = params[base++];
  4940. try { GenericConvert( in->effectivity_start_date, arg, db ); break; }
  4941. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to dated_effectivity to be a `date_time_or_event_occurrence`")); }
  4942. } while(0);
  4943. return base;
  4944. }
  4945. // -----------------------------------------------------------------------------------------------------------
  4946. template <> size_t GenericFill<datum>(const DB& db, const LIST& params, datum* in)
  4947. {
  4948. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  4949. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to datum"); } do { // convert the 'identification' argument
  4950. std::shared_ptr<const DataType> arg = params[base++];
  4951. try { GenericConvert( in->identification, arg, db ); break; }
  4952. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to datum to be a `identifier`")); }
  4953. } while(0);
  4954. return base;
  4955. }
  4956. // -----------------------------------------------------------------------------------------------------------
  4957. template <> size_t GenericFill<datum_feature>(const DB& db, const LIST& params, datum_feature* in)
  4958. {
  4959. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  4960. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to datum_feature"); } return base;
  4961. }
  4962. // -----------------------------------------------------------------------------------------------------------
  4963. template <> size_t GenericFill<datum_feature_callout>(const DB& db, const LIST& params, datum_feature_callout* in)
  4964. {
  4965. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  4966. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to datum_feature_callout"); } return base;
  4967. }
  4968. // -----------------------------------------------------------------------------------------------------------
  4969. template <> size_t GenericFill<datum_reference>(const DB& db, const LIST& params, datum_reference* in)
  4970. {
  4971. size_t base = 0;
  4972. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to datum_reference"); } do { // convert the 'precedence' argument
  4973. std::shared_ptr<const DataType> arg = params[base++];
  4974. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::datum_reference,2>::aux_is_derived[0]=true; break; }
  4975. try { GenericConvert( in->precedence, arg, db ); break; }
  4976. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to datum_reference to be a `INTEGER`")); }
  4977. } while(0);
  4978. do { // convert the 'referenced_datum' argument
  4979. std::shared_ptr<const DataType> arg = params[base++];
  4980. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::datum_reference,2>::aux_is_derived[1]=true; break; }
  4981. try { GenericConvert( in->referenced_datum, arg, db ); break; }
  4982. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to datum_reference to be a `datum`")); }
  4983. } while(0);
  4984. return base;
  4985. }
  4986. // -----------------------------------------------------------------------------------------------------------
  4987. template <> size_t GenericFill<datum_target>(const DB& db, const LIST& params, datum_target* in)
  4988. {
  4989. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  4990. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to datum_target"); } do { // convert the 'target_id' argument
  4991. std::shared_ptr<const DataType> arg = params[base++];
  4992. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::datum_target,1>::aux_is_derived[0]=true; break; }
  4993. try { GenericConvert( in->target_id, arg, db ); break; }
  4994. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to datum_target to be a `identifier`")); }
  4995. } while(0);
  4996. return base;
  4997. }
  4998. // -----------------------------------------------------------------------------------------------------------
  4999. template <> size_t GenericFill<datum_target_callout>(const DB& db, const LIST& params, datum_target_callout* in)
  5000. {
  5001. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  5002. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to datum_target_callout"); } return base;
  5003. }
  5004. // -----------------------------------------------------------------------------------------------------------
  5005. template <> size_t GenericFill<default_tolerance_table>(const DB& db, const LIST& params, default_tolerance_table* in)
  5006. {
  5007. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  5008. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to default_tolerance_table"); } return base;
  5009. }
  5010. // -----------------------------------------------------------------------------------------------------------
  5011. template <> size_t GenericFill<default_tolerance_table_cell>(const DB& db, const LIST& params, default_tolerance_table_cell* in)
  5012. {
  5013. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  5014. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to default_tolerance_table_cell"); } return base;
  5015. }
  5016. // -----------------------------------------------------------------------------------------------------------
  5017. template <> size_t GenericFill<defined_symbol>(const DB& db, const LIST& params, defined_symbol* in)
  5018. {
  5019. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  5020. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to defined_symbol"); } do { // convert the 'definition' argument
  5021. std::shared_ptr<const DataType> arg = params[base++];
  5022. try { GenericConvert( in->definition, arg, db ); break; }
  5023. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to defined_symbol to be a `defined_symbol_select`")); }
  5024. } while(0);
  5025. do { // convert the 'target' argument
  5026. std::shared_ptr<const DataType> arg = params[base++];
  5027. try { GenericConvert( in->target, arg, db ); break; }
  5028. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to defined_symbol to be a `symbol_target`")); }
  5029. } while(0);
  5030. return base;
  5031. }
  5032. // -----------------------------------------------------------------------------------------------------------
  5033. template <> size_t GenericFill<definitional_representation>(const DB& db, const LIST& params, definitional_representation* in)
  5034. {
  5035. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  5036. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to definitional_representation"); } return base;
  5037. }
  5038. // -----------------------------------------------------------------------------------------------------------
  5039. template <> size_t GenericFill<definitional_representation_relationship>(const DB& db, const LIST& params, definitional_representation_relationship* in)
  5040. {
  5041. size_t base = GenericFill(db,params,static_cast<representation_relationship*>(in));
  5042. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to definitional_representation_relationship"); } return base;
  5043. }
  5044. // -----------------------------------------------------------------------------------------------------------
  5045. template <> size_t GenericFill<definitional_representation_relationship_with_same_context>(const DB& db, const LIST& params, definitional_representation_relationship_with_same_context* in)
  5046. {
  5047. size_t base = GenericFill(db,params,static_cast<definitional_representation_relationship*>(in));
  5048. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to definitional_representation_relationship_with_same_context"); } return base;
  5049. }
  5050. // -----------------------------------------------------------------------------------------------------------
  5051. template <> size_t GenericFill<degenerate_pcurve>(const DB& db, const LIST& params, degenerate_pcurve* in)
  5052. {
  5053. size_t base = GenericFill(db,params,static_cast<point*>(in));
  5054. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to degenerate_pcurve"); } do { // convert the 'basis_surface' argument
  5055. std::shared_ptr<const DataType> arg = params[base++];
  5056. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::degenerate_pcurve,2>::aux_is_derived[0]=true; break; }
  5057. try { GenericConvert( in->basis_surface, arg, db ); break; }
  5058. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to degenerate_pcurve to be a `surface`")); }
  5059. } while(0);
  5060. do { // convert the 'reference_to_curve' argument
  5061. std::shared_ptr<const DataType> arg = params[base++];
  5062. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::degenerate_pcurve,2>::aux_is_derived[1]=true; break; }
  5063. try { GenericConvert( in->reference_to_curve, arg, db ); break; }
  5064. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to degenerate_pcurve to be a `definitional_representation`")); }
  5065. } while(0);
  5066. return base;
  5067. }
  5068. // -----------------------------------------------------------------------------------------------------------
  5069. template <> size_t GenericFill<toroidal_surface>(const DB& db, const LIST& params, toroidal_surface* in)
  5070. {
  5071. size_t base = GenericFill(db,params,static_cast<elementary_surface*>(in));
  5072. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to toroidal_surface"); } do { // convert the 'major_radius' argument
  5073. std::shared_ptr<const DataType> arg = params[base++];
  5074. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::toroidal_surface,2>::aux_is_derived[0]=true; break; }
  5075. try { GenericConvert( in->major_radius, arg, db ); break; }
  5076. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to toroidal_surface to be a `positive_length_measure`")); }
  5077. } while(0);
  5078. do { // convert the 'minor_radius' argument
  5079. std::shared_ptr<const DataType> arg = params[base++];
  5080. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::toroidal_surface,2>::aux_is_derived[1]=true; break; }
  5081. try { GenericConvert( in->minor_radius, arg, db ); break; }
  5082. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to toroidal_surface to be a `positive_length_measure`")); }
  5083. } while(0);
  5084. return base;
  5085. }
  5086. // -----------------------------------------------------------------------------------------------------------
  5087. template <> size_t GenericFill<degenerate_toroidal_surface>(const DB& db, const LIST& params, degenerate_toroidal_surface* in)
  5088. {
  5089. size_t base = GenericFill(db,params,static_cast<toroidal_surface*>(in));
  5090. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to degenerate_toroidal_surface"); } do { // convert the 'select_outer' argument
  5091. std::shared_ptr<const DataType> arg = params[base++];
  5092. try { GenericConvert( in->select_outer, arg, db ); break; }
  5093. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to degenerate_toroidal_surface to be a `BOOLEAN`")); }
  5094. } while(0);
  5095. return base;
  5096. }
  5097. // -----------------------------------------------------------------------------------------------------------
  5098. template <> size_t GenericFill<descriptive_representation_item>(const DB& db, const LIST& params, descriptive_representation_item* in)
  5099. {
  5100. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  5101. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to descriptive_representation_item"); } do { // convert the 'description' argument
  5102. std::shared_ptr<const DataType> arg = params[base++];
  5103. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::descriptive_representation_item,1>::aux_is_derived[0]=true; break; }
  5104. try { GenericConvert( in->description, arg, db ); break; }
  5105. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to descriptive_representation_item to be a `text`")); }
  5106. } while(0);
  5107. return base;
  5108. }
  5109. // -----------------------------------------------------------------------------------------------------------
  5110. template <> size_t GenericFill<product_definition_context>(const DB& db, const LIST& params, product_definition_context* in)
  5111. {
  5112. size_t base = GenericFill(db,params,static_cast<application_context_element*>(in));
  5113. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_definition_context"); } do { // convert the 'life_cycle_stage' argument
  5114. std::shared_ptr<const DataType> arg = params[base++];
  5115. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_context,1>::aux_is_derived[0]=true; break; }
  5116. try { GenericConvert( in->life_cycle_stage, arg, db ); break; }
  5117. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition_context to be a `label`")); }
  5118. } while(0);
  5119. return base;
  5120. }
  5121. // -----------------------------------------------------------------------------------------------------------
  5122. template <> size_t GenericFill<design_context>(const DB& db, const LIST& params, design_context* in)
  5123. {
  5124. size_t base = GenericFill(db,params,static_cast<product_definition_context*>(in));
  5125. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to design_context"); } return base;
  5126. }
  5127. // -----------------------------------------------------------------------------------------------------------
  5128. template <> size_t GenericFill<design_make_from_relationship>(const DB& db, const LIST& params, design_make_from_relationship* in)
  5129. {
  5130. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  5131. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to design_make_from_relationship"); } return base;
  5132. }
  5133. // -----------------------------------------------------------------------------------------------------------
  5134. template <> size_t GenericFill<diameter_dimension>(const DB& db, const LIST& params, diameter_dimension* in)
  5135. {
  5136. size_t base = GenericFill(db,params,static_cast<dimension_curve_directed_callout*>(in));
  5137. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to diameter_dimension"); } return base;
  5138. }
  5139. // -----------------------------------------------------------------------------------------------------------
  5140. template <> size_t GenericFill<ratio_measure_with_unit>(const DB& db, const LIST& params, ratio_measure_with_unit* in)
  5141. {
  5142. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  5143. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ratio_measure_with_unit"); } return base;
  5144. }
  5145. // -----------------------------------------------------------------------------------------------------------
  5146. template <> size_t GenericFill<dielectric_constant_measure_with_unit>(const DB& db, const LIST& params, dielectric_constant_measure_with_unit* in)
  5147. {
  5148. size_t base = GenericFill(db,params,static_cast<ratio_measure_with_unit*>(in));
  5149. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dielectric_constant_measure_with_unit"); } return base;
  5150. }
  5151. // -----------------------------------------------------------------------------------------------------------
  5152. template <> size_t GenericFill<dimension_callout>(const DB& db, const LIST& params, dimension_callout* in)
  5153. {
  5154. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  5155. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dimension_callout"); } return base;
  5156. }
  5157. // -----------------------------------------------------------------------------------------------------------
  5158. template <> size_t GenericFill<draughting_callout_relationship>(const DB& db, const LIST& params, draughting_callout_relationship* in)
  5159. {
  5160. size_t base = 0;
  5161. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to draughting_callout_relationship"); } do { // convert the 'name' argument
  5162. std::shared_ptr<const DataType> arg = params[base++];
  5163. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::draughting_callout_relationship,4>::aux_is_derived[0]=true; break; }
  5164. try { GenericConvert( in->name, arg, db ); break; }
  5165. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to draughting_callout_relationship to be a `label`")); }
  5166. } while(0);
  5167. do { // convert the 'description' argument
  5168. std::shared_ptr<const DataType> arg = params[base++];
  5169. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::draughting_callout_relationship,4>::aux_is_derived[1]=true; break; }
  5170. try { GenericConvert( in->description, arg, db ); break; }
  5171. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to draughting_callout_relationship to be a `text`")); }
  5172. } while(0);
  5173. do { // convert the 'relating_draughting_callout' argument
  5174. std::shared_ptr<const DataType> arg = params[base++];
  5175. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::draughting_callout_relationship,4>::aux_is_derived[2]=true; break; }
  5176. try { GenericConvert( in->relating_draughting_callout, arg, db ); break; }
  5177. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to draughting_callout_relationship to be a `draughting_callout`")); }
  5178. } while(0);
  5179. do { // convert the 'related_draughting_callout' argument
  5180. std::shared_ptr<const DataType> arg = params[base++];
  5181. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::draughting_callout_relationship,4>::aux_is_derived[3]=true; break; }
  5182. try { GenericConvert( in->related_draughting_callout, arg, db ); break; }
  5183. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to draughting_callout_relationship to be a `draughting_callout`")); }
  5184. } while(0);
  5185. return base;
  5186. }
  5187. // -----------------------------------------------------------------------------------------------------------
  5188. template <> size_t GenericFill<dimension_callout_component_relationship>(const DB& db, const LIST& params, dimension_callout_component_relationship* in)
  5189. {
  5190. size_t base = GenericFill(db,params,static_cast<draughting_callout_relationship*>(in));
  5191. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_callout_component_relationship"); } return base;
  5192. }
  5193. // -----------------------------------------------------------------------------------------------------------
  5194. template <> size_t GenericFill<dimension_callout_relationship>(const DB& db, const LIST& params, dimension_callout_relationship* in)
  5195. {
  5196. size_t base = GenericFill(db,params,static_cast<draughting_callout_relationship*>(in));
  5197. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_callout_relationship"); } return base;
  5198. }
  5199. // -----------------------------------------------------------------------------------------------------------
  5200. template <> size_t GenericFill<dimension_curve>(const DB& db, const LIST& params, dimension_curve* in)
  5201. {
  5202. size_t base = GenericFill(db,params,static_cast<annotation_curve_occurrence*>(in));
  5203. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to dimension_curve"); } return base;
  5204. }
  5205. // -----------------------------------------------------------------------------------------------------------
  5206. template <> size_t GenericFill<terminator_symbol>(const DB& db, const LIST& params, terminator_symbol* in)
  5207. {
  5208. size_t base = GenericFill(db,params,static_cast<annotation_symbol_occurrence*>(in));
  5209. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to terminator_symbol"); } do { // convert the 'annotated_curve' argument
  5210. std::shared_ptr<const DataType> arg = params[base++];
  5211. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::terminator_symbol,1>::aux_is_derived[0]=true; break; }
  5212. try { GenericConvert( in->annotated_curve, arg, db ); break; }
  5213. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to terminator_symbol to be a `annotation_curve_occurrence`")); }
  5214. } while(0);
  5215. return base;
  5216. }
  5217. // -----------------------------------------------------------------------------------------------------------
  5218. template <> size_t GenericFill<dimension_curve_terminator>(const DB& db, const LIST& params, dimension_curve_terminator* in)
  5219. {
  5220. size_t base = GenericFill(db,params,static_cast<terminator_symbol*>(in));
  5221. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to dimension_curve_terminator"); } do { // convert the 'role' argument
  5222. std::shared_ptr<const DataType> arg = params[base++];
  5223. try { GenericConvert( in->role, arg, db ); break; }
  5224. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to dimension_curve_terminator to be a `dimension_extent_usage`")); }
  5225. } while(0);
  5226. return base;
  5227. }
  5228. // -----------------------------------------------------------------------------------------------------------
  5229. template <> size_t GenericFill<dimension_curve_terminator_to_projection_curve_associativity>(const DB& db, const LIST& params, dimension_curve_terminator_to_projection_curve_associativity* in)
  5230. {
  5231. size_t base = GenericFill(db,params,static_cast<annotation_occurrence_associativity*>(in));
  5232. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_curve_terminator_to_projection_curve_associativity"); } return base;
  5233. }
  5234. // -----------------------------------------------------------------------------------------------------------
  5235. template <> size_t GenericFill<dimension_pair>(const DB& db, const LIST& params, dimension_pair* in)
  5236. {
  5237. size_t base = GenericFill(db,params,static_cast<draughting_callout_relationship*>(in));
  5238. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_pair"); } return base;
  5239. }
  5240. // -----------------------------------------------------------------------------------------------------------
  5241. template <> size_t GenericFill<dimension_text_associativity>(const DB& db, const LIST& params, dimension_text_associativity* in)
  5242. {
  5243. size_t base = 0;
  5244. return base;
  5245. }
  5246. // -----------------------------------------------------------------------------------------------------------
  5247. template <> size_t GenericFill<dimensional_location_with_path>(const DB& db, const LIST& params, dimensional_location_with_path* in)
  5248. {
  5249. size_t base = GenericFill(db,params,static_cast<dimensional_location*>(in));
  5250. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to dimensional_location_with_path"); } do { // convert the 'path' argument
  5251. std::shared_ptr<const DataType> arg = params[base++];
  5252. try { GenericConvert( in->path, arg, db ); break; }
  5253. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to dimensional_location_with_path to be a `shape_aspect`")); }
  5254. } while(0);
  5255. return base;
  5256. }
  5257. // -----------------------------------------------------------------------------------------------------------
  5258. template <> size_t GenericFill<dimensional_size_with_path>(const DB& db, const LIST& params, dimensional_size_with_path* in)
  5259. {
  5260. size_t base = GenericFill(db,params,static_cast<dimensional_size*>(in));
  5261. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to dimensional_size_with_path"); } do { // convert the 'path' argument
  5262. std::shared_ptr<const DataType> arg = params[base++];
  5263. try { GenericConvert( in->path, arg, db ); break; }
  5264. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to dimensional_size_with_path to be a `shape_aspect`")); }
  5265. } while(0);
  5266. return base;
  5267. }
  5268. // -----------------------------------------------------------------------------------------------------------
  5269. template <> size_t GenericFill<executed_action>(const DB& db, const LIST& params, executed_action* in)
  5270. {
  5271. size_t base = GenericFill(db,params,static_cast<action*>(in));
  5272. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to executed_action"); } return base;
  5273. }
  5274. // -----------------------------------------------------------------------------------------------------------
  5275. template <> size_t GenericFill<directed_action>(const DB& db, const LIST& params, directed_action* in)
  5276. {
  5277. size_t base = GenericFill(db,params,static_cast<executed_action*>(in));
  5278. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to directed_action"); } do { // convert the 'directive' argument
  5279. std::shared_ptr<const DataType> arg = params[base++];
  5280. try { GenericConvert( in->directive, arg, db ); break; }
  5281. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to directed_action to be a `action_directive`")); }
  5282. } while(0);
  5283. return base;
  5284. }
  5285. // -----------------------------------------------------------------------------------------------------------
  5286. template <> size_t GenericFill<directed_dimensional_location>(const DB& db, const LIST& params, directed_dimensional_location* in)
  5287. {
  5288. size_t base = GenericFill(db,params,static_cast<dimensional_location*>(in));
  5289. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to directed_dimensional_location"); } return base;
  5290. }
  5291. // -----------------------------------------------------------------------------------------------------------
  5292. template <> size_t GenericFill<direction>(const DB& db, const LIST& params, direction* in)
  5293. {
  5294. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  5295. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to direction"); } do { // convert the 'direction_ratios' argument
  5296. std::shared_ptr<const DataType> arg = params[base++];
  5297. try { GenericConvert( in->direction_ratios, arg, db ); break; }
  5298. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to direction to be a `LIST [2:3] OF REAL`")); }
  5299. } while(0);
  5300. return base;
  5301. }
  5302. // -----------------------------------------------------------------------------------------------------------
  5303. template <> size_t GenericFill<document_file>(const DB& db, const LIST& params, document_file* in)
  5304. {
  5305. size_t base = 0;
  5306. return base;
  5307. }
  5308. // -----------------------------------------------------------------------------------------------------------
  5309. template <> size_t GenericFill<document_identifier>(const DB& db, const LIST& params, document_identifier* in)
  5310. {
  5311. size_t base = GenericFill(db,params,static_cast<group*>(in));
  5312. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_identifier"); } return base;
  5313. }
  5314. // -----------------------------------------------------------------------------------------------------------
  5315. template <> size_t GenericFill<document_identifier_assignment>(const DB& db, const LIST& params, document_identifier_assignment* in)
  5316. {
  5317. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  5318. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_identifier_assignment"); } do { // convert the 'items' argument
  5319. std::shared_ptr<const DataType> arg = params[base++];
  5320. try { GenericConvert( in->items, arg, db ); break; }
  5321. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_identifier_assignment to be a `SET [1:?] OF document_identifier_assigned_item`")); }
  5322. } while(0);
  5323. return base;
  5324. }
  5325. // -----------------------------------------------------------------------------------------------------------
  5326. template <> size_t GenericFill<document_product_association>(const DB& db, const LIST& params, document_product_association* in)
  5327. {
  5328. size_t base = 0;
  5329. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to document_product_association"); } do { // convert the 'name' argument
  5330. std::shared_ptr<const DataType> arg = params[base++];
  5331. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_product_association,4>::aux_is_derived[0]=true; break; }
  5332. try { GenericConvert( in->name, arg, db ); break; }
  5333. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to document_product_association to be a `label`")); }
  5334. } while(0);
  5335. do { // convert the 'description' argument
  5336. std::shared_ptr<const DataType> arg = params[base++];
  5337. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_product_association,4>::aux_is_derived[1]=true; break; }
  5338. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5339. try { GenericConvert( in->description, arg, db ); break; }
  5340. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_product_association to be a `text`")); }
  5341. } while(0);
  5342. do { // convert the 'relating_document' argument
  5343. std::shared_ptr<const DataType> arg = params[base++];
  5344. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_product_association,4>::aux_is_derived[2]=true; break; }
  5345. try { GenericConvert( in->relating_document, arg, db ); break; }
  5346. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to document_product_association to be a `document`")); }
  5347. } while(0);
  5348. do { // convert the 'related_product' argument
  5349. std::shared_ptr<const DataType> arg = params[base++];
  5350. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::document_product_association,4>::aux_is_derived[3]=true; break; }
  5351. try { GenericConvert( in->related_product, arg, db ); break; }
  5352. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to document_product_association to be a `product_or_formation_or_definition`")); }
  5353. } while(0);
  5354. return base;
  5355. }
  5356. // -----------------------------------------------------------------------------------------------------------
  5357. template <> size_t GenericFill<document_product_equivalence>(const DB& db, const LIST& params, document_product_equivalence* in)
  5358. {
  5359. size_t base = GenericFill(db,params,static_cast<document_product_association*>(in));
  5360. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to document_product_equivalence"); } return base;
  5361. }
  5362. // -----------------------------------------------------------------------------------------------------------
  5363. template <> size_t GenericFill<dose_equivalent_measure_with_unit>(const DB& db, const LIST& params, dose_equivalent_measure_with_unit* in)
  5364. {
  5365. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  5366. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dose_equivalent_measure_with_unit"); } return base;
  5367. }
  5368. // -----------------------------------------------------------------------------------------------------------
  5369. template <> size_t GenericFill<dose_equivalent_unit>(const DB& db, const LIST& params, dose_equivalent_unit* in)
  5370. {
  5371. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  5372. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to dose_equivalent_unit"); } return base;
  5373. }
  5374. // -----------------------------------------------------------------------------------------------------------
  5375. template <> size_t GenericFill<double_offset_shelled_solid>(const DB& db, const LIST& params, double_offset_shelled_solid* in)
  5376. {
  5377. size_t base = GenericFill(db,params,static_cast<shelled_solid*>(in));
  5378. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to double_offset_shelled_solid"); } do { // convert the 'thickness2' argument
  5379. std::shared_ptr<const DataType> arg = params[base++];
  5380. try { GenericConvert( in->thickness2, arg, db ); break; }
  5381. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to double_offset_shelled_solid to be a `length_measure`")); }
  5382. } while(0);
  5383. return base;
  5384. }
  5385. // -----------------------------------------------------------------------------------------------------------
  5386. template <> size_t GenericFill<item_defined_transformation>(const DB& db, const LIST& params, item_defined_transformation* in)
  5387. {
  5388. size_t base = 0;
  5389. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to item_defined_transformation"); } do { // convert the 'name' argument
  5390. std::shared_ptr<const DataType> arg = params[base++];
  5391. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_defined_transformation,4>::aux_is_derived[0]=true; break; }
  5392. try { GenericConvert( in->name, arg, db ); break; }
  5393. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to item_defined_transformation to be a `label`")); }
  5394. } while(0);
  5395. do { // convert the 'description' argument
  5396. std::shared_ptr<const DataType> arg = params[base++];
  5397. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_defined_transformation,4>::aux_is_derived[1]=true; break; }
  5398. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5399. try { GenericConvert( in->description, arg, db ); break; }
  5400. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to item_defined_transformation to be a `text`")); }
  5401. } while(0);
  5402. do { // convert the 'transform_item_1' argument
  5403. std::shared_ptr<const DataType> arg = params[base++];
  5404. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_defined_transformation,4>::aux_is_derived[2]=true; break; }
  5405. try { GenericConvert( in->transform_item_1, arg, db ); break; }
  5406. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to item_defined_transformation to be a `representation_item`")); }
  5407. } while(0);
  5408. do { // convert the 'transform_item_2' argument
  5409. std::shared_ptr<const DataType> arg = params[base++];
  5410. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_defined_transformation,4>::aux_is_derived[3]=true; break; }
  5411. try { GenericConvert( in->transform_item_2, arg, db ); break; }
  5412. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to item_defined_transformation to be a `representation_item`")); }
  5413. } while(0);
  5414. return base;
  5415. }
  5416. // -----------------------------------------------------------------------------------------------------------
  5417. template <> size_t GenericFill<transformation_with_derived_angle>(const DB& db, const LIST& params, transformation_with_derived_angle* in)
  5418. {
  5419. size_t base = GenericFill(db,params,static_cast<item_defined_transformation*>(in));
  5420. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to transformation_with_derived_angle"); } return base;
  5421. }
  5422. // -----------------------------------------------------------------------------------------------------------
  5423. template <> size_t GenericFill<draped_defined_transformation>(const DB& db, const LIST& params, draped_defined_transformation* in)
  5424. {
  5425. size_t base = GenericFill(db,params,static_cast<transformation_with_derived_angle*>(in));
  5426. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to draped_defined_transformation"); } return base;
  5427. }
  5428. // -----------------------------------------------------------------------------------------------------------
  5429. template <> size_t GenericFill<draughting_annotation_occurrence>(const DB& db, const LIST& params, draughting_annotation_occurrence* in)
  5430. {
  5431. size_t base = GenericFill(db,params,static_cast<annotation_occurrence*>(in));
  5432. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_annotation_occurrence"); } return base;
  5433. }
  5434. // -----------------------------------------------------------------------------------------------------------
  5435. template <> size_t GenericFill<draughting_elements>(const DB& db, const LIST& params, draughting_elements* in)
  5436. {
  5437. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  5438. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to draughting_elements"); } return base;
  5439. }
  5440. // -----------------------------------------------------------------------------------------------------------
  5441. template <> size_t GenericFill<draughting_model>(const DB& db, const LIST& params, draughting_model* in)
  5442. {
  5443. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  5444. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_model"); } return base;
  5445. }
  5446. // -----------------------------------------------------------------------------------------------------------
  5447. template <> size_t GenericFill<item_identified_representation_usage>(const DB& db, const LIST& params, item_identified_representation_usage* in)
  5448. {
  5449. size_t base = 0;
  5450. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to item_identified_representation_usage"); } do { // convert the 'name' argument
  5451. std::shared_ptr<const DataType> arg = params[base++];
  5452. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_identified_representation_usage,5>::aux_is_derived[0]=true; break; }
  5453. try { GenericConvert( in->name, arg, db ); break; }
  5454. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to item_identified_representation_usage to be a `label`")); }
  5455. } while(0);
  5456. do { // convert the 'description' argument
  5457. std::shared_ptr<const DataType> arg = params[base++];
  5458. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_identified_representation_usage,5>::aux_is_derived[1]=true; break; }
  5459. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5460. try { GenericConvert( in->description, arg, db ); break; }
  5461. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to item_identified_representation_usage to be a `text`")); }
  5462. } while(0);
  5463. do { // convert the 'definition' argument
  5464. std::shared_ptr<const DataType> arg = params[base++];
  5465. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_identified_representation_usage,5>::aux_is_derived[2]=true; break; }
  5466. try { GenericConvert( in->definition, arg, db ); break; }
  5467. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to item_identified_representation_usage to be a `represented_definition`")); }
  5468. } while(0);
  5469. do { // convert the 'used_representation' argument
  5470. std::shared_ptr<const DataType> arg = params[base++];
  5471. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_identified_representation_usage,5>::aux_is_derived[3]=true; break; }
  5472. try { GenericConvert( in->used_representation, arg, db ); break; }
  5473. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to item_identified_representation_usage to be a `representation`")); }
  5474. } while(0);
  5475. do { // convert the 'identified_item' argument
  5476. std::shared_ptr<const DataType> arg = params[base++];
  5477. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::item_identified_representation_usage,5>::aux_is_derived[4]=true; break; }
  5478. try { GenericConvert( in->identified_item, arg, db ); break; }
  5479. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to item_identified_representation_usage to be a `representation_item`")); }
  5480. } while(0);
  5481. return base;
  5482. }
  5483. // -----------------------------------------------------------------------------------------------------------
  5484. template <> size_t GenericFill<draughting_model_item_association>(const DB& db, const LIST& params, draughting_model_item_association* in)
  5485. {
  5486. size_t base = GenericFill(db,params,static_cast<item_identified_representation_usage*>(in));
  5487. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to draughting_model_item_association"); } return base;
  5488. }
  5489. // -----------------------------------------------------------------------------------------------------------
  5490. template <> size_t GenericFill<pre_defined_colour>(const DB& db, const LIST& params, pre_defined_colour* in)
  5491. {
  5492. size_t base = 0;
  5493. return base;
  5494. }
  5495. // -----------------------------------------------------------------------------------------------------------
  5496. template <> size_t GenericFill<draughting_pre_defined_colour>(const DB& db, const LIST& params, draughting_pre_defined_colour* in)
  5497. {
  5498. size_t base = GenericFill(db,params,static_cast<pre_defined_colour*>(in));
  5499. return base;
  5500. }
  5501. // -----------------------------------------------------------------------------------------------------------
  5502. template <> size_t GenericFill<pre_defined_item>(const DB& db, const LIST& params, pre_defined_item* in)
  5503. {
  5504. size_t base = 0;
  5505. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_item"); } do { // convert the 'name' argument
  5506. std::shared_ptr<const DataType> arg = params[base++];
  5507. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::pre_defined_item,1>::aux_is_derived[0]=true; break; }
  5508. try { GenericConvert( in->name, arg, db ); break; }
  5509. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to pre_defined_item to be a `label`")); }
  5510. } while(0);
  5511. return base;
  5512. }
  5513. // -----------------------------------------------------------------------------------------------------------
  5514. template <> size_t GenericFill<pre_defined_curve_font>(const DB& db, const LIST& params, pre_defined_curve_font* in)
  5515. {
  5516. size_t base = GenericFill(db,params,static_cast<pre_defined_item*>(in));
  5517. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_curve_font"); } return base;
  5518. }
  5519. // -----------------------------------------------------------------------------------------------------------
  5520. template <> size_t GenericFill<draughting_pre_defined_curve_font>(const DB& db, const LIST& params, draughting_pre_defined_curve_font* in)
  5521. {
  5522. size_t base = GenericFill(db,params,static_cast<pre_defined_curve_font*>(in));
  5523. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to draughting_pre_defined_curve_font"); } return base;
  5524. }
  5525. // -----------------------------------------------------------------------------------------------------------
  5526. template <> size_t GenericFill<pre_defined_text_font>(const DB& db, const LIST& params, pre_defined_text_font* in)
  5527. {
  5528. size_t base = GenericFill(db,params,static_cast<pre_defined_item*>(in));
  5529. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_text_font"); } return base;
  5530. }
  5531. // -----------------------------------------------------------------------------------------------------------
  5532. template <> size_t GenericFill<draughting_pre_defined_text_font>(const DB& db, const LIST& params, draughting_pre_defined_text_font* in)
  5533. {
  5534. size_t base = GenericFill(db,params,static_cast<pre_defined_text_font*>(in));
  5535. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to draughting_pre_defined_text_font"); } return base;
  5536. }
  5537. // -----------------------------------------------------------------------------------------------------------
  5538. template <> size_t GenericFill<draughting_subfigure_representation>(const DB& db, const LIST& params, draughting_subfigure_representation* in)
  5539. {
  5540. size_t base = GenericFill(db,params,static_cast<symbol_representation*>(in));
  5541. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_subfigure_representation"); } return base;
  5542. }
  5543. // -----------------------------------------------------------------------------------------------------------
  5544. template <> size_t GenericFill<draughting_symbol_representation>(const DB& db, const LIST& params, draughting_symbol_representation* in)
  5545. {
  5546. size_t base = GenericFill(db,params,static_cast<symbol_representation*>(in));
  5547. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_symbol_representation"); } return base;
  5548. }
  5549. // -----------------------------------------------------------------------------------------------------------
  5550. template <> size_t GenericFill<text_literal>(const DB& db, const LIST& params, text_literal* in)
  5551. {
  5552. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  5553. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to text_literal"); } do { // convert the 'literal' argument
  5554. std::shared_ptr<const DataType> arg = params[base++];
  5555. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_literal,5>::aux_is_derived[0]=true; break; }
  5556. try { GenericConvert( in->literal, arg, db ); break; }
  5557. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to text_literal to be a `presentable_text`")); }
  5558. } while(0);
  5559. do { // convert the 'placement' argument
  5560. std::shared_ptr<const DataType> arg = params[base++];
  5561. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_literal,5>::aux_is_derived[1]=true; break; }
  5562. try { GenericConvert( in->placement, arg, db ); break; }
  5563. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_literal to be a `axis2_placement`")); }
  5564. } while(0);
  5565. do { // convert the 'alignment' argument
  5566. std::shared_ptr<const DataType> arg = params[base++];
  5567. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_literal,5>::aux_is_derived[2]=true; break; }
  5568. try { GenericConvert( in->alignment, arg, db ); break; }
  5569. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to text_literal to be a `text_alignment`")); }
  5570. } while(0);
  5571. do { // convert the 'path' argument
  5572. std::shared_ptr<const DataType> arg = params[base++];
  5573. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_literal,5>::aux_is_derived[3]=true; break; }
  5574. try { GenericConvert( in->path, arg, db ); break; }
  5575. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to text_literal to be a `text_path`")); }
  5576. } while(0);
  5577. do { // convert the 'font' argument
  5578. std::shared_ptr<const DataType> arg = params[base++];
  5579. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_literal,5>::aux_is_derived[4]=true; break; }
  5580. try { GenericConvert( in->font, arg, db ); break; }
  5581. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to text_literal to be a `font_select`")); }
  5582. } while(0);
  5583. return base;
  5584. }
  5585. // -----------------------------------------------------------------------------------------------------------
  5586. template <> size_t GenericFill<text_literal_with_delineation>(const DB& db, const LIST& params, text_literal_with_delineation* in)
  5587. {
  5588. size_t base = GenericFill(db,params,static_cast<text_literal*>(in));
  5589. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_delineation"); } do { // convert the 'delineation' argument
  5590. std::shared_ptr<const DataType> arg = params[base++];
  5591. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_literal_with_delineation,1>::aux_is_derived[0]=true; break; }
  5592. try { GenericConvert( in->delineation, arg, db ); break; }
  5593. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_delineation to be a `text_delineation`")); }
  5594. } while(0);
  5595. return base;
  5596. }
  5597. // -----------------------------------------------------------------------------------------------------------
  5598. template <> size_t GenericFill<draughting_text_literal_with_delineation>(const DB& db, const LIST& params, draughting_text_literal_with_delineation* in)
  5599. {
  5600. size_t base = GenericFill(db,params,static_cast<text_literal_with_delineation*>(in));
  5601. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to draughting_text_literal_with_delineation"); } return base;
  5602. }
  5603. // -----------------------------------------------------------------------------------------------------------
  5604. template <> size_t GenericFill<presentation_set>(const DB& db, const LIST& params, presentation_set* in)
  5605. {
  5606. size_t base = 0;
  5607. return base;
  5608. }
  5609. // -----------------------------------------------------------------------------------------------------------
  5610. template <> size_t GenericFill<drawing_revision>(const DB& db, const LIST& params, drawing_revision* in)
  5611. {
  5612. size_t base = GenericFill(db,params,static_cast<presentation_set*>(in));
  5613. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to drawing_revision"); } do { // convert the 'revision_identifier' argument
  5614. std::shared_ptr<const DataType> arg = params[base++];
  5615. try { GenericConvert( in->revision_identifier, arg, db ); break; }
  5616. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to drawing_revision to be a `identifier`")); }
  5617. } while(0);
  5618. do { // convert the 'drawing_identifier' argument
  5619. std::shared_ptr<const DataType> arg = params[base++];
  5620. try { GenericConvert( in->drawing_identifier, arg, db ); break; }
  5621. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to drawing_revision to be a `drawing_definition`")); }
  5622. } while(0);
  5623. do { // convert the 'intended_scale' argument
  5624. std::shared_ptr<const DataType> arg = params[base++];
  5625. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5626. try { GenericConvert( in->intended_scale, arg, db ); break; }
  5627. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to drawing_revision to be a `text`")); }
  5628. } while(0);
  5629. return base;
  5630. }
  5631. // -----------------------------------------------------------------------------------------------------------
  5632. template <> size_t GenericFill<presentation_representation>(const DB& db, const LIST& params, presentation_representation* in)
  5633. {
  5634. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  5635. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to presentation_representation"); } return base;
  5636. }
  5637. // -----------------------------------------------------------------------------------------------------------
  5638. template <> size_t GenericFill<presentation_area>(const DB& db, const LIST& params, presentation_area* in)
  5639. {
  5640. size_t base = GenericFill(db,params,static_cast<presentation_representation*>(in));
  5641. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to presentation_area"); } return base;
  5642. }
  5643. // -----------------------------------------------------------------------------------------------------------
  5644. template <> size_t GenericFill<drawing_sheet_revision>(const DB& db, const LIST& params, drawing_sheet_revision* in)
  5645. {
  5646. size_t base = GenericFill(db,params,static_cast<presentation_area*>(in));
  5647. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to drawing_sheet_revision"); } do { // convert the 'revision_identifier' argument
  5648. std::shared_ptr<const DataType> arg = params[base++];
  5649. try { GenericConvert( in->revision_identifier, arg, db ); break; }
  5650. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to drawing_sheet_revision to be a `identifier`")); }
  5651. } while(0);
  5652. return base;
  5653. }
  5654. // -----------------------------------------------------------------------------------------------------------
  5655. template <> size_t GenericFill<drawing_sheet_revision_sequence>(const DB& db, const LIST& params, drawing_sheet_revision_sequence* in)
  5656. {
  5657. size_t base = GenericFill(db,params,static_cast<representation_relationship*>(in));
  5658. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to drawing_sheet_revision_sequence"); } return base;
  5659. }
  5660. // -----------------------------------------------------------------------------------------------------------
  5661. template <> size_t GenericFill<drawing_sheet_revision_usage>(const DB& db, const LIST& params, drawing_sheet_revision_usage* in)
  5662. {
  5663. size_t base = GenericFill(db,params,static_cast<area_in_set*>(in));
  5664. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to drawing_sheet_revision_usage"); } do { // convert the 'sheet_number' argument
  5665. std::shared_ptr<const DataType> arg = params[base++];
  5666. try { GenericConvert( in->sheet_number, arg, db ); break; }
  5667. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to drawing_sheet_revision_usage to be a `identifier`")); }
  5668. } while(0);
  5669. return base;
  5670. }
  5671. // -----------------------------------------------------------------------------------------------------------
  5672. template <> size_t GenericFill<edge>(const DB& db, const LIST& params, edge* in)
  5673. {
  5674. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  5675. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to edge"); } do { // convert the 'edge_start' argument
  5676. std::shared_ptr<const DataType> arg = params[base++];
  5677. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::edge,2>::aux_is_derived[0]=true; break; }
  5678. try { GenericConvert( in->edge_start, arg, db ); break; }
  5679. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to edge to be a `vertex`")); }
  5680. } while(0);
  5681. do { // convert the 'edge_end' argument
  5682. std::shared_ptr<const DataType> arg = params[base++];
  5683. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::edge,2>::aux_is_derived[1]=true; break; }
  5684. try { GenericConvert( in->edge_end, arg, db ); break; }
  5685. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to edge to be a `vertex`")); }
  5686. } while(0);
  5687. return base;
  5688. }
  5689. // -----------------------------------------------------------------------------------------------------------
  5690. template <> size_t GenericFill<edge_based_wireframe_model>(const DB& db, const LIST& params, edge_based_wireframe_model* in)
  5691. {
  5692. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  5693. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to edge_based_wireframe_model"); } do { // convert the 'ebwm_boundary' argument
  5694. std::shared_ptr<const DataType> arg = params[base++];
  5695. try { GenericConvert( in->ebwm_boundary, arg, db ); break; }
  5696. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to edge_based_wireframe_model to be a `SET [1:?] OF connected_edge_set`")); }
  5697. } while(0);
  5698. return base;
  5699. }
  5700. // -----------------------------------------------------------------------------------------------------------
  5701. template <> size_t GenericFill<edge_based_wireframe_shape_representation>(const DB& db, const LIST& params, edge_based_wireframe_shape_representation* in)
  5702. {
  5703. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  5704. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to edge_based_wireframe_shape_representation"); } return base;
  5705. }
  5706. // -----------------------------------------------------------------------------------------------------------
  5707. template <> size_t GenericFill<edge_blended_solid>(const DB& db, const LIST& params, edge_blended_solid* in)
  5708. {
  5709. size_t base = GenericFill(db,params,static_cast<modified_solid*>(in));
  5710. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to edge_blended_solid"); } do { // convert the 'blended_edges' argument
  5711. std::shared_ptr<const DataType> arg = params[base++];
  5712. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::edge_blended_solid,1>::aux_is_derived[0]=true; break; }
  5713. try { GenericConvert( in->blended_edges, arg, db ); break; }
  5714. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to edge_blended_solid to be a `LIST [1:?] OF edge_curve`")); }
  5715. } while(0);
  5716. return base;
  5717. }
  5718. // -----------------------------------------------------------------------------------------------------------
  5719. template <> size_t GenericFill<edge_curve>(const DB& db, const LIST& params, edge_curve* in)
  5720. {
  5721. size_t base = 0;
  5722. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to edge_curve"); } do { // convert the 'edge_geometry' argument
  5723. std::shared_ptr<const DataType> arg = params[base++];
  5724. try { GenericConvert( in->edge_geometry, arg, db ); break; }
  5725. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to edge_curve to be a `curve`")); }
  5726. } while(0);
  5727. do { // convert the 'same_sense' argument
  5728. std::shared_ptr<const DataType> arg = params[base++];
  5729. try { GenericConvert( in->same_sense, arg, db ); break; }
  5730. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to edge_curve to be a `BOOLEAN`")); }
  5731. } while(0);
  5732. return base;
  5733. }
  5734. // -----------------------------------------------------------------------------------------------------------
  5735. template <> size_t GenericFill<edge_loop>(const DB& db, const LIST& params, edge_loop* in)
  5736. {
  5737. size_t base = 0;
  5738. return base;
  5739. }
  5740. // -----------------------------------------------------------------------------------------------------------
  5741. template <> size_t GenericFill<electric_charge_measure_with_unit>(const DB& db, const LIST& params, electric_charge_measure_with_unit* in)
  5742. {
  5743. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  5744. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to electric_charge_measure_with_unit"); } return base;
  5745. }
  5746. // -----------------------------------------------------------------------------------------------------------
  5747. template <> size_t GenericFill<electric_charge_unit>(const DB& db, const LIST& params, electric_charge_unit* in)
  5748. {
  5749. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  5750. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to electric_charge_unit"); } return base;
  5751. }
  5752. // -----------------------------------------------------------------------------------------------------------
  5753. template <> size_t GenericFill<electric_current_measure_with_unit>(const DB& db, const LIST& params, electric_current_measure_with_unit* in)
  5754. {
  5755. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  5756. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to electric_current_measure_with_unit"); } return base;
  5757. }
  5758. // -----------------------------------------------------------------------------------------------------------
  5759. template <> size_t GenericFill<electric_current_unit>(const DB& db, const LIST& params, electric_current_unit* in)
  5760. {
  5761. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  5762. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to electric_current_unit"); } return base;
  5763. }
  5764. // -----------------------------------------------------------------------------------------------------------
  5765. template <> size_t GenericFill<electric_potential_measure_with_unit>(const DB& db, const LIST& params, electric_potential_measure_with_unit* in)
  5766. {
  5767. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  5768. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to electric_potential_measure_with_unit"); } return base;
  5769. }
  5770. // -----------------------------------------------------------------------------------------------------------
  5771. template <> size_t GenericFill<electric_potential_unit>(const DB& db, const LIST& params, electric_potential_unit* in)
  5772. {
  5773. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  5774. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to electric_potential_unit"); } return base;
  5775. }
  5776. // -----------------------------------------------------------------------------------------------------------
  5777. template <> size_t GenericFill<elementary_brep_shape_representation>(const DB& db, const LIST& params, elementary_brep_shape_representation* in)
  5778. {
  5779. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  5780. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to elementary_brep_shape_representation"); } return base;
  5781. }
  5782. // -----------------------------------------------------------------------------------------------------------
  5783. template <> size_t GenericFill<ellipse>(const DB& db, const LIST& params, ellipse* in)
  5784. {
  5785. size_t base = GenericFill(db,params,static_cast<conic*>(in));
  5786. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ellipse"); } do { // convert the 'semi_axis_1' argument
  5787. std::shared_ptr<const DataType> arg = params[base++];
  5788. try { GenericConvert( in->semi_axis_1, arg, db ); break; }
  5789. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to ellipse to be a `positive_length_measure`")); }
  5790. } while(0);
  5791. do { // convert the 'semi_axis_2' argument
  5792. std::shared_ptr<const DataType> arg = params[base++];
  5793. try { GenericConvert( in->semi_axis_2, arg, db ); break; }
  5794. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to ellipse to be a `positive_length_measure`")); }
  5795. } while(0);
  5796. return base;
  5797. }
  5798. // -----------------------------------------------------------------------------------------------------------
  5799. template <> size_t GenericFill<energy_measure_with_unit>(const DB& db, const LIST& params, energy_measure_with_unit* in)
  5800. {
  5801. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  5802. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to energy_measure_with_unit"); } return base;
  5803. }
  5804. // -----------------------------------------------------------------------------------------------------------
  5805. template <> size_t GenericFill<energy_unit>(const DB& db, const LIST& params, energy_unit* in)
  5806. {
  5807. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  5808. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to energy_unit"); } return base;
  5809. }
  5810. // -----------------------------------------------------------------------------------------------------------
  5811. template <> size_t GenericFill<property_definition>(const DB& db, const LIST& params, property_definition* in)
  5812. {
  5813. size_t base = 0;
  5814. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to property_definition"); } do { // convert the 'name' argument
  5815. std::shared_ptr<const DataType> arg = params[base++];
  5816. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::property_definition,3>::aux_is_derived[0]=true; break; }
  5817. try { GenericConvert( in->name, arg, db ); break; }
  5818. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to property_definition to be a `label`")); }
  5819. } while(0);
  5820. do { // convert the 'description' argument
  5821. std::shared_ptr<const DataType> arg = params[base++];
  5822. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::property_definition,3>::aux_is_derived[1]=true; break; }
  5823. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5824. try { GenericConvert( in->description, arg, db ); break; }
  5825. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to property_definition to be a `text`")); }
  5826. } while(0);
  5827. do { // convert the 'definition' argument
  5828. std::shared_ptr<const DataType> arg = params[base++];
  5829. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::property_definition,3>::aux_is_derived[2]=true; break; }
  5830. try { GenericConvert( in->definition, arg, db ); break; }
  5831. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to property_definition to be a `characterized_definition`")); }
  5832. } while(0);
  5833. return base;
  5834. }
  5835. // -----------------------------------------------------------------------------------------------------------
  5836. template <> size_t GenericFill<fact_type>(const DB& db, const LIST& params, fact_type* in)
  5837. {
  5838. size_t base = GenericFill(db,params,static_cast<property_definition*>(in));
  5839. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to fact_type"); } return base;
  5840. }
  5841. // -----------------------------------------------------------------------------------------------------------
  5842. template <> size_t GenericFill<entity_assertion>(const DB& db, const LIST& params, entity_assertion* in)
  5843. {
  5844. size_t base = GenericFill(db,params,static_cast<fact_type*>(in));
  5845. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to entity_assertion"); } return base;
  5846. }
  5847. // -----------------------------------------------------------------------------------------------------------
  5848. template <> size_t GenericFill<enum_reference_prefix>(const DB& db, const LIST& params, enum_reference_prefix* in)
  5849. {
  5850. size_t base = GenericFill(db,params,static_cast<descriptive_representation_item*>(in));
  5851. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to enum_reference_prefix"); } return base;
  5852. }
  5853. // -----------------------------------------------------------------------------------------------------------
  5854. template <> size_t GenericFill<evaluated_characteristic>(const DB& db, const LIST& params, evaluated_characteristic* in)
  5855. {
  5856. size_t base = 0;
  5857. return base;
  5858. }
  5859. // -----------------------------------------------------------------------------------------------------------
  5860. template <> size_t GenericFill<evaluated_degenerate_pcurve>(const DB& db, const LIST& params, evaluated_degenerate_pcurve* in)
  5861. {
  5862. size_t base = GenericFill(db,params,static_cast<degenerate_pcurve*>(in));
  5863. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to evaluated_degenerate_pcurve"); } do { // convert the 'equivalent_point' argument
  5864. std::shared_ptr<const DataType> arg = params[base++];
  5865. try { GenericConvert( in->equivalent_point, arg, db ); break; }
  5866. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to evaluated_degenerate_pcurve to be a `cartesian_point`")); }
  5867. } while(0);
  5868. return base;
  5869. }
  5870. // -----------------------------------------------------------------------------------------------------------
  5871. template <> size_t GenericFill<evaluation_product_definition>(const DB& db, const LIST& params, evaluation_product_definition* in)
  5872. {
  5873. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  5874. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to evaluation_product_definition"); } return base;
  5875. }
  5876. // -----------------------------------------------------------------------------------------------------------
  5877. template <> size_t GenericFill<event_occurrence>(const DB& db, const LIST& params, event_occurrence* in)
  5878. {
  5879. size_t base = 0;
  5880. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to event_occurrence"); } do { // convert the 'id' argument
  5881. std::shared_ptr<const DataType> arg = params[base++];
  5882. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::event_occurrence,3>::aux_is_derived[0]=true; break; }
  5883. try { GenericConvert( in->id, arg, db ); break; }
  5884. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to event_occurrence to be a `identifier`")); }
  5885. } while(0);
  5886. do { // convert the 'name' argument
  5887. std::shared_ptr<const DataType> arg = params[base++];
  5888. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::event_occurrence,3>::aux_is_derived[1]=true; break; }
  5889. try { GenericConvert( in->name, arg, db ); break; }
  5890. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to event_occurrence to be a `label`")); }
  5891. } while(0);
  5892. do { // convert the 'description' argument
  5893. std::shared_ptr<const DataType> arg = params[base++];
  5894. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::event_occurrence,3>::aux_is_derived[2]=true; break; }
  5895. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5896. try { GenericConvert( in->description, arg, db ); break; }
  5897. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to event_occurrence to be a `text`")); }
  5898. } while(0);
  5899. return base;
  5900. }
  5901. // -----------------------------------------------------------------------------------------------------------
  5902. template <> size_t GenericFill<product_concept_feature_category>(const DB& db, const LIST& params, product_concept_feature_category* in)
  5903. {
  5904. size_t base = GenericFill(db,params,static_cast<group*>(in));
  5905. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_concept_feature_category"); } return base;
  5906. }
  5907. // -----------------------------------------------------------------------------------------------------------
  5908. template <> size_t GenericFill<exclusive_product_concept_feature_category>(const DB& db, const LIST& params, exclusive_product_concept_feature_category* in)
  5909. {
  5910. size_t base = GenericFill(db,params,static_cast<product_concept_feature_category*>(in));
  5911. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to exclusive_product_concept_feature_category"); } return base;
  5912. }
  5913. // -----------------------------------------------------------------------------------------------------------
  5914. template <> size_t GenericFill<uncertainty_qualifier>(const DB& db, const LIST& params, uncertainty_qualifier* in)
  5915. {
  5916. size_t base = 0;
  5917. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to uncertainty_qualifier"); } do { // convert the 'measure_name' argument
  5918. std::shared_ptr<const DataType> arg = params[base++];
  5919. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::uncertainty_qualifier,2>::aux_is_derived[0]=true; break; }
  5920. try { GenericConvert( in->measure_name, arg, db ); break; }
  5921. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to uncertainty_qualifier to be a `label`")); }
  5922. } while(0);
  5923. do { // convert the 'description' argument
  5924. std::shared_ptr<const DataType> arg = params[base++];
  5925. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::uncertainty_qualifier,2>::aux_is_derived[1]=true; break; }
  5926. try { GenericConvert( in->description, arg, db ); break; }
  5927. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to uncertainty_qualifier to be a `text`")); }
  5928. } while(0);
  5929. return base;
  5930. }
  5931. // -----------------------------------------------------------------------------------------------------------
  5932. template <> size_t GenericFill<standard_uncertainty>(const DB& db, const LIST& params, standard_uncertainty* in)
  5933. {
  5934. size_t base = GenericFill(db,params,static_cast<uncertainty_qualifier*>(in));
  5935. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to standard_uncertainty"); } do { // convert the 'uncertainty_value' argument
  5936. std::shared_ptr<const DataType> arg = params[base++];
  5937. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::standard_uncertainty,1>::aux_is_derived[0]=true; break; }
  5938. try { GenericConvert( in->uncertainty_value, arg, db ); break; }
  5939. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to standard_uncertainty to be a `REAL`")); }
  5940. } while(0);
  5941. return base;
  5942. }
  5943. // -----------------------------------------------------------------------------------------------------------
  5944. template <> size_t GenericFill<expanded_uncertainty>(const DB& db, const LIST& params, expanded_uncertainty* in)
  5945. {
  5946. size_t base = GenericFill(db,params,static_cast<standard_uncertainty*>(in));
  5947. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to expanded_uncertainty"); } do { // convert the 'coverage_factor' argument
  5948. std::shared_ptr<const DataType> arg = params[base++];
  5949. try { GenericConvert( in->coverage_factor, arg, db ); break; }
  5950. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to expanded_uncertainty to be a `REAL`")); }
  5951. } while(0);
  5952. return base;
  5953. }
  5954. // -----------------------------------------------------------------------------------------------------------
  5955. template <> size_t GenericFill<representation_item_relationship>(const DB& db, const LIST& params, representation_item_relationship* in)
  5956. {
  5957. size_t base = 0;
  5958. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to representation_item_relationship"); } do { // convert the 'name' argument
  5959. std::shared_ptr<const DataType> arg = params[base++];
  5960. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_item_relationship,4>::aux_is_derived[0]=true; break; }
  5961. try { GenericConvert( in->name, arg, db ); break; }
  5962. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_item_relationship to be a `label`")); }
  5963. } while(0);
  5964. do { // convert the 'description' argument
  5965. std::shared_ptr<const DataType> arg = params[base++];
  5966. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_item_relationship,4>::aux_is_derived[1]=true; break; }
  5967. if (dynamic_cast<const UNSET*>(&*arg)) break;
  5968. try { GenericConvert( in->description, arg, db ); break; }
  5969. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_item_relationship to be a `text`")); }
  5970. } while(0);
  5971. do { // convert the 'relating_representation_item' argument
  5972. std::shared_ptr<const DataType> arg = params[base++];
  5973. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_item_relationship,4>::aux_is_derived[2]=true; break; }
  5974. try { GenericConvert( in->relating_representation_item, arg, db ); break; }
  5975. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to representation_item_relationship to be a `representation_item`")); }
  5976. } while(0);
  5977. do { // convert the 'related_representation_item' argument
  5978. std::shared_ptr<const DataType> arg = params[base++];
  5979. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_item_relationship,4>::aux_is_derived[3]=true; break; }
  5980. try { GenericConvert( in->related_representation_item, arg, db ); break; }
  5981. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to representation_item_relationship to be a `representation_item`")); }
  5982. } while(0);
  5983. return base;
  5984. }
  5985. // -----------------------------------------------------------------------------------------------------------
  5986. template <> size_t GenericFill<explicit_procedural_representation_item_relationship>(const DB& db, const LIST& params, explicit_procedural_representation_item_relationship* in)
  5987. {
  5988. size_t base = GenericFill(db,params,static_cast<representation_item_relationship*>(in));
  5989. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_representation_item_relationship"); } return base;
  5990. }
  5991. // -----------------------------------------------------------------------------------------------------------
  5992. template <> size_t GenericFill<explicit_procedural_geometric_representation_item_relationship>(const DB& db, const LIST& params, explicit_procedural_geometric_representation_item_relationship* in)
  5993. {
  5994. size_t base = GenericFill(db,params,static_cast<explicit_procedural_representation_item_relationship*>(in));
  5995. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_geometric_representation_item_relationship"); } return base;
  5996. }
  5997. // -----------------------------------------------------------------------------------------------------------
  5998. template <> size_t GenericFill<explicit_procedural_representation_relationship>(const DB& db, const LIST& params, explicit_procedural_representation_relationship* in)
  5999. {
  6000. size_t base = GenericFill(db,params,static_cast<representation_relationship*>(in));
  6001. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_representation_relationship"); } return base;
  6002. }
  6003. // -----------------------------------------------------------------------------------------------------------
  6004. template <> size_t GenericFill<explicit_procedural_shape_representation_relationship>(const DB& db, const LIST& params, explicit_procedural_shape_representation_relationship* in)
  6005. {
  6006. size_t base = GenericFill(db,params,static_cast<explicit_procedural_representation_relationship*>(in));
  6007. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_shape_representation_relationship"); } return base;
  6008. }
  6009. // -----------------------------------------------------------------------------------------------------------
  6010. template <> size_t GenericFill<expression_conversion_based_unit>(const DB& db, const LIST& params, expression_conversion_based_unit* in)
  6011. {
  6012. size_t base = 0;
  6013. return base;
  6014. }
  6015. // -----------------------------------------------------------------------------------------------------------
  6016. template <> size_t GenericFill<extension>(const DB& db, const LIST& params, extension* in)
  6017. {
  6018. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  6019. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to extension"); } return base;
  6020. }
  6021. // -----------------------------------------------------------------------------------------------------------
  6022. template <> size_t GenericFill<extent>(const DB& db, const LIST& params, extent* in)
  6023. {
  6024. size_t base = GenericFill(db,params,static_cast<characterized_object*>(in));
  6025. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to extent"); } return base;
  6026. }
  6027. // -----------------------------------------------------------------------------------------------------------
  6028. template <> size_t GenericFill<external_source>(const DB& db, const LIST& params, external_source* in)
  6029. {
  6030. size_t base = 0;
  6031. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to external_source"); } do { // convert the 'source_id' argument
  6032. std::shared_ptr<const DataType> arg = params[base++];
  6033. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::external_source,1>::aux_is_derived[0]=true; break; }
  6034. try { GenericConvert( in->source_id, arg, db ); break; }
  6035. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to external_source to be a `source_item`")); }
  6036. } while(0);
  6037. return base;
  6038. }
  6039. // -----------------------------------------------------------------------------------------------------------
  6040. template <> size_t GenericFill<external_class_library>(const DB& db, const LIST& params, external_class_library* in)
  6041. {
  6042. size_t base = GenericFill(db,params,static_cast<external_source*>(in));
  6043. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to external_class_library"); } return base;
  6044. }
  6045. // -----------------------------------------------------------------------------------------------------------
  6046. template <> size_t GenericFill<externally_defined_class>(const DB& db, const LIST& params, externally_defined_class* in)
  6047. {
  6048. size_t base = 0;
  6049. return base;
  6050. }
  6051. // -----------------------------------------------------------------------------------------------------------
  6052. template <> size_t GenericFill<externally_defined_colour>(const DB& db, const LIST& params, externally_defined_colour* in)
  6053. {
  6054. size_t base = 0;
  6055. return base;
  6056. }
  6057. // -----------------------------------------------------------------------------------------------------------
  6058. template <> size_t GenericFill<externally_defined_context_dependent_unit>(const DB& db, const LIST& params, externally_defined_context_dependent_unit* in)
  6059. {
  6060. size_t base = 0;
  6061. return base;
  6062. }
  6063. // -----------------------------------------------------------------------------------------------------------
  6064. template <> size_t GenericFill<externally_defined_conversion_based_unit>(const DB& db, const LIST& params, externally_defined_conversion_based_unit* in)
  6065. {
  6066. size_t base = 0;
  6067. return base;
  6068. }
  6069. // -----------------------------------------------------------------------------------------------------------
  6070. template <> size_t GenericFill<externally_defined_currency>(const DB& db, const LIST& params, externally_defined_currency* in)
  6071. {
  6072. size_t base = 0;
  6073. return base;
  6074. }
  6075. // -----------------------------------------------------------------------------------------------------------
  6076. template <> size_t GenericFill<externally_defined_item>(const DB& db, const LIST& params, externally_defined_item* in)
  6077. {
  6078. size_t base = 0;
  6079. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_item"); } do { // convert the 'item_id' argument
  6080. std::shared_ptr<const DataType> arg = params[base++];
  6081. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::externally_defined_item,2>::aux_is_derived[0]=true; break; }
  6082. try { GenericConvert( in->item_id, arg, db ); break; }
  6083. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to externally_defined_item to be a `source_item`")); }
  6084. } while(0);
  6085. do { // convert the 'source' argument
  6086. std::shared_ptr<const DataType> arg = params[base++];
  6087. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::externally_defined_item,2>::aux_is_derived[1]=true; break; }
  6088. try { GenericConvert( in->source, arg, db ); break; }
  6089. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to externally_defined_item to be a `external_source`")); }
  6090. } while(0);
  6091. return base;
  6092. }
  6093. // -----------------------------------------------------------------------------------------------------------
  6094. template <> size_t GenericFill<externally_defined_curve_font>(const DB& db, const LIST& params, externally_defined_curve_font* in)
  6095. {
  6096. size_t base = GenericFill(db,params,static_cast<externally_defined_item*>(in));
  6097. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_curve_font"); } return base;
  6098. }
  6099. // -----------------------------------------------------------------------------------------------------------
  6100. template <> size_t GenericFill<externally_defined_dimension_definition>(const DB& db, const LIST& params, externally_defined_dimension_definition* in)
  6101. {
  6102. size_t base = 0;
  6103. return base;
  6104. }
  6105. // -----------------------------------------------------------------------------------------------------------
  6106. template <> size_t GenericFill<externally_defined_general_property>(const DB& db, const LIST& params, externally_defined_general_property* in)
  6107. {
  6108. size_t base = 0;
  6109. return base;
  6110. }
  6111. // -----------------------------------------------------------------------------------------------------------
  6112. template <> size_t GenericFill<externally_defined_hatch_style>(const DB& db, const LIST& params, externally_defined_hatch_style* in)
  6113. {
  6114. size_t base = 0;
  6115. return base;
  6116. }
  6117. // -----------------------------------------------------------------------------------------------------------
  6118. template <> size_t GenericFill<externally_defined_marker>(const DB& db, const LIST& params, externally_defined_marker* in)
  6119. {
  6120. size_t base = 0;
  6121. return base;
  6122. }
  6123. // -----------------------------------------------------------------------------------------------------------
  6124. template <> size_t GenericFill<picture_representation_item>(const DB& db, const LIST& params, picture_representation_item* in)
  6125. {
  6126. size_t base = GenericFill(db,params,static_cast<bytes_representation_item*>(in));
  6127. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to picture_representation_item"); } return base;
  6128. }
  6129. // -----------------------------------------------------------------------------------------------------------
  6130. template <> size_t GenericFill<externally_defined_picture_representation_item>(const DB& db, const LIST& params, externally_defined_picture_representation_item* in)
  6131. {
  6132. size_t base = GenericFill(db,params,static_cast<picture_representation_item*>(in));
  6133. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_picture_representation_item"); } return base;
  6134. }
  6135. // -----------------------------------------------------------------------------------------------------------
  6136. template <> size_t GenericFill<externally_defined_representation_item>(const DB& db, const LIST& params, externally_defined_representation_item* in)
  6137. {
  6138. size_t base = 0;
  6139. return base;
  6140. }
  6141. // -----------------------------------------------------------------------------------------------------------
  6142. template <> size_t GenericFill<externally_defined_string>(const DB& db, const LIST& params, externally_defined_string* in)
  6143. {
  6144. size_t base = GenericFill(db,params,static_cast<externally_defined_representation_item*>(in));
  6145. return base;
  6146. }
  6147. // -----------------------------------------------------------------------------------------------------------
  6148. template <> size_t GenericFill<externally_defined_symbol>(const DB& db, const LIST& params, externally_defined_symbol* in)
  6149. {
  6150. size_t base = GenericFill(db,params,static_cast<externally_defined_item*>(in));
  6151. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_symbol"); } return base;
  6152. }
  6153. // -----------------------------------------------------------------------------------------------------------
  6154. template <> size_t GenericFill<externally_defined_terminator_symbol>(const DB& db, const LIST& params, externally_defined_terminator_symbol* in)
  6155. {
  6156. size_t base = GenericFill(db,params,static_cast<externally_defined_symbol*>(in));
  6157. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_terminator_symbol"); } return base;
  6158. }
  6159. // -----------------------------------------------------------------------------------------------------------
  6160. template <> size_t GenericFill<externally_defined_text_font>(const DB& db, const LIST& params, externally_defined_text_font* in)
  6161. {
  6162. size_t base = GenericFill(db,params,static_cast<externally_defined_item*>(in));
  6163. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_text_font"); } return base;
  6164. }
  6165. // -----------------------------------------------------------------------------------------------------------
  6166. template <> size_t GenericFill<externally_defined_tile>(const DB& db, const LIST& params, externally_defined_tile* in)
  6167. {
  6168. size_t base = GenericFill(db,params,static_cast<externally_defined_item*>(in));
  6169. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_tile"); } return base;
  6170. }
  6171. // -----------------------------------------------------------------------------------------------------------
  6172. template <> size_t GenericFill<externally_defined_tile_style>(const DB& db, const LIST& params, externally_defined_tile_style* in)
  6173. {
  6174. size_t base = 0;
  6175. return base;
  6176. }
  6177. // -----------------------------------------------------------------------------------------------------------
  6178. template <> size_t GenericFill<swept_area_solid>(const DB& db, const LIST& params, swept_area_solid* in)
  6179. {
  6180. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  6181. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to swept_area_solid"); } do { // convert the 'swept_area' argument
  6182. std::shared_ptr<const DataType> arg = params[base++];
  6183. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::swept_area_solid,1>::aux_is_derived[0]=true; break; }
  6184. try { GenericConvert( in->swept_area, arg, db ); break; }
  6185. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_area_solid to be a `curve_bounded_surface`")); }
  6186. } while(0);
  6187. return base;
  6188. }
  6189. // -----------------------------------------------------------------------------------------------------------
  6190. template <> size_t GenericFill<extruded_area_solid>(const DB& db, const LIST& params, extruded_area_solid* in)
  6191. {
  6192. size_t base = GenericFill(db,params,static_cast<swept_area_solid*>(in));
  6193. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to extruded_area_solid"); } do { // convert the 'extruded_direction' argument
  6194. std::shared_ptr<const DataType> arg = params[base++];
  6195. try { GenericConvert( in->extruded_direction, arg, db ); break; }
  6196. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to extruded_area_solid to be a `direction`")); }
  6197. } while(0);
  6198. do { // convert the 'depth' argument
  6199. std::shared_ptr<const DataType> arg = params[base++];
  6200. try { GenericConvert( in->depth, arg, db ); break; }
  6201. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to extruded_area_solid to be a `positive_length_measure`")); }
  6202. } while(0);
  6203. return base;
  6204. }
  6205. // -----------------------------------------------------------------------------------------------------------
  6206. template <> size_t GenericFill<swept_face_solid>(const DB& db, const LIST& params, swept_face_solid* in)
  6207. {
  6208. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  6209. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to swept_face_solid"); } do { // convert the 'swept_face' argument
  6210. std::shared_ptr<const DataType> arg = params[base++];
  6211. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::swept_face_solid,1>::aux_is_derived[0]=true; break; }
  6212. try { GenericConvert( in->swept_face, arg, db ); break; }
  6213. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_face_solid to be a `face_surface`")); }
  6214. } while(0);
  6215. return base;
  6216. }
  6217. // -----------------------------------------------------------------------------------------------------------
  6218. template <> size_t GenericFill<extruded_face_solid>(const DB& db, const LIST& params, extruded_face_solid* in)
  6219. {
  6220. size_t base = GenericFill(db,params,static_cast<swept_face_solid*>(in));
  6221. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to extruded_face_solid"); } do { // convert the 'extruded_direction' argument
  6222. std::shared_ptr<const DataType> arg = params[base++];
  6223. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid,2>::aux_is_derived[0]=true; break; }
  6224. try { GenericConvert( in->extruded_direction, arg, db ); break; }
  6225. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to extruded_face_solid to be a `direction`")); }
  6226. } while(0);
  6227. do { // convert the 'depth' argument
  6228. std::shared_ptr<const DataType> arg = params[base++];
  6229. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid,2>::aux_is_derived[1]=true; break; }
  6230. try { GenericConvert( in->depth, arg, db ); break; }
  6231. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to extruded_face_solid to be a `positive_length_measure`")); }
  6232. } while(0);
  6233. return base;
  6234. }
  6235. // -----------------------------------------------------------------------------------------------------------
  6236. template <> size_t GenericFill<extruded_face_solid_with_trim_conditions>(const DB& db, const LIST& params, extruded_face_solid_with_trim_conditions* in)
  6237. {
  6238. size_t base = GenericFill(db,params,static_cast<extruded_face_solid*>(in));
  6239. if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to extruded_face_solid_with_trim_conditions"); } do { // convert the 'first_trim_condition' argument
  6240. std::shared_ptr<const DataType> arg = params[base++];
  6241. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid_with_trim_conditions,6>::aux_is_derived[0]=true; break; }
  6242. try { GenericConvert( in->first_trim_condition, arg, db ); break; }
  6243. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to extruded_face_solid_with_trim_conditions to be a `trim_condition_select`")); }
  6244. } while(0);
  6245. do { // convert the 'second_trim_condition' argument
  6246. std::shared_ptr<const DataType> arg = params[base++];
  6247. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid_with_trim_conditions,6>::aux_is_derived[1]=true; break; }
  6248. try { GenericConvert( in->second_trim_condition, arg, db ); break; }
  6249. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to extruded_face_solid_with_trim_conditions to be a `trim_condition_select`")); }
  6250. } while(0);
  6251. do { // convert the 'first_trim_intent' argument
  6252. std::shared_ptr<const DataType> arg = params[base++];
  6253. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid_with_trim_conditions,6>::aux_is_derived[2]=true; break; }
  6254. try { GenericConvert( in->first_trim_intent, arg, db ); break; }
  6255. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to extruded_face_solid_with_trim_conditions to be a `trim_intent`")); }
  6256. } while(0);
  6257. do { // convert the 'second_trim_intent' argument
  6258. std::shared_ptr<const DataType> arg = params[base++];
  6259. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid_with_trim_conditions,6>::aux_is_derived[3]=true; break; }
  6260. try { GenericConvert( in->second_trim_intent, arg, db ); break; }
  6261. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to extruded_face_solid_with_trim_conditions to be a `trim_intent`")); }
  6262. } while(0);
  6263. do { // convert the 'first_offset' argument
  6264. std::shared_ptr<const DataType> arg = params[base++];
  6265. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid_with_trim_conditions,6>::aux_is_derived[4]=true; break; }
  6266. try { GenericConvert( in->first_offset, arg, db ); break; }
  6267. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to extruded_face_solid_with_trim_conditions to be a `non_negative_length_measure`")); }
  6268. } while(0);
  6269. do { // convert the 'second_offset' argument
  6270. std::shared_ptr<const DataType> arg = params[base++];
  6271. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::extruded_face_solid_with_trim_conditions,6>::aux_is_derived[5]=true; break; }
  6272. try { GenericConvert( in->second_offset, arg, db ); break; }
  6273. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to extruded_face_solid_with_trim_conditions to be a `non_negative_length_measure`")); }
  6274. } while(0);
  6275. return base;
  6276. }
  6277. // -----------------------------------------------------------------------------------------------------------
  6278. template <> size_t GenericFill<extruded_face_solid_with_draft_angle>(const DB& db, const LIST& params, extruded_face_solid_with_draft_angle* in)
  6279. {
  6280. size_t base = GenericFill(db,params,static_cast<extruded_face_solid_with_trim_conditions*>(in));
  6281. if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to extruded_face_solid_with_draft_angle"); } do { // convert the 'draft_angle' argument
  6282. std::shared_ptr<const DataType> arg = params[base++];
  6283. try { GenericConvert( in->draft_angle, arg, db ); break; }
  6284. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to extruded_face_solid_with_draft_angle to be a `plane_angle_measure`")); }
  6285. } while(0);
  6286. return base;
  6287. }
  6288. // -----------------------------------------------------------------------------------------------------------
  6289. template <> size_t GenericFill<extruded_face_solid_with_multiple_draft_angles>(const DB& db, const LIST& params, extruded_face_solid_with_multiple_draft_angles* in)
  6290. {
  6291. size_t base = GenericFill(db,params,static_cast<extruded_face_solid_with_trim_conditions*>(in));
  6292. if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to extruded_face_solid_with_multiple_draft_angles"); } do { // convert the 'draft_angles' argument
  6293. std::shared_ptr<const DataType> arg = params[base++];
  6294. try { GenericConvert( in->draft_angles, arg, db ); break; }
  6295. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to extruded_face_solid_with_multiple_draft_angles to be a `LIST [2:?] OF plane_angle_measure`")); }
  6296. } while(0);
  6297. return base;
  6298. }
  6299. // -----------------------------------------------------------------------------------------------------------
  6300. template <> size_t GenericFill<face>(const DB& db, const LIST& params, face* in)
  6301. {
  6302. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  6303. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to face"); } do { // convert the 'bounds' argument
  6304. std::shared_ptr<const DataType> arg = params[base++];
  6305. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::face,1>::aux_is_derived[0]=true; break; }
  6306. try { GenericConvert( in->bounds, arg, db ); break; }
  6307. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face to be a `SET [1:?] OF face_bound`")); }
  6308. } while(0);
  6309. return base;
  6310. }
  6311. // -----------------------------------------------------------------------------------------------------------
  6312. template <> size_t GenericFill<face_based_surface_model>(const DB& db, const LIST& params, face_based_surface_model* in)
  6313. {
  6314. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6315. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to face_based_surface_model"); } do { // convert the 'fbsm_faces' argument
  6316. std::shared_ptr<const DataType> arg = params[base++];
  6317. try { GenericConvert( in->fbsm_faces, arg, db ); break; }
  6318. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face_based_surface_model to be a `SET [1:?] OF connected_face_set`")); }
  6319. } while(0);
  6320. return base;
  6321. }
  6322. // -----------------------------------------------------------------------------------------------------------
  6323. template <> size_t GenericFill<face_bound>(const DB& db, const LIST& params, face_bound* in)
  6324. {
  6325. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  6326. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to face_bound"); } do { // convert the 'bound' argument
  6327. std::shared_ptr<const DataType> arg = params[base++];
  6328. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::face_bound,2>::aux_is_derived[0]=true; break; }
  6329. try { GenericConvert( in->bound, arg, db ); break; }
  6330. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face_bound to be a `loop`")); }
  6331. } while(0);
  6332. do { // convert the 'orientation' argument
  6333. std::shared_ptr<const DataType> arg = params[base++];
  6334. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::face_bound,2>::aux_is_derived[1]=true; break; }
  6335. try { GenericConvert( in->orientation, arg, db ); break; }
  6336. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to face_bound to be a `BOOLEAN`")); }
  6337. } while(0);
  6338. return base;
  6339. }
  6340. // -----------------------------------------------------------------------------------------------------------
  6341. template <> size_t GenericFill<face_outer_bound>(const DB& db, const LIST& params, face_outer_bound* in)
  6342. {
  6343. size_t base = GenericFill(db,params,static_cast<face_bound*>(in));
  6344. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to face_outer_bound"); } return base;
  6345. }
  6346. // -----------------------------------------------------------------------------------------------------------
  6347. template <> size_t GenericFill<faceted_brep>(const DB& db, const LIST& params, faceted_brep* in)
  6348. {
  6349. size_t base = GenericFill(db,params,static_cast<manifold_solid_brep*>(in));
  6350. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to faceted_brep"); } return base;
  6351. }
  6352. // -----------------------------------------------------------------------------------------------------------
  6353. template <> size_t GenericFill<faceted_brep_shape_representation>(const DB& db, const LIST& params, faceted_brep_shape_representation* in)
  6354. {
  6355. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  6356. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to faceted_brep_shape_representation"); } return base;
  6357. }
  6358. // -----------------------------------------------------------------------------------------------------------
  6359. template <> size_t GenericFill<fill_area_style>(const DB& db, const LIST& params, fill_area_style* in)
  6360. {
  6361. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  6362. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to fill_area_style"); } do { // convert the 'name' argument
  6363. std::shared_ptr<const DataType> arg = params[base++];
  6364. try { GenericConvert( in->name, arg, db ); break; }
  6365. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to fill_area_style to be a `label`")); }
  6366. } while(0);
  6367. do { // convert the 'fill_styles' argument
  6368. std::shared_ptr<const DataType> arg = params[base++];
  6369. try { GenericConvert( in->fill_styles, arg, db ); break; }
  6370. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style to be a `SET [1:?] OF fill_style_select`")); }
  6371. } while(0);
  6372. return base;
  6373. }
  6374. // -----------------------------------------------------------------------------------------------------------
  6375. template <> size_t GenericFill<fill_area_style_hatching>(const DB& db, const LIST& params, fill_area_style_hatching* in)
  6376. {
  6377. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6378. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to fill_area_style_hatching"); } do { // convert the 'hatch_line_appearance' argument
  6379. std::shared_ptr<const DataType> arg = params[base++];
  6380. try { GenericConvert( in->hatch_line_appearance, arg, db ); break; }
  6381. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_hatching to be a `curve_style`")); }
  6382. } while(0);
  6383. do { // convert the 'start_of_next_hatch_line' argument
  6384. std::shared_ptr<const DataType> arg = params[base++];
  6385. try { GenericConvert( in->start_of_next_hatch_line, arg, db ); break; }
  6386. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to fill_area_style_hatching to be a `one_direction_repeat_factor`")); }
  6387. } while(0);
  6388. do { // convert the 'point_of_reference_hatch_line' argument
  6389. std::shared_ptr<const DataType> arg = params[base++];
  6390. try { GenericConvert( in->point_of_reference_hatch_line, arg, db ); break; }
  6391. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to fill_area_style_hatching to be a `cartesian_point`")); }
  6392. } while(0);
  6393. do { // convert the 'pattern_start' argument
  6394. std::shared_ptr<const DataType> arg = params[base++];
  6395. try { GenericConvert( in->pattern_start, arg, db ); break; }
  6396. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to fill_area_style_hatching to be a `cartesian_point`")); }
  6397. } while(0);
  6398. do { // convert the 'hatch_line_angle' argument
  6399. std::shared_ptr<const DataType> arg = params[base++];
  6400. try { GenericConvert( in->hatch_line_angle, arg, db ); break; }
  6401. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to fill_area_style_hatching to be a `plane_angle_measure`")); }
  6402. } while(0);
  6403. return base;
  6404. }
  6405. // -----------------------------------------------------------------------------------------------------------
  6406. template <> size_t GenericFill<fill_area_style_tile_coloured_region>(const DB& db, const LIST& params, fill_area_style_tile_coloured_region* in)
  6407. {
  6408. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6409. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to fill_area_style_tile_coloured_region"); } do { // convert the 'closed_curve' argument
  6410. std::shared_ptr<const DataType> arg = params[base++];
  6411. try { GenericConvert( in->closed_curve, arg, db ); break; }
  6412. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tile_coloured_region to be a `curve_or_annotation_curve_occurrence`")); }
  6413. } while(0);
  6414. do { // convert the 'region_colour' argument
  6415. std::shared_ptr<const DataType> arg = params[base++];
  6416. try { GenericConvert( in->region_colour, arg, db ); break; }
  6417. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to fill_area_style_tile_coloured_region to be a `colour`")); }
  6418. } while(0);
  6419. return base;
  6420. }
  6421. // -----------------------------------------------------------------------------------------------------------
  6422. template <> size_t GenericFill<fill_area_style_tile_curve_with_style>(const DB& db, const LIST& params, fill_area_style_tile_curve_with_style* in)
  6423. {
  6424. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6425. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to fill_area_style_tile_curve_with_style"); } do { // convert the 'styled_curve' argument
  6426. std::shared_ptr<const DataType> arg = params[base++];
  6427. try { GenericConvert( in->styled_curve, arg, db ); break; }
  6428. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tile_curve_with_style to be a `annotation_curve_occurrence`")); }
  6429. } while(0);
  6430. return base;
  6431. }
  6432. // -----------------------------------------------------------------------------------------------------------
  6433. template <> size_t GenericFill<fill_area_style_tile_symbol_with_style>(const DB& db, const LIST& params, fill_area_style_tile_symbol_with_style* in)
  6434. {
  6435. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6436. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to fill_area_style_tile_symbol_with_style"); } do { // convert the 'symbol' argument
  6437. std::shared_ptr<const DataType> arg = params[base++];
  6438. try { GenericConvert( in->symbol, arg, db ); break; }
  6439. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tile_symbol_with_style to be a `annotation_symbol_occurrence`")); }
  6440. } while(0);
  6441. return base;
  6442. }
  6443. // -----------------------------------------------------------------------------------------------------------
  6444. template <> size_t GenericFill<fill_area_style_tiles>(const DB& db, const LIST& params, fill_area_style_tiles* in)
  6445. {
  6446. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6447. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to fill_area_style_tiles"); } do { // convert the 'tiling_pattern' argument
  6448. std::shared_ptr<const DataType> arg = params[base++];
  6449. try { GenericConvert( in->tiling_pattern, arg, db ); break; }
  6450. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tiles to be a `two_direction_repeat_factor`")); }
  6451. } while(0);
  6452. do { // convert the 'tiles' argument
  6453. std::shared_ptr<const DataType> arg = params[base++];
  6454. try { GenericConvert( in->tiles, arg, db ); break; }
  6455. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to fill_area_style_tiles to be a `SET [1:?] OF fill_area_style_tile_shape_select`")); }
  6456. } while(0);
  6457. do { // convert the 'tiling_scale' argument
  6458. std::shared_ptr<const DataType> arg = params[base++];
  6459. try { GenericConvert( in->tiling_scale, arg, db ); break; }
  6460. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to fill_area_style_tiles to be a `positive_ratio_measure`")); }
  6461. } while(0);
  6462. return base;
  6463. }
  6464. // -----------------------------------------------------------------------------------------------------------
  6465. template <> size_t GenericFill<shape_representation_relationship>(const DB& db, const LIST& params, shape_representation_relationship* in)
  6466. {
  6467. size_t base = GenericFill(db,params,static_cast<representation_relationship*>(in));
  6468. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_representation_relationship"); } return base;
  6469. }
  6470. // -----------------------------------------------------------------------------------------------------------
  6471. template <> size_t GenericFill<flat_pattern_ply_representation_relationship>(const DB& db, const LIST& params, flat_pattern_ply_representation_relationship* in)
  6472. {
  6473. size_t base = GenericFill(db,params,static_cast<shape_representation_relationship*>(in));
  6474. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to flat_pattern_ply_representation_relationship"); } return base;
  6475. }
  6476. // -----------------------------------------------------------------------------------------------------------
  6477. template <> size_t GenericFill<flatness_tolerance>(const DB& db, const LIST& params, flatness_tolerance* in)
  6478. {
  6479. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  6480. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to flatness_tolerance"); } return base;
  6481. }
  6482. // -----------------------------------------------------------------------------------------------------------
  6483. template <> size_t GenericFill<force_measure_with_unit>(const DB& db, const LIST& params, force_measure_with_unit* in)
  6484. {
  6485. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  6486. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to force_measure_with_unit"); } return base;
  6487. }
  6488. // -----------------------------------------------------------------------------------------------------------
  6489. template <> size_t GenericFill<force_unit>(const DB& db, const LIST& params, force_unit* in)
  6490. {
  6491. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  6492. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to force_unit"); } return base;
  6493. }
  6494. // -----------------------------------------------------------------------------------------------------------
  6495. template <> size_t GenericFill<forward_chaining_rule>(const DB& db, const LIST& params, forward_chaining_rule* in)
  6496. {
  6497. size_t base = GenericFill(db,params,static_cast<rule_definition*>(in));
  6498. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to forward_chaining_rule"); } return base;
  6499. }
  6500. // -----------------------------------------------------------------------------------------------------------
  6501. template <> size_t GenericFill<forward_chaining_rule_premise>(const DB& db, const LIST& params, forward_chaining_rule_premise* in)
  6502. {
  6503. size_t base = 0;
  6504. return base;
  6505. }
  6506. // -----------------------------------------------------------------------------------------------------------
  6507. template <> size_t GenericFill<frequency_measure_with_unit>(const DB& db, const LIST& params, frequency_measure_with_unit* in)
  6508. {
  6509. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  6510. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to frequency_measure_with_unit"); } return base;
  6511. }
  6512. // -----------------------------------------------------------------------------------------------------------
  6513. template <> size_t GenericFill<frequency_unit>(const DB& db, const LIST& params, frequency_unit* in)
  6514. {
  6515. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  6516. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to frequency_unit"); } return base;
  6517. }
  6518. // -----------------------------------------------------------------------------------------------------------
  6519. template <> size_t GenericFill<func>(const DB& db, const LIST& params, func* in)
  6520. {
  6521. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  6522. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to func"); } return base;
  6523. }
  6524. // -----------------------------------------------------------------------------------------------------------
  6525. template <> size_t GenericFill<functional_breakdown_context>(const DB& db, const LIST& params, functional_breakdown_context* in)
  6526. {
  6527. size_t base = GenericFill(db,params,static_cast<breakdown_context*>(in));
  6528. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to functional_breakdown_context"); } return base;
  6529. }
  6530. // -----------------------------------------------------------------------------------------------------------
  6531. template <> size_t GenericFill<functional_element_usage>(const DB& db, const LIST& params, functional_element_usage* in)
  6532. {
  6533. size_t base = GenericFill(db,params,static_cast<breakdown_element_usage*>(in));
  6534. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to functional_element_usage"); } return base;
  6535. }
  6536. // -----------------------------------------------------------------------------------------------------------
  6537. template <> size_t GenericFill<general_material_property>(const DB& db, const LIST& params, general_material_property* in)
  6538. {
  6539. size_t base = GenericFill(db,params,static_cast<general_property*>(in));
  6540. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to general_material_property"); } return base;
  6541. }
  6542. // -----------------------------------------------------------------------------------------------------------
  6543. template <> size_t GenericFill<simple_generic_expression>(const DB& db, const LIST& params, simple_generic_expression* in)
  6544. {
  6545. size_t base = GenericFill(db,params,static_cast<generic_expression*>(in));
  6546. return base;
  6547. }
  6548. // -----------------------------------------------------------------------------------------------------------
  6549. template <> size_t GenericFill<generic_literal>(const DB& db, const LIST& params, generic_literal* in)
  6550. {
  6551. size_t base = GenericFill(db,params,static_cast<simple_generic_expression*>(in));
  6552. return base;
  6553. }
  6554. // -----------------------------------------------------------------------------------------------------------
  6555. template <> size_t GenericFill<generic_variable>(const DB& db, const LIST& params, generic_variable* in)
  6556. {
  6557. size_t base = GenericFill(db,params,static_cast<simple_generic_expression*>(in));
  6558. return base;
  6559. }
  6560. // -----------------------------------------------------------------------------------------------------------
  6561. template <> size_t GenericFill<geometric_alignment>(const DB& db, const LIST& params, geometric_alignment* in)
  6562. {
  6563. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  6564. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to geometric_alignment"); } return base;
  6565. }
  6566. // -----------------------------------------------------------------------------------------------------------
  6567. template <> size_t GenericFill<geometric_set>(const DB& db, const LIST& params, geometric_set* in)
  6568. {
  6569. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6570. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to geometric_set"); } do { // convert the 'elements' argument
  6571. std::shared_ptr<const DataType> arg = params[base++];
  6572. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::geometric_set,1>::aux_is_derived[0]=true; break; }
  6573. try { GenericConvert( in->elements, arg, db ); break; }
  6574. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to geometric_set to be a `SET [1:?] OF geometric_set_select`")); }
  6575. } while(0);
  6576. return base;
  6577. }
  6578. // -----------------------------------------------------------------------------------------------------------
  6579. template <> size_t GenericFill<geometric_curve_set>(const DB& db, const LIST& params, geometric_curve_set* in)
  6580. {
  6581. size_t base = GenericFill(db,params,static_cast<geometric_set*>(in));
  6582. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to geometric_curve_set"); } return base;
  6583. }
  6584. // -----------------------------------------------------------------------------------------------------------
  6585. template <> size_t GenericFill<geometric_intersection>(const DB& db, const LIST& params, geometric_intersection* in)
  6586. {
  6587. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  6588. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to geometric_intersection"); } return base;
  6589. }
  6590. // -----------------------------------------------------------------------------------------------------------
  6591. template <> size_t GenericFill<geometric_item_specific_usage>(const DB& db, const LIST& params, geometric_item_specific_usage* in)
  6592. {
  6593. size_t base = GenericFill(db,params,static_cast<item_identified_representation_usage*>(in));
  6594. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to geometric_item_specific_usage"); } return base;
  6595. }
  6596. // -----------------------------------------------------------------------------------------------------------
  6597. template <> size_t GenericFill<geometric_model_element_relationship>(const DB& db, const LIST& params, geometric_model_element_relationship* in)
  6598. {
  6599. size_t base = 0;
  6600. return base;
  6601. }
  6602. // -----------------------------------------------------------------------------------------------------------
  6603. template <> size_t GenericFill<representation_context>(const DB& db, const LIST& params, representation_context* in)
  6604. {
  6605. size_t base = 0;
  6606. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to representation_context"); } do { // convert the 'context_identifier' argument
  6607. std::shared_ptr<const DataType> arg = params[base++];
  6608. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_context,2>::aux_is_derived[0]=true; break; }
  6609. try { GenericConvert( in->context_identifier, arg, db ); break; }
  6610. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_context to be a `identifier`")); }
  6611. } while(0);
  6612. do { // convert the 'context_type' argument
  6613. std::shared_ptr<const DataType> arg = params[base++];
  6614. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::representation_context,2>::aux_is_derived[1]=true; break; }
  6615. try { GenericConvert( in->context_type, arg, db ); break; }
  6616. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_context to be a `text`")); }
  6617. } while(0);
  6618. return base;
  6619. }
  6620. // -----------------------------------------------------------------------------------------------------------
  6621. template <> size_t GenericFill<geometric_representation_context>(const DB& db, const LIST& params, geometric_representation_context* in)
  6622. {
  6623. size_t base = GenericFill(db,params,static_cast<representation_context*>(in));
  6624. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometric_representation_context"); } do { // convert the 'coordinate_space_dimension' argument
  6625. std::shared_ptr<const DataType> arg = params[base++];
  6626. try { GenericConvert( in->coordinate_space_dimension, arg, db ); break; }
  6627. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to geometric_representation_context to be a `dimension_count`")); }
  6628. } while(0);
  6629. return base;
  6630. }
  6631. // -----------------------------------------------------------------------------------------------------------
  6632. template <> size_t GenericFill<geometric_tolerance_with_defined_unit>(const DB& db, const LIST& params, geometric_tolerance_with_defined_unit* in)
  6633. {
  6634. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  6635. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to geometric_tolerance_with_defined_unit"); } do { // convert the 'unit_size' argument
  6636. std::shared_ptr<const DataType> arg = params[base++];
  6637. try { GenericConvert( in->unit_size, arg, db ); break; }
  6638. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to geometric_tolerance_with_defined_unit to be a `measure_with_unit`")); }
  6639. } while(0);
  6640. return base;
  6641. }
  6642. // -----------------------------------------------------------------------------------------------------------
  6643. template <> size_t GenericFill<geometrical_tolerance_callout>(const DB& db, const LIST& params, geometrical_tolerance_callout* in)
  6644. {
  6645. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  6646. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to geometrical_tolerance_callout"); } return base;
  6647. }
  6648. // -----------------------------------------------------------------------------------------------------------
  6649. template <> size_t GenericFill<geometrically_bounded_2d_wireframe_representation>(const DB& db, const LIST& params, geometrically_bounded_2d_wireframe_representation* in)
  6650. {
  6651. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  6652. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometrically_bounded_2d_wireframe_representation"); } return base;
  6653. }
  6654. // -----------------------------------------------------------------------------------------------------------
  6655. template <> size_t GenericFill<geometrically_bounded_surface_shape_representation>(const DB& db, const LIST& params, geometrically_bounded_surface_shape_representation* in)
  6656. {
  6657. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  6658. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometrically_bounded_surface_shape_representation"); } return base;
  6659. }
  6660. // -----------------------------------------------------------------------------------------------------------
  6661. template <> size_t GenericFill<geometrically_bounded_wireframe_shape_representation>(const DB& db, const LIST& params, geometrically_bounded_wireframe_shape_representation* in)
  6662. {
  6663. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  6664. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometrically_bounded_wireframe_shape_representation"); } return base;
  6665. }
  6666. // -----------------------------------------------------------------------------------------------------------
  6667. template <> size_t GenericFill<global_assignment>(const DB& db, const LIST& params, global_assignment* in)
  6668. {
  6669. size_t base = GenericFill(db,params,static_cast<representation_item_relationship*>(in));
  6670. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to global_assignment"); } return base;
  6671. }
  6672. // -----------------------------------------------------------------------------------------------------------
  6673. template <> size_t GenericFill<global_uncertainty_assigned_context>(const DB& db, const LIST& params, global_uncertainty_assigned_context* in)
  6674. {
  6675. size_t base = GenericFill(db,params,static_cast<representation_context*>(in));
  6676. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to global_uncertainty_assigned_context"); } do { // convert the 'uncertainty' argument
  6677. std::shared_ptr<const DataType> arg = params[base++];
  6678. try { GenericConvert( in->uncertainty, arg, db ); break; }
  6679. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to global_uncertainty_assigned_context to be a `SET [1:?] OF uncertainty_measure_with_unit`")); }
  6680. } while(0);
  6681. return base;
  6682. }
  6683. // -----------------------------------------------------------------------------------------------------------
  6684. template <> size_t GenericFill<global_unit_assigned_context>(const DB& db, const LIST& params, global_unit_assigned_context* in)
  6685. {
  6686. size_t base = GenericFill(db,params,static_cast<representation_context*>(in));
  6687. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to global_unit_assigned_context"); } do { // convert the 'units' argument
  6688. std::shared_ptr<const DataType> arg = params[base++];
  6689. try { GenericConvert( in->units, arg, db ); break; }
  6690. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to global_unit_assigned_context to be a `SET [1:?] OF unit`")); }
  6691. } while(0);
  6692. return base;
  6693. }
  6694. // -----------------------------------------------------------------------------------------------------------
  6695. template <> size_t GenericFill<ground_fact>(const DB& db, const LIST& params, ground_fact* in)
  6696. {
  6697. size_t base = GenericFill(db,params,static_cast<atomic_formula*>(in));
  6698. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ground_fact"); } return base;
  6699. }
  6700. // -----------------------------------------------------------------------------------------------------------
  6701. template <> size_t GenericFill<hardness_representation>(const DB& db, const LIST& params, hardness_representation* in)
  6702. {
  6703. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  6704. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to hardness_representation"); } return base;
  6705. }
  6706. // -----------------------------------------------------------------------------------------------------------
  6707. template <> size_t GenericFill<hidden_element_over_riding_styled_item>(const DB& db, const LIST& params, hidden_element_over_riding_styled_item* in)
  6708. {
  6709. size_t base = GenericFill(db,params,static_cast<context_dependent_over_riding_styled_item*>(in));
  6710. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to hidden_element_over_riding_styled_item"); } return base;
  6711. }
  6712. // -----------------------------------------------------------------------------------------------------------
  6713. template <> size_t GenericFill<hyperbola>(const DB& db, const LIST& params, hyperbola* in)
  6714. {
  6715. size_t base = GenericFill(db,params,static_cast<conic*>(in));
  6716. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to hyperbola"); } do { // convert the 'semi_axis' argument
  6717. std::shared_ptr<const DataType> arg = params[base++];
  6718. try { GenericConvert( in->semi_axis, arg, db ); break; }
  6719. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to hyperbola to be a `positive_length_measure`")); }
  6720. } while(0);
  6721. do { // convert the 'semi_imag_axis' argument
  6722. std::shared_ptr<const DataType> arg = params[base++];
  6723. try { GenericConvert( in->semi_imag_axis, arg, db ); break; }
  6724. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to hyperbola to be a `positive_length_measure`")); }
  6725. } while(0);
  6726. return base;
  6727. }
  6728. // -----------------------------------------------------------------------------------------------------------
  6729. template <> size_t GenericFill<illuminance_measure_with_unit>(const DB& db, const LIST& params, illuminance_measure_with_unit* in)
  6730. {
  6731. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  6732. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to illuminance_measure_with_unit"); } return base;
  6733. }
  6734. // -----------------------------------------------------------------------------------------------------------
  6735. template <> size_t GenericFill<illuminance_unit>(const DB& db, const LIST& params, illuminance_unit* in)
  6736. {
  6737. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  6738. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to illuminance_unit"); } return base;
  6739. }
  6740. // -----------------------------------------------------------------------------------------------------------
  6741. template <> size_t GenericFill<included_text_block>(const DB& db, const LIST& params, included_text_block* in)
  6742. {
  6743. size_t base = GenericFill(db,params,static_cast<mapped_item*>(in));
  6744. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to included_text_block"); } return base;
  6745. }
  6746. // -----------------------------------------------------------------------------------------------------------
  6747. template <> size_t GenericFill<inclusion_product_concept_feature>(const DB& db, const LIST& params, inclusion_product_concept_feature* in)
  6748. {
  6749. size_t base = GenericFill(db,params,static_cast<conditional_concept_feature*>(in));
  6750. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to inclusion_product_concept_feature"); } return base;
  6751. }
  6752. // -----------------------------------------------------------------------------------------------------------
  6753. template <> size_t GenericFill<user_selected_elements>(const DB& db, const LIST& params, user_selected_elements* in)
  6754. {
  6755. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  6756. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to user_selected_elements"); } do { // convert the 'picked_items' argument
  6757. std::shared_ptr<const DataType> arg = params[base++];
  6758. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::user_selected_elements,1>::aux_is_derived[0]=true; break; }
  6759. try { GenericConvert( in->picked_items, arg, db ); break; }
  6760. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to user_selected_elements to be a `SET [1:?] OF representation_item`")); }
  6761. } while(0);
  6762. return base;
  6763. }
  6764. // -----------------------------------------------------------------------------------------------------------
  6765. template <> size_t GenericFill<indirectly_selected_elements>(const DB& db, const LIST& params, indirectly_selected_elements* in)
  6766. {
  6767. size_t base = GenericFill(db,params,static_cast<user_selected_elements*>(in));
  6768. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to indirectly_selected_elements"); } do { // convert the 'indirectly_picked_items' argument
  6769. std::shared_ptr<const DataType> arg = params[base++];
  6770. try { GenericConvert( in->indirectly_picked_items, arg, db ); break; }
  6771. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to indirectly_selected_elements to be a `SET [1:?] OF representation_item`")); }
  6772. } while(0);
  6773. return base;
  6774. }
  6775. // -----------------------------------------------------------------------------------------------------------
  6776. template <> size_t GenericFill<indirectly_selected_shape_elements>(const DB& db, const LIST& params, indirectly_selected_shape_elements* in)
  6777. {
  6778. size_t base = 0;
  6779. return base;
  6780. }
  6781. // -----------------------------------------------------------------------------------------------------------
  6782. template <> size_t GenericFill<inductance_measure_with_unit>(const DB& db, const LIST& params, inductance_measure_with_unit* in)
  6783. {
  6784. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  6785. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to inductance_measure_with_unit"); } return base;
  6786. }
  6787. // -----------------------------------------------------------------------------------------------------------
  6788. template <> size_t GenericFill<inductance_unit>(const DB& db, const LIST& params, inductance_unit* in)
  6789. {
  6790. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  6791. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to inductance_unit"); } return base;
  6792. }
  6793. // -----------------------------------------------------------------------------------------------------------
  6794. template <> size_t GenericFill<information_right>(const DB& db, const LIST& params, information_right* in)
  6795. {
  6796. size_t base = GenericFill(db,params,static_cast<action_method*>(in));
  6797. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to information_right"); } return base;
  6798. }
  6799. // -----------------------------------------------------------------------------------------------------------
  6800. template <> size_t GenericFill<information_usage_right>(const DB& db, const LIST& params, information_usage_right* in)
  6801. {
  6802. size_t base = GenericFill(db,params,static_cast<action_method*>(in));
  6803. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to information_usage_right"); } return base;
  6804. }
  6805. // -----------------------------------------------------------------------------------------------------------
  6806. template <> size_t GenericFill<instance_usage_context_assignment>(const DB& db, const LIST& params, instance_usage_context_assignment* in)
  6807. {
  6808. size_t base = GenericFill(db,params,static_cast<product_definition_context*>(in));
  6809. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to instance_usage_context_assignment"); } do { // convert the 'items' argument
  6810. std::shared_ptr<const DataType> arg = params[base++];
  6811. try { GenericConvert( in->items, arg, db ); break; }
  6812. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to instance_usage_context_assignment to be a `SET [1:?] OF instance_usage_context_select`")); }
  6813. } while(0);
  6814. return base;
  6815. }
  6816. // -----------------------------------------------------------------------------------------------------------
  6817. template <> size_t GenericFill<instanced_feature>(const DB& db, const LIST& params, instanced_feature* in)
  6818. {
  6819. size_t base = 0;
  6820. return base;
  6821. }
  6822. // -----------------------------------------------------------------------------------------------------------
  6823. template <> size_t GenericFill<literal_number>(const DB& db, const LIST& params, literal_number* in)
  6824. {
  6825. size_t base = 0;
  6826. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to literal_number"); } do { // convert the 'the_value' argument
  6827. std::shared_ptr<const DataType> arg = params[base++];
  6828. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::literal_number,1>::aux_is_derived[0]=true; break; }
  6829. try { GenericConvert( in->the_value, arg, db ); break; }
  6830. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to literal_number to be a `NUMBER`")); }
  6831. } while(0);
  6832. return base;
  6833. }
  6834. // -----------------------------------------------------------------------------------------------------------
  6835. template <> size_t GenericFill<int_literal>(const DB& db, const LIST& params, int_literal* in)
  6836. {
  6837. size_t base = GenericFill(db,params,static_cast<literal_number*>(in));
  6838. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to int_literal"); } return base;
  6839. }
  6840. // -----------------------------------------------------------------------------------------------------------
  6841. template <> size_t GenericFill<integer_representation_item>(const DB& db, const LIST& params, integer_representation_item* in)
  6842. {
  6843. size_t base = 0;
  6844. return base;
  6845. }
  6846. // -----------------------------------------------------------------------------------------------------------
  6847. template <> size_t GenericFill<surface_curve>(const DB& db, const LIST& params, surface_curve* in)
  6848. {
  6849. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  6850. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to surface_curve"); } do { // convert the 'curve_3d' argument
  6851. std::shared_ptr<const DataType> arg = params[base++];
  6852. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve,3>::aux_is_derived[0]=true; break; }
  6853. try { GenericConvert( in->curve_3d, arg, db ); break; }
  6854. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_curve to be a `curve`")); }
  6855. } while(0);
  6856. do { // convert the 'associated_geometry' argument
  6857. std::shared_ptr<const DataType> arg = params[base++];
  6858. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve,3>::aux_is_derived[1]=true; break; }
  6859. try { GenericConvert( in->associated_geometry, arg, db ); break; }
  6860. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_curve to be a `LIST [1:2] OF pcurve_or_surface`")); }
  6861. } while(0);
  6862. do { // convert the 'master_representation' argument
  6863. std::shared_ptr<const DataType> arg = params[base++];
  6864. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve,3>::aux_is_derived[2]=true; break; }
  6865. try { GenericConvert( in->master_representation, arg, db ); break; }
  6866. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_curve to be a `preferred_surface_curve_representation`")); }
  6867. } while(0);
  6868. return base;
  6869. }
  6870. // -----------------------------------------------------------------------------------------------------------
  6871. template <> size_t GenericFill<intersection_curve>(const DB& db, const LIST& params, intersection_curve* in)
  6872. {
  6873. size_t base = GenericFill(db,params,static_cast<surface_curve*>(in));
  6874. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to intersection_curve"); } return base;
  6875. }
  6876. // -----------------------------------------------------------------------------------------------------------
  6877. template <> size_t GenericFill<interval_expression>(const DB& db, const LIST& params, interval_expression* in)
  6878. {
  6879. size_t base = 0;
  6880. return base;
  6881. }
  6882. // -----------------------------------------------------------------------------------------------------------
  6883. template <> size_t GenericFill<iso4217_currency>(const DB& db, const LIST& params, iso4217_currency* in)
  6884. {
  6885. size_t base = GenericFill(db,params,static_cast<currency*>(in));
  6886. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to iso4217_currency"); } return base;
  6887. }
  6888. // -----------------------------------------------------------------------------------------------------------
  6889. template <> size_t GenericFill<known_source>(const DB& db, const LIST& params, known_source* in)
  6890. {
  6891. size_t base = 0;
  6892. return base;
  6893. }
  6894. // -----------------------------------------------------------------------------------------------------------
  6895. template <> size_t GenericFill<laid_defined_transformation>(const DB& db, const LIST& params, laid_defined_transformation* in)
  6896. {
  6897. size_t base = GenericFill(db,params,static_cast<transformation_with_derived_angle*>(in));
  6898. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to laid_defined_transformation"); } return base;
  6899. }
  6900. // -----------------------------------------------------------------------------------------------------------
  6901. template <> size_t GenericFill<language>(const DB& db, const LIST& params, language* in)
  6902. {
  6903. size_t base = GenericFill(db,params,static_cast<group*>(in));
  6904. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to language"); } return base;
  6905. }
  6906. // -----------------------------------------------------------------------------------------------------------
  6907. template <> size_t GenericFill<leader_curve>(const DB& db, const LIST& params, leader_curve* in)
  6908. {
  6909. size_t base = GenericFill(db,params,static_cast<annotation_curve_occurrence*>(in));
  6910. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to leader_curve"); } return base;
  6911. }
  6912. // -----------------------------------------------------------------------------------------------------------
  6913. template <> size_t GenericFill<leader_directed_callout>(const DB& db, const LIST& params, leader_directed_callout* in)
  6914. {
  6915. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  6916. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to leader_directed_callout"); } return base;
  6917. }
  6918. // -----------------------------------------------------------------------------------------------------------
  6919. template <> size_t GenericFill<leader_directed_dimension>(const DB& db, const LIST& params, leader_directed_dimension* in)
  6920. {
  6921. size_t base = GenericFill(db,params,static_cast<leader_directed_callout*>(in));
  6922. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to leader_directed_dimension"); } return base;
  6923. }
  6924. // -----------------------------------------------------------------------------------------------------------
  6925. template <> size_t GenericFill<leader_terminator>(const DB& db, const LIST& params, leader_terminator* in)
  6926. {
  6927. size_t base = GenericFill(db,params,static_cast<terminator_symbol*>(in));
  6928. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to leader_terminator"); } return base;
  6929. }
  6930. // -----------------------------------------------------------------------------------------------------------
  6931. template <> size_t GenericFill<length_measure_with_unit>(const DB& db, const LIST& params, length_measure_with_unit* in)
  6932. {
  6933. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  6934. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to length_measure_with_unit"); } return base;
  6935. }
  6936. // -----------------------------------------------------------------------------------------------------------
  6937. template <> size_t GenericFill<length_unit>(const DB& db, const LIST& params, length_unit* in)
  6938. {
  6939. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  6940. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to length_unit"); } return base;
  6941. }
  6942. // -----------------------------------------------------------------------------------------------------------
  6943. template <> size_t GenericFill<light_source>(const DB& db, const LIST& params, light_source* in)
  6944. {
  6945. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  6946. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to light_source"); } do { // convert the 'light_colour' argument
  6947. std::shared_ptr<const DataType> arg = params[base++];
  6948. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::light_source,1>::aux_is_derived[0]=true; break; }
  6949. try { GenericConvert( in->light_colour, arg, db ); break; }
  6950. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to light_source to be a `colour`")); }
  6951. } while(0);
  6952. return base;
  6953. }
  6954. // -----------------------------------------------------------------------------------------------------------
  6955. template <> size_t GenericFill<light_source_ambient>(const DB& db, const LIST& params, light_source_ambient* in)
  6956. {
  6957. size_t base = GenericFill(db,params,static_cast<light_source*>(in));
  6958. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to light_source_ambient"); } return base;
  6959. }
  6960. // -----------------------------------------------------------------------------------------------------------
  6961. template <> size_t GenericFill<light_source_directional>(const DB& db, const LIST& params, light_source_directional* in)
  6962. {
  6963. size_t base = GenericFill(db,params,static_cast<light_source*>(in));
  6964. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to light_source_directional"); } do { // convert the 'orientation' argument
  6965. std::shared_ptr<const DataType> arg = params[base++];
  6966. try { GenericConvert( in->orientation, arg, db ); break; }
  6967. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to light_source_directional to be a `direction`")); }
  6968. } while(0);
  6969. return base;
  6970. }
  6971. // -----------------------------------------------------------------------------------------------------------
  6972. template <> size_t GenericFill<light_source_positional>(const DB& db, const LIST& params, light_source_positional* in)
  6973. {
  6974. size_t base = GenericFill(db,params,static_cast<light_source*>(in));
  6975. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to light_source_positional"); } do { // convert the 'position' argument
  6976. std::shared_ptr<const DataType> arg = params[base++];
  6977. try { GenericConvert( in->position, arg, db ); break; }
  6978. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to light_source_positional to be a `cartesian_point`")); }
  6979. } while(0);
  6980. do { // convert the 'constant_attenuation' argument
  6981. std::shared_ptr<const DataType> arg = params[base++];
  6982. try { GenericConvert( in->constant_attenuation, arg, db ); break; }
  6983. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to light_source_positional to be a `REAL`")); }
  6984. } while(0);
  6985. do { // convert the 'distance_attenuation' argument
  6986. std::shared_ptr<const DataType> arg = params[base++];
  6987. try { GenericConvert( in->distance_attenuation, arg, db ); break; }
  6988. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to light_source_positional to be a `REAL`")); }
  6989. } while(0);
  6990. return base;
  6991. }
  6992. // -----------------------------------------------------------------------------------------------------------
  6993. template <> size_t GenericFill<light_source_spot>(const DB& db, const LIST& params, light_source_spot* in)
  6994. {
  6995. size_t base = GenericFill(db,params,static_cast<light_source*>(in));
  6996. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to light_source_spot"); } do { // convert the 'position' argument
  6997. std::shared_ptr<const DataType> arg = params[base++];
  6998. try { GenericConvert( in->position, arg, db ); break; }
  6999. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to light_source_spot to be a `cartesian_point`")); }
  7000. } while(0);
  7001. do { // convert the 'orientation' argument
  7002. std::shared_ptr<const DataType> arg = params[base++];
  7003. try { GenericConvert( in->orientation, arg, db ); break; }
  7004. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to light_source_spot to be a `direction`")); }
  7005. } while(0);
  7006. do { // convert the 'concentration_exponent' argument
  7007. std::shared_ptr<const DataType> arg = params[base++];
  7008. try { GenericConvert( in->concentration_exponent, arg, db ); break; }
  7009. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to light_source_spot to be a `REAL`")); }
  7010. } while(0);
  7011. do { // convert the 'constant_attenuation' argument
  7012. std::shared_ptr<const DataType> arg = params[base++];
  7013. try { GenericConvert( in->constant_attenuation, arg, db ); break; }
  7014. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to light_source_spot to be a `REAL`")); }
  7015. } while(0);
  7016. do { // convert the 'distance_attenuation' argument
  7017. std::shared_ptr<const DataType> arg = params[base++];
  7018. try { GenericConvert( in->distance_attenuation, arg, db ); break; }
  7019. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to light_source_spot to be a `REAL`")); }
  7020. } while(0);
  7021. do { // convert the 'spread_angle' argument
  7022. std::shared_ptr<const DataType> arg = params[base++];
  7023. try { GenericConvert( in->spread_angle, arg, db ); break; }
  7024. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to light_source_spot to be a `positive_plane_angle_measure`")); }
  7025. } while(0);
  7026. return base;
  7027. }
  7028. // -----------------------------------------------------------------------------------------------------------
  7029. template <> size_t GenericFill<line>(const DB& db, const LIST& params, line* in)
  7030. {
  7031. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  7032. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to line"); } do { // convert the 'pnt' argument
  7033. std::shared_ptr<const DataType> arg = params[base++];
  7034. try { GenericConvert( in->pnt, arg, db ); break; }
  7035. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to line to be a `cartesian_point`")); }
  7036. } while(0);
  7037. do { // convert the 'dir' argument
  7038. std::shared_ptr<const DataType> arg = params[base++];
  7039. try { GenericConvert( in->dir, arg, db ); break; }
  7040. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to line to be a `vector`")); }
  7041. } while(0);
  7042. return base;
  7043. }
  7044. // -----------------------------------------------------------------------------------------------------------
  7045. template <> size_t GenericFill<line_profile_tolerance>(const DB& db, const LIST& params, line_profile_tolerance* in)
  7046. {
  7047. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  7048. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to line_profile_tolerance"); } return base;
  7049. }
  7050. // -----------------------------------------------------------------------------------------------------------
  7051. template <> size_t GenericFill<linear_dimension>(const DB& db, const LIST& params, linear_dimension* in)
  7052. {
  7053. size_t base = GenericFill(db,params,static_cast<dimension_curve_directed_callout*>(in));
  7054. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to linear_dimension"); } return base;
  7055. }
  7056. // -----------------------------------------------------------------------------------------------------------
  7057. template <> size_t GenericFill<simple_clause>(const DB& db, const LIST& params, simple_clause* in)
  7058. {
  7059. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  7060. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to simple_clause"); } return base;
  7061. }
  7062. // -----------------------------------------------------------------------------------------------------------
  7063. template <> size_t GenericFill<literal_conjunction>(const DB& db, const LIST& params, literal_conjunction* in)
  7064. {
  7065. size_t base = GenericFill(db,params,static_cast<simple_clause*>(in));
  7066. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to literal_conjunction"); } return base;
  7067. }
  7068. // -----------------------------------------------------------------------------------------------------------
  7069. template <> size_t GenericFill<literal_disjunction>(const DB& db, const LIST& params, literal_disjunction* in)
  7070. {
  7071. size_t base = GenericFill(db,params,static_cast<simple_clause*>(in));
  7072. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to literal_disjunction"); } return base;
  7073. }
  7074. // -----------------------------------------------------------------------------------------------------------
  7075. template <> size_t GenericFill<logical_literal>(const DB& db, const LIST& params, logical_literal* in)
  7076. {
  7077. size_t base = GenericFill(db,params,static_cast<generic_literal*>(in));
  7078. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to logical_literal"); } do { // convert the 'lit_value' argument
  7079. std::shared_ptr<const DataType> arg = params[base++];
  7080. try { GenericConvert( in->lit_value, arg, db ); break; }
  7081. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to logical_literal to be a `LOGICAL`")); }
  7082. } while(0);
  7083. return base;
  7084. }
  7085. // -----------------------------------------------------------------------------------------------------------
  7086. template <> size_t GenericFill<logical_representation_item>(const DB& db, const LIST& params, logical_representation_item* in)
  7087. {
  7088. size_t base = 0;
  7089. return base;
  7090. }
  7091. // -----------------------------------------------------------------------------------------------------------
  7092. template <> size_t GenericFill<loop>(const DB& db, const LIST& params, loop* in)
  7093. {
  7094. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  7095. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to loop"); } return base;
  7096. }
  7097. // -----------------------------------------------------------------------------------------------------------
  7098. template <> size_t GenericFill<loss_tangent_measure_with_unit>(const DB& db, const LIST& params, loss_tangent_measure_with_unit* in)
  7099. {
  7100. size_t base = GenericFill(db,params,static_cast<ratio_measure_with_unit*>(in));
  7101. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to loss_tangent_measure_with_unit"); } return base;
  7102. }
  7103. // -----------------------------------------------------------------------------------------------------------
  7104. template <> size_t GenericFill<lot_effectivity>(const DB& db, const LIST& params, lot_effectivity* in)
  7105. {
  7106. size_t base = GenericFill(db,params,static_cast<effectivity*>(in));
  7107. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to lot_effectivity"); } do { // convert the 'effectivity_lot_id' argument
  7108. std::shared_ptr<const DataType> arg = params[base++];
  7109. try { GenericConvert( in->effectivity_lot_id, arg, db ); break; }
  7110. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to lot_effectivity to be a `identifier`")); }
  7111. } while(0);
  7112. do { // convert the 'effectivity_lot_size' argument
  7113. std::shared_ptr<const DataType> arg = params[base++];
  7114. try { GenericConvert( in->effectivity_lot_size, arg, db ); break; }
  7115. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to lot_effectivity to be a `measure_with_unit`")); }
  7116. } while(0);
  7117. return base;
  7118. }
  7119. // -----------------------------------------------------------------------------------------------------------
  7120. template <> size_t GenericFill<luminous_flux_measure_with_unit>(const DB& db, const LIST& params, luminous_flux_measure_with_unit* in)
  7121. {
  7122. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  7123. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to luminous_flux_measure_with_unit"); } return base;
  7124. }
  7125. // -----------------------------------------------------------------------------------------------------------
  7126. template <> size_t GenericFill<luminous_flux_unit>(const DB& db, const LIST& params, luminous_flux_unit* in)
  7127. {
  7128. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  7129. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to luminous_flux_unit"); } return base;
  7130. }
  7131. // -----------------------------------------------------------------------------------------------------------
  7132. template <> size_t GenericFill<luminous_intensity_measure_with_unit>(const DB& db, const LIST& params, luminous_intensity_measure_with_unit* in)
  7133. {
  7134. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  7135. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to luminous_intensity_measure_with_unit"); } return base;
  7136. }
  7137. // -----------------------------------------------------------------------------------------------------------
  7138. template <> size_t GenericFill<luminous_intensity_unit>(const DB& db, const LIST& params, luminous_intensity_unit* in)
  7139. {
  7140. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  7141. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to luminous_intensity_unit"); } return base;
  7142. }
  7143. // -----------------------------------------------------------------------------------------------------------
  7144. template <> size_t GenericFill<magnetic_flux_density_measure_with_unit>(const DB& db, const LIST& params, magnetic_flux_density_measure_with_unit* in)
  7145. {
  7146. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  7147. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to magnetic_flux_density_measure_with_unit"); } return base;
  7148. }
  7149. // -----------------------------------------------------------------------------------------------------------
  7150. template <> size_t GenericFill<magnetic_flux_density_unit>(const DB& db, const LIST& params, magnetic_flux_density_unit* in)
  7151. {
  7152. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  7153. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to magnetic_flux_density_unit"); } return base;
  7154. }
  7155. // -----------------------------------------------------------------------------------------------------------
  7156. template <> size_t GenericFill<magnetic_flux_measure_with_unit>(const DB& db, const LIST& params, magnetic_flux_measure_with_unit* in)
  7157. {
  7158. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  7159. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to magnetic_flux_measure_with_unit"); } return base;
  7160. }
  7161. // -----------------------------------------------------------------------------------------------------------
  7162. template <> size_t GenericFill<magnetic_flux_unit>(const DB& db, const LIST& params, magnetic_flux_unit* in)
  7163. {
  7164. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  7165. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to magnetic_flux_unit"); } return base;
  7166. }
  7167. // -----------------------------------------------------------------------------------------------------------
  7168. template <> size_t GenericFill<make_from_usage_option>(const DB& db, const LIST& params, make_from_usage_option* in)
  7169. {
  7170. size_t base = GenericFill(db,params,static_cast<product_definition_usage*>(in));
  7171. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to make_from_usage_option"); } do { // convert the 'ranking' argument
  7172. std::shared_ptr<const DataType> arg = params[base++];
  7173. try { GenericConvert( in->ranking, arg, db ); break; }
  7174. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to make_from_usage_option to be a `INTEGER`")); }
  7175. } while(0);
  7176. do { // convert the 'ranking_rationale' argument
  7177. std::shared_ptr<const DataType> arg = params[base++];
  7178. try { GenericConvert( in->ranking_rationale, arg, db ); break; }
  7179. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to make_from_usage_option to be a `text`")); }
  7180. } while(0);
  7181. do { // convert the 'quantity' argument
  7182. std::shared_ptr<const DataType> arg = params[base++];
  7183. try { GenericConvert( in->quantity, arg, db ); break; }
  7184. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to make_from_usage_option to be a `measure_with_unit`")); }
  7185. } while(0);
  7186. return base;
  7187. }
  7188. // -----------------------------------------------------------------------------------------------------------
  7189. template <> size_t GenericFill<manifold_subsurface_shape_representation>(const DB& db, const LIST& params, manifold_subsurface_shape_representation* in)
  7190. {
  7191. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  7192. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to manifold_subsurface_shape_representation"); } return base;
  7193. }
  7194. // -----------------------------------------------------------------------------------------------------------
  7195. template <> size_t GenericFill<manifold_surface_shape_representation>(const DB& db, const LIST& params, manifold_surface_shape_representation* in)
  7196. {
  7197. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  7198. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to manifold_surface_shape_representation"); } return base;
  7199. }
  7200. // -----------------------------------------------------------------------------------------------------------
  7201. template <> size_t GenericFill<mass_measure_with_unit>(const DB& db, const LIST& params, mass_measure_with_unit* in)
  7202. {
  7203. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  7204. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to mass_measure_with_unit"); } return base;
  7205. }
  7206. // -----------------------------------------------------------------------------------------------------------
  7207. template <> size_t GenericFill<mass_unit>(const DB& db, const LIST& params, mass_unit* in)
  7208. {
  7209. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  7210. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to mass_unit"); } return base;
  7211. }
  7212. // -----------------------------------------------------------------------------------------------------------
  7213. template <> size_t GenericFill<material_property>(const DB& db, const LIST& params, material_property* in)
  7214. {
  7215. size_t base = GenericFill(db,params,static_cast<property_definition*>(in));
  7216. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to material_property"); } return base;
  7217. }
  7218. // -----------------------------------------------------------------------------------------------------------
  7219. template <> size_t GenericFill<property_definition_representation>(const DB& db, const LIST& params, property_definition_representation* in)
  7220. {
  7221. size_t base = 0;
  7222. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to property_definition_representation"); } do { // convert the 'definition' argument
  7223. std::shared_ptr<const DataType> arg = params[base++];
  7224. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::property_definition_representation,2>::aux_is_derived[0]=true; break; }
  7225. try { GenericConvert( in->definition, arg, db ); break; }
  7226. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to property_definition_representation to be a `represented_definition`")); }
  7227. } while(0);
  7228. do { // convert the 'used_representation' argument
  7229. std::shared_ptr<const DataType> arg = params[base++];
  7230. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::property_definition_representation,2>::aux_is_derived[1]=true; break; }
  7231. try { GenericConvert( in->used_representation, arg, db ); break; }
  7232. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to property_definition_representation to be a `representation`")); }
  7233. } while(0);
  7234. return base;
  7235. }
  7236. // -----------------------------------------------------------------------------------------------------------
  7237. template <> size_t GenericFill<material_property_representation>(const DB& db, const LIST& params, material_property_representation* in)
  7238. {
  7239. size_t base = GenericFill(db,params,static_cast<property_definition_representation*>(in));
  7240. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to material_property_representation"); } do { // convert the 'dependent_environment' argument
  7241. std::shared_ptr<const DataType> arg = params[base++];
  7242. try { GenericConvert( in->dependent_environment, arg, db ); break; }
  7243. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to material_property_representation to be a `data_environment`")); }
  7244. } while(0);
  7245. return base;
  7246. }
  7247. // -----------------------------------------------------------------------------------------------------------
  7248. template <> size_t GenericFill<measure_representation_item>(const DB& db, const LIST& params, measure_representation_item* in)
  7249. {
  7250. size_t base = 0;
  7251. return base;
  7252. }
  7253. // -----------------------------------------------------------------------------------------------------------
  7254. template <> size_t GenericFill<product_context>(const DB& db, const LIST& params, product_context* in)
  7255. {
  7256. size_t base = GenericFill(db,params,static_cast<application_context_element*>(in));
  7257. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_context"); } do { // convert the 'discipline_type' argument
  7258. std::shared_ptr<const DataType> arg = params[base++];
  7259. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_context,1>::aux_is_derived[0]=true; break; }
  7260. try { GenericConvert( in->discipline_type, arg, db ); break; }
  7261. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_context to be a `label`")); }
  7262. } while(0);
  7263. return base;
  7264. }
  7265. // -----------------------------------------------------------------------------------------------------------
  7266. template <> size_t GenericFill<mechanical_context>(const DB& db, const LIST& params, mechanical_context* in)
  7267. {
  7268. size_t base = GenericFill(db,params,static_cast<product_context*>(in));
  7269. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_context"); } return base;
  7270. }
  7271. // -----------------------------------------------------------------------------------------------------------
  7272. template <> size_t GenericFill<mechanical_design_and_draughting_relationship>(const DB& db, const LIST& params, mechanical_design_and_draughting_relationship* in)
  7273. {
  7274. size_t base = GenericFill(db,params,static_cast<definitional_representation_relationship_with_same_context*>(in));
  7275. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to mechanical_design_and_draughting_relationship"); } return base;
  7276. }
  7277. // -----------------------------------------------------------------------------------------------------------
  7278. template <> size_t GenericFill<mechanical_design_geometric_presentation_area>(const DB& db, const LIST& params, mechanical_design_geometric_presentation_area* in)
  7279. {
  7280. size_t base = GenericFill(db,params,static_cast<presentation_area*>(in));
  7281. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_geometric_presentation_area"); } return base;
  7282. }
  7283. // -----------------------------------------------------------------------------------------------------------
  7284. template <> size_t GenericFill<mechanical_design_geometric_presentation_representation>(const DB& db, const LIST& params, mechanical_design_geometric_presentation_representation* in)
  7285. {
  7286. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  7287. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_geometric_presentation_representation"); } return base;
  7288. }
  7289. // -----------------------------------------------------------------------------------------------------------
  7290. template <> size_t GenericFill<mechanical_design_presentation_representation_with_draughting>(const DB& db, const LIST& params, mechanical_design_presentation_representation_with_draughting* in)
  7291. {
  7292. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  7293. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_presentation_representation_with_draughting"); } return base;
  7294. }
  7295. // -----------------------------------------------------------------------------------------------------------
  7296. template <> size_t GenericFill<mechanical_design_shaded_presentation_area>(const DB& db, const LIST& params, mechanical_design_shaded_presentation_area* in)
  7297. {
  7298. size_t base = GenericFill(db,params,static_cast<presentation_area*>(in));
  7299. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_shaded_presentation_area"); } return base;
  7300. }
  7301. // -----------------------------------------------------------------------------------------------------------
  7302. template <> size_t GenericFill<mechanical_design_shaded_presentation_representation>(const DB& db, const LIST& params, mechanical_design_shaded_presentation_representation* in)
  7303. {
  7304. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  7305. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_shaded_presentation_representation"); } return base;
  7306. }
  7307. // -----------------------------------------------------------------------------------------------------------
  7308. template <> size_t GenericFill<min_and_major_ply_orientation_basis>(const DB& db, const LIST& params, min_and_major_ply_orientation_basis* in)
  7309. {
  7310. size_t base = 0;
  7311. return base;
  7312. }
  7313. // -----------------------------------------------------------------------------------------------------------
  7314. template <> size_t GenericFill<modified_geometric_tolerance>(const DB& db, const LIST& params, modified_geometric_tolerance* in)
  7315. {
  7316. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  7317. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to modified_geometric_tolerance"); } do { // convert the 'modifier' argument
  7318. std::shared_ptr<const DataType> arg = params[base++];
  7319. try { GenericConvert( in->modifier, arg, db ); break; }
  7320. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to modified_geometric_tolerance to be a `limit_condition`")); }
  7321. } while(0);
  7322. return base;
  7323. }
  7324. // -----------------------------------------------------------------------------------------------------------
  7325. template <> size_t GenericFill<modified_solid_with_placed_configuration>(const DB& db, const LIST& params, modified_solid_with_placed_configuration* in)
  7326. {
  7327. size_t base = GenericFill(db,params,static_cast<modified_solid*>(in));
  7328. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to modified_solid_with_placed_configuration"); } do { // convert the 'placing' argument
  7329. std::shared_ptr<const DataType> arg = params[base++];
  7330. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::modified_solid_with_placed_configuration,1>::aux_is_derived[0]=true; break; }
  7331. try { GenericConvert( in->placing, arg, db ); break; }
  7332. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to modified_solid_with_placed_configuration to be a `axis2_placement_3d`")); }
  7333. } while(0);
  7334. return base;
  7335. }
  7336. // -----------------------------------------------------------------------------------------------------------
  7337. template <> size_t GenericFill<moments_of_inertia_representation>(const DB& db, const LIST& params, moments_of_inertia_representation* in)
  7338. {
  7339. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  7340. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to moments_of_inertia_representation"); } return base;
  7341. }
  7342. // -----------------------------------------------------------------------------------------------------------
  7343. template <> size_t GenericFill<multi_language_attribute_assignment>(const DB& db, const LIST& params, multi_language_attribute_assignment* in)
  7344. {
  7345. size_t base = GenericFill(db,params,static_cast<attribute_value_assignment*>(in));
  7346. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to multi_language_attribute_assignment"); } do { // convert the 'items' argument
  7347. std::shared_ptr<const DataType> arg = params[base++];
  7348. try { GenericConvert( in->items, arg, db ); break; }
  7349. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to multi_language_attribute_assignment to be a `SET [1:?] OF multi_language_attribute_item`")); }
  7350. } while(0);
  7351. return base;
  7352. }
  7353. // -----------------------------------------------------------------------------------------------------------
  7354. template <> size_t GenericFill<multiple_arity_boolean_expression>(const DB& db, const LIST& params, multiple_arity_boolean_expression* in)
  7355. {
  7356. size_t base = 0;
  7357. return base;
  7358. }
  7359. // -----------------------------------------------------------------------------------------------------------
  7360. template <> size_t GenericFill<multiple_arity_generic_expression>(const DB& db, const LIST& params, multiple_arity_generic_expression* in)
  7361. {
  7362. size_t base = GenericFill(db,params,static_cast<generic_expression*>(in));
  7363. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to multiple_arity_generic_expression"); } do { // convert the 'operands' argument
  7364. std::shared_ptr<const DataType> arg = params[base++];
  7365. try { GenericConvert( in->operands, arg, db ); break; }
  7366. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to multiple_arity_generic_expression to be a `LIST [2:?] OF generic_expression`")); }
  7367. } while(0);
  7368. return base;
  7369. }
  7370. // -----------------------------------------------------------------------------------------------------------
  7371. template <> size_t GenericFill<multiple_arity_numeric_expression>(const DB& db, const LIST& params, multiple_arity_numeric_expression* in)
  7372. {
  7373. size_t base = 0;
  7374. return base;
  7375. }
  7376. // -----------------------------------------------------------------------------------------------------------
  7377. template <> size_t GenericFill<next_assembly_usage_occurrence>(const DB& db, const LIST& params, next_assembly_usage_occurrence* in)
  7378. {
  7379. size_t base = GenericFill(db,params,static_cast<assembly_component_usage*>(in));
  7380. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to next_assembly_usage_occurrence"); } return base;
  7381. }
  7382. // -----------------------------------------------------------------------------------------------------------
  7383. template <> size_t GenericFill<non_manifold_surface_shape_representation>(const DB& db, const LIST& params, non_manifold_surface_shape_representation* in)
  7384. {
  7385. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  7386. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to non_manifold_surface_shape_representation"); } return base;
  7387. }
  7388. // -----------------------------------------------------------------------------------------------------------
  7389. template <> size_t GenericFill<null_representation_item>(const DB& db, const LIST& params, null_representation_item* in)
  7390. {
  7391. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  7392. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to null_representation_item"); } return base;
  7393. }
  7394. // -----------------------------------------------------------------------------------------------------------
  7395. template <> size_t GenericFill<numeric_expression>(const DB& db, const LIST& params, numeric_expression* in)
  7396. {
  7397. size_t base = GenericFill(db,params,static_cast<expression*>(in));
  7398. return base;
  7399. }
  7400. // -----------------------------------------------------------------------------------------------------------
  7401. template <> size_t GenericFill<offset_curve_2d>(const DB& db, const LIST& params, offset_curve_2d* in)
  7402. {
  7403. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  7404. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to offset_curve_2d"); } do { // convert the 'basis_curve' argument
  7405. std::shared_ptr<const DataType> arg = params[base++];
  7406. try { GenericConvert( in->basis_curve, arg, db ); break; }
  7407. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to offset_curve_2d to be a `curve`")); }
  7408. } while(0);
  7409. do { // convert the 'distance' argument
  7410. std::shared_ptr<const DataType> arg = params[base++];
  7411. try { GenericConvert( in->distance, arg, db ); break; }
  7412. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to offset_curve_2d to be a `length_measure`")); }
  7413. } while(0);
  7414. do { // convert the 'self_intersect' argument
  7415. std::shared_ptr<const DataType> arg = params[base++];
  7416. try { GenericConvert( in->self_intersect, arg, db ); break; }
  7417. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to offset_curve_2d to be a `LOGICAL`")); }
  7418. } while(0);
  7419. return base;
  7420. }
  7421. // -----------------------------------------------------------------------------------------------------------
  7422. template <> size_t GenericFill<offset_curve_3d>(const DB& db, const LIST& params, offset_curve_3d* in)
  7423. {
  7424. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  7425. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to offset_curve_3d"); } do { // convert the 'basis_curve' argument
  7426. std::shared_ptr<const DataType> arg = params[base++];
  7427. try { GenericConvert( in->basis_curve, arg, db ); break; }
  7428. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to offset_curve_3d to be a `curve`")); }
  7429. } while(0);
  7430. do { // convert the 'distance' argument
  7431. std::shared_ptr<const DataType> arg = params[base++];
  7432. try { GenericConvert( in->distance, arg, db ); break; }
  7433. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to offset_curve_3d to be a `length_measure`")); }
  7434. } while(0);
  7435. do { // convert the 'self_intersect' argument
  7436. std::shared_ptr<const DataType> arg = params[base++];
  7437. try { GenericConvert( in->self_intersect, arg, db ); break; }
  7438. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to offset_curve_3d to be a `LOGICAL`")); }
  7439. } while(0);
  7440. do { // convert the 'ref_direction' argument
  7441. std::shared_ptr<const DataType> arg = params[base++];
  7442. try { GenericConvert( in->ref_direction, arg, db ); break; }
  7443. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to offset_curve_3d to be a `direction`")); }
  7444. } while(0);
  7445. return base;
  7446. }
  7447. // -----------------------------------------------------------------------------------------------------------
  7448. template <> size_t GenericFill<offset_surface>(const DB& db, const LIST& params, offset_surface* in)
  7449. {
  7450. size_t base = GenericFill(db,params,static_cast<surface*>(in));
  7451. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to offset_surface"); } do { // convert the 'basis_surface' argument
  7452. std::shared_ptr<const DataType> arg = params[base++];
  7453. try { GenericConvert( in->basis_surface, arg, db ); break; }
  7454. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to offset_surface to be a `surface`")); }
  7455. } while(0);
  7456. do { // convert the 'distance' argument
  7457. std::shared_ptr<const DataType> arg = params[base++];
  7458. try { GenericConvert( in->distance, arg, db ); break; }
  7459. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to offset_surface to be a `length_measure`")); }
  7460. } while(0);
  7461. do { // convert the 'self_intersect' argument
  7462. std::shared_ptr<const DataType> arg = params[base++];
  7463. try { GenericConvert( in->self_intersect, arg, db ); break; }
  7464. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to offset_surface to be a `LOGICAL`")); }
  7465. } while(0);
  7466. return base;
  7467. }
  7468. // -----------------------------------------------------------------------------------------------------------
  7469. template <> size_t GenericFill<one_direction_repeat_factor>(const DB& db, const LIST& params, one_direction_repeat_factor* in)
  7470. {
  7471. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  7472. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to one_direction_repeat_factor"); } do { // convert the 'repeat_factor' argument
  7473. std::shared_ptr<const DataType> arg = params[base++];
  7474. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::one_direction_repeat_factor,1>::aux_is_derived[0]=true; break; }
  7475. try { GenericConvert( in->repeat_factor, arg, db ); break; }
  7476. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to one_direction_repeat_factor to be a `vector`")); }
  7477. } while(0);
  7478. return base;
  7479. }
  7480. // -----------------------------------------------------------------------------------------------------------
  7481. template <> size_t GenericFill<open_shell>(const DB& db, const LIST& params, open_shell* in)
  7482. {
  7483. size_t base = GenericFill(db,params,static_cast<connected_face_set*>(in));
  7484. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to open_shell"); } return base;
  7485. }
  7486. // -----------------------------------------------------------------------------------------------------------
  7487. template <> size_t GenericFill<ordinal_date>(const DB& db, const LIST& params, ordinal_date* in)
  7488. {
  7489. size_t base = GenericFill(db,params,static_cast<date*>(in));
  7490. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ordinal_date"); } do { // convert the 'day_component' argument
  7491. std::shared_ptr<const DataType> arg = params[base++];
  7492. try { GenericConvert( in->day_component, arg, db ); break; }
  7493. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to ordinal_date to be a `day_in_year_number`")); }
  7494. } while(0);
  7495. return base;
  7496. }
  7497. // -----------------------------------------------------------------------------------------------------------
  7498. template <> size_t GenericFill<projection_directed_callout>(const DB& db, const LIST& params, projection_directed_callout* in)
  7499. {
  7500. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  7501. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to projection_directed_callout"); } return base;
  7502. }
  7503. // -----------------------------------------------------------------------------------------------------------
  7504. template <> size_t GenericFill<ordinate_dimension>(const DB& db, const LIST& params, ordinate_dimension* in)
  7505. {
  7506. size_t base = GenericFill(db,params,static_cast<projection_directed_callout*>(in));
  7507. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ordinate_dimension"); } return base;
  7508. }
  7509. // -----------------------------------------------------------------------------------------------------------
  7510. template <> size_t GenericFill<organizational_address>(const DB& db, const LIST& params, organizational_address* in)
  7511. {
  7512. size_t base = GenericFill(db,params,static_cast<address*>(in));
  7513. if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to organizational_address"); } do { // convert the 'organizations' argument
  7514. std::shared_ptr<const DataType> arg = params[base++];
  7515. try { GenericConvert( in->organizations, arg, db ); break; }
  7516. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to organizational_address to be a `SET [1:?] OF organization`")); }
  7517. } while(0);
  7518. do { // convert the 'description' argument
  7519. std::shared_ptr<const DataType> arg = params[base++];
  7520. if (dynamic_cast<const UNSET*>(&*arg)) break;
  7521. try { GenericConvert( in->description, arg, db ); break; }
  7522. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to organizational_address to be a `text`")); }
  7523. } while(0);
  7524. return base;
  7525. }
  7526. // -----------------------------------------------------------------------------------------------------------
  7527. template <> size_t GenericFill<oriented_closed_shell>(const DB& db, const LIST& params, oriented_closed_shell* in)
  7528. {
  7529. size_t base = GenericFill(db,params,static_cast<closed_shell*>(in));
  7530. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_closed_shell"); } do { // convert the 'closed_shell_element' argument
  7531. std::shared_ptr<const DataType> arg = params[base++];
  7532. try { GenericConvert( in->closed_shell_element, arg, db ); break; }
  7533. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_closed_shell to be a `closed_shell`")); }
  7534. } while(0);
  7535. do { // convert the 'orientation' argument
  7536. std::shared_ptr<const DataType> arg = params[base++];
  7537. try { GenericConvert( in->orientation, arg, db ); break; }
  7538. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_closed_shell to be a `BOOLEAN`")); }
  7539. } while(0);
  7540. return base;
  7541. }
  7542. // -----------------------------------------------------------------------------------------------------------
  7543. template <> size_t GenericFill<oriented_edge>(const DB& db, const LIST& params, oriented_edge* in)
  7544. {
  7545. size_t base = GenericFill(db,params,static_cast<edge*>(in));
  7546. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to oriented_edge"); } do { // convert the 'edge_element' argument
  7547. std::shared_ptr<const DataType> arg = params[base++];
  7548. try { GenericConvert( in->edge_element, arg, db ); break; }
  7549. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_edge to be a `edge`")); }
  7550. } while(0);
  7551. do { // convert the 'orientation' argument
  7552. std::shared_ptr<const DataType> arg = params[base++];
  7553. try { GenericConvert( in->orientation, arg, db ); break; }
  7554. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to oriented_edge to be a `BOOLEAN`")); }
  7555. } while(0);
  7556. return base;
  7557. }
  7558. // -----------------------------------------------------------------------------------------------------------
  7559. template <> size_t GenericFill<oriented_face>(const DB& db, const LIST& params, oriented_face* in)
  7560. {
  7561. size_t base = GenericFill(db,params,static_cast<face*>(in));
  7562. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_face"); } do { // convert the 'face_element' argument
  7563. std::shared_ptr<const DataType> arg = params[base++];
  7564. try { GenericConvert( in->face_element, arg, db ); break; }
  7565. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_face to be a `face`")); }
  7566. } while(0);
  7567. do { // convert the 'orientation' argument
  7568. std::shared_ptr<const DataType> arg = params[base++];
  7569. try { GenericConvert( in->orientation, arg, db ); break; }
  7570. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_face to be a `BOOLEAN`")); }
  7571. } while(0);
  7572. return base;
  7573. }
  7574. // -----------------------------------------------------------------------------------------------------------
  7575. template <> size_t GenericFill<oriented_open_shell>(const DB& db, const LIST& params, oriented_open_shell* in)
  7576. {
  7577. size_t base = GenericFill(db,params,static_cast<open_shell*>(in));
  7578. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_open_shell"); } do { // convert the 'open_shell_element' argument
  7579. std::shared_ptr<const DataType> arg = params[base++];
  7580. try { GenericConvert( in->open_shell_element, arg, db ); break; }
  7581. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_open_shell to be a `open_shell`")); }
  7582. } while(0);
  7583. do { // convert the 'orientation' argument
  7584. std::shared_ptr<const DataType> arg = params[base++];
  7585. try { GenericConvert( in->orientation, arg, db ); break; }
  7586. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_open_shell to be a `BOOLEAN`")); }
  7587. } while(0);
  7588. return base;
  7589. }
  7590. // -----------------------------------------------------------------------------------------------------------
  7591. template <> size_t GenericFill<path>(const DB& db, const LIST& params, path* in)
  7592. {
  7593. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  7594. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to path"); } do { // convert the 'edge_list' argument
  7595. std::shared_ptr<const DataType> arg = params[base++];
  7596. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::path,1>::aux_is_derived[0]=true; break; }
  7597. try { GenericConvert( in->edge_list, arg, db ); break; }
  7598. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to path to be a `LIST [1:?] OF oriented_edge`")); }
  7599. } while(0);
  7600. return base;
  7601. }
  7602. // -----------------------------------------------------------------------------------------------------------
  7603. template <> size_t GenericFill<oriented_path>(const DB& db, const LIST& params, oriented_path* in)
  7604. {
  7605. size_t base = GenericFill(db,params,static_cast<path*>(in));
  7606. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_path"); } do { // convert the 'path_element' argument
  7607. std::shared_ptr<const DataType> arg = params[base++];
  7608. try { GenericConvert( in->path_element, arg, db ); break; }
  7609. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_path to be a `path`")); }
  7610. } while(0);
  7611. do { // convert the 'orientation' argument
  7612. std::shared_ptr<const DataType> arg = params[base++];
  7613. try { GenericConvert( in->orientation, arg, db ); break; }
  7614. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_path to be a `BOOLEAN`")); }
  7615. } while(0);
  7616. return base;
  7617. }
  7618. // -----------------------------------------------------------------------------------------------------------
  7619. template <> size_t GenericFill<oriented_surface>(const DB& db, const LIST& params, oriented_surface* in)
  7620. {
  7621. size_t base = GenericFill(db,params,static_cast<surface*>(in));
  7622. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to oriented_surface"); } do { // convert the 'orientation' argument
  7623. std::shared_ptr<const DataType> arg = params[base++];
  7624. try { GenericConvert( in->orientation, arg, db ); break; }
  7625. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to oriented_surface to be a `BOOLEAN`")); }
  7626. } while(0);
  7627. return base;
  7628. }
  7629. // -----------------------------------------------------------------------------------------------------------
  7630. template <> size_t GenericFill<outer_boundary_curve>(const DB& db, const LIST& params, outer_boundary_curve* in)
  7631. {
  7632. size_t base = GenericFill(db,params,static_cast<boundary_curve*>(in));
  7633. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to outer_boundary_curve"); } return base;
  7634. }
  7635. // -----------------------------------------------------------------------------------------------------------
  7636. template <> size_t GenericFill<package_product_concept_feature>(const DB& db, const LIST& params, package_product_concept_feature* in)
  7637. {
  7638. size_t base = GenericFill(db,params,static_cast<product_concept_feature*>(in));
  7639. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to package_product_concept_feature"); } return base;
  7640. }
  7641. // -----------------------------------------------------------------------------------------------------------
  7642. template <> size_t GenericFill<parabola>(const DB& db, const LIST& params, parabola* in)
  7643. {
  7644. size_t base = GenericFill(db,params,static_cast<conic*>(in));
  7645. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to parabola"); } do { // convert the 'focal_dist' argument
  7646. std::shared_ptr<const DataType> arg = params[base++];
  7647. try { GenericConvert( in->focal_dist, arg, db ); break; }
  7648. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to parabola to be a `length_measure`")); }
  7649. } while(0);
  7650. return base;
  7651. }
  7652. // -----------------------------------------------------------------------------------------------------------
  7653. template <> size_t GenericFill<parallel_offset>(const DB& db, const LIST& params, parallel_offset* in)
  7654. {
  7655. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  7656. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to parallel_offset"); } do { // convert the 'offset' argument
  7657. std::shared_ptr<const DataType> arg = params[base++];
  7658. try { GenericConvert( in->offset, arg, db ); break; }
  7659. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to parallel_offset to be a `measure_with_unit`")); }
  7660. } while(0);
  7661. return base;
  7662. }
  7663. // -----------------------------------------------------------------------------------------------------------
  7664. template <> size_t GenericFill<parallelism_tolerance>(const DB& db, const LIST& params, parallelism_tolerance* in)
  7665. {
  7666. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  7667. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to parallelism_tolerance"); } return base;
  7668. }
  7669. // -----------------------------------------------------------------------------------------------------------
  7670. template <> size_t GenericFill<parametric_representation_context>(const DB& db, const LIST& params, parametric_representation_context* in)
  7671. {
  7672. size_t base = GenericFill(db,params,static_cast<representation_context*>(in));
  7673. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to parametric_representation_context"); } return base;
  7674. }
  7675. // -----------------------------------------------------------------------------------------------------------
  7676. template <> size_t GenericFill<partial_document_with_structured_text_representation_assignment>(const DB& db, const LIST& params, partial_document_with_structured_text_representation_assignment* in)
  7677. {
  7678. size_t base = 0;
  7679. return base;
  7680. }
  7681. // -----------------------------------------------------------------------------------------------------------
  7682. template <> size_t GenericFill<pcurve>(const DB& db, const LIST& params, pcurve* in)
  7683. {
  7684. size_t base = GenericFill(db,params,static_cast<curve*>(in));
  7685. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to pcurve"); } do { // convert the 'basis_surface' argument
  7686. std::shared_ptr<const DataType> arg = params[base++];
  7687. try { GenericConvert( in->basis_surface, arg, db ); break; }
  7688. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to pcurve to be a `surface`")); }
  7689. } while(0);
  7690. do { // convert the 'reference_to_curve' argument
  7691. std::shared_ptr<const DataType> arg = params[base++];
  7692. try { GenericConvert( in->reference_to_curve, arg, db ); break; }
  7693. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to pcurve to be a `definitional_representation`")); }
  7694. } while(0);
  7695. return base;
  7696. }
  7697. // -----------------------------------------------------------------------------------------------------------
  7698. template <> size_t GenericFill<percentage_laminate_definition>(const DB& db, const LIST& params, percentage_laminate_definition* in)
  7699. {
  7700. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  7701. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to percentage_laminate_definition"); } return base;
  7702. }
  7703. // -----------------------------------------------------------------------------------------------------------
  7704. template <> size_t GenericFill<zone_structural_makeup>(const DB& db, const LIST& params, zone_structural_makeup* in)
  7705. {
  7706. size_t base = GenericFill(db,params,static_cast<laminate_table*>(in));
  7707. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to zone_structural_makeup"); } return base;
  7708. }
  7709. // -----------------------------------------------------------------------------------------------------------
  7710. template <> size_t GenericFill<percentage_laminate_table>(const DB& db, const LIST& params, percentage_laminate_table* in)
  7711. {
  7712. size_t base = GenericFill(db,params,static_cast<zone_structural_makeup*>(in));
  7713. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to percentage_laminate_table"); } return base;
  7714. }
  7715. // -----------------------------------------------------------------------------------------------------------
  7716. template <> size_t GenericFill<percentage_ply_definition>(const DB& db, const LIST& params, percentage_ply_definition* in)
  7717. {
  7718. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  7719. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to percentage_ply_definition"); } return base;
  7720. }
  7721. // -----------------------------------------------------------------------------------------------------------
  7722. template <> size_t GenericFill<perpendicular_to>(const DB& db, const LIST& params, perpendicular_to* in)
  7723. {
  7724. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  7725. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to perpendicular_to"); } return base;
  7726. }
  7727. // -----------------------------------------------------------------------------------------------------------
  7728. template <> size_t GenericFill<perpendicularity_tolerance>(const DB& db, const LIST& params, perpendicularity_tolerance* in)
  7729. {
  7730. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  7731. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to perpendicularity_tolerance"); } return base;
  7732. }
  7733. // -----------------------------------------------------------------------------------------------------------
  7734. template <> size_t GenericFill<person_and_organization_address>(const DB& db, const LIST& params, person_and_organization_address* in)
  7735. {
  7736. size_t base = 0;
  7737. return base;
  7738. }
  7739. // -----------------------------------------------------------------------------------------------------------
  7740. template <> size_t GenericFill<personal_address>(const DB& db, const LIST& params, personal_address* in)
  7741. {
  7742. size_t base = GenericFill(db,params,static_cast<address*>(in));
  7743. if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to personal_address"); } do { // convert the 'people' argument
  7744. std::shared_ptr<const DataType> arg = params[base++];
  7745. try { GenericConvert( in->people, arg, db ); break; }
  7746. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to personal_address to be a `SET [1:?] OF person`")); }
  7747. } while(0);
  7748. do { // convert the 'description' argument
  7749. std::shared_ptr<const DataType> arg = params[base++];
  7750. if (dynamic_cast<const UNSET*>(&*arg)) break;
  7751. try { GenericConvert( in->description, arg, db ); break; }
  7752. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to personal_address to be a `text`")); }
  7753. } while(0);
  7754. return base;
  7755. }
  7756. // -----------------------------------------------------------------------------------------------------------
  7757. template <> size_t GenericFill<physical_breakdown_context>(const DB& db, const LIST& params, physical_breakdown_context* in)
  7758. {
  7759. size_t base = GenericFill(db,params,static_cast<breakdown_context*>(in));
  7760. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to physical_breakdown_context"); } return base;
  7761. }
  7762. // -----------------------------------------------------------------------------------------------------------
  7763. template <> size_t GenericFill<physical_element_usage>(const DB& db, const LIST& params, physical_element_usage* in)
  7764. {
  7765. size_t base = GenericFill(db,params,static_cast<breakdown_element_usage*>(in));
  7766. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to physical_element_usage"); } return base;
  7767. }
  7768. // -----------------------------------------------------------------------------------------------------------
  7769. template <> size_t GenericFill<presentation_view>(const DB& db, const LIST& params, presentation_view* in)
  7770. {
  7771. size_t base = GenericFill(db,params,static_cast<presentation_representation*>(in));
  7772. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to presentation_view"); } return base;
  7773. }
  7774. // -----------------------------------------------------------------------------------------------------------
  7775. template <> size_t GenericFill<picture_representation>(const DB& db, const LIST& params, picture_representation* in)
  7776. {
  7777. size_t base = GenericFill(db,params,static_cast<presentation_view*>(in));
  7778. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to picture_representation"); } return base;
  7779. }
  7780. // -----------------------------------------------------------------------------------------------------------
  7781. template <> size_t GenericFill<placed_datum_target_feature>(const DB& db, const LIST& params, placed_datum_target_feature* in)
  7782. {
  7783. size_t base = GenericFill(db,params,static_cast<datum_target*>(in));
  7784. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to placed_datum_target_feature"); } return base;
  7785. }
  7786. // -----------------------------------------------------------------------------------------------------------
  7787. template <> size_t GenericFill<placed_feature>(const DB& db, const LIST& params, placed_feature* in)
  7788. {
  7789. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  7790. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to placed_feature"); } return base;
  7791. }
  7792. // -----------------------------------------------------------------------------------------------------------
  7793. template <> size_t GenericFill<planar_extent>(const DB& db, const LIST& params, planar_extent* in)
  7794. {
  7795. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  7796. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to planar_extent"); } do { // convert the 'size_in_x' argument
  7797. std::shared_ptr<const DataType> arg = params[base++];
  7798. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::planar_extent,2>::aux_is_derived[0]=true; break; }
  7799. try { GenericConvert( in->size_in_x, arg, db ); break; }
  7800. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to planar_extent to be a `length_measure`")); }
  7801. } while(0);
  7802. do { // convert the 'size_in_y' argument
  7803. std::shared_ptr<const DataType> arg = params[base++];
  7804. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::planar_extent,2>::aux_is_derived[1]=true; break; }
  7805. try { GenericConvert( in->size_in_y, arg, db ); break; }
  7806. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to planar_extent to be a `length_measure`")); }
  7807. } while(0);
  7808. return base;
  7809. }
  7810. // -----------------------------------------------------------------------------------------------------------
  7811. template <> size_t GenericFill<planar_box>(const DB& db, const LIST& params, planar_box* in)
  7812. {
  7813. size_t base = GenericFill(db,params,static_cast<planar_extent*>(in));
  7814. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to planar_box"); } do { // convert the 'placement' argument
  7815. std::shared_ptr<const DataType> arg = params[base++];
  7816. try { GenericConvert( in->placement, arg, db ); break; }
  7817. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to planar_box to be a `axis2_placement`")); }
  7818. } while(0);
  7819. return base;
  7820. }
  7821. // -----------------------------------------------------------------------------------------------------------
  7822. template <> size_t GenericFill<plane>(const DB& db, const LIST& params, plane* in)
  7823. {
  7824. size_t base = GenericFill(db,params,static_cast<elementary_surface*>(in));
  7825. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to plane"); } return base;
  7826. }
  7827. // -----------------------------------------------------------------------------------------------------------
  7828. template <> size_t GenericFill<plane_angle_measure_with_unit>(const DB& db, const LIST& params, plane_angle_measure_with_unit* in)
  7829. {
  7830. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  7831. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to plane_angle_measure_with_unit"); } return base;
  7832. }
  7833. // -----------------------------------------------------------------------------------------------------------
  7834. template <> size_t GenericFill<plane_angle_unit>(const DB& db, const LIST& params, plane_angle_unit* in)
  7835. {
  7836. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  7837. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to plane_angle_unit"); } return base;
  7838. }
  7839. // -----------------------------------------------------------------------------------------------------------
  7840. template <> size_t GenericFill<ply_laminate_definition>(const DB& db, const LIST& params, ply_laminate_definition* in)
  7841. {
  7842. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  7843. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ply_laminate_definition"); } return base;
  7844. }
  7845. // -----------------------------------------------------------------------------------------------------------
  7846. template <> size_t GenericFill<ply_laminate_sequence_definition>(const DB& db, const LIST& params, ply_laminate_sequence_definition* in)
  7847. {
  7848. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  7849. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ply_laminate_sequence_definition"); } return base;
  7850. }
  7851. // -----------------------------------------------------------------------------------------------------------
  7852. template <> size_t GenericFill<ply_laminate_table>(const DB& db, const LIST& params, ply_laminate_table* in)
  7853. {
  7854. size_t base = GenericFill(db,params,static_cast<part_laminate_table*>(in));
  7855. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ply_laminate_table"); } return base;
  7856. }
  7857. // -----------------------------------------------------------------------------------------------------------
  7858. template <> size_t GenericFill<point_and_vector>(const DB& db, const LIST& params, point_and_vector* in)
  7859. {
  7860. size_t base = 0;
  7861. return base;
  7862. }
  7863. // -----------------------------------------------------------------------------------------------------------
  7864. template <> size_t GenericFill<point_on_curve>(const DB& db, const LIST& params, point_on_curve* in)
  7865. {
  7866. size_t base = GenericFill(db,params,static_cast<point*>(in));
  7867. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to point_on_curve"); } do { // convert the 'basis_curve' argument
  7868. std::shared_ptr<const DataType> arg = params[base++];
  7869. try { GenericConvert( in->basis_curve, arg, db ); break; }
  7870. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_on_curve to be a `curve`")); }
  7871. } while(0);
  7872. do { // convert the 'point_parameter' argument
  7873. std::shared_ptr<const DataType> arg = params[base++];
  7874. try { GenericConvert( in->point_parameter, arg, db ); break; }
  7875. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_on_curve to be a `parameter_value`")); }
  7876. } while(0);
  7877. return base;
  7878. }
  7879. // -----------------------------------------------------------------------------------------------------------
  7880. template <> size_t GenericFill<point_on_surface>(const DB& db, const LIST& params, point_on_surface* in)
  7881. {
  7882. size_t base = GenericFill(db,params,static_cast<point*>(in));
  7883. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to point_on_surface"); } do { // convert the 'basis_surface' argument
  7884. std::shared_ptr<const DataType> arg = params[base++];
  7885. try { GenericConvert( in->basis_surface, arg, db ); break; }
  7886. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_on_surface to be a `surface`")); }
  7887. } while(0);
  7888. do { // convert the 'point_parameter_u' argument
  7889. std::shared_ptr<const DataType> arg = params[base++];
  7890. try { GenericConvert( in->point_parameter_u, arg, db ); break; }
  7891. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_on_surface to be a `parameter_value`")); }
  7892. } while(0);
  7893. do { // convert the 'point_parameter_v' argument
  7894. std::shared_ptr<const DataType> arg = params[base++];
  7895. try { GenericConvert( in->point_parameter_v, arg, db ); break; }
  7896. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to point_on_surface to be a `parameter_value`")); }
  7897. } while(0);
  7898. return base;
  7899. }
  7900. // -----------------------------------------------------------------------------------------------------------
  7901. template <> size_t GenericFill<point_path>(const DB& db, const LIST& params, point_path* in)
  7902. {
  7903. size_t base = 0;
  7904. return base;
  7905. }
  7906. // -----------------------------------------------------------------------------------------------------------
  7907. template <> size_t GenericFill<point_replica>(const DB& db, const LIST& params, point_replica* in)
  7908. {
  7909. size_t base = GenericFill(db,params,static_cast<point*>(in));
  7910. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to point_replica"); } do { // convert the 'parent_pt' argument
  7911. std::shared_ptr<const DataType> arg = params[base++];
  7912. try { GenericConvert( in->parent_pt, arg, db ); break; }
  7913. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_replica to be a `point`")); }
  7914. } while(0);
  7915. do { // convert the 'transformation' argument
  7916. std::shared_ptr<const DataType> arg = params[base++];
  7917. try { GenericConvert( in->transformation, arg, db ); break; }
  7918. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_replica to be a `cartesian_transformation_operator`")); }
  7919. } while(0);
  7920. return base;
  7921. }
  7922. // -----------------------------------------------------------------------------------------------------------
  7923. template <> size_t GenericFill<point_style>(const DB& db, const LIST& params, point_style* in)
  7924. {
  7925. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  7926. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to point_style"); } do { // convert the 'name' argument
  7927. std::shared_ptr<const DataType> arg = params[base++];
  7928. try { GenericConvert( in->name, arg, db ); break; }
  7929. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to point_style to be a `label`")); }
  7930. } while(0);
  7931. do { // convert the 'marker' argument
  7932. std::shared_ptr<const DataType> arg = params[base++];
  7933. try { GenericConvert( in->marker, arg, db ); break; }
  7934. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_style to be a `marker_select`")); }
  7935. } while(0);
  7936. do { // convert the 'marker_size' argument
  7937. std::shared_ptr<const DataType> arg = params[base++];
  7938. try { GenericConvert( in->marker_size, arg, db ); break; }
  7939. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_style to be a `size_select`")); }
  7940. } while(0);
  7941. do { // convert the 'marker_colour' argument
  7942. std::shared_ptr<const DataType> arg = params[base++];
  7943. try { GenericConvert( in->marker_colour, arg, db ); break; }
  7944. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to point_style to be a `colour`")); }
  7945. } while(0);
  7946. return base;
  7947. }
  7948. // -----------------------------------------------------------------------------------------------------------
  7949. template <> size_t GenericFill<polar_complex_number_literal>(const DB& db, const LIST& params, polar_complex_number_literal* in)
  7950. {
  7951. size_t base = GenericFill(db,params,static_cast<generic_literal*>(in));
  7952. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to polar_complex_number_literal"); } do { // convert the 'radius' argument
  7953. std::shared_ptr<const DataType> arg = params[base++];
  7954. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::polar_complex_number_literal,2>::aux_is_derived[0]=true; break; }
  7955. try { GenericConvert( in->radius, arg, db ); break; }
  7956. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to polar_complex_number_literal to be a `REAL`")); }
  7957. } while(0);
  7958. do { // convert the 'angle' argument
  7959. std::shared_ptr<const DataType> arg = params[base++];
  7960. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::polar_complex_number_literal,2>::aux_is_derived[1]=true; break; }
  7961. try { GenericConvert( in->angle, arg, db ); break; }
  7962. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to polar_complex_number_literal to be a `REAL`")); }
  7963. } while(0);
  7964. return base;
  7965. }
  7966. // -----------------------------------------------------------------------------------------------------------
  7967. template <> size_t GenericFill<poly_loop>(const DB& db, const LIST& params, poly_loop* in)
  7968. {
  7969. size_t base = 0;
  7970. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to poly_loop"); } do { // convert the 'polygon' argument
  7971. std::shared_ptr<const DataType> arg = params[base++];
  7972. try { GenericConvert( in->polygon, arg, db ); break; }
  7973. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to poly_loop to be a `LIST [3:?] OF cartesian_point`")); }
  7974. } while(0);
  7975. return base;
  7976. }
  7977. // -----------------------------------------------------------------------------------------------------------
  7978. template <> size_t GenericFill<polyline>(const DB& db, const LIST& params, polyline* in)
  7979. {
  7980. size_t base = GenericFill(db,params,static_cast<bounded_curve*>(in));
  7981. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to polyline"); } do { // convert the 'points' argument
  7982. std::shared_ptr<const DataType> arg = params[base++];
  7983. try { GenericConvert( in->points, arg, db ); break; }
  7984. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to polyline to be a `LIST [2:?] OF cartesian_point`")); }
  7985. } while(0);
  7986. return base;
  7987. }
  7988. // -----------------------------------------------------------------------------------------------------------
  7989. template <> size_t GenericFill<position_tolerance>(const DB& db, const LIST& params, position_tolerance* in)
  7990. {
  7991. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  7992. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to position_tolerance"); } return base;
  7993. }
  7994. // -----------------------------------------------------------------------------------------------------------
  7995. template <> size_t GenericFill<positioned_sketch>(const DB& db, const LIST& params, positioned_sketch* in)
  7996. {
  7997. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  7998. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to positioned_sketch"); } do { // convert the 'sketch_basis' argument
  7999. std::shared_ptr<const DataType> arg = params[base++];
  8000. try { GenericConvert( in->sketch_basis, arg, db ); break; }
  8001. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to positioned_sketch to be a `sketch_basis_select`")); }
  8002. } while(0);
  8003. do { // convert the 'auxiliary_elements' argument
  8004. std::shared_ptr<const DataType> arg = params[base++];
  8005. try { GenericConvert( in->auxiliary_elements, arg, db ); break; }
  8006. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to positioned_sketch to be a `SET [0:?] OF auxiliary_geometric_representation_item`")); }
  8007. } while(0);
  8008. return base;
  8009. }
  8010. // -----------------------------------------------------------------------------------------------------------
  8011. template <> size_t GenericFill<power_measure_with_unit>(const DB& db, const LIST& params, power_measure_with_unit* in)
  8012. {
  8013. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  8014. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to power_measure_with_unit"); } return base;
  8015. }
  8016. // -----------------------------------------------------------------------------------------------------------
  8017. template <> size_t GenericFill<power_unit>(const DB& db, const LIST& params, power_unit* in)
  8018. {
  8019. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  8020. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to power_unit"); } return base;
  8021. }
  8022. // -----------------------------------------------------------------------------------------------------------
  8023. template <> size_t GenericFill<pre_defined_symbol>(const DB& db, const LIST& params, pre_defined_symbol* in)
  8024. {
  8025. size_t base = GenericFill(db,params,static_cast<pre_defined_item*>(in));
  8026. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_symbol"); } return base;
  8027. }
  8028. // -----------------------------------------------------------------------------------------------------------
  8029. template <> size_t GenericFill<pre_defined_dimension_symbol>(const DB& db, const LIST& params, pre_defined_dimension_symbol* in)
  8030. {
  8031. size_t base = GenericFill(db,params,static_cast<pre_defined_symbol*>(in));
  8032. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_dimension_symbol"); } return base;
  8033. }
  8034. // -----------------------------------------------------------------------------------------------------------
  8035. template <> size_t GenericFill<pre_defined_geometrical_tolerance_symbol>(const DB& db, const LIST& params, pre_defined_geometrical_tolerance_symbol* in)
  8036. {
  8037. size_t base = GenericFill(db,params,static_cast<pre_defined_symbol*>(in));
  8038. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_geometrical_tolerance_symbol"); } return base;
  8039. }
  8040. // -----------------------------------------------------------------------------------------------------------
  8041. template <> size_t GenericFill<pre_defined_marker>(const DB& db, const LIST& params, pre_defined_marker* in)
  8042. {
  8043. size_t base = GenericFill(db,params,static_cast<pre_defined_item*>(in));
  8044. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_marker"); } return base;
  8045. }
  8046. // -----------------------------------------------------------------------------------------------------------
  8047. template <> size_t GenericFill<pre_defined_point_marker_symbol>(const DB& db, const LIST& params, pre_defined_point_marker_symbol* in)
  8048. {
  8049. size_t base = 0;
  8050. return base;
  8051. }
  8052. // -----------------------------------------------------------------------------------------------------------
  8053. template <> size_t GenericFill<pre_defined_surface_condition_symbol>(const DB& db, const LIST& params, pre_defined_surface_condition_symbol* in)
  8054. {
  8055. size_t base = GenericFill(db,params,static_cast<pre_defined_symbol*>(in));
  8056. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_surface_condition_symbol"); } return base;
  8057. }
  8058. // -----------------------------------------------------------------------------------------------------------
  8059. template <> size_t GenericFill<pre_defined_surface_side_style>(const DB& db, const LIST& params, pre_defined_surface_side_style* in)
  8060. {
  8061. size_t base = GenericFill(db,params,static_cast<pre_defined_item*>(in));
  8062. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_surface_side_style"); } return base;
  8063. }
  8064. // -----------------------------------------------------------------------------------------------------------
  8065. template <> size_t GenericFill<pre_defined_terminator_symbol>(const DB& db, const LIST& params, pre_defined_terminator_symbol* in)
  8066. {
  8067. size_t base = GenericFill(db,params,static_cast<pre_defined_symbol*>(in));
  8068. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_terminator_symbol"); } return base;
  8069. }
  8070. // -----------------------------------------------------------------------------------------------------------
  8071. template <> size_t GenericFill<pre_defined_tile>(const DB& db, const LIST& params, pre_defined_tile* in)
  8072. {
  8073. size_t base = GenericFill(db,params,static_cast<pre_defined_item*>(in));
  8074. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_tile"); } return base;
  8075. }
  8076. // -----------------------------------------------------------------------------------------------------------
  8077. template <> size_t GenericFill<predefined_picture_representation_item>(const DB& db, const LIST& params, predefined_picture_representation_item* in)
  8078. {
  8079. size_t base = GenericFill(db,params,static_cast<picture_representation_item*>(in));
  8080. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to predefined_picture_representation_item"); } return base;
  8081. }
  8082. // -----------------------------------------------------------------------------------------------------------
  8083. template <> size_t GenericFill<presentation_style_assignment>(const DB& db, const LIST& params, presentation_style_assignment* in)
  8084. {
  8085. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  8086. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to presentation_style_assignment"); } do { // convert the 'styles' argument
  8087. std::shared_ptr<const DataType> arg = params[base++];
  8088. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::presentation_style_assignment,1>::aux_is_derived[0]=true; break; }
  8089. try { GenericConvert( in->styles, arg, db ); break; }
  8090. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to presentation_style_assignment to be a `SET [1:?] OF presentation_style_select`")); }
  8091. } while(0);
  8092. return base;
  8093. }
  8094. // -----------------------------------------------------------------------------------------------------------
  8095. template <> size_t GenericFill<presentation_style_by_context>(const DB& db, const LIST& params, presentation_style_by_context* in)
  8096. {
  8097. size_t base = GenericFill(db,params,static_cast<presentation_style_assignment*>(in));
  8098. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to presentation_style_by_context"); } do { // convert the 'style_context' argument
  8099. std::shared_ptr<const DataType> arg = params[base++];
  8100. try { GenericConvert( in->style_context, arg, db ); break; }
  8101. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to presentation_style_by_context to be a `style_context_select`")); }
  8102. } while(0);
  8103. return base;
  8104. }
  8105. // -----------------------------------------------------------------------------------------------------------
  8106. template <> size_t GenericFill<pressure_measure_with_unit>(const DB& db, const LIST& params, pressure_measure_with_unit* in)
  8107. {
  8108. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  8109. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to pressure_measure_with_unit"); } return base;
  8110. }
  8111. // -----------------------------------------------------------------------------------------------------------
  8112. template <> size_t GenericFill<pressure_unit>(const DB& db, const LIST& params, pressure_unit* in)
  8113. {
  8114. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  8115. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pressure_unit"); } return base;
  8116. }
  8117. // -----------------------------------------------------------------------------------------------------------
  8118. template <> size_t GenericFill<procedural_representation>(const DB& db, const LIST& params, procedural_representation* in)
  8119. {
  8120. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  8121. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to procedural_representation"); } return base;
  8122. }
  8123. // -----------------------------------------------------------------------------------------------------------
  8124. template <> size_t GenericFill<procedural_representation_sequence>(const DB& db, const LIST& params, procedural_representation_sequence* in)
  8125. {
  8126. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  8127. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to procedural_representation_sequence"); } do { // convert the 'elements' argument
  8128. std::shared_ptr<const DataType> arg = params[base++];
  8129. try { GenericConvert( in->elements, arg, db ); break; }
  8130. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to procedural_representation_sequence to be a `LIST [1:?] OF representation_item`")); }
  8131. } while(0);
  8132. do { // convert the 'suppressed_items' argument
  8133. std::shared_ptr<const DataType> arg = params[base++];
  8134. try { GenericConvert( in->suppressed_items, arg, db ); break; }
  8135. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to procedural_representation_sequence to be a `SET [0:?] OF representation_item`")); }
  8136. } while(0);
  8137. do { // convert the 'rationale' argument
  8138. std::shared_ptr<const DataType> arg = params[base++];
  8139. try { GenericConvert( in->rationale, arg, db ); break; }
  8140. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to procedural_representation_sequence to be a `text`")); }
  8141. } while(0);
  8142. return base;
  8143. }
  8144. // -----------------------------------------------------------------------------------------------------------
  8145. template <> size_t GenericFill<procedural_shape_representation>(const DB& db, const LIST& params, procedural_shape_representation* in)
  8146. {
  8147. size_t base = 0;
  8148. return base;
  8149. }
  8150. // -----------------------------------------------------------------------------------------------------------
  8151. template <> size_t GenericFill<procedural_shape_representation_sequence>(const DB& db, const LIST& params, procedural_shape_representation_sequence* in)
  8152. {
  8153. size_t base = 0;
  8154. return base;
  8155. }
  8156. // -----------------------------------------------------------------------------------------------------------
  8157. template <> size_t GenericFill<product_category>(const DB& db, const LIST& params, product_category* in)
  8158. {
  8159. size_t base = 0;
  8160. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_category"); } do { // convert the 'name' argument
  8161. std::shared_ptr<const DataType> arg = params[base++];
  8162. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_category,2>::aux_is_derived[0]=true; break; }
  8163. try { GenericConvert( in->name, arg, db ); break; }
  8164. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_category to be a `label`")); }
  8165. } while(0);
  8166. do { // convert the 'description' argument
  8167. std::shared_ptr<const DataType> arg = params[base++];
  8168. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_category,2>::aux_is_derived[1]=true; break; }
  8169. if (dynamic_cast<const UNSET*>(&*arg)) break;
  8170. try { GenericConvert( in->description, arg, db ); break; }
  8171. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_category to be a `text`")); }
  8172. } while(0);
  8173. return base;
  8174. }
  8175. // -----------------------------------------------------------------------------------------------------------
  8176. template <> size_t GenericFill<product_class>(const DB& db, const LIST& params, product_class* in)
  8177. {
  8178. size_t base = 0;
  8179. return base;
  8180. }
  8181. // -----------------------------------------------------------------------------------------------------------
  8182. template <> size_t GenericFill<product_concept_context>(const DB& db, const LIST& params, product_concept_context* in)
  8183. {
  8184. size_t base = GenericFill(db,params,static_cast<application_context_element*>(in));
  8185. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_concept_context"); } do { // convert the 'market_segment_type' argument
  8186. std::shared_ptr<const DataType> arg = params[base++];
  8187. try { GenericConvert( in->market_segment_type, arg, db ); break; }
  8188. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_concept_context to be a `label`")); }
  8189. } while(0);
  8190. return base;
  8191. }
  8192. // -----------------------------------------------------------------------------------------------------------
  8193. template <> size_t GenericFill<product_concept_feature_category_usage>(const DB& db, const LIST& params, product_concept_feature_category_usage* in)
  8194. {
  8195. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  8196. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_concept_feature_category_usage"); } do { // convert the 'items' argument
  8197. std::shared_ptr<const DataType> arg = params[base++];
  8198. try { GenericConvert( in->items, arg, db ); break; }
  8199. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_concept_feature_category_usage to be a `SET [1:?] OF category_usage_item`")); }
  8200. } while(0);
  8201. return base;
  8202. }
  8203. // -----------------------------------------------------------------------------------------------------------
  8204. template <> size_t GenericFill<product_definition_element_relationship>(const DB& db, const LIST& params, product_definition_element_relationship* in)
  8205. {
  8206. size_t base = GenericFill(db,params,static_cast<group*>(in));
  8207. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_definition_element_relationship"); } return base;
  8208. }
  8209. // -----------------------------------------------------------------------------------------------------------
  8210. template <> size_t GenericFill<product_definition_formation>(const DB& db, const LIST& params, product_definition_formation* in)
  8211. {
  8212. size_t base = 0;
  8213. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_definition_formation"); } do { // convert the 'id' argument
  8214. std::shared_ptr<const DataType> arg = params[base++];
  8215. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_formation,3>::aux_is_derived[0]=true; break; }
  8216. try { GenericConvert( in->id, arg, db ); break; }
  8217. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_definition_formation to be a `identifier`")); }
  8218. } while(0);
  8219. do { // convert the 'description' argument
  8220. std::shared_ptr<const DataType> arg = params[base++];
  8221. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_formation,3>::aux_is_derived[1]=true; break; }
  8222. if (dynamic_cast<const UNSET*>(&*arg)) break;
  8223. try { GenericConvert( in->description, arg, db ); break; }
  8224. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_formation to be a `text`")); }
  8225. } while(0);
  8226. do { // convert the 'of_product' argument
  8227. std::shared_ptr<const DataType> arg = params[base++];
  8228. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::product_definition_formation,3>::aux_is_derived[2]=true; break; }
  8229. try { GenericConvert( in->of_product, arg, db ); break; }
  8230. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition_formation to be a `product`")); }
  8231. } while(0);
  8232. return base;
  8233. }
  8234. // -----------------------------------------------------------------------------------------------------------
  8235. template <> size_t GenericFill<product_definition_formation_with_specified_source>(const DB& db, const LIST& params, product_definition_formation_with_specified_source* in)
  8236. {
  8237. size_t base = GenericFill(db,params,static_cast<product_definition_formation*>(in));
  8238. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to product_definition_formation_with_specified_source"); } do { // convert the 'make_or_buy' argument
  8239. std::shared_ptr<const DataType> arg = params[base++];
  8240. try { GenericConvert( in->make_or_buy, arg, db ); break; }
  8241. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to product_definition_formation_with_specified_source to be a `source`")); }
  8242. } while(0);
  8243. return base;
  8244. }
  8245. // -----------------------------------------------------------------------------------------------------------
  8246. template <> size_t GenericFill<product_definition_group_assignment>(const DB& db, const LIST& params, product_definition_group_assignment* in)
  8247. {
  8248. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  8249. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_definition_group_assignment"); } do { // convert the 'items' argument
  8250. std::shared_ptr<const DataType> arg = params[base++];
  8251. try { GenericConvert( in->items, arg, db ); break; }
  8252. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_group_assignment to be a `SET [1:1] OF product_definition_or_product_definition_relationship`")); }
  8253. } while(0);
  8254. return base;
  8255. }
  8256. // -----------------------------------------------------------------------------------------------------------
  8257. template <> size_t GenericFill<product_definition_shape>(const DB& db, const LIST& params, product_definition_shape* in)
  8258. {
  8259. size_t base = GenericFill(db,params,static_cast<property_definition*>(in));
  8260. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_definition_shape"); } return base;
  8261. }
  8262. // -----------------------------------------------------------------------------------------------------------
  8263. template <> size_t GenericFill<product_definition_with_associated_documents>(const DB& db, const LIST& params, product_definition_with_associated_documents* in)
  8264. {
  8265. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  8266. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to product_definition_with_associated_documents"); } do { // convert the 'documentation_ids' argument
  8267. std::shared_ptr<const DataType> arg = params[base++];
  8268. try { GenericConvert( in->documentation_ids, arg, db ); break; }
  8269. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to product_definition_with_associated_documents to be a `SET [1:?] OF document`")); }
  8270. } while(0);
  8271. return base;
  8272. }
  8273. // -----------------------------------------------------------------------------------------------------------
  8274. template <> size_t GenericFill<product_identification>(const DB& db, const LIST& params, product_identification* in)
  8275. {
  8276. size_t base = 0;
  8277. return base;
  8278. }
  8279. // -----------------------------------------------------------------------------------------------------------
  8280. template <> size_t GenericFill<product_material_composition_relationship>(const DB& db, const LIST& params, product_material_composition_relationship* in)
  8281. {
  8282. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  8283. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to product_material_composition_relationship"); } do { // convert the 'class' argument
  8284. std::shared_ptr<const DataType> arg = params[base++];
  8285. try { GenericConvert( in->class_, arg, db ); break; }
  8286. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to product_material_composition_relationship to be a `label`")); }
  8287. } while(0);
  8288. do { // convert the 'constituent_amount' argument
  8289. std::shared_ptr<const DataType> arg = params[base++];
  8290. try { GenericConvert( in->constituent_amount, arg, db ); break; }
  8291. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to product_material_composition_relationship to be a `SET [1:?] OF characterized_product_composition_value`")); }
  8292. } while(0);
  8293. do { // convert the 'composition_basis' argument
  8294. std::shared_ptr<const DataType> arg = params[base++];
  8295. try { GenericConvert( in->composition_basis, arg, db ); break; }
  8296. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to product_material_composition_relationship to be a `label`")); }
  8297. } while(0);
  8298. do { // convert the 'determination_method' argument
  8299. std::shared_ptr<const DataType> arg = params[base++];
  8300. try { GenericConvert( in->determination_method, arg, db ); break; }
  8301. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to product_material_composition_relationship to be a `text`")); }
  8302. } while(0);
  8303. return base;
  8304. }
  8305. // -----------------------------------------------------------------------------------------------------------
  8306. template <> size_t GenericFill<product_related_product_category>(const DB& db, const LIST& params, product_related_product_category* in)
  8307. {
  8308. size_t base = GenericFill(db,params,static_cast<product_category*>(in));
  8309. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_related_product_category"); } do { // convert the 'products' argument
  8310. std::shared_ptr<const DataType> arg = params[base++];
  8311. try { GenericConvert( in->products, arg, db ); break; }
  8312. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_related_product_category to be a `SET [1:?] OF product`")); }
  8313. } while(0);
  8314. return base;
  8315. }
  8316. // -----------------------------------------------------------------------------------------------------------
  8317. template <> size_t GenericFill<product_specification>(const DB& db, const LIST& params, product_specification* in)
  8318. {
  8319. size_t base = 0;
  8320. return base;
  8321. }
  8322. // -----------------------------------------------------------------------------------------------------------
  8323. template <> size_t GenericFill<tolerance_zone_definition>(const DB& db, const LIST& params, tolerance_zone_definition* in)
  8324. {
  8325. size_t base = 0;
  8326. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to tolerance_zone_definition"); } do { // convert the 'zone' argument
  8327. std::shared_ptr<const DataType> arg = params[base++];
  8328. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::tolerance_zone_definition,2>::aux_is_derived[0]=true; break; }
  8329. try { GenericConvert( in->zone, arg, db ); break; }
  8330. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to tolerance_zone_definition to be a `tolerance_zone`")); }
  8331. } while(0);
  8332. do { // convert the 'boundaries' argument
  8333. std::shared_ptr<const DataType> arg = params[base++];
  8334. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::tolerance_zone_definition,2>::aux_is_derived[1]=true; break; }
  8335. try { GenericConvert( in->boundaries, arg, db ); break; }
  8336. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to tolerance_zone_definition to be a `SET [1:?] OF shape_aspect`")); }
  8337. } while(0);
  8338. return base;
  8339. }
  8340. // -----------------------------------------------------------------------------------------------------------
  8341. template <> size_t GenericFill<projected_zone_definition>(const DB& db, const LIST& params, projected_zone_definition* in)
  8342. {
  8343. size_t base = GenericFill(db,params,static_cast<tolerance_zone_definition*>(in));
  8344. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to projected_zone_definition"); } do { // convert the 'projection_end' argument
  8345. std::shared_ptr<const DataType> arg = params[base++];
  8346. try { GenericConvert( in->projection_end, arg, db ); break; }
  8347. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to projected_zone_definition to be a `shape_aspect`")); }
  8348. } while(0);
  8349. do { // convert the 'projected_length' argument
  8350. std::shared_ptr<const DataType> arg = params[base++];
  8351. try { GenericConvert( in->projected_length, arg, db ); break; }
  8352. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to projected_zone_definition to be a `measure_with_unit`")); }
  8353. } while(0);
  8354. return base;
  8355. }
  8356. // -----------------------------------------------------------------------------------------------------------
  8357. template <> size_t GenericFill<projection_curve>(const DB& db, const LIST& params, projection_curve* in)
  8358. {
  8359. size_t base = GenericFill(db,params,static_cast<annotation_curve_occurrence*>(in));
  8360. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to projection_curve"); } return base;
  8361. }
  8362. // -----------------------------------------------------------------------------------------------------------
  8363. template <> size_t GenericFill<promissory_usage_occurrence>(const DB& db, const LIST& params, promissory_usage_occurrence* in)
  8364. {
  8365. size_t base = GenericFill(db,params,static_cast<assembly_component_usage*>(in));
  8366. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to promissory_usage_occurrence"); } return base;
  8367. }
  8368. // -----------------------------------------------------------------------------------------------------------
  8369. template <> size_t GenericFill<qualified_representation_item>(const DB& db, const LIST& params, qualified_representation_item* in)
  8370. {
  8371. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  8372. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to qualified_representation_item"); } do { // convert the 'qualifiers' argument
  8373. std::shared_ptr<const DataType> arg = params[base++];
  8374. try { GenericConvert( in->qualifiers, arg, db ); break; }
  8375. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to qualified_representation_item to be a `SET [1:?] OF value_qualifier`")); }
  8376. } while(0);
  8377. return base;
  8378. }
  8379. // -----------------------------------------------------------------------------------------------------------
  8380. template <> size_t GenericFill<qualitative_uncertainty>(const DB& db, const LIST& params, qualitative_uncertainty* in)
  8381. {
  8382. size_t base = GenericFill(db,params,static_cast<uncertainty_qualifier*>(in));
  8383. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to qualitative_uncertainty"); } do { // convert the 'uncertainty_value' argument
  8384. std::shared_ptr<const DataType> arg = params[base++];
  8385. try { GenericConvert( in->uncertainty_value, arg, db ); break; }
  8386. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to qualitative_uncertainty to be a `text`")); }
  8387. } while(0);
  8388. return base;
  8389. }
  8390. // -----------------------------------------------------------------------------------------------------------
  8391. template <> size_t GenericFill<quantified_assembly_component_usage>(const DB& db, const LIST& params, quantified_assembly_component_usage* in)
  8392. {
  8393. size_t base = GenericFill(db,params,static_cast<assembly_component_usage*>(in));
  8394. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to quantified_assembly_component_usage"); } do { // convert the 'quantity' argument
  8395. std::shared_ptr<const DataType> arg = params[base++];
  8396. try { GenericConvert( in->quantity, arg, db ); break; }
  8397. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to quantified_assembly_component_usage to be a `measure_with_unit`")); }
  8398. } while(0);
  8399. return base;
  8400. }
  8401. // -----------------------------------------------------------------------------------------------------------
  8402. template <> size_t GenericFill<quasi_uniform_curve>(const DB& db, const LIST& params, quasi_uniform_curve* in)
  8403. {
  8404. size_t base = GenericFill(db,params,static_cast<b_spline_curve*>(in));
  8405. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to quasi_uniform_curve"); } return base;
  8406. }
  8407. // -----------------------------------------------------------------------------------------------------------
  8408. template <> size_t GenericFill<quasi_uniform_surface>(const DB& db, const LIST& params, quasi_uniform_surface* in)
  8409. {
  8410. size_t base = GenericFill(db,params,static_cast<b_spline_surface*>(in));
  8411. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to quasi_uniform_surface"); } return base;
  8412. }
  8413. // -----------------------------------------------------------------------------------------------------------
  8414. template <> size_t GenericFill<radioactivity_measure_with_unit>(const DB& db, const LIST& params, radioactivity_measure_with_unit* in)
  8415. {
  8416. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  8417. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to radioactivity_measure_with_unit"); } return base;
  8418. }
  8419. // -----------------------------------------------------------------------------------------------------------
  8420. template <> size_t GenericFill<radioactivity_unit>(const DB& db, const LIST& params, radioactivity_unit* in)
  8421. {
  8422. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  8423. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to radioactivity_unit"); } return base;
  8424. }
  8425. // -----------------------------------------------------------------------------------------------------------
  8426. template <> size_t GenericFill<radius_dimension>(const DB& db, const LIST& params, radius_dimension* in)
  8427. {
  8428. size_t base = GenericFill(db,params,static_cast<dimension_curve_directed_callout*>(in));
  8429. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to radius_dimension"); } return base;
  8430. }
  8431. // -----------------------------------------------------------------------------------------------------------
  8432. template <> size_t GenericFill<range_characteristic>(const DB& db, const LIST& params, range_characteristic* in)
  8433. {
  8434. size_t base = 0;
  8435. return base;
  8436. }
  8437. // -----------------------------------------------------------------------------------------------------------
  8438. template <> size_t GenericFill<ratio_unit>(const DB& db, const LIST& params, ratio_unit* in)
  8439. {
  8440. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  8441. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to ratio_unit"); } return base;
  8442. }
  8443. // -----------------------------------------------------------------------------------------------------------
  8444. template <> size_t GenericFill<rational_b_spline_curve>(const DB& db, const LIST& params, rational_b_spline_curve* in)
  8445. {
  8446. size_t base = GenericFill(db,params,static_cast<b_spline_curve*>(in));
  8447. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to rational_b_spline_curve"); } do { // convert the 'weights_data' argument
  8448. std::shared_ptr<const DataType> arg = params[base++];
  8449. try { GenericConvert( in->weights_data, arg, db ); break; }
  8450. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to rational_b_spline_curve to be a `LIST [2:?] OF REAL`")); }
  8451. } while(0);
  8452. return base;
  8453. }
  8454. // -----------------------------------------------------------------------------------------------------------
  8455. template <> size_t GenericFill<rational_b_spline_surface>(const DB& db, const LIST& params, rational_b_spline_surface* in)
  8456. {
  8457. size_t base = GenericFill(db,params,static_cast<b_spline_surface*>(in));
  8458. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to rational_b_spline_surface"); } return base;
  8459. }
  8460. // -----------------------------------------------------------------------------------------------------------
  8461. template <> size_t GenericFill<rational_representation_item>(const DB& db, const LIST& params, rational_representation_item* in)
  8462. {
  8463. size_t base = 0;
  8464. return base;
  8465. }
  8466. // -----------------------------------------------------------------------------------------------------------
  8467. template <> size_t GenericFill<real_literal>(const DB& db, const LIST& params, real_literal* in)
  8468. {
  8469. size_t base = GenericFill(db,params,static_cast<literal_number*>(in));
  8470. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to real_literal"); } return base;
  8471. }
  8472. // -----------------------------------------------------------------------------------------------------------
  8473. template <> size_t GenericFill<real_representation_item>(const DB& db, const LIST& params, real_representation_item* in)
  8474. {
  8475. size_t base = 0;
  8476. return base;
  8477. }
  8478. // -----------------------------------------------------------------------------------------------------------
  8479. template <> size_t GenericFill<rectangular_composite_surface>(const DB& db, const LIST& params, rectangular_composite_surface* in)
  8480. {
  8481. size_t base = GenericFill(db,params,static_cast<bounded_surface*>(in));
  8482. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to rectangular_composite_surface"); } return base;
  8483. }
  8484. // -----------------------------------------------------------------------------------------------------------
  8485. template <> size_t GenericFill<rectangular_trimmed_surface>(const DB& db, const LIST& params, rectangular_trimmed_surface* in)
  8486. {
  8487. size_t base = GenericFill(db,params,static_cast<bounded_surface*>(in));
  8488. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to rectangular_trimmed_surface"); } do { // convert the 'basis_surface' argument
  8489. std::shared_ptr<const DataType> arg = params[base++];
  8490. try { GenericConvert( in->basis_surface, arg, db ); break; }
  8491. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to rectangular_trimmed_surface to be a `surface`")); }
  8492. } while(0);
  8493. do { // convert the 'u1' argument
  8494. std::shared_ptr<const DataType> arg = params[base++];
  8495. try { GenericConvert( in->u1, arg, db ); break; }
  8496. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to rectangular_trimmed_surface to be a `parameter_value`")); }
  8497. } while(0);
  8498. do { // convert the 'u2' argument
  8499. std::shared_ptr<const DataType> arg = params[base++];
  8500. try { GenericConvert( in->u2, arg, db ); break; }
  8501. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to rectangular_trimmed_surface to be a `parameter_value`")); }
  8502. } while(0);
  8503. do { // convert the 'v1' argument
  8504. std::shared_ptr<const DataType> arg = params[base++];
  8505. try { GenericConvert( in->v1, arg, db ); break; }
  8506. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to rectangular_trimmed_surface to be a `parameter_value`")); }
  8507. } while(0);
  8508. do { // convert the 'v2' argument
  8509. std::shared_ptr<const DataType> arg = params[base++];
  8510. try { GenericConvert( in->v2, arg, db ); break; }
  8511. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to rectangular_trimmed_surface to be a `parameter_value`")); }
  8512. } while(0);
  8513. do { // convert the 'usense' argument
  8514. std::shared_ptr<const DataType> arg = params[base++];
  8515. try { GenericConvert( in->usense, arg, db ); break; }
  8516. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to rectangular_trimmed_surface to be a `BOOLEAN`")); }
  8517. } while(0);
  8518. do { // convert the 'vsense' argument
  8519. std::shared_ptr<const DataType> arg = params[base++];
  8520. try { GenericConvert( in->vsense, arg, db ); break; }
  8521. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to rectangular_trimmed_surface to be a `BOOLEAN`")); }
  8522. } while(0);
  8523. return base;
  8524. }
  8525. // -----------------------------------------------------------------------------------------------------------
  8526. template <> size_t GenericFill<referenced_modified_datum>(const DB& db, const LIST& params, referenced_modified_datum* in)
  8527. {
  8528. size_t base = GenericFill(db,params,static_cast<datum_reference*>(in));
  8529. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to referenced_modified_datum"); } do { // convert the 'modifier' argument
  8530. std::shared_ptr<const DataType> arg = params[base++];
  8531. try { GenericConvert( in->modifier, arg, db ); break; }
  8532. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to referenced_modified_datum to be a `limit_condition`")); }
  8533. } while(0);
  8534. return base;
  8535. }
  8536. // -----------------------------------------------------------------------------------------------------------
  8537. template <> size_t GenericFill<relative_event_occurrence>(const DB& db, const LIST& params, relative_event_occurrence* in)
  8538. {
  8539. size_t base = GenericFill(db,params,static_cast<event_occurrence*>(in));
  8540. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to relative_event_occurrence"); } do { // convert the 'base_event' argument
  8541. std::shared_ptr<const DataType> arg = params[base++];
  8542. try { GenericConvert( in->base_event, arg, db ); break; }
  8543. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to relative_event_occurrence to be a `event_occurrence`")); }
  8544. } while(0);
  8545. do { // convert the 'offset' argument
  8546. std::shared_ptr<const DataType> arg = params[base++];
  8547. try { GenericConvert( in->offset, arg, db ); break; }
  8548. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to relative_event_occurrence to be a `time_measure_with_unit`")); }
  8549. } while(0);
  8550. return base;
  8551. }
  8552. // -----------------------------------------------------------------------------------------------------------
  8553. template <> size_t GenericFill<rep_item_group>(const DB& db, const LIST& params, rep_item_group* in)
  8554. {
  8555. size_t base = 0;
  8556. return base;
  8557. }
  8558. // -----------------------------------------------------------------------------------------------------------
  8559. template <> size_t GenericFill<reparametrised_composite_curve_segment>(const DB& db, const LIST& params, reparametrised_composite_curve_segment* in)
  8560. {
  8561. size_t base = GenericFill(db,params,static_cast<composite_curve_segment*>(in));
  8562. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to reparametrised_composite_curve_segment"); } do { // convert the 'param_length' argument
  8563. std::shared_ptr<const DataType> arg = params[base++];
  8564. try { GenericConvert( in->param_length, arg, db ); break; }
  8565. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to reparametrised_composite_curve_segment to be a `parameter_value`")); }
  8566. } while(0);
  8567. return base;
  8568. }
  8569. // -----------------------------------------------------------------------------------------------------------
  8570. template <> size_t GenericFill<representation_relationship_with_transformation>(const DB& db, const LIST& params, representation_relationship_with_transformation* in)
  8571. {
  8572. size_t base = GenericFill(db,params,static_cast<representation_relationship*>(in));
  8573. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to representation_relationship_with_transformation"); } do { // convert the 'transformation_operator' argument
  8574. std::shared_ptr<const DataType> arg = params[base++];
  8575. try { GenericConvert( in->transformation_operator, arg, db ); break; }
  8576. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to representation_relationship_with_transformation to be a `transformation`")); }
  8577. } while(0);
  8578. return base;
  8579. }
  8580. // -----------------------------------------------------------------------------------------------------------
  8581. template <> size_t GenericFill<requirement_assigned_object>(const DB& db, const LIST& params, requirement_assigned_object* in)
  8582. {
  8583. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  8584. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to requirement_assigned_object"); } do { // convert the 'items' argument
  8585. std::shared_ptr<const DataType> arg = params[base++];
  8586. try { GenericConvert( in->items, arg, db ); break; }
  8587. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to requirement_assigned_object to be a `SET [1:1] OF requirement_assigned_item`")); }
  8588. } while(0);
  8589. return base;
  8590. }
  8591. // -----------------------------------------------------------------------------------------------------------
  8592. template <> size_t GenericFill<requirement_assignment>(const DB& db, const LIST& params, requirement_assignment* in)
  8593. {
  8594. size_t base = 0;
  8595. return base;
  8596. }
  8597. // -----------------------------------------------------------------------------------------------------------
  8598. template <> size_t GenericFill<requirement_source>(const DB& db, const LIST& params, requirement_source* in)
  8599. {
  8600. size_t base = GenericFill(db,params,static_cast<group*>(in));
  8601. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to requirement_source"); } return base;
  8602. }
  8603. // -----------------------------------------------------------------------------------------------------------
  8604. template <> size_t GenericFill<requirement_view_definition_relationship>(const DB& db, const LIST& params, requirement_view_definition_relationship* in)
  8605. {
  8606. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  8607. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to requirement_view_definition_relationship"); } return base;
  8608. }
  8609. // -----------------------------------------------------------------------------------------------------------
  8610. template <> size_t GenericFill<resistance_measure_with_unit>(const DB& db, const LIST& params, resistance_measure_with_unit* in)
  8611. {
  8612. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  8613. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to resistance_measure_with_unit"); } return base;
  8614. }
  8615. // -----------------------------------------------------------------------------------------------------------
  8616. template <> size_t GenericFill<resistance_unit>(const DB& db, const LIST& params, resistance_unit* in)
  8617. {
  8618. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  8619. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to resistance_unit"); } return base;
  8620. }
  8621. // -----------------------------------------------------------------------------------------------------------
  8622. template <> size_t GenericFill<revolved_area_solid>(const DB& db, const LIST& params, revolved_area_solid* in)
  8623. {
  8624. size_t base = GenericFill(db,params,static_cast<swept_area_solid*>(in));
  8625. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to revolved_area_solid"); } do { // convert the 'axis' argument
  8626. std::shared_ptr<const DataType> arg = params[base++];
  8627. try { GenericConvert( in->axis, arg, db ); break; }
  8628. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to revolved_area_solid to be a `axis1_placement`")); }
  8629. } while(0);
  8630. do { // convert the 'angle' argument
  8631. std::shared_ptr<const DataType> arg = params[base++];
  8632. try { GenericConvert( in->angle, arg, db ); break; }
  8633. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to revolved_area_solid to be a `plane_angle_measure`")); }
  8634. } while(0);
  8635. return base;
  8636. }
  8637. // -----------------------------------------------------------------------------------------------------------
  8638. template <> size_t GenericFill<revolved_face_solid>(const DB& db, const LIST& params, revolved_face_solid* in)
  8639. {
  8640. size_t base = GenericFill(db,params,static_cast<swept_face_solid*>(in));
  8641. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to revolved_face_solid"); } do { // convert the 'axis' argument
  8642. std::shared_ptr<const DataType> arg = params[base++];
  8643. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::revolved_face_solid,2>::aux_is_derived[0]=true; break; }
  8644. try { GenericConvert( in->axis, arg, db ); break; }
  8645. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to revolved_face_solid to be a `axis1_placement`")); }
  8646. } while(0);
  8647. do { // convert the 'angle' argument
  8648. std::shared_ptr<const DataType> arg = params[base++];
  8649. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::revolved_face_solid,2>::aux_is_derived[1]=true; break; }
  8650. try { GenericConvert( in->angle, arg, db ); break; }
  8651. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to revolved_face_solid to be a `plane_angle_measure`")); }
  8652. } while(0);
  8653. return base;
  8654. }
  8655. // -----------------------------------------------------------------------------------------------------------
  8656. template <> size_t GenericFill<revolved_face_solid_with_trim_conditions>(const DB& db, const LIST& params, revolved_face_solid_with_trim_conditions* in)
  8657. {
  8658. size_t base = GenericFill(db,params,static_cast<revolved_face_solid*>(in));
  8659. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to revolved_face_solid_with_trim_conditions"); } do { // convert the 'first_trim_condition' argument
  8660. std::shared_ptr<const DataType> arg = params[base++];
  8661. try { GenericConvert( in->first_trim_condition, arg, db ); break; }
  8662. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to revolved_face_solid_with_trim_conditions to be a `trim_condition_select`")); }
  8663. } while(0);
  8664. do { // convert the 'second_trim_condition' argument
  8665. std::shared_ptr<const DataType> arg = params[base++];
  8666. try { GenericConvert( in->second_trim_condition, arg, db ); break; }
  8667. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to revolved_face_solid_with_trim_conditions to be a `trim_condition_select`")); }
  8668. } while(0);
  8669. return base;
  8670. }
  8671. // -----------------------------------------------------------------------------------------------------------
  8672. template <> size_t GenericFill<right_angular_wedge>(const DB& db, const LIST& params, right_angular_wedge* in)
  8673. {
  8674. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  8675. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to right_angular_wedge"); } do { // convert the 'position' argument
  8676. std::shared_ptr<const DataType> arg = params[base++];
  8677. try { GenericConvert( in->position, arg, db ); break; }
  8678. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to right_angular_wedge to be a `axis2_placement_3d`")); }
  8679. } while(0);
  8680. do { // convert the 'x' argument
  8681. std::shared_ptr<const DataType> arg = params[base++];
  8682. try { GenericConvert( in->x, arg, db ); break; }
  8683. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to right_angular_wedge to be a `positive_length_measure`")); }
  8684. } while(0);
  8685. do { // convert the 'y' argument
  8686. std::shared_ptr<const DataType> arg = params[base++];
  8687. try { GenericConvert( in->y, arg, db ); break; }
  8688. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to right_angular_wedge to be a `positive_length_measure`")); }
  8689. } while(0);
  8690. do { // convert the 'z' argument
  8691. std::shared_ptr<const DataType> arg = params[base++];
  8692. try { GenericConvert( in->z, arg, db ); break; }
  8693. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to right_angular_wedge to be a `positive_length_measure`")); }
  8694. } while(0);
  8695. do { // convert the 'ltx' argument
  8696. std::shared_ptr<const DataType> arg = params[base++];
  8697. try { GenericConvert( in->ltx, arg, db ); break; }
  8698. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to right_angular_wedge to be a `length_measure`")); }
  8699. } while(0);
  8700. return base;
  8701. }
  8702. // -----------------------------------------------------------------------------------------------------------
  8703. template <> size_t GenericFill<right_circular_cone>(const DB& db, const LIST& params, right_circular_cone* in)
  8704. {
  8705. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  8706. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to right_circular_cone"); } do { // convert the 'position' argument
  8707. std::shared_ptr<const DataType> arg = params[base++];
  8708. try { GenericConvert( in->position, arg, db ); break; }
  8709. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to right_circular_cone to be a `axis1_placement`")); }
  8710. } while(0);
  8711. do { // convert the 'height' argument
  8712. std::shared_ptr<const DataType> arg = params[base++];
  8713. try { GenericConvert( in->height, arg, db ); break; }
  8714. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to right_circular_cone to be a `positive_length_measure`")); }
  8715. } while(0);
  8716. do { // convert the 'radius' argument
  8717. std::shared_ptr<const DataType> arg = params[base++];
  8718. try { GenericConvert( in->radius, arg, db ); break; }
  8719. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to right_circular_cone to be a `length_measure`")); }
  8720. } while(0);
  8721. do { // convert the 'semi_angle' argument
  8722. std::shared_ptr<const DataType> arg = params[base++];
  8723. try { GenericConvert( in->semi_angle, arg, db ); break; }
  8724. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to right_circular_cone to be a `plane_angle_measure`")); }
  8725. } while(0);
  8726. return base;
  8727. }
  8728. // -----------------------------------------------------------------------------------------------------------
  8729. template <> size_t GenericFill<right_circular_cylinder>(const DB& db, const LIST& params, right_circular_cylinder* in)
  8730. {
  8731. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  8732. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to right_circular_cylinder"); } do { // convert the 'position' argument
  8733. std::shared_ptr<const DataType> arg = params[base++];
  8734. try { GenericConvert( in->position, arg, db ); break; }
  8735. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to right_circular_cylinder to be a `axis1_placement`")); }
  8736. } while(0);
  8737. do { // convert the 'height' argument
  8738. std::shared_ptr<const DataType> arg = params[base++];
  8739. try { GenericConvert( in->height, arg, db ); break; }
  8740. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to right_circular_cylinder to be a `positive_length_measure`")); }
  8741. } while(0);
  8742. do { // convert the 'radius' argument
  8743. std::shared_ptr<const DataType> arg = params[base++];
  8744. try { GenericConvert( in->radius, arg, db ); break; }
  8745. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to right_circular_cylinder to be a `positive_length_measure`")); }
  8746. } while(0);
  8747. return base;
  8748. }
  8749. // -----------------------------------------------------------------------------------------------------------
  8750. template <> size_t GenericFill<right_to_usage_association>(const DB& db, const LIST& params, right_to_usage_association* in)
  8751. {
  8752. size_t base = GenericFill(db,params,static_cast<action_method_relationship*>(in));
  8753. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to right_to_usage_association"); } return base;
  8754. }
  8755. // -----------------------------------------------------------------------------------------------------------
  8756. template <> size_t GenericFill<roundness_tolerance>(const DB& db, const LIST& params, roundness_tolerance* in)
  8757. {
  8758. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  8759. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to roundness_tolerance"); } return base;
  8760. }
  8761. // -----------------------------------------------------------------------------------------------------------
  8762. template <> size_t GenericFill<row_representation_item>(const DB& db, const LIST& params, row_representation_item* in)
  8763. {
  8764. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  8765. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to row_representation_item"); } return base;
  8766. }
  8767. // -----------------------------------------------------------------------------------------------------------
  8768. template <> size_t GenericFill<row_value>(const DB& db, const LIST& params, row_value* in)
  8769. {
  8770. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  8771. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to row_value"); } return base;
  8772. }
  8773. // -----------------------------------------------------------------------------------------------------------
  8774. template <> size_t GenericFill<row_variable>(const DB& db, const LIST& params, row_variable* in)
  8775. {
  8776. size_t base = GenericFill(db,params,static_cast<abstract_variable*>(in));
  8777. return base;
  8778. }
  8779. // -----------------------------------------------------------------------------------------------------------
  8780. template <> size_t GenericFill<rule_action>(const DB& db, const LIST& params, rule_action* in)
  8781. {
  8782. size_t base = GenericFill(db,params,static_cast<action*>(in));
  8783. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to rule_action"); } return base;
  8784. }
  8785. // -----------------------------------------------------------------------------------------------------------
  8786. template <> size_t GenericFill<rule_condition>(const DB& db, const LIST& params, rule_condition* in)
  8787. {
  8788. size_t base = GenericFill(db,params,static_cast<atomic_formula*>(in));
  8789. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to rule_condition"); } return base;
  8790. }
  8791. // -----------------------------------------------------------------------------------------------------------
  8792. template <> size_t GenericFill<rule_set>(const DB& db, const LIST& params, rule_set* in)
  8793. {
  8794. size_t base = GenericFill(db,params,static_cast<rule_software_definition*>(in));
  8795. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_set"); } return base;
  8796. }
  8797. // -----------------------------------------------------------------------------------------------------------
  8798. template <> size_t GenericFill<rule_set_group>(const DB& db, const LIST& params, rule_set_group* in)
  8799. {
  8800. size_t base = GenericFill(db,params,static_cast<rule_software_definition*>(in));
  8801. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_set_group"); } return base;
  8802. }
  8803. // -----------------------------------------------------------------------------------------------------------
  8804. template <> size_t GenericFill<rule_superseded_assignment>(const DB& db, const LIST& params, rule_superseded_assignment* in)
  8805. {
  8806. size_t base = GenericFill(db,params,static_cast<action_assignment*>(in));
  8807. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to rule_superseded_assignment"); } do { // convert the 'items' argument
  8808. std::shared_ptr<const DataType> arg = params[base++];
  8809. try { GenericConvert( in->items, arg, db ); break; }
  8810. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to rule_superseded_assignment to be a `SET [1:?] OF rule_superseded_item`")); }
  8811. } while(0);
  8812. return base;
  8813. }
  8814. // -----------------------------------------------------------------------------------------------------------
  8815. template <> size_t GenericFill<rule_supersedence>(const DB& db, const LIST& params, rule_supersedence* in)
  8816. {
  8817. size_t base = GenericFill(db,params,static_cast<rule_action*>(in));
  8818. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to rule_supersedence"); } return base;
  8819. }
  8820. // -----------------------------------------------------------------------------------------------------------
  8821. template <> size_t GenericFill<surface_curve_swept_area_solid>(const DB& db, const LIST& params, surface_curve_swept_area_solid* in)
  8822. {
  8823. size_t base = GenericFill(db,params,static_cast<swept_area_solid*>(in));
  8824. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to surface_curve_swept_area_solid"); } do { // convert the 'directrix' argument
  8825. std::shared_ptr<const DataType> arg = params[base++];
  8826. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve_swept_area_solid,4>::aux_is_derived[0]=true; break; }
  8827. try { GenericConvert( in->directrix, arg, db ); break; }
  8828. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_curve_swept_area_solid to be a `curve`")); }
  8829. } while(0);
  8830. do { // convert the 'start_param' argument
  8831. std::shared_ptr<const DataType> arg = params[base++];
  8832. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve_swept_area_solid,4>::aux_is_derived[1]=true; break; }
  8833. try { GenericConvert( in->start_param, arg, db ); break; }
  8834. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_curve_swept_area_solid to be a `REAL`")); }
  8835. } while(0);
  8836. do { // convert the 'end_param' argument
  8837. std::shared_ptr<const DataType> arg = params[base++];
  8838. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve_swept_area_solid,4>::aux_is_derived[2]=true; break; }
  8839. try { GenericConvert( in->end_param, arg, db ); break; }
  8840. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to surface_curve_swept_area_solid to be a `REAL`")); }
  8841. } while(0);
  8842. do { // convert the 'reference_surface' argument
  8843. std::shared_ptr<const DataType> arg = params[base++];
  8844. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_curve_swept_area_solid,4>::aux_is_derived[3]=true; break; }
  8845. try { GenericConvert( in->reference_surface, arg, db ); break; }
  8846. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to surface_curve_swept_area_solid to be a `surface`")); }
  8847. } while(0);
  8848. return base;
  8849. }
  8850. // -----------------------------------------------------------------------------------------------------------
  8851. template <> size_t GenericFill<ruled_surface_swept_area_solid>(const DB& db, const LIST& params, ruled_surface_swept_area_solid* in)
  8852. {
  8853. size_t base = GenericFill(db,params,static_cast<surface_curve_swept_area_solid*>(in));
  8854. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to ruled_surface_swept_area_solid"); } return base;
  8855. }
  8856. // -----------------------------------------------------------------------------------------------------------
  8857. template <> size_t GenericFill<runout_zone_definition>(const DB& db, const LIST& params, runout_zone_definition* in)
  8858. {
  8859. size_t base = GenericFill(db,params,static_cast<tolerance_zone_definition*>(in));
  8860. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to runout_zone_definition"); } do { // convert the 'orientation' argument
  8861. std::shared_ptr<const DataType> arg = params[base++];
  8862. try { GenericConvert( in->orientation, arg, db ); break; }
  8863. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to runout_zone_definition to be a `runout_zone_orientation`")); }
  8864. } while(0);
  8865. return base;
  8866. }
  8867. // -----------------------------------------------------------------------------------------------------------
  8868. template <> size_t GenericFill<runout_zone_orientation>(const DB& db, const LIST& params, runout_zone_orientation* in)
  8869. {
  8870. size_t base = 0;
  8871. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to runout_zone_orientation"); } do { // convert the 'angle' argument
  8872. std::shared_ptr<const DataType> arg = params[base++];
  8873. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::runout_zone_orientation,1>::aux_is_derived[0]=true; break; }
  8874. try { GenericConvert( in->angle, arg, db ); break; }
  8875. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to runout_zone_orientation to be a `measure_with_unit`")); }
  8876. } while(0);
  8877. return base;
  8878. }
  8879. // -----------------------------------------------------------------------------------------------------------
  8880. template <> size_t GenericFill<runout_zone_orientation_reference_direction>(const DB& db, const LIST& params, runout_zone_orientation_reference_direction* in)
  8881. {
  8882. size_t base = GenericFill(db,params,static_cast<runout_zone_orientation*>(in));
  8883. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to runout_zone_orientation_reference_direction"); } do { // convert the 'orientation_defining_relationship' argument
  8884. std::shared_ptr<const DataType> arg = params[base++];
  8885. try { GenericConvert( in->orientation_defining_relationship, arg, db ); break; }
  8886. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to runout_zone_orientation_reference_direction to be a `shape_aspect_relationship`")); }
  8887. } while(0);
  8888. return base;
  8889. }
  8890. // -----------------------------------------------------------------------------------------------------------
  8891. template <> size_t GenericFill<satisfied_requirement>(const DB& db, const LIST& params, satisfied_requirement* in)
  8892. {
  8893. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  8894. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to satisfied_requirement"); } do { // convert the 'items' argument
  8895. std::shared_ptr<const DataType> arg = params[base++];
  8896. try { GenericConvert( in->items, arg, db ); break; }
  8897. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to satisfied_requirement to be a `SET [1:1] OF product_definition`")); }
  8898. } while(0);
  8899. return base;
  8900. }
  8901. // -----------------------------------------------------------------------------------------------------------
  8902. template <> size_t GenericFill<satisfies_requirement>(const DB& db, const LIST& params, satisfies_requirement* in)
  8903. {
  8904. size_t base = GenericFill(db,params,static_cast<group*>(in));
  8905. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to satisfies_requirement"); } return base;
  8906. }
  8907. // -----------------------------------------------------------------------------------------------------------
  8908. template <> size_t GenericFill<satisfying_item>(const DB& db, const LIST& params, satisfying_item* in)
  8909. {
  8910. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  8911. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to satisfying_item"); } do { // convert the 'items' argument
  8912. std::shared_ptr<const DataType> arg = params[base++];
  8913. try { GenericConvert( in->items, arg, db ); break; }
  8914. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to satisfying_item to be a `SET [1:1] OF requirement_satisfaction_item`")); }
  8915. } while(0);
  8916. return base;
  8917. }
  8918. // -----------------------------------------------------------------------------------------------------------
  8919. template <> size_t GenericFill<scalar_variable>(const DB& db, const LIST& params, scalar_variable* in)
  8920. {
  8921. size_t base = GenericFill(db,params,static_cast<abstract_variable*>(in));
  8922. return base;
  8923. }
  8924. // -----------------------------------------------------------------------------------------------------------
  8925. template <> size_t GenericFill<scattering_parameter>(const DB& db, const LIST& params, scattering_parameter* in)
  8926. {
  8927. size_t base = GenericFill(db,params,static_cast<polar_complex_number_literal*>(in));
  8928. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to scattering_parameter"); } return base;
  8929. }
  8930. // -----------------------------------------------------------------------------------------------------------
  8931. template <> size_t GenericFill<sculptured_solid>(const DB& db, const LIST& params, sculptured_solid* in)
  8932. {
  8933. size_t base = GenericFill(db,params,static_cast<modified_solid*>(in));
  8934. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to sculptured_solid"); } do { // convert the 'sculpturing_element' argument
  8935. std::shared_ptr<const DataType> arg = params[base++];
  8936. try { GenericConvert( in->sculpturing_element, arg, db ); break; }
  8937. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to sculptured_solid to be a `generalized_surface_select`")); }
  8938. } while(0);
  8939. do { // convert the 'positive_side' argument
  8940. std::shared_ptr<const DataType> arg = params[base++];
  8941. try { GenericConvert( in->positive_side, arg, db ); break; }
  8942. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to sculptured_solid to be a `BOOLEAN`")); }
  8943. } while(0);
  8944. return base;
  8945. }
  8946. // -----------------------------------------------------------------------------------------------------------
  8947. template <> size_t GenericFill<seam_curve>(const DB& db, const LIST& params, seam_curve* in)
  8948. {
  8949. size_t base = GenericFill(db,params,static_cast<surface_curve*>(in));
  8950. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to seam_curve"); } return base;
  8951. }
  8952. // -----------------------------------------------------------------------------------------------------------
  8953. template <> size_t GenericFill<serial_numbered_effectivity>(const DB& db, const LIST& params, serial_numbered_effectivity* in)
  8954. {
  8955. size_t base = GenericFill(db,params,static_cast<effectivity*>(in));
  8956. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to serial_numbered_effectivity"); } do { // convert the 'effectivity_start_id' argument
  8957. std::shared_ptr<const DataType> arg = params[base++];
  8958. try { GenericConvert( in->effectivity_start_id, arg, db ); break; }
  8959. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to serial_numbered_effectivity to be a `identifier`")); }
  8960. } while(0);
  8961. do { // convert the 'effectivity_end_id' argument
  8962. std::shared_ptr<const DataType> arg = params[base++];
  8963. if (dynamic_cast<const UNSET*>(&*arg)) break;
  8964. try { GenericConvert( in->effectivity_end_id, arg, db ); break; }
  8965. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to serial_numbered_effectivity to be a `identifier`")); }
  8966. } while(0);
  8967. return base;
  8968. }
  8969. // -----------------------------------------------------------------------------------------------------------
  8970. template <> size_t GenericFill<shape_aspect_associativity>(const DB& db, const LIST& params, shape_aspect_associativity* in)
  8971. {
  8972. size_t base = GenericFill(db,params,static_cast<shape_aspect_relationship*>(in));
  8973. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect_associativity"); } return base;
  8974. }
  8975. // -----------------------------------------------------------------------------------------------------------
  8976. template <> size_t GenericFill<shape_aspect_deriving_relationship>(const DB& db, const LIST& params, shape_aspect_deriving_relationship* in)
  8977. {
  8978. size_t base = GenericFill(db,params,static_cast<shape_aspect_relationship*>(in));
  8979. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect_deriving_relationship"); } return base;
  8980. }
  8981. // -----------------------------------------------------------------------------------------------------------
  8982. template <> size_t GenericFill<shape_definition_representation>(const DB& db, const LIST& params, shape_definition_representation* in)
  8983. {
  8984. size_t base = GenericFill(db,params,static_cast<property_definition_representation*>(in));
  8985. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shape_definition_representation"); } return base;
  8986. }
  8987. // -----------------------------------------------------------------------------------------------------------
  8988. template <> size_t GenericFill<shape_dimension_representation>(const DB& db, const LIST& params, shape_dimension_representation* in)
  8989. {
  8990. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  8991. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shape_dimension_representation"); } return base;
  8992. }
  8993. // -----------------------------------------------------------------------------------------------------------
  8994. template <> size_t GenericFill<shape_feature_definition>(const DB& db, const LIST& params, shape_feature_definition* in)
  8995. {
  8996. size_t base = GenericFill(db,params,static_cast<characterized_object*>(in));
  8997. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shape_feature_definition"); } return base;
  8998. }
  8999. // -----------------------------------------------------------------------------------------------------------
  9000. template <> size_t GenericFill<shape_representation_with_parameters>(const DB& db, const LIST& params, shape_representation_with_parameters* in)
  9001. {
  9002. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  9003. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shape_representation_with_parameters"); } return base;
  9004. }
  9005. // -----------------------------------------------------------------------------------------------------------
  9006. template <> size_t GenericFill<shell_based_surface_model>(const DB& db, const LIST& params, shell_based_surface_model* in)
  9007. {
  9008. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  9009. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shell_based_surface_model"); } do { // convert the 'sbsm_boundary' argument
  9010. std::shared_ptr<const DataType> arg = params[base++];
  9011. try { GenericConvert( in->sbsm_boundary, arg, db ); break; }
  9012. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shell_based_surface_model to be a `SET [1:?] OF shell`")); }
  9013. } while(0);
  9014. return base;
  9015. }
  9016. // -----------------------------------------------------------------------------------------------------------
  9017. template <> size_t GenericFill<shell_based_wireframe_model>(const DB& db, const LIST& params, shell_based_wireframe_model* in)
  9018. {
  9019. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  9020. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shell_based_wireframe_model"); } do { // convert the 'sbwm_boundary' argument
  9021. std::shared_ptr<const DataType> arg = params[base++];
  9022. try { GenericConvert( in->sbwm_boundary, arg, db ); break; }
  9023. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shell_based_wireframe_model to be a `SET [1:?] OF shell`")); }
  9024. } while(0);
  9025. return base;
  9026. }
  9027. // -----------------------------------------------------------------------------------------------------------
  9028. template <> size_t GenericFill<shell_based_wireframe_shape_representation>(const DB& db, const LIST& params, shell_based_wireframe_shape_representation* in)
  9029. {
  9030. size_t base = GenericFill(db,params,static_cast<shape_representation*>(in));
  9031. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shell_based_wireframe_shape_representation"); } return base;
  9032. }
  9033. // -----------------------------------------------------------------------------------------------------------
  9034. template <> size_t GenericFill<si_absorbed_dose_unit>(const DB& db, const LIST& params, si_absorbed_dose_unit* in)
  9035. {
  9036. size_t base = 0;
  9037. return base;
  9038. }
  9039. // -----------------------------------------------------------------------------------------------------------
  9040. template <> size_t GenericFill<si_capacitance_unit>(const DB& db, const LIST& params, si_capacitance_unit* in)
  9041. {
  9042. size_t base = 0;
  9043. return base;
  9044. }
  9045. // -----------------------------------------------------------------------------------------------------------
  9046. template <> size_t GenericFill<si_conductance_unit>(const DB& db, const LIST& params, si_conductance_unit* in)
  9047. {
  9048. size_t base = 0;
  9049. return base;
  9050. }
  9051. // -----------------------------------------------------------------------------------------------------------
  9052. template <> size_t GenericFill<si_dose_equivalent_unit>(const DB& db, const LIST& params, si_dose_equivalent_unit* in)
  9053. {
  9054. size_t base = 0;
  9055. return base;
  9056. }
  9057. // -----------------------------------------------------------------------------------------------------------
  9058. template <> size_t GenericFill<si_electric_charge_unit>(const DB& db, const LIST& params, si_electric_charge_unit* in)
  9059. {
  9060. size_t base = 0;
  9061. return base;
  9062. }
  9063. // -----------------------------------------------------------------------------------------------------------
  9064. template <> size_t GenericFill<si_electric_potential_unit>(const DB& db, const LIST& params, si_electric_potential_unit* in)
  9065. {
  9066. size_t base = 0;
  9067. return base;
  9068. }
  9069. // -----------------------------------------------------------------------------------------------------------
  9070. template <> size_t GenericFill<si_energy_unit>(const DB& db, const LIST& params, si_energy_unit* in)
  9071. {
  9072. size_t base = 0;
  9073. return base;
  9074. }
  9075. // -----------------------------------------------------------------------------------------------------------
  9076. template <> size_t GenericFill<si_force_unit>(const DB& db, const LIST& params, si_force_unit* in)
  9077. {
  9078. size_t base = 0;
  9079. return base;
  9080. }
  9081. // -----------------------------------------------------------------------------------------------------------
  9082. template <> size_t GenericFill<si_frequency_unit>(const DB& db, const LIST& params, si_frequency_unit* in)
  9083. {
  9084. size_t base = 0;
  9085. return base;
  9086. }
  9087. // -----------------------------------------------------------------------------------------------------------
  9088. template <> size_t GenericFill<si_illuminance_unit>(const DB& db, const LIST& params, si_illuminance_unit* in)
  9089. {
  9090. size_t base = 0;
  9091. return base;
  9092. }
  9093. // -----------------------------------------------------------------------------------------------------------
  9094. template <> size_t GenericFill<si_inductance_unit>(const DB& db, const LIST& params, si_inductance_unit* in)
  9095. {
  9096. size_t base = 0;
  9097. return base;
  9098. }
  9099. // -----------------------------------------------------------------------------------------------------------
  9100. template <> size_t GenericFill<si_magnetic_flux_density_unit>(const DB& db, const LIST& params, si_magnetic_flux_density_unit* in)
  9101. {
  9102. size_t base = 0;
  9103. return base;
  9104. }
  9105. // -----------------------------------------------------------------------------------------------------------
  9106. template <> size_t GenericFill<si_magnetic_flux_unit>(const DB& db, const LIST& params, si_magnetic_flux_unit* in)
  9107. {
  9108. size_t base = 0;
  9109. return base;
  9110. }
  9111. // -----------------------------------------------------------------------------------------------------------
  9112. template <> size_t GenericFill<si_power_unit>(const DB& db, const LIST& params, si_power_unit* in)
  9113. {
  9114. size_t base = 0;
  9115. return base;
  9116. }
  9117. // -----------------------------------------------------------------------------------------------------------
  9118. template <> size_t GenericFill<si_pressure_unit>(const DB& db, const LIST& params, si_pressure_unit* in)
  9119. {
  9120. size_t base = 0;
  9121. return base;
  9122. }
  9123. // -----------------------------------------------------------------------------------------------------------
  9124. template <> size_t GenericFill<si_radioactivity_unit>(const DB& db, const LIST& params, si_radioactivity_unit* in)
  9125. {
  9126. size_t base = 0;
  9127. return base;
  9128. }
  9129. // -----------------------------------------------------------------------------------------------------------
  9130. template <> size_t GenericFill<si_resistance_unit>(const DB& db, const LIST& params, si_resistance_unit* in)
  9131. {
  9132. size_t base = 0;
  9133. return base;
  9134. }
  9135. // -----------------------------------------------------------------------------------------------------------
  9136. template <> size_t GenericFill<si_unit>(const DB& db, const LIST& params, si_unit* in)
  9137. {
  9138. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  9139. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to si_unit"); } do { // convert the 'prefix' argument
  9140. std::shared_ptr<const DataType> arg = params[base++];
  9141. if (dynamic_cast<const UNSET*>(&*arg)) break;
  9142. try { GenericConvert( in->prefix, arg, db ); break; }
  9143. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to si_unit to be a `si_prefix`")); }
  9144. } while(0);
  9145. do { // convert the 'name' argument
  9146. std::shared_ptr<const DataType> arg = params[base++];
  9147. try { GenericConvert( in->name, arg, db ); break; }
  9148. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to si_unit to be a `si_unit_name`")); }
  9149. } while(0);
  9150. return base;
  9151. }
  9152. // -----------------------------------------------------------------------------------------------------------
  9153. template <> size_t GenericFill<simple_boolean_expression>(const DB& db, const LIST& params, simple_boolean_expression* in)
  9154. {
  9155. size_t base = 0;
  9156. return base;
  9157. }
  9158. // -----------------------------------------------------------------------------------------------------------
  9159. template <> size_t GenericFill<simple_numeric_expression>(const DB& db, const LIST& params, simple_numeric_expression* in)
  9160. {
  9161. size_t base = 0;
  9162. return base;
  9163. }
  9164. // -----------------------------------------------------------------------------------------------------------
  9165. template <> size_t GenericFill<slash_expression>(const DB& db, const LIST& params, slash_expression* in)
  9166. {
  9167. size_t base = GenericFill(db,params,static_cast<binary_numeric_expression*>(in));
  9168. return base;
  9169. }
  9170. // -----------------------------------------------------------------------------------------------------------
  9171. template <> size_t GenericFill<smeared_material_definition>(const DB& db, const LIST& params, smeared_material_definition* in)
  9172. {
  9173. size_t base = GenericFill(db,params,static_cast<zone_structural_makeup*>(in));
  9174. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to smeared_material_definition"); } return base;
  9175. }
  9176. // -----------------------------------------------------------------------------------------------------------
  9177. template <> size_t GenericFill<solid_angle_measure_with_unit>(const DB& db, const LIST& params, solid_angle_measure_with_unit* in)
  9178. {
  9179. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  9180. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to solid_angle_measure_with_unit"); } return base;
  9181. }
  9182. // -----------------------------------------------------------------------------------------------------------
  9183. template <> size_t GenericFill<solid_angle_unit>(const DB& db, const LIST& params, solid_angle_unit* in)
  9184. {
  9185. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  9186. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to solid_angle_unit"); } return base;
  9187. }
  9188. // -----------------------------------------------------------------------------------------------------------
  9189. template <> size_t GenericFill<solid_curve_font>(const DB& db, const LIST& params, solid_curve_font* in)
  9190. {
  9191. size_t base = GenericFill(db,params,static_cast<pre_defined_curve_font*>(in));
  9192. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to solid_curve_font"); } return base;
  9193. }
  9194. // -----------------------------------------------------------------------------------------------------------
  9195. template <> size_t GenericFill<solid_replica>(const DB& db, const LIST& params, solid_replica* in)
  9196. {
  9197. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  9198. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to solid_replica"); } do { // convert the 'parent_solid' argument
  9199. std::shared_ptr<const DataType> arg = params[base++];
  9200. try { GenericConvert( in->parent_solid, arg, db ); break; }
  9201. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to solid_replica to be a `solid_model`")); }
  9202. } while(0);
  9203. do { // convert the 'transformation' argument
  9204. std::shared_ptr<const DataType> arg = params[base++];
  9205. try { GenericConvert( in->transformation, arg, db ); break; }
  9206. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to solid_replica to be a `cartesian_transformation_operator_3d`")); }
  9207. } while(0);
  9208. return base;
  9209. }
  9210. // -----------------------------------------------------------------------------------------------------------
  9211. template <> size_t GenericFill<solid_with_chamfered_edges>(const DB& db, const LIST& params, solid_with_chamfered_edges* in)
  9212. {
  9213. size_t base = GenericFill(db,params,static_cast<edge_blended_solid*>(in));
  9214. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to solid_with_chamfered_edges"); } return base;
  9215. }
  9216. // -----------------------------------------------------------------------------------------------------------
  9217. template <> size_t GenericFill<solid_with_angle_based_chamfer>(const DB& db, const LIST& params, solid_with_angle_based_chamfer* in)
  9218. {
  9219. size_t base = GenericFill(db,params,static_cast<solid_with_chamfered_edges*>(in));
  9220. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_angle_based_chamfer"); } do { // convert the 'offset_distance' argument
  9221. std::shared_ptr<const DataType> arg = params[base++];
  9222. try { GenericConvert( in->offset_distance, arg, db ); break; }
  9223. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_angle_based_chamfer to be a `positive_length_measure`")); }
  9224. } while(0);
  9225. do { // convert the 'left_offset' argument
  9226. std::shared_ptr<const DataType> arg = params[base++];
  9227. try { GenericConvert( in->left_offset, arg, db ); break; }
  9228. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_angle_based_chamfer to be a `BOOLEAN`")); }
  9229. } while(0);
  9230. do { // convert the 'offset_angle' argument
  9231. std::shared_ptr<const DataType> arg = params[base++];
  9232. try { GenericConvert( in->offset_angle, arg, db ); break; }
  9233. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_angle_based_chamfer to be a `positive_plane_angle_measure`")); }
  9234. } while(0);
  9235. return base;
  9236. }
  9237. // -----------------------------------------------------------------------------------------------------------
  9238. template <> size_t GenericFill<solid_with_shape_element_pattern>(const DB& db, const LIST& params, solid_with_shape_element_pattern* in)
  9239. {
  9240. size_t base = GenericFill(db,params,static_cast<modified_solid_with_placed_configuration*>(in));
  9241. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_shape_element_pattern"); } do { // convert the 'replicated_element' argument
  9242. std::shared_ptr<const DataType> arg = params[base++];
  9243. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_shape_element_pattern,1>::aux_is_derived[0]=true; break; }
  9244. try { GenericConvert( in->replicated_element, arg, db ); break; }
  9245. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_shape_element_pattern to be a `modified_solid_with_placed_configuration`")); }
  9246. } while(0);
  9247. return base;
  9248. }
  9249. // -----------------------------------------------------------------------------------------------------------
  9250. template <> size_t GenericFill<solid_with_circular_pattern>(const DB& db, const LIST& params, solid_with_circular_pattern* in)
  9251. {
  9252. size_t base = GenericFill(db,params,static_cast<solid_with_shape_element_pattern*>(in));
  9253. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_circular_pattern"); } do { // convert the 'replicate_count' argument
  9254. std::shared_ptr<const DataType> arg = params[base++];
  9255. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_circular_pattern,4>::aux_is_derived[0]=true; break; }
  9256. try { GenericConvert( in->replicate_count, arg, db ); break; }
  9257. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_circular_pattern to be a `positive_integer`")); }
  9258. } while(0);
  9259. do { // convert the 'angular_spacing' argument
  9260. std::shared_ptr<const DataType> arg = params[base++];
  9261. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_circular_pattern,4>::aux_is_derived[1]=true; break; }
  9262. try { GenericConvert( in->angular_spacing, arg, db ); break; }
  9263. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_circular_pattern to be a `plane_angle_measure`")); }
  9264. } while(0);
  9265. do { // convert the 'radial_alignment' argument
  9266. std::shared_ptr<const DataType> arg = params[base++];
  9267. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_circular_pattern,4>::aux_is_derived[2]=true; break; }
  9268. try { GenericConvert( in->radial_alignment, arg, db ); break; }
  9269. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_circular_pattern to be a `BOOLEAN`")); }
  9270. } while(0);
  9271. do { // convert the 'reference_point' argument
  9272. std::shared_ptr<const DataType> arg = params[base++];
  9273. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_circular_pattern,4>::aux_is_derived[3]=true; break; }
  9274. try { GenericConvert( in->reference_point, arg, db ); break; }
  9275. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_circular_pattern to be a `point`")); }
  9276. } while(0);
  9277. return base;
  9278. }
  9279. // -----------------------------------------------------------------------------------------------------------
  9280. template <> size_t GenericFill<solid_with_depression>(const DB& db, const LIST& params, solid_with_depression* in)
  9281. {
  9282. size_t base = GenericFill(db,params,static_cast<modified_solid_with_placed_configuration*>(in));
  9283. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_depression"); } do { // convert the 'depth' argument
  9284. std::shared_ptr<const DataType> arg = params[base++];
  9285. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_depression,1>::aux_is_derived[0]=true; break; }
  9286. try { GenericConvert( in->depth, arg, db ); break; }
  9287. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_depression to be a `positive_length_measure`")); }
  9288. } while(0);
  9289. return base;
  9290. }
  9291. // -----------------------------------------------------------------------------------------------------------
  9292. template <> size_t GenericFill<solid_with_pocket>(const DB& db, const LIST& params, solid_with_pocket* in)
  9293. {
  9294. size_t base = GenericFill(db,params,static_cast<solid_with_depression*>(in));
  9295. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_pocket"); } do { // convert the 'floor_blend_radius' argument
  9296. std::shared_ptr<const DataType> arg = params[base++];
  9297. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_pocket,2>::aux_is_derived[0]=true; break; }
  9298. try { GenericConvert( in->floor_blend_radius, arg, db ); break; }
  9299. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_pocket to be a `non_negative_length_measure`")); }
  9300. } while(0);
  9301. do { // convert the 'draft_angle' argument
  9302. std::shared_ptr<const DataType> arg = params[base++];
  9303. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_pocket,2>::aux_is_derived[1]=true; break; }
  9304. try { GenericConvert( in->draft_angle, arg, db ); break; }
  9305. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_pocket to be a `plane_angle_measure`")); }
  9306. } while(0);
  9307. return base;
  9308. }
  9309. // -----------------------------------------------------------------------------------------------------------
  9310. template <> size_t GenericFill<solid_with_circular_pocket>(const DB& db, const LIST& params, solid_with_circular_pocket* in)
  9311. {
  9312. size_t base = GenericFill(db,params,static_cast<solid_with_pocket*>(in));
  9313. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_circular_pocket"); } do { // convert the 'pocket_radius' argument
  9314. std::shared_ptr<const DataType> arg = params[base++];
  9315. try { GenericConvert( in->pocket_radius, arg, db ); break; }
  9316. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_circular_pocket to be a `positive_length_measure`")); }
  9317. } while(0);
  9318. return base;
  9319. }
  9320. // -----------------------------------------------------------------------------------------------------------
  9321. template <> size_t GenericFill<solid_with_protrusion>(const DB& db, const LIST& params, solid_with_protrusion* in)
  9322. {
  9323. size_t base = GenericFill(db,params,static_cast<modified_solid_with_placed_configuration*>(in));
  9324. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_protrusion"); } do { // convert the 'protrusion_height' argument
  9325. std::shared_ptr<const DataType> arg = params[base++];
  9326. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_protrusion,2>::aux_is_derived[0]=true; break; }
  9327. try { GenericConvert( in->protrusion_height, arg, db ); break; }
  9328. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_protrusion to be a `positive_length_measure`")); }
  9329. } while(0);
  9330. do { // convert the 'protrusion_draft_angle' argument
  9331. std::shared_ptr<const DataType> arg = params[base++];
  9332. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_protrusion,2>::aux_is_derived[1]=true; break; }
  9333. try { GenericConvert( in->protrusion_draft_angle, arg, db ); break; }
  9334. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_protrusion to be a `plane_angle_measure`")); }
  9335. } while(0);
  9336. return base;
  9337. }
  9338. // -----------------------------------------------------------------------------------------------------------
  9339. template <> size_t GenericFill<solid_with_circular_protrusion>(const DB& db, const LIST& params, solid_with_circular_protrusion* in)
  9340. {
  9341. size_t base = GenericFill(db,params,static_cast<solid_with_protrusion*>(in));
  9342. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_circular_protrusion"); } do { // convert the 'protrusion_radius' argument
  9343. std::shared_ptr<const DataType> arg = params[base++];
  9344. try { GenericConvert( in->protrusion_radius, arg, db ); break; }
  9345. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_circular_protrusion to be a `positive_length_measure`")); }
  9346. } while(0);
  9347. return base;
  9348. }
  9349. // -----------------------------------------------------------------------------------------------------------
  9350. template <> size_t GenericFill<solid_with_hole>(const DB& db, const LIST& params, solid_with_hole* in)
  9351. {
  9352. size_t base = GenericFill(db,params,static_cast<solid_with_depression*>(in));
  9353. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_hole"); } return base;
  9354. }
  9355. // -----------------------------------------------------------------------------------------------------------
  9356. template <> size_t GenericFill<solid_with_stepped_round_hole>(const DB& db, const LIST& params, solid_with_stepped_round_hole* in)
  9357. {
  9358. size_t base = GenericFill(db,params,static_cast<solid_with_hole*>(in));
  9359. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_stepped_round_hole"); } do { // convert the 'segments' argument
  9360. std::shared_ptr<const DataType> arg = params[base++];
  9361. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_stepped_round_hole,1>::aux_is_derived[0]=true; break; }
  9362. try { GenericConvert( in->segments, arg, db ); break; }
  9363. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_stepped_round_hole to be a `positive_integer`")); }
  9364. } while(0);
  9365. return base;
  9366. }
  9367. // -----------------------------------------------------------------------------------------------------------
  9368. template <> size_t GenericFill<solid_with_conical_bottom_round_hole>(const DB& db, const LIST& params, solid_with_conical_bottom_round_hole* in)
  9369. {
  9370. size_t base = GenericFill(db,params,static_cast<solid_with_stepped_round_hole*>(in));
  9371. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_conical_bottom_round_hole"); } do { // convert the 'semi_apex_angle' argument
  9372. std::shared_ptr<const DataType> arg = params[base++];
  9373. try { GenericConvert( in->semi_apex_angle, arg, db ); break; }
  9374. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_conical_bottom_round_hole to be a `positive_plane_angle_measure`")); }
  9375. } while(0);
  9376. do { // convert the 'tip_radius' argument
  9377. std::shared_ptr<const DataType> arg = params[base++];
  9378. try { GenericConvert( in->tip_radius, arg, db ); break; }
  9379. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_conical_bottom_round_hole to be a `non_negative_length_measure`")); }
  9380. } while(0);
  9381. return base;
  9382. }
  9383. // -----------------------------------------------------------------------------------------------------------
  9384. template <> size_t GenericFill<solid_with_constant_radius_edge_blend>(const DB& db, const LIST& params, solid_with_constant_radius_edge_blend* in)
  9385. {
  9386. size_t base = GenericFill(db,params,static_cast<edge_blended_solid*>(in));
  9387. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_constant_radius_edge_blend"); } do { // convert the 'radius' argument
  9388. std::shared_ptr<const DataType> arg = params[base++];
  9389. try { GenericConvert( in->radius, arg, db ); break; }
  9390. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_constant_radius_edge_blend to be a `positive_length_measure`")); }
  9391. } while(0);
  9392. return base;
  9393. }
  9394. // -----------------------------------------------------------------------------------------------------------
  9395. template <> size_t GenericFill<solid_with_slot>(const DB& db, const LIST& params, solid_with_slot* in)
  9396. {
  9397. size_t base = GenericFill(db,params,static_cast<solid_with_depression*>(in));
  9398. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_slot"); } do { // convert the 'slot_width' argument
  9399. std::shared_ptr<const DataType> arg = params[base++];
  9400. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_slot,2>::aux_is_derived[0]=true; break; }
  9401. try { GenericConvert( in->slot_width, arg, db ); break; }
  9402. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_slot to be a `positive_length_measure`")); }
  9403. } while(0);
  9404. do { // convert the 'closed_ends' argument
  9405. std::shared_ptr<const DataType> arg = params[base++];
  9406. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_slot,2>::aux_is_derived[1]=true; break; }
  9407. try { GenericConvert( in->closed_ends, arg, db ); break; }
  9408. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_slot to be a `LIST [2:2] OF LOGICAL`")); }
  9409. } while(0);
  9410. return base;
  9411. }
  9412. // -----------------------------------------------------------------------------------------------------------
  9413. template <> size_t GenericFill<solid_with_curved_slot>(const DB& db, const LIST& params, solid_with_curved_slot* in)
  9414. {
  9415. size_t base = GenericFill(db,params,static_cast<solid_with_slot*>(in));
  9416. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_curved_slot"); } do { // convert the 'slot_centreline' argument
  9417. std::shared_ptr<const DataType> arg = params[base++];
  9418. try { GenericConvert( in->slot_centreline, arg, db ); break; }
  9419. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_curved_slot to be a `bounded_curve`")); }
  9420. } while(0);
  9421. return base;
  9422. }
  9423. // -----------------------------------------------------------------------------------------------------------
  9424. template <> size_t GenericFill<solid_with_double_offset_chamfer>(const DB& db, const LIST& params, solid_with_double_offset_chamfer* in)
  9425. {
  9426. size_t base = GenericFill(db,params,static_cast<solid_with_chamfered_edges*>(in));
  9427. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_double_offset_chamfer"); } do { // convert the 'left_offset_distance' argument
  9428. std::shared_ptr<const DataType> arg = params[base++];
  9429. try { GenericConvert( in->left_offset_distance, arg, db ); break; }
  9430. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_double_offset_chamfer to be a `positive_length_measure`")); }
  9431. } while(0);
  9432. do { // convert the 'right_offset_distance' argument
  9433. std::shared_ptr<const DataType> arg = params[base++];
  9434. try { GenericConvert( in->right_offset_distance, arg, db ); break; }
  9435. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_double_offset_chamfer to be a `positive_length_measure`")); }
  9436. } while(0);
  9437. return base;
  9438. }
  9439. // -----------------------------------------------------------------------------------------------------------
  9440. template <> size_t GenericFill<solid_with_flat_bottom_round_hole>(const DB& db, const LIST& params, solid_with_flat_bottom_round_hole* in)
  9441. {
  9442. size_t base = GenericFill(db,params,static_cast<solid_with_stepped_round_hole*>(in));
  9443. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_flat_bottom_round_hole"); } do { // convert the 'fillet_radius' argument
  9444. std::shared_ptr<const DataType> arg = params[base++];
  9445. try { GenericConvert( in->fillet_radius, arg, db ); break; }
  9446. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_flat_bottom_round_hole to be a `non_negative_length_measure`")); }
  9447. } while(0);
  9448. return base;
  9449. }
  9450. // -----------------------------------------------------------------------------------------------------------
  9451. template <> size_t GenericFill<solid_with_general_pocket>(const DB& db, const LIST& params, solid_with_general_pocket* in)
  9452. {
  9453. size_t base = GenericFill(db,params,static_cast<solid_with_pocket*>(in));
  9454. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_general_pocket"); } do { // convert the 'profile' argument
  9455. std::shared_ptr<const DataType> arg = params[base++];
  9456. try { GenericConvert( in->profile, arg, db ); break; }
  9457. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_general_pocket to be a `positioned_sketch`")); }
  9458. } while(0);
  9459. do { // convert the 'reference_point' argument
  9460. std::shared_ptr<const DataType> arg = params[base++];
  9461. try { GenericConvert( in->reference_point, arg, db ); break; }
  9462. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_general_pocket to be a `point`")); }
  9463. } while(0);
  9464. return base;
  9465. }
  9466. // -----------------------------------------------------------------------------------------------------------
  9467. template <> size_t GenericFill<solid_with_general_protrusion>(const DB& db, const LIST& params, solid_with_general_protrusion* in)
  9468. {
  9469. size_t base = GenericFill(db,params,static_cast<solid_with_protrusion*>(in));
  9470. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_general_protrusion"); } do { // convert the 'profile' argument
  9471. std::shared_ptr<const DataType> arg = params[base++];
  9472. try { GenericConvert( in->profile, arg, db ); break; }
  9473. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_general_protrusion to be a `positioned_sketch`")); }
  9474. } while(0);
  9475. do { // convert the 'reference_point' argument
  9476. std::shared_ptr<const DataType> arg = params[base++];
  9477. try { GenericConvert( in->reference_point, arg, db ); break; }
  9478. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_general_protrusion to be a `point`")); }
  9479. } while(0);
  9480. return base;
  9481. }
  9482. // -----------------------------------------------------------------------------------------------------------
  9483. template <> size_t GenericFill<solid_with_groove>(const DB& db, const LIST& params, solid_with_groove* in)
  9484. {
  9485. size_t base = GenericFill(db,params,static_cast<solid_with_depression*>(in));
  9486. if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to solid_with_groove"); } do { // convert the 'groove_radius' argument
  9487. std::shared_ptr<const DataType> arg = params[base++];
  9488. try { GenericConvert( in->groove_radius, arg, db ); break; }
  9489. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_groove to be a `positive_length_measure`")); }
  9490. } while(0);
  9491. do { // convert the 'groove_width' argument
  9492. std::shared_ptr<const DataType> arg = params[base++];
  9493. try { GenericConvert( in->groove_width, arg, db ); break; }
  9494. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_groove to be a `positive_length_measure`")); }
  9495. } while(0);
  9496. do { // convert the 'draft_angle' argument
  9497. std::shared_ptr<const DataType> arg = params[base++];
  9498. try { GenericConvert( in->draft_angle, arg, db ); break; }
  9499. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_groove to be a `plane_angle_measure`")); }
  9500. } while(0);
  9501. do { // convert the 'floor_fillet_radius' argument
  9502. std::shared_ptr<const DataType> arg = params[base++];
  9503. try { GenericConvert( in->floor_fillet_radius, arg, db ); break; }
  9504. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_groove to be a `non_negative_length_measure`")); }
  9505. } while(0);
  9506. do { // convert the 'external_groove' argument
  9507. std::shared_ptr<const DataType> arg = params[base++];
  9508. try { GenericConvert( in->external_groove, arg, db ); break; }
  9509. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to solid_with_groove to be a `BOOLEAN`")); }
  9510. } while(0);
  9511. return base;
  9512. }
  9513. // -----------------------------------------------------------------------------------------------------------
  9514. template <> size_t GenericFill<solid_with_incomplete_circular_pattern>(const DB& db, const LIST& params, solid_with_incomplete_circular_pattern* in)
  9515. {
  9516. size_t base = GenericFill(db,params,static_cast<solid_with_circular_pattern*>(in));
  9517. if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to solid_with_incomplete_circular_pattern"); } do { // convert the 'omitted_instances' argument
  9518. std::shared_ptr<const DataType> arg = params[base++];
  9519. try { GenericConvert( in->omitted_instances, arg, db ); break; }
  9520. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to solid_with_incomplete_circular_pattern to be a `SET [1:?] OF positive_integer`")); }
  9521. } while(0);
  9522. return base;
  9523. }
  9524. // -----------------------------------------------------------------------------------------------------------
  9525. template <> size_t GenericFill<solid_with_rectangular_pattern>(const DB& db, const LIST& params, solid_with_rectangular_pattern* in)
  9526. {
  9527. size_t base = GenericFill(db,params,static_cast<solid_with_shape_element_pattern*>(in));
  9528. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_rectangular_pattern"); } do { // convert the 'row_count' argument
  9529. std::shared_ptr<const DataType> arg = params[base++];
  9530. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_rectangular_pattern,4>::aux_is_derived[0]=true; break; }
  9531. try { GenericConvert( in->row_count, arg, db ); break; }
  9532. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_rectangular_pattern to be a `positive_integer`")); }
  9533. } while(0);
  9534. do { // convert the 'column_count' argument
  9535. std::shared_ptr<const DataType> arg = params[base++];
  9536. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_rectangular_pattern,4>::aux_is_derived[1]=true; break; }
  9537. try { GenericConvert( in->column_count, arg, db ); break; }
  9538. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_rectangular_pattern to be a `positive_integer`")); }
  9539. } while(0);
  9540. do { // convert the 'row_spacing' argument
  9541. std::shared_ptr<const DataType> arg = params[base++];
  9542. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_rectangular_pattern,4>::aux_is_derived[2]=true; break; }
  9543. try { GenericConvert( in->row_spacing, arg, db ); break; }
  9544. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_rectangular_pattern to be a `length_measure`")); }
  9545. } while(0);
  9546. do { // convert the 'column_spacing' argument
  9547. std::shared_ptr<const DataType> arg = params[base++];
  9548. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::solid_with_rectangular_pattern,4>::aux_is_derived[3]=true; break; }
  9549. try { GenericConvert( in->column_spacing, arg, db ); break; }
  9550. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_rectangular_pattern to be a `length_measure`")); }
  9551. } while(0);
  9552. return base;
  9553. }
  9554. // -----------------------------------------------------------------------------------------------------------
  9555. template <> size_t GenericFill<solid_with_incomplete_rectangular_pattern>(const DB& db, const LIST& params, solid_with_incomplete_rectangular_pattern* in)
  9556. {
  9557. size_t base = GenericFill(db,params,static_cast<solid_with_rectangular_pattern*>(in));
  9558. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_incomplete_rectangular_pattern"); } return base;
  9559. }
  9560. // -----------------------------------------------------------------------------------------------------------
  9561. template <> size_t GenericFill<solid_with_rectangular_pocket>(const DB& db, const LIST& params, solid_with_rectangular_pocket* in)
  9562. {
  9563. size_t base = GenericFill(db,params,static_cast<solid_with_pocket*>(in));
  9564. if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to solid_with_rectangular_pocket"); } do { // convert the 'pocket_length' argument
  9565. std::shared_ptr<const DataType> arg = params[base++];
  9566. try { GenericConvert( in->pocket_length, arg, db ); break; }
  9567. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_rectangular_pocket to be a `positive_length_measure`")); }
  9568. } while(0);
  9569. do { // convert the 'pocket_width' argument
  9570. std::shared_ptr<const DataType> arg = params[base++];
  9571. try { GenericConvert( in->pocket_width, arg, db ); break; }
  9572. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_rectangular_pocket to be a `positive_length_measure`")); }
  9573. } while(0);
  9574. do { // convert the 'corner_radius' argument
  9575. std::shared_ptr<const DataType> arg = params[base++];
  9576. try { GenericConvert( in->corner_radius, arg, db ); break; }
  9577. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to solid_with_rectangular_pocket to be a `non_negative_length_measure`")); }
  9578. } while(0);
  9579. return base;
  9580. }
  9581. // -----------------------------------------------------------------------------------------------------------
  9582. template <> size_t GenericFill<solid_with_rectangular_protrusion>(const DB& db, const LIST& params, solid_with_rectangular_protrusion* in)
  9583. {
  9584. size_t base = GenericFill(db,params,static_cast<solid_with_protrusion*>(in));
  9585. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_rectangular_protrusion"); } do { // convert the 'protrusion_length' argument
  9586. std::shared_ptr<const DataType> arg = params[base++];
  9587. try { GenericConvert( in->protrusion_length, arg, db ); break; }
  9588. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_rectangular_protrusion to be a `positive_length_measure`")); }
  9589. } while(0);
  9590. do { // convert the 'protrusion_width' argument
  9591. std::shared_ptr<const DataType> arg = params[base++];
  9592. try { GenericConvert( in->protrusion_width, arg, db ); break; }
  9593. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_rectangular_protrusion to be a `positive_length_measure`")); }
  9594. } while(0);
  9595. do { // convert the 'protrusion_corner_radius' argument
  9596. std::shared_ptr<const DataType> arg = params[base++];
  9597. try { GenericConvert( in->protrusion_corner_radius, arg, db ); break; }
  9598. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_rectangular_protrusion to be a `non_negative_length_measure`")); }
  9599. } while(0);
  9600. return base;
  9601. }
  9602. // -----------------------------------------------------------------------------------------------------------
  9603. template <> size_t GenericFill<solid_with_single_offset_chamfer>(const DB& db, const LIST& params, solid_with_single_offset_chamfer* in)
  9604. {
  9605. size_t base = GenericFill(db,params,static_cast<solid_with_chamfered_edges*>(in));
  9606. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_single_offset_chamfer"); } do { // convert the 'offset_distance' argument
  9607. std::shared_ptr<const DataType> arg = params[base++];
  9608. try { GenericConvert( in->offset_distance, arg, db ); break; }
  9609. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_single_offset_chamfer to be a `positive_length_measure`")); }
  9610. } while(0);
  9611. return base;
  9612. }
  9613. // -----------------------------------------------------------------------------------------------------------
  9614. template <> size_t GenericFill<solid_with_spherical_bottom_round_hole>(const DB& db, const LIST& params, solid_with_spherical_bottom_round_hole* in)
  9615. {
  9616. size_t base = GenericFill(db,params,static_cast<solid_with_stepped_round_hole*>(in));
  9617. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_spherical_bottom_round_hole"); } do { // convert the 'sphere_radius' argument
  9618. std::shared_ptr<const DataType> arg = params[base++];
  9619. try { GenericConvert( in->sphere_radius, arg, db ); break; }
  9620. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_spherical_bottom_round_hole to be a `positive_length_measure`")); }
  9621. } while(0);
  9622. return base;
  9623. }
  9624. // -----------------------------------------------------------------------------------------------------------
  9625. template <> size_t GenericFill<solid_with_stepped_round_hole_and_conical_transitions>(const DB& db, const LIST& params, solid_with_stepped_round_hole_and_conical_transitions* in)
  9626. {
  9627. size_t base = GenericFill(db,params,static_cast<solid_with_stepped_round_hole*>(in));
  9628. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_stepped_round_hole_and_conical_transitions"); } do { // convert the 'conical_transitions' argument
  9629. std::shared_ptr<const DataType> arg = params[base++];
  9630. try { GenericConvert( in->conical_transitions, arg, db ); break; }
  9631. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_stepped_round_hole_and_conical_transitions to be a `SET [1:?] OF conical_stepped_hole_transition`")); }
  9632. } while(0);
  9633. return base;
  9634. }
  9635. // -----------------------------------------------------------------------------------------------------------
  9636. template <> size_t GenericFill<solid_with_straight_slot>(const DB& db, const LIST& params, solid_with_straight_slot* in)
  9637. {
  9638. size_t base = GenericFill(db,params,static_cast<solid_with_slot*>(in));
  9639. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_straight_slot"); } do { // convert the 'slot_length' argument
  9640. std::shared_ptr<const DataType> arg = params[base++];
  9641. try { GenericConvert( in->slot_length, arg, db ); break; }
  9642. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_straight_slot to be a `positive_length_measure`")); }
  9643. } while(0);
  9644. return base;
  9645. }
  9646. // -----------------------------------------------------------------------------------------------------------
  9647. template <> size_t GenericFill<solid_with_tee_section_slot>(const DB& db, const LIST& params, solid_with_tee_section_slot* in)
  9648. {
  9649. size_t base = GenericFill(db,params,static_cast<solid_with_slot*>(in));
  9650. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_tee_section_slot"); } do { // convert the 'tee_section_width' argument
  9651. std::shared_ptr<const DataType> arg = params[base++];
  9652. try { GenericConvert( in->tee_section_width, arg, db ); break; }
  9653. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_tee_section_slot to be a `positive_length_measure`")); }
  9654. } while(0);
  9655. do { // convert the 'collar_depth' argument
  9656. std::shared_ptr<const DataType> arg = params[base++];
  9657. try { GenericConvert( in->collar_depth, arg, db ); break; }
  9658. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_tee_section_slot to be a `positive_length_measure`")); }
  9659. } while(0);
  9660. return base;
  9661. }
  9662. // -----------------------------------------------------------------------------------------------------------
  9663. template <> size_t GenericFill<solid_with_through_depression>(const DB& db, const LIST& params, solid_with_through_depression* in)
  9664. {
  9665. size_t base = GenericFill(db,params,static_cast<solid_with_depression*>(in));
  9666. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_through_depression"); } do { // convert the 'exit_faces' argument
  9667. std::shared_ptr<const DataType> arg = params[base++];
  9668. try { GenericConvert( in->exit_faces, arg, db ); break; }
  9669. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_through_depression to be a `SET [1:?] OF face_surface`")); }
  9670. } while(0);
  9671. return base;
  9672. }
  9673. // -----------------------------------------------------------------------------------------------------------
  9674. template <> size_t GenericFill<solid_with_trapezoidal_section_slot>(const DB& db, const LIST& params, solid_with_trapezoidal_section_slot* in)
  9675. {
  9676. size_t base = GenericFill(db,params,static_cast<solid_with_slot*>(in));
  9677. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_trapezoidal_section_slot"); } do { // convert the 'draft_angle' argument
  9678. std::shared_ptr<const DataType> arg = params[base++];
  9679. try { GenericConvert( in->draft_angle, arg, db ); break; }
  9680. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_trapezoidal_section_slot to be a `plane_angle_measure`")); }
  9681. } while(0);
  9682. do { // convert the 'floor_fillet_radius' argument
  9683. std::shared_ptr<const DataType> arg = params[base++];
  9684. try { GenericConvert( in->floor_fillet_radius, arg, db ); break; }
  9685. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_trapezoidal_section_slot to be a `non_negative_length_measure`")); }
  9686. } while(0);
  9687. return base;
  9688. }
  9689. // -----------------------------------------------------------------------------------------------------------
  9690. template <> size_t GenericFill<solid_with_variable_radius_edge_blend>(const DB& db, const LIST& params, solid_with_variable_radius_edge_blend* in)
  9691. {
  9692. size_t base = 0;
  9693. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to solid_with_variable_radius_edge_blend"); } do { // convert the 'point_list' argument
  9694. std::shared_ptr<const DataType> arg = params[base++];
  9695. try { GenericConvert( in->point_list, arg, db ); break; }
  9696. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to solid_with_variable_radius_edge_blend to be a `LIST [2:?] OF point`")); }
  9697. } while(0);
  9698. do { // convert the 'radius_list' argument
  9699. std::shared_ptr<const DataType> arg = params[base++];
  9700. try { GenericConvert( in->radius_list, arg, db ); break; }
  9701. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to solid_with_variable_radius_edge_blend to be a `LIST [2:?] OF positive_length_measure`")); }
  9702. } while(0);
  9703. do { // convert the 'edge_function_list' argument
  9704. std::shared_ptr<const DataType> arg = params[base++];
  9705. try { GenericConvert( in->edge_function_list, arg, db ); break; }
  9706. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to solid_with_variable_radius_edge_blend to be a `LIST [1:?] OF blend_radius_variation_type`")); }
  9707. } while(0);
  9708. return base;
  9709. }
  9710. // -----------------------------------------------------------------------------------------------------------
  9711. template <> size_t GenericFill<source_for_requirement>(const DB& db, const LIST& params, source_for_requirement* in)
  9712. {
  9713. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  9714. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to source_for_requirement"); } do { // convert the 'items' argument
  9715. std::shared_ptr<const DataType> arg = params[base++];
  9716. try { GenericConvert( in->items, arg, db ); break; }
  9717. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to source_for_requirement to be a `SET [1:1] OF requirement_source_item`")); }
  9718. } while(0);
  9719. return base;
  9720. }
  9721. // -----------------------------------------------------------------------------------------------------------
  9722. template <> size_t GenericFill<sourced_requirement>(const DB& db, const LIST& params, sourced_requirement* in)
  9723. {
  9724. size_t base = GenericFill(db,params,static_cast<group_assignment*>(in));
  9725. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to sourced_requirement"); } do { // convert the 'items' argument
  9726. std::shared_ptr<const DataType> arg = params[base++];
  9727. try { GenericConvert( in->items, arg, db ); break; }
  9728. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to sourced_requirement to be a `SET [1:1] OF product_definition`")); }
  9729. } while(0);
  9730. return base;
  9731. }
  9732. // -----------------------------------------------------------------------------------------------------------
  9733. template <> size_t GenericFill<specification_definition>(const DB& db, const LIST& params, specification_definition* in)
  9734. {
  9735. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  9736. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to specification_definition"); } return base;
  9737. }
  9738. // -----------------------------------------------------------------------------------------------------------
  9739. template <> size_t GenericFill<specified_higher_usage_occurrence>(const DB& db, const LIST& params, specified_higher_usage_occurrence* in)
  9740. {
  9741. size_t base = GenericFill(db,params,static_cast<assembly_component_usage*>(in));
  9742. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to specified_higher_usage_occurrence"); } do { // convert the 'upper_usage' argument
  9743. std::shared_ptr<const DataType> arg = params[base++];
  9744. try { GenericConvert( in->upper_usage, arg, db ); break; }
  9745. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to specified_higher_usage_occurrence to be a `assembly_component_usage`")); }
  9746. } while(0);
  9747. do { // convert the 'next_usage' argument
  9748. std::shared_ptr<const DataType> arg = params[base++];
  9749. try { GenericConvert( in->next_usage, arg, db ); break; }
  9750. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to specified_higher_usage_occurrence to be a `next_assembly_usage_occurrence`")); }
  9751. } while(0);
  9752. return base;
  9753. }
  9754. // -----------------------------------------------------------------------------------------------------------
  9755. template <> size_t GenericFill<sphere>(const DB& db, const LIST& params, sphere* in)
  9756. {
  9757. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  9758. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to sphere"); } do { // convert the 'radius' argument
  9759. std::shared_ptr<const DataType> arg = params[base++];
  9760. try { GenericConvert( in->radius, arg, db ); break; }
  9761. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to sphere to be a `positive_length_measure`")); }
  9762. } while(0);
  9763. do { // convert the 'centre' argument
  9764. std::shared_ptr<const DataType> arg = params[base++];
  9765. try { GenericConvert( in->centre, arg, db ); break; }
  9766. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to sphere to be a `point`")); }
  9767. } while(0);
  9768. return base;
  9769. }
  9770. // -----------------------------------------------------------------------------------------------------------
  9771. template <> size_t GenericFill<spherical_surface>(const DB& db, const LIST& params, spherical_surface* in)
  9772. {
  9773. size_t base = GenericFill(db,params,static_cast<elementary_surface*>(in));
  9774. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to spherical_surface"); } do { // convert the 'radius' argument
  9775. std::shared_ptr<const DataType> arg = params[base++];
  9776. try { GenericConvert( in->radius, arg, db ); break; }
  9777. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to spherical_surface to be a `positive_length_measure`")); }
  9778. } while(0);
  9779. return base;
  9780. }
  9781. // -----------------------------------------------------------------------------------------------------------
  9782. template <> size_t GenericFill<start_request>(const DB& db, const LIST& params, start_request* in)
  9783. {
  9784. size_t base = GenericFill(db,params,static_cast<action_request_assignment*>(in));
  9785. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to start_request"); } do { // convert the 'items' argument
  9786. std::shared_ptr<const DataType> arg = params[base++];
  9787. try { GenericConvert( in->items, arg, db ); break; }
  9788. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to start_request to be a `SET [1:?] OF start_request_item`")); }
  9789. } while(0);
  9790. return base;
  9791. }
  9792. // -----------------------------------------------------------------------------------------------------------
  9793. template <> size_t GenericFill<start_work>(const DB& db, const LIST& params, start_work* in)
  9794. {
  9795. size_t base = GenericFill(db,params,static_cast<action_assignment*>(in));
  9796. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to start_work"); } do { // convert the 'items' argument
  9797. std::shared_ptr<const DataType> arg = params[base++];
  9798. try { GenericConvert( in->items, arg, db ); break; }
  9799. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to start_work to be a `SET [1:?] OF work_item`")); }
  9800. } while(0);
  9801. return base;
  9802. }
  9803. // -----------------------------------------------------------------------------------------------------------
  9804. template <> size_t GenericFill<straightness_tolerance>(const DB& db, const LIST& params, straightness_tolerance* in)
  9805. {
  9806. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  9807. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to straightness_tolerance"); } return base;
  9808. }
  9809. // -----------------------------------------------------------------------------------------------------------
  9810. template <> size_t GenericFill<structured_dimension_callout>(const DB& db, const LIST& params, structured_dimension_callout* in)
  9811. {
  9812. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  9813. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to structured_dimension_callout"); } return base;
  9814. }
  9815. // -----------------------------------------------------------------------------------------------------------
  9816. template <> size_t GenericFill<structured_text_composition>(const DB& db, const LIST& params, structured_text_composition* in)
  9817. {
  9818. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  9819. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to structured_text_composition"); } return base;
  9820. }
  9821. // -----------------------------------------------------------------------------------------------------------
  9822. template <> size_t GenericFill<structured_text_representation>(const DB& db, const LIST& params, structured_text_representation* in)
  9823. {
  9824. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  9825. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to structured_text_representation"); } return base;
  9826. }
  9827. // -----------------------------------------------------------------------------------------------------------
  9828. template <> size_t GenericFill<subedge>(const DB& db, const LIST& params, subedge* in)
  9829. {
  9830. size_t base = GenericFill(db,params,static_cast<edge*>(in));
  9831. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to subedge"); } do { // convert the 'parent_edge' argument
  9832. std::shared_ptr<const DataType> arg = params[base++];
  9833. try { GenericConvert( in->parent_edge, arg, db ); break; }
  9834. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to subedge to be a `edge`")); }
  9835. } while(0);
  9836. return base;
  9837. }
  9838. // -----------------------------------------------------------------------------------------------------------
  9839. template <> size_t GenericFill<subface>(const DB& db, const LIST& params, subface* in)
  9840. {
  9841. size_t base = GenericFill(db,params,static_cast<face*>(in));
  9842. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to subface"); } do { // convert the 'parent_face' argument
  9843. std::shared_ptr<const DataType> arg = params[base++];
  9844. try { GenericConvert( in->parent_face, arg, db ); break; }
  9845. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to subface to be a `face`")); }
  9846. } while(0);
  9847. return base;
  9848. }
  9849. // -----------------------------------------------------------------------------------------------------------
  9850. template <> size_t GenericFill<supplied_part_relationship>(const DB& db, const LIST& params, supplied_part_relationship* in)
  9851. {
  9852. size_t base = GenericFill(db,params,static_cast<product_definition_relationship*>(in));
  9853. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to supplied_part_relationship"); } return base;
  9854. }
  9855. // -----------------------------------------------------------------------------------------------------------
  9856. template <> size_t GenericFill<surface_condition_callout>(const DB& db, const LIST& params, surface_condition_callout* in)
  9857. {
  9858. size_t base = GenericFill(db,params,static_cast<draughting_callout*>(in));
  9859. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_condition_callout"); } return base;
  9860. }
  9861. // -----------------------------------------------------------------------------------------------------------
  9862. template <> size_t GenericFill<swept_surface>(const DB& db, const LIST& params, swept_surface* in)
  9863. {
  9864. size_t base = GenericFill(db,params,static_cast<surface*>(in));
  9865. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to swept_surface"); } do { // convert the 'swept_curve' argument
  9866. std::shared_ptr<const DataType> arg = params[base++];
  9867. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::swept_surface,1>::aux_is_derived[0]=true; break; }
  9868. try { GenericConvert( in->swept_curve, arg, db ); break; }
  9869. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_surface to be a `curve`")); }
  9870. } while(0);
  9871. return base;
  9872. }
  9873. // -----------------------------------------------------------------------------------------------------------
  9874. template <> size_t GenericFill<surface_of_linear_extrusion>(const DB& db, const LIST& params, surface_of_linear_extrusion* in)
  9875. {
  9876. size_t base = GenericFill(db,params,static_cast<swept_surface*>(in));
  9877. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_of_linear_extrusion"); } do { // convert the 'extrusion_axis' argument
  9878. std::shared_ptr<const DataType> arg = params[base++];
  9879. try { GenericConvert( in->extrusion_axis, arg, db ); break; }
  9880. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_of_linear_extrusion to be a `vector`")); }
  9881. } while(0);
  9882. return base;
  9883. }
  9884. // -----------------------------------------------------------------------------------------------------------
  9885. template <> size_t GenericFill<surface_of_revolution>(const DB& db, const LIST& params, surface_of_revolution* in)
  9886. {
  9887. size_t base = GenericFill(db,params,static_cast<swept_surface*>(in));
  9888. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_of_revolution"); } do { // convert the 'axis_position' argument
  9889. std::shared_ptr<const DataType> arg = params[base++];
  9890. try { GenericConvert( in->axis_position, arg, db ); break; }
  9891. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_of_revolution to be a `axis1_placement`")); }
  9892. } while(0);
  9893. return base;
  9894. }
  9895. // -----------------------------------------------------------------------------------------------------------
  9896. template <> size_t GenericFill<surface_patch>(const DB& db, const LIST& params, surface_patch* in)
  9897. {
  9898. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  9899. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to surface_patch"); } do { // convert the 'parent_surface' argument
  9900. std::shared_ptr<const DataType> arg = params[base++];
  9901. try { GenericConvert( in->parent_surface, arg, db ); break; }
  9902. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_patch to be a `bounded_surface`")); }
  9903. } while(0);
  9904. do { // convert the 'u_transition' argument
  9905. std::shared_ptr<const DataType> arg = params[base++];
  9906. try { GenericConvert( in->u_transition, arg, db ); break; }
  9907. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_patch to be a `transition_code`")); }
  9908. } while(0);
  9909. do { // convert the 'v_transition' argument
  9910. std::shared_ptr<const DataType> arg = params[base++];
  9911. try { GenericConvert( in->v_transition, arg, db ); break; }
  9912. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_patch to be a `transition_code`")); }
  9913. } while(0);
  9914. do { // convert the 'u_sense' argument
  9915. std::shared_ptr<const DataType> arg = params[base++];
  9916. try { GenericConvert( in->u_sense, arg, db ); break; }
  9917. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_patch to be a `BOOLEAN`")); }
  9918. } while(0);
  9919. do { // convert the 'v_sense' argument
  9920. std::shared_ptr<const DataType> arg = params[base++];
  9921. try { GenericConvert( in->v_sense, arg, db ); break; }
  9922. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to surface_patch to be a `BOOLEAN`")); }
  9923. } while(0);
  9924. return base;
  9925. }
  9926. // -----------------------------------------------------------------------------------------------------------
  9927. template <> size_t GenericFill<surface_profile_tolerance>(const DB& db, const LIST& params, surface_profile_tolerance* in)
  9928. {
  9929. size_t base = GenericFill(db,params,static_cast<geometric_tolerance*>(in));
  9930. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to surface_profile_tolerance"); } return base;
  9931. }
  9932. // -----------------------------------------------------------------------------------------------------------
  9933. template <> size_t GenericFill<surface_replica>(const DB& db, const LIST& params, surface_replica* in)
  9934. {
  9935. size_t base = GenericFill(db,params,static_cast<surface*>(in));
  9936. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_replica"); } do { // convert the 'parent_surface' argument
  9937. std::shared_ptr<const DataType> arg = params[base++];
  9938. try { GenericConvert( in->parent_surface, arg, db ); break; }
  9939. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_replica to be a `surface`")); }
  9940. } while(0);
  9941. do { // convert the 'transformation' argument
  9942. std::shared_ptr<const DataType> arg = params[base++];
  9943. try { GenericConvert( in->transformation, arg, db ); break; }
  9944. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_replica to be a `cartesian_transformation_operator_3d`")); }
  9945. } while(0);
  9946. return base;
  9947. }
  9948. // -----------------------------------------------------------------------------------------------------------
  9949. template <> size_t GenericFill<surface_side_style>(const DB& db, const LIST& params, surface_side_style* in)
  9950. {
  9951. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  9952. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_side_style"); } do { // convert the 'name' argument
  9953. std::shared_ptr<const DataType> arg = params[base++];
  9954. try { GenericConvert( in->name, arg, db ); break; }
  9955. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_side_style to be a `label`")); }
  9956. } while(0);
  9957. do { // convert the 'styles' argument
  9958. std::shared_ptr<const DataType> arg = params[base++];
  9959. try { GenericConvert( in->styles, arg, db ); break; }
  9960. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_side_style to be a `SET [1:7] OF surface_style_element_select`")); }
  9961. } while(0);
  9962. return base;
  9963. }
  9964. // -----------------------------------------------------------------------------------------------------------
  9965. template <> size_t GenericFill<surface_style_boundary>(const DB& db, const LIST& params, surface_style_boundary* in)
  9966. {
  9967. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  9968. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_boundary"); } do { // convert the 'style_of_boundary' argument
  9969. std::shared_ptr<const DataType> arg = params[base++];
  9970. try { GenericConvert( in->style_of_boundary, arg, db ); break; }
  9971. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_boundary to be a `curve_or_render`")); }
  9972. } while(0);
  9973. return base;
  9974. }
  9975. // -----------------------------------------------------------------------------------------------------------
  9976. template <> size_t GenericFill<surface_style_control_grid>(const DB& db, const LIST& params, surface_style_control_grid* in)
  9977. {
  9978. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  9979. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_control_grid"); } do { // convert the 'style_of_control_grid' argument
  9980. std::shared_ptr<const DataType> arg = params[base++];
  9981. try { GenericConvert( in->style_of_control_grid, arg, db ); break; }
  9982. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_control_grid to be a `curve_or_render`")); }
  9983. } while(0);
  9984. return base;
  9985. }
  9986. // -----------------------------------------------------------------------------------------------------------
  9987. template <> size_t GenericFill<surface_style_fill_area>(const DB& db, const LIST& params, surface_style_fill_area* in)
  9988. {
  9989. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  9990. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_fill_area"); } do { // convert the 'fill_area' argument
  9991. std::shared_ptr<const DataType> arg = params[base++];
  9992. try { GenericConvert( in->fill_area, arg, db ); break; }
  9993. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_fill_area to be a `fill_area_style`")); }
  9994. } while(0);
  9995. return base;
  9996. }
  9997. // -----------------------------------------------------------------------------------------------------------
  9998. template <> size_t GenericFill<surface_style_parameter_line>(const DB& db, const LIST& params, surface_style_parameter_line* in)
  9999. {
  10000. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10001. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_parameter_line"); } do { // convert the 'style_of_parameter_lines' argument
  10002. std::shared_ptr<const DataType> arg = params[base++];
  10003. try { GenericConvert( in->style_of_parameter_lines, arg, db ); break; }
  10004. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_parameter_line to be a `curve_or_render`")); }
  10005. } while(0);
  10006. do { // convert the 'direction_counts' argument
  10007. std::shared_ptr<const DataType> arg = params[base++];
  10008. try { GenericConvert( in->direction_counts, arg, db ); break; }
  10009. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_parameter_line to be a `SET [1:2] OF direction_count_select`")); }
  10010. } while(0);
  10011. return base;
  10012. }
  10013. // -----------------------------------------------------------------------------------------------------------
  10014. template <> size_t GenericFill<surface_style_reflectance_ambient>(const DB& db, const LIST& params, surface_style_reflectance_ambient* in)
  10015. {
  10016. size_t base = 0;
  10017. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_reflectance_ambient"); } do { // convert the 'ambient_reflectance' argument
  10018. std::shared_ptr<const DataType> arg = params[base++];
  10019. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_style_reflectance_ambient,1>::aux_is_derived[0]=true; break; }
  10020. try { GenericConvert( in->ambient_reflectance, arg, db ); break; }
  10021. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_reflectance_ambient to be a `REAL`")); }
  10022. } while(0);
  10023. return base;
  10024. }
  10025. // -----------------------------------------------------------------------------------------------------------
  10026. template <> size_t GenericFill<surface_style_reflectance_ambient_diffuse>(const DB& db, const LIST& params, surface_style_reflectance_ambient_diffuse* in)
  10027. {
  10028. size_t base = GenericFill(db,params,static_cast<surface_style_reflectance_ambient*>(in));
  10029. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_reflectance_ambient_diffuse"); } do { // convert the 'diffuse_reflectance' argument
  10030. std::shared_ptr<const DataType> arg = params[base++];
  10031. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_style_reflectance_ambient_diffuse,1>::aux_is_derived[0]=true; break; }
  10032. try { GenericConvert( in->diffuse_reflectance, arg, db ); break; }
  10033. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_reflectance_ambient_diffuse to be a `REAL`")); }
  10034. } while(0);
  10035. return base;
  10036. }
  10037. // -----------------------------------------------------------------------------------------------------------
  10038. template <> size_t GenericFill<surface_style_reflectance_ambient_diffuse_specular>(const DB& db, const LIST& params, surface_style_reflectance_ambient_diffuse_specular* in)
  10039. {
  10040. size_t base = GenericFill(db,params,static_cast<surface_style_reflectance_ambient_diffuse*>(in));
  10041. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to surface_style_reflectance_ambient_diffuse_specular"); } do { // convert the 'specular_reflectance' argument
  10042. std::shared_ptr<const DataType> arg = params[base++];
  10043. try { GenericConvert( in->specular_reflectance, arg, db ); break; }
  10044. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_style_reflectance_ambient_diffuse_specular to be a `REAL`")); }
  10045. } while(0);
  10046. do { // convert the 'specular_exponent' argument
  10047. std::shared_ptr<const DataType> arg = params[base++];
  10048. try { GenericConvert( in->specular_exponent, arg, db ); break; }
  10049. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_style_reflectance_ambient_diffuse_specular to be a `REAL`")); }
  10050. } while(0);
  10051. do { // convert the 'specular_colour' argument
  10052. std::shared_ptr<const DataType> arg = params[base++];
  10053. try { GenericConvert( in->specular_colour, arg, db ); break; }
  10054. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to surface_style_reflectance_ambient_diffuse_specular to be a `colour`")); }
  10055. } while(0);
  10056. return base;
  10057. }
  10058. // -----------------------------------------------------------------------------------------------------------
  10059. template <> size_t GenericFill<surface_style_rendering>(const DB& db, const LIST& params, surface_style_rendering* in)
  10060. {
  10061. size_t base = 0;
  10062. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_rendering"); } do { // convert the 'rendering_method' argument
  10063. std::shared_ptr<const DataType> arg = params[base++];
  10064. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_style_rendering,2>::aux_is_derived[0]=true; break; }
  10065. try { GenericConvert( in->rendering_method, arg, db ); break; }
  10066. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_rendering to be a `shading_surface_method`")); }
  10067. } while(0);
  10068. do { // convert the 'surface_colour' argument
  10069. std::shared_ptr<const DataType> arg = params[base++];
  10070. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::surface_style_rendering,2>::aux_is_derived[1]=true; break; }
  10071. try { GenericConvert( in->surface_colour, arg, db ); break; }
  10072. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_rendering to be a `colour`")); }
  10073. } while(0);
  10074. return base;
  10075. }
  10076. // -----------------------------------------------------------------------------------------------------------
  10077. template <> size_t GenericFill<surface_style_rendering_with_properties>(const DB& db, const LIST& params, surface_style_rendering_with_properties* in)
  10078. {
  10079. size_t base = GenericFill(db,params,static_cast<surface_style_rendering*>(in));
  10080. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_style_rendering_with_properties"); } do { // convert the 'properties' argument
  10081. std::shared_ptr<const DataType> arg = params[base++];
  10082. try { GenericConvert( in->properties, arg, db ); break; }
  10083. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_style_rendering_with_properties to be a `SET [1:2] OF rendering_properties_select`")); }
  10084. } while(0);
  10085. return base;
  10086. }
  10087. // -----------------------------------------------------------------------------------------------------------
  10088. template <> size_t GenericFill<surface_style_segmentation_curve>(const DB& db, const LIST& params, surface_style_segmentation_curve* in)
  10089. {
  10090. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10091. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_segmentation_curve"); } do { // convert the 'style_of_segmentation_curve' argument
  10092. std::shared_ptr<const DataType> arg = params[base++];
  10093. try { GenericConvert( in->style_of_segmentation_curve, arg, db ); break; }
  10094. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_segmentation_curve to be a `curve_or_render`")); }
  10095. } while(0);
  10096. return base;
  10097. }
  10098. // -----------------------------------------------------------------------------------------------------------
  10099. template <> size_t GenericFill<surface_style_silhouette>(const DB& db, const LIST& params, surface_style_silhouette* in)
  10100. {
  10101. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10102. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_silhouette"); } do { // convert the 'style_of_silhouette' argument
  10103. std::shared_ptr<const DataType> arg = params[base++];
  10104. try { GenericConvert( in->style_of_silhouette, arg, db ); break; }
  10105. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_silhouette to be a `curve_or_render`")); }
  10106. } while(0);
  10107. return base;
  10108. }
  10109. // -----------------------------------------------------------------------------------------------------------
  10110. template <> size_t GenericFill<surface_style_usage>(const DB& db, const LIST& params, surface_style_usage* in)
  10111. {
  10112. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10113. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_usage"); } do { // convert the 'side' argument
  10114. std::shared_ptr<const DataType> arg = params[base++];
  10115. try { GenericConvert( in->side, arg, db ); break; }
  10116. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_usage to be a `surface_side`")); }
  10117. } while(0);
  10118. do { // convert the 'style' argument
  10119. std::shared_ptr<const DataType> arg = params[base++];
  10120. try { GenericConvert( in->style, arg, db ); break; }
  10121. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_usage to be a `surface_side_style_select`")); }
  10122. } while(0);
  10123. return base;
  10124. }
  10125. // -----------------------------------------------------------------------------------------------------------
  10126. template <> size_t GenericFill<surface_texture_representation>(const DB& db, const LIST& params, surface_texture_representation* in)
  10127. {
  10128. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  10129. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_texture_representation"); } return base;
  10130. }
  10131. // -----------------------------------------------------------------------------------------------------------
  10132. template <> size_t GenericFill<surfaced_open_shell>(const DB& db, const LIST& params, surfaced_open_shell* in)
  10133. {
  10134. size_t base = GenericFill(db,params,static_cast<open_shell*>(in));
  10135. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surfaced_open_shell"); } return base;
  10136. }
  10137. // -----------------------------------------------------------------------------------------------------------
  10138. template <> size_t GenericFill<swept_disk_solid>(const DB& db, const LIST& params, swept_disk_solid* in)
  10139. {
  10140. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  10141. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to swept_disk_solid"); } do { // convert the 'directrix' argument
  10142. std::shared_ptr<const DataType> arg = params[base++];
  10143. try { GenericConvert( in->directrix, arg, db ); break; }
  10144. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_disk_solid to be a `curve`")); }
  10145. } while(0);
  10146. do { // convert the 'radius' argument
  10147. std::shared_ptr<const DataType> arg = params[base++];
  10148. try { GenericConvert( in->radius, arg, db ); break; }
  10149. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to swept_disk_solid to be a `positive_length_measure`")); }
  10150. } while(0);
  10151. do { // convert the 'inner_radius' argument
  10152. std::shared_ptr<const DataType> arg = params[base++];
  10153. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10154. try { GenericConvert( in->inner_radius, arg, db ); break; }
  10155. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to swept_disk_solid to be a `positive_length_measure`")); }
  10156. } while(0);
  10157. do { // convert the 'start_param' argument
  10158. std::shared_ptr<const DataType> arg = params[base++];
  10159. try { GenericConvert( in->start_param, arg, db ); break; }
  10160. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to swept_disk_solid to be a `REAL`")); }
  10161. } while(0);
  10162. do { // convert the 'end_param' argument
  10163. std::shared_ptr<const DataType> arg = params[base++];
  10164. try { GenericConvert( in->end_param, arg, db ); break; }
  10165. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to swept_disk_solid to be a `REAL`")); }
  10166. } while(0);
  10167. return base;
  10168. }
  10169. // -----------------------------------------------------------------------------------------------------------
  10170. template <> size_t GenericFill<symbol>(const DB& db, const LIST& params, symbol* in)
  10171. {
  10172. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  10173. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to symbol"); } return base;
  10174. }
  10175. // -----------------------------------------------------------------------------------------------------------
  10176. template <> size_t GenericFill<symbol_representation_map>(const DB& db, const LIST& params, symbol_representation_map* in)
  10177. {
  10178. size_t base = GenericFill(db,params,static_cast<representation_map*>(in));
  10179. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to symbol_representation_map"); } return base;
  10180. }
  10181. // -----------------------------------------------------------------------------------------------------------
  10182. template <> size_t GenericFill<symbol_style>(const DB& db, const LIST& params, symbol_style* in)
  10183. {
  10184. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10185. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to symbol_style"); } do { // convert the 'name' argument
  10186. std::shared_ptr<const DataType> arg = params[base++];
  10187. try { GenericConvert( in->name, arg, db ); break; }
  10188. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to symbol_style to be a `label`")); }
  10189. } while(0);
  10190. do { // convert the 'style_of_symbol' argument
  10191. std::shared_ptr<const DataType> arg = params[base++];
  10192. try { GenericConvert( in->style_of_symbol, arg, db ); break; }
  10193. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to symbol_style to be a `symbol_style_select`")); }
  10194. } while(0);
  10195. return base;
  10196. }
  10197. // -----------------------------------------------------------------------------------------------------------
  10198. template <> size_t GenericFill<symbol_target>(const DB& db, const LIST& params, symbol_target* in)
  10199. {
  10200. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  10201. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to symbol_target"); } do { // convert the 'placement' argument
  10202. std::shared_ptr<const DataType> arg = params[base++];
  10203. try { GenericConvert( in->placement, arg, db ); break; }
  10204. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to symbol_target to be a `axis2_placement`")); }
  10205. } while(0);
  10206. do { // convert the 'x_scale' argument
  10207. std::shared_ptr<const DataType> arg = params[base++];
  10208. try { GenericConvert( in->x_scale, arg, db ); break; }
  10209. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to symbol_target to be a `positive_ratio_measure`")); }
  10210. } while(0);
  10211. do { // convert the 'y_scale' argument
  10212. std::shared_ptr<const DataType> arg = params[base++];
  10213. try { GenericConvert( in->y_scale, arg, db ); break; }
  10214. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to symbol_target to be a `positive_ratio_measure`")); }
  10215. } while(0);
  10216. return base;
  10217. }
  10218. // -----------------------------------------------------------------------------------------------------------
  10219. template <> size_t GenericFill<symmetric_shape_aspect>(const DB& db, const LIST& params, symmetric_shape_aspect* in)
  10220. {
  10221. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  10222. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to symmetric_shape_aspect"); } return base;
  10223. }
  10224. // -----------------------------------------------------------------------------------------------------------
  10225. template <> size_t GenericFill<symmetry_tolerance>(const DB& db, const LIST& params, symmetry_tolerance* in)
  10226. {
  10227. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  10228. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to symmetry_tolerance"); } return base;
  10229. }
  10230. // -----------------------------------------------------------------------------------------------------------
  10231. template <> size_t GenericFill<table_representation_item>(const DB& db, const LIST& params, table_representation_item* in)
  10232. {
  10233. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  10234. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to table_representation_item"); } return base;
  10235. }
  10236. // -----------------------------------------------------------------------------------------------------------
  10237. template <> size_t GenericFill<tactile_appearance_representation>(const DB& db, const LIST& params, tactile_appearance_representation* in)
  10238. {
  10239. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  10240. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to tactile_appearance_representation"); } return base;
  10241. }
  10242. // -----------------------------------------------------------------------------------------------------------
  10243. template <> size_t GenericFill<tagged_text_format>(const DB& db, const LIST& params, tagged_text_format* in)
  10244. {
  10245. size_t base = GenericFill(db,params,static_cast<representation_context*>(in));
  10246. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to tagged_text_format"); } return base;
  10247. }
  10248. // -----------------------------------------------------------------------------------------------------------
  10249. template <> size_t GenericFill<tagged_text_item>(const DB& db, const LIST& params, tagged_text_item* in)
  10250. {
  10251. size_t base = GenericFill(db,params,static_cast<descriptive_representation_item*>(in));
  10252. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to tagged_text_item"); } return base;
  10253. }
  10254. // -----------------------------------------------------------------------------------------------------------
  10255. template <> size_t GenericFill<tangent>(const DB& db, const LIST& params, tangent* in)
  10256. {
  10257. size_t base = GenericFill(db,params,static_cast<derived_shape_aspect*>(in));
  10258. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to tangent"); } return base;
  10259. }
  10260. // -----------------------------------------------------------------------------------------------------------
  10261. template <> size_t GenericFill<text_literal_with_associated_curves>(const DB& db, const LIST& params, text_literal_with_associated_curves* in)
  10262. {
  10263. size_t base = GenericFill(db,params,static_cast<text_literal*>(in));
  10264. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_associated_curves"); } do { // convert the 'associated_curves' argument
  10265. std::shared_ptr<const DataType> arg = params[base++];
  10266. try { GenericConvert( in->associated_curves, arg, db ); break; }
  10267. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_associated_curves to be a `SET [1:?] OF curve`")); }
  10268. } while(0);
  10269. return base;
  10270. }
  10271. // -----------------------------------------------------------------------------------------------------------
  10272. template <> size_t GenericFill<text_literal_with_blanking_box>(const DB& db, const LIST& params, text_literal_with_blanking_box* in)
  10273. {
  10274. size_t base = GenericFill(db,params,static_cast<text_literal*>(in));
  10275. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_blanking_box"); } do { // convert the 'blanking' argument
  10276. std::shared_ptr<const DataType> arg = params[base++];
  10277. try { GenericConvert( in->blanking, arg, db ); break; }
  10278. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_blanking_box to be a `planar_box`")); }
  10279. } while(0);
  10280. return base;
  10281. }
  10282. // -----------------------------------------------------------------------------------------------------------
  10283. template <> size_t GenericFill<text_literal_with_extent>(const DB& db, const LIST& params, text_literal_with_extent* in)
  10284. {
  10285. size_t base = GenericFill(db,params,static_cast<text_literal*>(in));
  10286. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_extent"); } do { // convert the 'extent' argument
  10287. std::shared_ptr<const DataType> arg = params[base++];
  10288. try { GenericConvert( in->extent, arg, db ); break; }
  10289. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_extent to be a `planar_extent`")); }
  10290. } while(0);
  10291. return base;
  10292. }
  10293. // -----------------------------------------------------------------------------------------------------------
  10294. template <> size_t GenericFill<text_string_representation>(const DB& db, const LIST& params, text_string_representation* in)
  10295. {
  10296. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  10297. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_string_representation"); } return base;
  10298. }
  10299. // -----------------------------------------------------------------------------------------------------------
  10300. template <> size_t GenericFill<text_style>(const DB& db, const LIST& params, text_style* in)
  10301. {
  10302. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10303. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to text_style"); } do { // convert the 'name' argument
  10304. std::shared_ptr<const DataType> arg = params[base++];
  10305. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_style,2>::aux_is_derived[0]=true; break; }
  10306. try { GenericConvert( in->name, arg, db ); break; }
  10307. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to text_style to be a `label`")); }
  10308. } while(0);
  10309. do { // convert the 'character_appearance' argument
  10310. std::shared_ptr<const DataType> arg = params[base++];
  10311. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::text_style,2>::aux_is_derived[1]=true; break; }
  10312. try { GenericConvert( in->character_appearance, arg, db ); break; }
  10313. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to text_style to be a `character_style_select`")); }
  10314. } while(0);
  10315. return base;
  10316. }
  10317. // -----------------------------------------------------------------------------------------------------------
  10318. template <> size_t GenericFill<text_style_with_box_characteristics>(const DB& db, const LIST& params, text_style_with_box_characteristics* in)
  10319. {
  10320. size_t base = GenericFill(db,params,static_cast<text_style*>(in));
  10321. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_style_with_box_characteristics"); } do { // convert the 'characteristics' argument
  10322. std::shared_ptr<const DataType> arg = params[base++];
  10323. try { GenericConvert( in->characteristics, arg, db ); break; }
  10324. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_style_with_box_characteristics to be a `SET [1:4] OF box_characteristic_select`")); }
  10325. } while(0);
  10326. return base;
  10327. }
  10328. // -----------------------------------------------------------------------------------------------------------
  10329. template <> size_t GenericFill<text_style_with_mirror>(const DB& db, const LIST& params, text_style_with_mirror* in)
  10330. {
  10331. size_t base = GenericFill(db,params,static_cast<text_style*>(in));
  10332. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_style_with_mirror"); } do { // convert the 'mirror_placement' argument
  10333. std::shared_ptr<const DataType> arg = params[base++];
  10334. try { GenericConvert( in->mirror_placement, arg, db ); break; }
  10335. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_style_with_mirror to be a `axis2_placement`")); }
  10336. } while(0);
  10337. return base;
  10338. }
  10339. // -----------------------------------------------------------------------------------------------------------
  10340. template <> size_t GenericFill<text_style_with_spacing>(const DB& db, const LIST& params, text_style_with_spacing* in)
  10341. {
  10342. size_t base = GenericFill(db,params,static_cast<text_style*>(in));
  10343. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_style_with_spacing"); } do { // convert the 'character_spacing' argument
  10344. std::shared_ptr<const DataType> arg = params[base++];
  10345. try { GenericConvert( in->character_spacing, arg, db ); break; }
  10346. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_style_with_spacing to be a `character_spacing_select`")); }
  10347. } while(0);
  10348. return base;
  10349. }
  10350. // -----------------------------------------------------------------------------------------------------------
  10351. template <> size_t GenericFill<thermal_resistance_measure_with_unit>(const DB& db, const LIST& params, thermal_resistance_measure_with_unit* in)
  10352. {
  10353. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  10354. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to thermal_resistance_measure_with_unit"); } return base;
  10355. }
  10356. // -----------------------------------------------------------------------------------------------------------
  10357. template <> size_t GenericFill<thermal_resistance_unit>(const DB& db, const LIST& params, thermal_resistance_unit* in)
  10358. {
  10359. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  10360. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to thermal_resistance_unit"); } return base;
  10361. }
  10362. // -----------------------------------------------------------------------------------------------------------
  10363. template <> size_t GenericFill<thermodynamic_temperature_measure_with_unit>(const DB& db, const LIST& params, thermodynamic_temperature_measure_with_unit* in)
  10364. {
  10365. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  10366. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to thermodynamic_temperature_measure_with_unit"); } return base;
  10367. }
  10368. // -----------------------------------------------------------------------------------------------------------
  10369. template <> size_t GenericFill<thermodynamic_temperature_unit>(const DB& db, const LIST& params, thermodynamic_temperature_unit* in)
  10370. {
  10371. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  10372. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to thermodynamic_temperature_unit"); } return base;
  10373. }
  10374. // -----------------------------------------------------------------------------------------------------------
  10375. template <> size_t GenericFill<thickened_face_solid>(const DB& db, const LIST& params, thickened_face_solid* in)
  10376. {
  10377. size_t base = GenericFill(db,params,static_cast<solid_model*>(in));
  10378. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to thickened_face_solid"); } do { // convert the 'base_element' argument
  10379. std::shared_ptr<const DataType> arg = params[base++];
  10380. try { GenericConvert( in->base_element, arg, db ); break; }
  10381. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to thickened_face_solid to be a `generalized_surface_select`")); }
  10382. } while(0);
  10383. do { // convert the 'offset1' argument
  10384. std::shared_ptr<const DataType> arg = params[base++];
  10385. try { GenericConvert( in->offset1, arg, db ); break; }
  10386. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to thickened_face_solid to be a `length_measure`")); }
  10387. } while(0);
  10388. do { // convert the 'offset2' argument
  10389. std::shared_ptr<const DataType> arg = params[base++];
  10390. try { GenericConvert( in->offset2, arg, db ); break; }
  10391. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to thickened_face_solid to be a `length_measure`")); }
  10392. } while(0);
  10393. return base;
  10394. }
  10395. // -----------------------------------------------------------------------------------------------------------
  10396. template <> size_t GenericFill<thickness_laminate_definition>(const DB& db, const LIST& params, thickness_laminate_definition* in)
  10397. {
  10398. size_t base = GenericFill(db,params,static_cast<product_definition*>(in));
  10399. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to thickness_laminate_definition"); } return base;
  10400. }
  10401. // -----------------------------------------------------------------------------------------------------------
  10402. template <> size_t GenericFill<thickness_laminate_table>(const DB& db, const LIST& params, thickness_laminate_table* in)
  10403. {
  10404. size_t base = GenericFill(db,params,static_cast<zone_structural_makeup*>(in));
  10405. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to thickness_laminate_table"); } return base;
  10406. }
  10407. // -----------------------------------------------------------------------------------------------------------
  10408. template <> size_t GenericFill<time_interval>(const DB& db, const LIST& params, time_interval* in)
  10409. {
  10410. size_t base = 0;
  10411. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to time_interval"); } do { // convert the 'id' argument
  10412. std::shared_ptr<const DataType> arg = params[base++];
  10413. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::time_interval,3>::aux_is_derived[0]=true; break; }
  10414. try { GenericConvert( in->id, arg, db ); break; }
  10415. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to time_interval to be a `identifier`")); }
  10416. } while(0);
  10417. do { // convert the 'name' argument
  10418. std::shared_ptr<const DataType> arg = params[base++];
  10419. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::time_interval,3>::aux_is_derived[1]=true; break; }
  10420. try { GenericConvert( in->name, arg, db ); break; }
  10421. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to time_interval to be a `label`")); }
  10422. } while(0);
  10423. do { // convert the 'description' argument
  10424. std::shared_ptr<const DataType> arg = params[base++];
  10425. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::StepFile::time_interval,3>::aux_is_derived[2]=true; break; }
  10426. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10427. try { GenericConvert( in->description, arg, db ); break; }
  10428. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to time_interval to be a `text`")); }
  10429. } while(0);
  10430. return base;
  10431. }
  10432. // -----------------------------------------------------------------------------------------------------------
  10433. template <> size_t GenericFill<time_interval_based_effectivity>(const DB& db, const LIST& params, time_interval_based_effectivity* in)
  10434. {
  10435. size_t base = GenericFill(db,params,static_cast<effectivity*>(in));
  10436. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to time_interval_based_effectivity"); } do { // convert the 'effectivity_period' argument
  10437. std::shared_ptr<const DataType> arg = params[base++];
  10438. try { GenericConvert( in->effectivity_period, arg, db ); break; }
  10439. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to time_interval_based_effectivity to be a `time_interval`")); }
  10440. } while(0);
  10441. return base;
  10442. }
  10443. // -----------------------------------------------------------------------------------------------------------
  10444. template <> size_t GenericFill<time_interval_with_bounds>(const DB& db, const LIST& params, time_interval_with_bounds* in)
  10445. {
  10446. size_t base = GenericFill(db,params,static_cast<time_interval*>(in));
  10447. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to time_interval_with_bounds"); } do { // convert the 'primary_bound' argument
  10448. std::shared_ptr<const DataType> arg = params[base++];
  10449. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10450. try { GenericConvert( in->primary_bound, arg, db ); break; }
  10451. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to time_interval_with_bounds to be a `date_time_or_event_occurrence`")); }
  10452. } while(0);
  10453. do { // convert the 'secondary_bound' argument
  10454. std::shared_ptr<const DataType> arg = params[base++];
  10455. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10456. try { GenericConvert( in->secondary_bound, arg, db ); break; }
  10457. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to time_interval_with_bounds to be a `date_time_or_event_occurrence`")); }
  10458. } while(0);
  10459. do { // convert the 'duration' argument
  10460. std::shared_ptr<const DataType> arg = params[base++];
  10461. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10462. try { GenericConvert( in->duration, arg, db ); break; }
  10463. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to time_interval_with_bounds to be a `time_measure_with_unit`")); }
  10464. } while(0);
  10465. return base;
  10466. }
  10467. // -----------------------------------------------------------------------------------------------------------
  10468. template <> size_t GenericFill<time_measure_with_unit>(const DB& db, const LIST& params, time_measure_with_unit* in)
  10469. {
  10470. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  10471. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to time_measure_with_unit"); } return base;
  10472. }
  10473. // -----------------------------------------------------------------------------------------------------------
  10474. template <> size_t GenericFill<time_unit>(const DB& db, const LIST& params, time_unit* in)
  10475. {
  10476. size_t base = GenericFill(db,params,static_cast<named_unit*>(in));
  10477. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to time_unit"); } return base;
  10478. }
  10479. // -----------------------------------------------------------------------------------------------------------
  10480. template <> size_t GenericFill<tolerance_zone>(const DB& db, const LIST& params, tolerance_zone* in)
  10481. {
  10482. size_t base = GenericFill(db,params,static_cast<shape_aspect*>(in));
  10483. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to tolerance_zone"); } do { // convert the 'defining_tolerance' argument
  10484. std::shared_ptr<const DataType> arg = params[base++];
  10485. try { GenericConvert( in->defining_tolerance, arg, db ); break; }
  10486. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to tolerance_zone to be a `SET [1:?] OF geometric_tolerance`")); }
  10487. } while(0);
  10488. do { // convert the 'form' argument
  10489. std::shared_ptr<const DataType> arg = params[base++];
  10490. try { GenericConvert( in->form, arg, db ); break; }
  10491. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to tolerance_zone to be a `tolerance_zone_form`")); }
  10492. } while(0);
  10493. return base;
  10494. }
  10495. // -----------------------------------------------------------------------------------------------------------
  10496. template <> size_t GenericFill<torus>(const DB& db, const LIST& params, torus* in)
  10497. {
  10498. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  10499. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to torus"); } do { // convert the 'position' argument
  10500. std::shared_ptr<const DataType> arg = params[base++];
  10501. try { GenericConvert( in->position, arg, db ); break; }
  10502. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to torus to be a `axis1_placement`")); }
  10503. } while(0);
  10504. do { // convert the 'major_radius' argument
  10505. std::shared_ptr<const DataType> arg = params[base++];
  10506. try { GenericConvert( in->major_radius, arg, db ); break; }
  10507. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to torus to be a `positive_length_measure`")); }
  10508. } while(0);
  10509. do { // convert the 'minor_radius' argument
  10510. std::shared_ptr<const DataType> arg = params[base++];
  10511. try { GenericConvert( in->minor_radius, arg, db ); break; }
  10512. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to torus to be a `positive_length_measure`")); }
  10513. } while(0);
  10514. return base;
  10515. }
  10516. // -----------------------------------------------------------------------------------------------------------
  10517. template <> size_t GenericFill<total_runout_tolerance>(const DB& db, const LIST& params, total_runout_tolerance* in)
  10518. {
  10519. size_t base = GenericFill(db,params,static_cast<geometric_tolerance_with_datum_reference*>(in));
  10520. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to total_runout_tolerance"); } return base;
  10521. }
  10522. // -----------------------------------------------------------------------------------------------------------
  10523. template <> size_t GenericFill<track_blended_solid>(const DB& db, const LIST& params, track_blended_solid* in)
  10524. {
  10525. size_t base = GenericFill(db,params,static_cast<edge_blended_solid*>(in));
  10526. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to track_blended_solid"); } return base;
  10527. }
  10528. // -----------------------------------------------------------------------------------------------------------
  10529. template <> size_t GenericFill<track_blended_solid_with_end_conditions>(const DB& db, const LIST& params, track_blended_solid_with_end_conditions* in)
  10530. {
  10531. size_t base = GenericFill(db,params,static_cast<track_blended_solid*>(in));
  10532. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to track_blended_solid_with_end_conditions"); } do { // convert the 'end_conditions' argument
  10533. std::shared_ptr<const DataType> arg = params[base++];
  10534. try { GenericConvert( in->end_conditions, arg, db ); break; }
  10535. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to track_blended_solid_with_end_conditions to be a `LIST [2:2] OF blend_end_condition_select`")); }
  10536. } while(0);
  10537. return base;
  10538. }
  10539. // -----------------------------------------------------------------------------------------------------------
  10540. template <> size_t GenericFill<trimmed_curve>(const DB& db, const LIST& params, trimmed_curve* in)
  10541. {
  10542. size_t base = GenericFill(db,params,static_cast<bounded_curve*>(in));
  10543. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to trimmed_curve"); } do { // convert the 'basis_curve' argument
  10544. std::shared_ptr<const DataType> arg = params[base++];
  10545. try { GenericConvert( in->basis_curve, arg, db ); break; }
  10546. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to trimmed_curve to be a `curve`")); }
  10547. } while(0);
  10548. do { // convert the 'trim_1' argument
  10549. std::shared_ptr<const DataType> arg = params[base++];
  10550. try { GenericConvert( in->trim_1, arg, db ); break; }
  10551. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to trimmed_curve to be a `SET [1:2] OF trimming_select`")); }
  10552. } while(0);
  10553. do { // convert the 'trim_2' argument
  10554. std::shared_ptr<const DataType> arg = params[base++];
  10555. try { GenericConvert( in->trim_2, arg, db ); break; }
  10556. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to trimmed_curve to be a `SET [1:2] OF trimming_select`")); }
  10557. } while(0);
  10558. do { // convert the 'sense_agreement' argument
  10559. std::shared_ptr<const DataType> arg = params[base++];
  10560. try { GenericConvert( in->sense_agreement, arg, db ); break; }
  10561. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to trimmed_curve to be a `BOOLEAN`")); }
  10562. } while(0);
  10563. do { // convert the 'master_representation' argument
  10564. std::shared_ptr<const DataType> arg = params[base++];
  10565. try { GenericConvert( in->master_representation, arg, db ); break; }
  10566. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to trimmed_curve to be a `trimming_preference`")); }
  10567. } while(0);
  10568. return base;
  10569. }
  10570. // -----------------------------------------------------------------------------------------------------------
  10571. template <> size_t GenericFill<two_direction_repeat_factor>(const DB& db, const LIST& params, two_direction_repeat_factor* in)
  10572. {
  10573. size_t base = GenericFill(db,params,static_cast<one_direction_repeat_factor*>(in));
  10574. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to two_direction_repeat_factor"); } do { // convert the 'second_repeat_factor' argument
  10575. std::shared_ptr<const DataType> arg = params[base++];
  10576. try { GenericConvert( in->second_repeat_factor, arg, db ); break; }
  10577. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to two_direction_repeat_factor to be a `vector`")); }
  10578. } while(0);
  10579. return base;
  10580. }
  10581. // -----------------------------------------------------------------------------------------------------------
  10582. template <> size_t GenericFill<unary_generic_expression>(const DB& db, const LIST& params, unary_generic_expression* in)
  10583. {
  10584. size_t base = GenericFill(db,params,static_cast<generic_expression*>(in));
  10585. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to unary_generic_expression"); } do { // convert the 'operand' argument
  10586. std::shared_ptr<const DataType> arg = params[base++];
  10587. try { GenericConvert( in->operand, arg, db ); break; }
  10588. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to unary_generic_expression to be a `generic_expression`")); }
  10589. } while(0);
  10590. return base;
  10591. }
  10592. // -----------------------------------------------------------------------------------------------------------
  10593. template <> size_t GenericFill<unary_numeric_expression>(const DB& db, const LIST& params, unary_numeric_expression* in)
  10594. {
  10595. size_t base = 0;
  10596. return base;
  10597. }
  10598. // -----------------------------------------------------------------------------------------------------------
  10599. template <> size_t GenericFill<uncertainty_assigned_representation>(const DB& db, const LIST& params, uncertainty_assigned_representation* in)
  10600. {
  10601. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  10602. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to uncertainty_assigned_representation"); } do { // convert the 'uncertainty' argument
  10603. std::shared_ptr<const DataType> arg = params[base++];
  10604. try { GenericConvert( in->uncertainty, arg, db ); break; }
  10605. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to uncertainty_assigned_representation to be a `SET [1:?] OF uncertainty_measure_with_unit`")); }
  10606. } while(0);
  10607. return base;
  10608. }
  10609. // -----------------------------------------------------------------------------------------------------------
  10610. template <> size_t GenericFill<uncertainty_measure_with_unit>(const DB& db, const LIST& params, uncertainty_measure_with_unit* in)
  10611. {
  10612. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  10613. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to uncertainty_measure_with_unit"); } do { // convert the 'name' argument
  10614. std::shared_ptr<const DataType> arg = params[base++];
  10615. try { GenericConvert( in->name, arg, db ); break; }
  10616. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to uncertainty_measure_with_unit to be a `label`")); }
  10617. } while(0);
  10618. do { // convert the 'description' argument
  10619. std::shared_ptr<const DataType> arg = params[base++];
  10620. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10621. try { GenericConvert( in->description, arg, db ); break; }
  10622. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to uncertainty_measure_with_unit to be a `text`")); }
  10623. } while(0);
  10624. return base;
  10625. }
  10626. // -----------------------------------------------------------------------------------------------------------
  10627. template <> size_t GenericFill<uniform_curve>(const DB& db, const LIST& params, uniform_curve* in)
  10628. {
  10629. size_t base = GenericFill(db,params,static_cast<b_spline_curve*>(in));
  10630. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to uniform_curve"); } return base;
  10631. }
  10632. // -----------------------------------------------------------------------------------------------------------
  10633. template <> size_t GenericFill<uniform_resource_identifier>(const DB& db, const LIST& params, uniform_resource_identifier* in)
  10634. {
  10635. size_t base = GenericFill(db,params,static_cast<descriptive_representation_item*>(in));
  10636. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to uniform_resource_identifier"); } return base;
  10637. }
  10638. // -----------------------------------------------------------------------------------------------------------
  10639. template <> size_t GenericFill<uniform_surface>(const DB& db, const LIST& params, uniform_surface* in)
  10640. {
  10641. size_t base = GenericFill(db,params,static_cast<b_spline_surface*>(in));
  10642. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to uniform_surface"); } return base;
  10643. }
  10644. // -----------------------------------------------------------------------------------------------------------
  10645. template <> size_t GenericFill<usage_association>(const DB& db, const LIST& params, usage_association* in)
  10646. {
  10647. size_t base = GenericFill(db,params,static_cast<action_method_relationship*>(in));
  10648. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to usage_association"); } return base;
  10649. }
  10650. // -----------------------------------------------------------------------------------------------------------
  10651. template <> size_t GenericFill<user_defined_curve_font>(const DB& db, const LIST& params, user_defined_curve_font* in)
  10652. {
  10653. size_t base = 0;
  10654. return base;
  10655. }
  10656. // -----------------------------------------------------------------------------------------------------------
  10657. template <> size_t GenericFill<user_defined_marker>(const DB& db, const LIST& params, user_defined_marker* in)
  10658. {
  10659. size_t base = 0;
  10660. return base;
  10661. }
  10662. // -----------------------------------------------------------------------------------------------------------
  10663. template <> size_t GenericFill<user_defined_terminator_symbol>(const DB& db, const LIST& params, user_defined_terminator_symbol* in)
  10664. {
  10665. size_t base = 0;
  10666. return base;
  10667. }
  10668. // -----------------------------------------------------------------------------------------------------------
  10669. template <> size_t GenericFill<user_selected_shape_elements>(const DB& db, const LIST& params, user_selected_shape_elements* in)
  10670. {
  10671. size_t base = GenericFill(db,params,static_cast<user_selected_elements*>(in));
  10672. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to user_selected_shape_elements"); } return base;
  10673. }
  10674. // -----------------------------------------------------------------------------------------------------------
  10675. template <> size_t GenericFill<value_range>(const DB& db, const LIST& params, value_range* in)
  10676. {
  10677. size_t base = GenericFill(db,params,static_cast<compound_representation_item*>(in));
  10678. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to value_range"); } return base;
  10679. }
  10680. // -----------------------------------------------------------------------------------------------------------
  10681. template <> size_t GenericFill<value_representation_item>(const DB& db, const LIST& params, value_representation_item* in)
  10682. {
  10683. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  10684. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to value_representation_item"); } do { // convert the 'value_component' argument
  10685. std::shared_ptr<const DataType> arg = params[base++];
  10686. try { GenericConvert( in->value_component, arg, db ); break; }
  10687. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to value_representation_item to be a `measure_value`")); }
  10688. } while(0);
  10689. return base;
  10690. }
  10691. // -----------------------------------------------------------------------------------------------------------
  10692. template <> size_t GenericFill<variable_semantics>(const DB& db, const LIST& params, variable_semantics* in)
  10693. {
  10694. size_t base = 0;
  10695. return base;
  10696. }
  10697. // -----------------------------------------------------------------------------------------------------------
  10698. template <> size_t GenericFill<variational_representation_item>(const DB& db, const LIST& params, variational_representation_item* in)
  10699. {
  10700. size_t base = GenericFill(db,params,static_cast<representation_item*>(in));
  10701. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to variational_representation_item"); } return base;
  10702. }
  10703. // -----------------------------------------------------------------------------------------------------------
  10704. template <> size_t GenericFill<vector>(const DB& db, const LIST& params, vector* in)
  10705. {
  10706. size_t base = GenericFill(db,params,static_cast<geometric_representation_item*>(in));
  10707. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to vector"); } do { // convert the 'orientation' argument
  10708. std::shared_ptr<const DataType> arg = params[base++];
  10709. try { GenericConvert( in->orientation, arg, db ); break; }
  10710. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to vector to be a `direction`")); }
  10711. } while(0);
  10712. do { // convert the 'magnitude' argument
  10713. std::shared_ptr<const DataType> arg = params[base++];
  10714. try { GenericConvert( in->magnitude, arg, db ); break; }
  10715. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to vector to be a `length_measure`")); }
  10716. } while(0);
  10717. return base;
  10718. }
  10719. // -----------------------------------------------------------------------------------------------------------
  10720. template <> size_t GenericFill<vector_style>(const DB& db, const LIST& params, vector_style* in)
  10721. {
  10722. size_t base = 0;
  10723. return base;
  10724. }
  10725. // -----------------------------------------------------------------------------------------------------------
  10726. template <> size_t GenericFill<velocity_measure_with_unit>(const DB& db, const LIST& params, velocity_measure_with_unit* in)
  10727. {
  10728. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  10729. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to velocity_measure_with_unit"); } return base;
  10730. }
  10731. // -----------------------------------------------------------------------------------------------------------
  10732. template <> size_t GenericFill<velocity_unit>(const DB& db, const LIST& params, velocity_unit* in)
  10733. {
  10734. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  10735. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to velocity_unit"); } return base;
  10736. }
  10737. // -----------------------------------------------------------------------------------------------------------
  10738. template <> size_t GenericFill<vertex>(const DB& db, const LIST& params, vertex* in)
  10739. {
  10740. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  10741. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to vertex"); } return base;
  10742. }
  10743. // -----------------------------------------------------------------------------------------------------------
  10744. template <> size_t GenericFill<vertex_loop>(const DB& db, const LIST& params, vertex_loop* in)
  10745. {
  10746. size_t base = GenericFill(db,params,static_cast<loop*>(in));
  10747. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to vertex_loop"); } do { // convert the 'loop_vertex' argument
  10748. std::shared_ptr<const DataType> arg = params[base++];
  10749. try { GenericConvert( in->loop_vertex, arg, db ); break; }
  10750. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to vertex_loop to be a `vertex`")); }
  10751. } while(0);
  10752. return base;
  10753. }
  10754. // -----------------------------------------------------------------------------------------------------------
  10755. template <> size_t GenericFill<vertex_point>(const DB& db, const LIST& params, vertex_point* in)
  10756. {
  10757. size_t base = 0;
  10758. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to vertex_point"); } do { // convert the 'vertex_geometry' argument
  10759. std::shared_ptr<const DataType> arg = params[base++];
  10760. try { GenericConvert( in->vertex_geometry, arg, db ); break; }
  10761. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to vertex_point to be a `point`")); }
  10762. } while(0);
  10763. return base;
  10764. }
  10765. // -----------------------------------------------------------------------------------------------------------
  10766. template <> size_t GenericFill<vertex_shell>(const DB& db, const LIST& params, vertex_shell* in)
  10767. {
  10768. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  10769. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to vertex_shell"); } do { // convert the 'vertex_shell_extent' argument
  10770. std::shared_ptr<const DataType> arg = params[base++];
  10771. try { GenericConvert( in->vertex_shell_extent, arg, db ); break; }
  10772. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to vertex_shell to be a `vertex_loop`")); }
  10773. } while(0);
  10774. return base;
  10775. }
  10776. // -----------------------------------------------------------------------------------------------------------
  10777. template <> size_t GenericFill<view_volume>(const DB& db, const LIST& params, view_volume* in)
  10778. {
  10779. size_t base = GenericFill(db,params,static_cast<founded_item*>(in));
  10780. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to view_volume"); } do { // convert the 'projection_type' argument
  10781. std::shared_ptr<const DataType> arg = params[base++];
  10782. try { GenericConvert( in->projection_type, arg, db ); break; }
  10783. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to view_volume to be a `central_or_parallel`")); }
  10784. } while(0);
  10785. do { // convert the 'projection_point' argument
  10786. std::shared_ptr<const DataType> arg = params[base++];
  10787. try { GenericConvert( in->projection_point, arg, db ); break; }
  10788. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to view_volume to be a `cartesian_point`")); }
  10789. } while(0);
  10790. do { // convert the 'view_plane_distance' argument
  10791. std::shared_ptr<const DataType> arg = params[base++];
  10792. try { GenericConvert( in->view_plane_distance, arg, db ); break; }
  10793. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to view_volume to be a `length_measure`")); }
  10794. } while(0);
  10795. do { // convert the 'front_plane_distance' argument
  10796. std::shared_ptr<const DataType> arg = params[base++];
  10797. try { GenericConvert( in->front_plane_distance, arg, db ); break; }
  10798. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to view_volume to be a `length_measure`")); }
  10799. } while(0);
  10800. do { // convert the 'front_plane_clipping' argument
  10801. std::shared_ptr<const DataType> arg = params[base++];
  10802. try { GenericConvert( in->front_plane_clipping, arg, db ); break; }
  10803. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to view_volume to be a `BOOLEAN`")); }
  10804. } while(0);
  10805. do { // convert the 'back_plane_distance' argument
  10806. std::shared_ptr<const DataType> arg = params[base++];
  10807. try { GenericConvert( in->back_plane_distance, arg, db ); break; }
  10808. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to view_volume to be a `length_measure`")); }
  10809. } while(0);
  10810. do { // convert the 'back_plane_clipping' argument
  10811. std::shared_ptr<const DataType> arg = params[base++];
  10812. try { GenericConvert( in->back_plane_clipping, arg, db ); break; }
  10813. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to view_volume to be a `BOOLEAN`")); }
  10814. } while(0);
  10815. do { // convert the 'view_volume_sides_clipping' argument
  10816. std::shared_ptr<const DataType> arg = params[base++];
  10817. try { GenericConvert( in->view_volume_sides_clipping, arg, db ); break; }
  10818. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to view_volume to be a `BOOLEAN`")); }
  10819. } while(0);
  10820. do { // convert the 'view_window' argument
  10821. std::shared_ptr<const DataType> arg = params[base++];
  10822. try { GenericConvert( in->view_window, arg, db ); break; }
  10823. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to view_volume to be a `planar_box`")); }
  10824. } while(0);
  10825. return base;
  10826. }
  10827. // -----------------------------------------------------------------------------------------------------------
  10828. template <> size_t GenericFill<visual_appearance_representation>(const DB& db, const LIST& params, visual_appearance_representation* in)
  10829. {
  10830. size_t base = GenericFill(db,params,static_cast<representation*>(in));
  10831. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to visual_appearance_representation"); } return base;
  10832. }
  10833. // -----------------------------------------------------------------------------------------------------------
  10834. template <> size_t GenericFill<volume_measure_with_unit>(const DB& db, const LIST& params, volume_measure_with_unit* in)
  10835. {
  10836. size_t base = GenericFill(db,params,static_cast<measure_with_unit*>(in));
  10837. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to volume_measure_with_unit"); } return base;
  10838. }
  10839. // -----------------------------------------------------------------------------------------------------------
  10840. template <> size_t GenericFill<volume_unit>(const DB& db, const LIST& params, volume_unit* in)
  10841. {
  10842. size_t base = GenericFill(db,params,static_cast<derived_unit*>(in));
  10843. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to volume_unit"); } return base;
  10844. }
  10845. // -----------------------------------------------------------------------------------------------------------
  10846. template <> size_t GenericFill<week_of_year_and_day_date>(const DB& db, const LIST& params, week_of_year_and_day_date* in)
  10847. {
  10848. size_t base = GenericFill(db,params,static_cast<date*>(in));
  10849. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to week_of_year_and_day_date"); } do { // convert the 'week_component' argument
  10850. std::shared_ptr<const DataType> arg = params[base++];
  10851. try { GenericConvert( in->week_component, arg, db ); break; }
  10852. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to week_of_year_and_day_date to be a `week_in_year_number`")); }
  10853. } while(0);
  10854. do { // convert the 'day_component' argument
  10855. std::shared_ptr<const DataType> arg = params[base++];
  10856. if (dynamic_cast<const UNSET*>(&*arg)) break;
  10857. try { GenericConvert( in->day_component, arg, db ); break; }
  10858. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to week_of_year_and_day_date to be a `day_in_week_number`")); }
  10859. } while(0);
  10860. return base;
  10861. }
  10862. // -----------------------------------------------------------------------------------------------------------
  10863. template <> size_t GenericFill<wire_shell>(const DB& db, const LIST& params, wire_shell* in)
  10864. {
  10865. size_t base = GenericFill(db,params,static_cast<topological_representation_item*>(in));
  10866. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to wire_shell"); } do { // convert the 'wire_shell_extent' argument
  10867. std::shared_ptr<const DataType> arg = params[base++];
  10868. try { GenericConvert( in->wire_shell_extent, arg, db ); break; }
  10869. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to wire_shell to be a `SET [1:?] OF loop`")); }
  10870. } while(0);
  10871. return base;
  10872. }
  10873. // -----------------------------------------------------------------------------------------------------------
  10874. template <> size_t GenericFill<year_month>(const DB& db, const LIST& params, year_month* in)
  10875. {
  10876. size_t base = GenericFill(db,params,static_cast<date*>(in));
  10877. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to year_month"); } do { // convert the 'month_component' argument
  10878. std::shared_ptr<const DataType> arg = params[base++];
  10879. try { GenericConvert( in->month_component, arg, db ); break; }
  10880. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to year_month to be a `month_in_year_number`")); }
  10881. } while(0);
  10882. return base;
  10883. }
  10884. } // ! STEP
  10885. } // ! Assimp
  10886. #endif