IFCReaderGen2.cpp 115 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917
  1. /*
  2. Open Asset Import Library (ASSIMP)
  3. ----------------------------------------------------------------------
  4. Copyright (c) 2006-2010, 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. //#include "AssimpPCH.h"
  34. #ifndef ASSIMP_BUILD_NO_IFC_IMPORTER
  35. #include "IFCReaderGen.h"
  36. namespace Assimp {
  37. using namespace IFC;
  38. namespace STEP {
  39. template <> size_t GenericFill<IfcSurfaceStyle>(const DB& db, const LIST& params, IfcSurfaceStyle* in)
  40. {
  41. size_t base = GenericFill(db,params,static_cast<IfcPresentationStyle*>(in));
  42. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcSurfaceStyle"); } do { // convert the 'Side' argument
  43. std::shared_ptr<const DataType> arg = params[base++];
  44. try { GenericConvert( in->Side, arg, db ); break; }
  45. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSurfaceStyle to be a `IfcSurfaceSide`")); }
  46. } while(0);
  47. do { // convert the 'Styles' argument
  48. std::shared_ptr<const DataType> arg = params[ base++ ];
  49. try { GenericConvert( in->Styles, arg, db ); break; }
  50. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSurfaceStyle to be a `SET [1:5] OF IfcSurfaceStyleElementSelect`")); }
  51. } while(0);
  52. return base;
  53. }
  54. // -----------------------------------------------------------------------------------------------------------
  55. template <> size_t GenericFill<IfcAnnotationSurface>(const DB& db, const LIST& params, IfcAnnotationSurface* in)
  56. {
  57. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  58. // this data structure is not used yet, so there is no code generated to fill its members
  59. return base;
  60. }
  61. // -----------------------------------------------------------------------------------------------------------
  62. template <> size_t GenericFill<IfcFlowController>(const DB& db, const LIST& params, IfcFlowController* in)
  63. {
  64. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  65. // this data structure is not used yet, so there is no code generated to fill its members
  66. return base;
  67. }
  68. // -----------------------------------------------------------------------------------------------------------
  69. template <> size_t GenericFill<IfcBuildingStorey>(const DB& db, const LIST& params, IfcBuildingStorey* in)
  70. {
  71. size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  72. // this data structure is not used yet, so there is no code generated to fill its members
  73. return base;
  74. }
  75. // -----------------------------------------------------------------------------------------------------------
  76. template <> size_t GenericFill<IfcWorkControl>(const DB& db, const LIST& params, IfcWorkControl* in)
  77. {
  78. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  79. // this data structure is not used yet, so there is no code generated to fill its members
  80. return base;
  81. }
  82. // -----------------------------------------------------------------------------------------------------------
  83. template <> size_t GenericFill<IfcWorkSchedule>(const DB& db, const LIST& params, IfcWorkSchedule* in)
  84. {
  85. size_t base = GenericFill(db,params,static_cast<IfcWorkControl*>(in));
  86. // this data structure is not used yet, so there is no code generated to fill its members
  87. return base;
  88. }
  89. // -----------------------------------------------------------------------------------------------------------
  90. template <> size_t GenericFill<IfcDuctSegmentType>(const DB& db, const LIST& params, IfcDuctSegmentType* in)
  91. {
  92. size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  93. // this data structure is not used yet, so there is no code generated to fill its members
  94. return base;
  95. }
  96. // -----------------------------------------------------------------------------------------------------------
  97. template <> size_t GenericFill<IfcFace>(const DB& db, const LIST& params, IfcFace* in)
  98. {
  99. size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  100. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcFace"); } do { // convert the 'Bounds' argument
  101. std::shared_ptr<const DataType> arg = params[base++];
  102. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFace,1>::aux_is_derived[0]=true; break; }
  103. try { GenericConvert( in->Bounds, arg, db ); break; }
  104. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFace to be a `SET [1:?] OF IfcFaceBound`")); }
  105. } while(0);
  106. return base;
  107. }
  108. // -----------------------------------------------------------------------------------------------------------
  109. template <> size_t GenericFill<IfcStructuralSurfaceMember>(const DB& db, const LIST& params, IfcStructuralSurfaceMember* in)
  110. {
  111. size_t base = GenericFill(db,params,static_cast<IfcStructuralMember*>(in));
  112. // this data structure is not used yet, so there is no code generated to fill its members
  113. return base;
  114. }
  115. // -----------------------------------------------------------------------------------------------------------
  116. template <> size_t GenericFill<IfcStructuralSurfaceMemberVarying>(const DB& db, const LIST& params, IfcStructuralSurfaceMemberVarying* in)
  117. {
  118. size_t base = GenericFill(db,params,static_cast<IfcStructuralSurfaceMember*>(in));
  119. // this data structure is not used yet, so there is no code generated to fill its members
  120. return base;
  121. }
  122. // -----------------------------------------------------------------------------------------------------------
  123. template <> size_t GenericFill<IfcFaceSurface>(const DB& db, const LIST& params, IfcFaceSurface* in)
  124. {
  125. size_t base = GenericFill(db,params,static_cast<IfcFace*>(in));
  126. // this data structure is not used yet, so there is no code generated to fill its members
  127. return base;
  128. }
  129. // -----------------------------------------------------------------------------------------------------------
  130. template <> size_t GenericFill<IfcCostSchedule>(const DB& db, const LIST& params, IfcCostSchedule* in)
  131. {
  132. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  133. // this data structure is not used yet, so there is no code generated to fill its members
  134. return base;
  135. }
  136. // -----------------------------------------------------------------------------------------------------------
  137. template <> size_t GenericFill<IfcPlanarExtent>(const DB& db, const LIST& params, IfcPlanarExtent* in)
  138. {
  139. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  140. // this data structure is not used yet, so there is no code generated to fill its members
  141. return base;
  142. }
  143. // -----------------------------------------------------------------------------------------------------------
  144. template <> size_t GenericFill<IfcPlanarBox>(const DB& db, const LIST& params, IfcPlanarBox* in)
  145. {
  146. size_t base = GenericFill(db,params,static_cast<IfcPlanarExtent*>(in));
  147. // this data structure is not used yet, so there is no code generated to fill its members
  148. return base;
  149. }
  150. // -----------------------------------------------------------------------------------------------------------
  151. template <> size_t GenericFill<IfcColourSpecification>(const DB& db, const LIST& params, IfcColourSpecification* in)
  152. {
  153. size_t base = 0;
  154. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcColourSpecification"); } do { // convert the 'Name' argument
  155. std::shared_ptr<const DataType> arg = params[base++];
  156. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcColourSpecification,1>::aux_is_derived[0]=true; break; }
  157. if (dynamic_cast<const UNSET*>(&*arg)) break;
  158. try { GenericConvert( in->Name, arg, db ); break; }
  159. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcColourSpecification to be a `IfcLabel`")); }
  160. } while(0);
  161. return base;
  162. }
  163. // -----------------------------------------------------------------------------------------------------------
  164. template <> size_t GenericFill<IfcVector>(const DB& db, const LIST& params, IfcVector* in)
  165. {
  166. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  167. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcVector"); } do { // convert the 'Orientation' argument
  168. std::shared_ptr<const DataType> arg = params[base++];
  169. try { GenericConvert( in->Orientation, arg, db ); break; }
  170. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcVector to be a `IfcDirection`")); }
  171. } while(0);
  172. do { // convert the 'Magnitude' argument
  173. std::shared_ptr<const DataType> arg = params[base++];
  174. try { GenericConvert( in->Magnitude, arg, db ); break; }
  175. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcVector to be a `IfcLengthMeasure`")); }
  176. } while(0);
  177. return base;
  178. }
  179. // -----------------------------------------------------------------------------------------------------------
  180. template <> size_t GenericFill<IfcBeam>(const DB& db, const LIST& params, IfcBeam* in)
  181. {
  182. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  183. // this data structure is not used yet, so there is no code generated to fill its members
  184. return base;
  185. }
  186. // -----------------------------------------------------------------------------------------------------------
  187. template <> size_t GenericFill<IfcColourRgb>(const DB& db, const LIST& params, IfcColourRgb* in)
  188. {
  189. size_t base = GenericFill(db,params,static_cast<IfcColourSpecification*>(in));
  190. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcColourRgb"); } do { // convert the 'Red' argument
  191. std::shared_ptr<const DataType> arg = params[base++];
  192. try { GenericConvert( in->Red, arg, db ); break; }
  193. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
  194. } while(0);
  195. do { // convert the 'Green' argument
  196. std::shared_ptr<const DataType> arg = params[base++];
  197. try { GenericConvert( in->Green, arg, db ); break; }
  198. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
  199. } while(0);
  200. do { // convert the 'Blue' argument
  201. std::shared_ptr<const DataType> arg = params[base++];
  202. try { GenericConvert( in->Blue, arg, db ); break; }
  203. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
  204. } while(0);
  205. return base;
  206. }
  207. // -----------------------------------------------------------------------------------------------------------
  208. template <> size_t GenericFill<IfcStructuralPlanarAction>(const DB& db, const LIST& params, IfcStructuralPlanarAction* in)
  209. {
  210. size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
  211. // this data structure is not used yet, so there is no code generated to fill its members
  212. return base;
  213. }
  214. // -----------------------------------------------------------------------------------------------------------
  215. template <> size_t GenericFill<IfcStructuralPlanarActionVarying>(const DB& db, const LIST& params, IfcStructuralPlanarActionVarying* in)
  216. {
  217. size_t base = GenericFill(db,params,static_cast<IfcStructuralPlanarAction*>(in));
  218. // this data structure is not used yet, so there is no code generated to fill its members
  219. return base;
  220. }
  221. // -----------------------------------------------------------------------------------------------------------
  222. template <> size_t GenericFill<IfcSite>(const DB& db, const LIST& params, IfcSite* in)
  223. {
  224. size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  225. if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to IfcSite"); } do { // convert the 'RefLatitude' argument
  226. std::shared_ptr<const DataType> arg = params[base++];
  227. if (dynamic_cast<const UNSET*>(&*arg)) break;
  228. try { GenericConvert( in->RefLatitude, arg, db ); break; }
  229. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcSite to be a `IfcCompoundPlaneAngleMeasure`")); }
  230. } while(0);
  231. do { // convert the 'RefLongitude' argument
  232. std::shared_ptr<const DataType> arg = params[base++];
  233. if (dynamic_cast<const UNSET*>(&*arg)) break;
  234. try { GenericConvert( in->RefLongitude, arg, db ); break; }
  235. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcSite to be a `IfcCompoundPlaneAngleMeasure`")); }
  236. } while(0);
  237. do { // convert the 'RefElevation' argument
  238. std::shared_ptr<const DataType> arg = params[base++];
  239. if (dynamic_cast<const UNSET*>(&*arg)) break;
  240. try { GenericConvert( in->RefElevation, arg, db ); break; }
  241. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to IfcSite to be a `IfcLengthMeasure`")); }
  242. } while(0);
  243. do { // convert the 'LandTitleNumber' argument
  244. std::shared_ptr<const DataType> arg = params[base++];
  245. if (dynamic_cast<const UNSET*>(&*arg)) break;
  246. try { GenericConvert( in->LandTitleNumber, arg, db ); break; }
  247. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to IfcSite to be a `IfcLabel`")); }
  248. } while(0);
  249. do { // convert the 'SiteAddress' argument
  250. std::shared_ptr<const DataType> arg = params[base++];
  251. if (dynamic_cast<const UNSET*>(&*arg)) break;
  252. try { GenericConvert( in->SiteAddress, arg, db ); break; }
  253. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to IfcSite to be a `IfcPostalAddress`")); }
  254. } while(0);
  255. return base;
  256. }
  257. // -----------------------------------------------------------------------------------------------------------
  258. template <> size_t GenericFill<IfcDiscreteAccessoryType>(const DB& db, const LIST& params, IfcDiscreteAccessoryType* in)
  259. {
  260. size_t base = GenericFill(db,params,static_cast<IfcElementComponentType*>(in));
  261. // this data structure is not used yet, so there is no code generated to fill its members
  262. return base;
  263. }
  264. // -----------------------------------------------------------------------------------------------------------
  265. template <> size_t GenericFill<IfcVibrationIsolatorType>(const DB& db, const LIST& params, IfcVibrationIsolatorType* in)
  266. {
  267. size_t base = GenericFill(db,params,static_cast<IfcDiscreteAccessoryType*>(in));
  268. // this data structure is not used yet, so there is no code generated to fill its members
  269. return base;
  270. }
  271. // -----------------------------------------------------------------------------------------------------------
  272. template <> size_t GenericFill<IfcEvaporativeCoolerType>(const DB& db, const LIST& params, IfcEvaporativeCoolerType* in)
  273. {
  274. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  275. // this data structure is not used yet, so there is no code generated to fill its members
  276. return base;
  277. }
  278. // -----------------------------------------------------------------------------------------------------------
  279. template <> size_t GenericFill<IfcDistributionChamberElementType>(const DB& db, const LIST& params, IfcDistributionChamberElementType* in)
  280. {
  281. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  282. // this data structure is not used yet, so there is no code generated to fill its members
  283. return base;
  284. }
  285. // -----------------------------------------------------------------------------------------------------------
  286. template <> size_t GenericFill<IfcFeatureElementAddition>(const DB& db, const LIST& params, IfcFeatureElementAddition* in)
  287. {
  288. size_t base = GenericFill(db,params,static_cast<IfcFeatureElement*>(in));
  289. // this data structure is not used yet, so there is no code generated to fill its members
  290. return base;
  291. }
  292. // -----------------------------------------------------------------------------------------------------------
  293. template <> size_t GenericFill<IfcStructuredDimensionCallout>(const DB& db, const LIST& params, IfcStructuredDimensionCallout* in)
  294. {
  295. size_t base = GenericFill(db,params,static_cast<IfcDraughtingCallout*>(in));
  296. // this data structure is not used yet, so there is no code generated to fill its members
  297. return base;
  298. }
  299. // -----------------------------------------------------------------------------------------------------------
  300. template <> size_t GenericFill<IfcCoolingTowerType>(const DB& db, const LIST& params, IfcCoolingTowerType* in)
  301. {
  302. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  303. // this data structure is not used yet, so there is no code generated to fill its members
  304. return base;
  305. }
  306. // -----------------------------------------------------------------------------------------------------------
  307. template <> size_t GenericFill<IfcCenterLineProfileDef>(const DB& db, const LIST& params, IfcCenterLineProfileDef* in)
  308. {
  309. size_t base = GenericFill(db,params,static_cast<IfcArbitraryOpenProfileDef*>(in));
  310. // this data structure is not used yet, so there is no code generated to fill its members
  311. return base;
  312. }
  313. // -----------------------------------------------------------------------------------------------------------
  314. template <> size_t GenericFill<IfcWindowStyle>(const DB& db, const LIST& params, IfcWindowStyle* in)
  315. {
  316. size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
  317. // this data structure is not used yet, so there is no code generated to fill its members
  318. return base;
  319. }
  320. // -----------------------------------------------------------------------------------------------------------
  321. template <> size_t GenericFill<IfcLightSourceGoniometric>(const DB& db, const LIST& params, IfcLightSourceGoniometric* in)
  322. {
  323. size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
  324. // this data structure is not used yet, so there is no code generated to fill its members
  325. return base;
  326. }
  327. // -----------------------------------------------------------------------------------------------------------
  328. template <> size_t GenericFill<IfcTransformerType>(const DB& db, const LIST& params, IfcTransformerType* in)
  329. {
  330. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  331. // this data structure is not used yet, so there is no code generated to fill its members
  332. return base;
  333. }
  334. // -----------------------------------------------------------------------------------------------------------
  335. template <> size_t GenericFill<IfcMemberType>(const DB& db, const LIST& params, IfcMemberType* in)
  336. {
  337. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  338. // this data structure is not used yet, so there is no code generated to fill its members
  339. return base;
  340. }
  341. // -----------------------------------------------------------------------------------------------------------
  342. template <> size_t GenericFill<IfcSurfaceOfLinearExtrusion>(const DB& db, const LIST& params, IfcSurfaceOfLinearExtrusion* in)
  343. {
  344. size_t base = GenericFill(db,params,static_cast<IfcSweptSurface*>(in));
  345. // this data structure is not used yet, so there is no code generated to fill its members
  346. return base;
  347. }
  348. // -----------------------------------------------------------------------------------------------------------
  349. template <> size_t GenericFill<IfcMotorConnectionType>(const DB& db, const LIST& params, IfcMotorConnectionType* in)
  350. {
  351. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  352. // this data structure is not used yet, so there is no code generated to fill its members
  353. return base;
  354. }
  355. // -----------------------------------------------------------------------------------------------------------
  356. template <> size_t GenericFill<IfcFlowTreatmentDeviceType>(const DB& db, const LIST& params, IfcFlowTreatmentDeviceType* in)
  357. {
  358. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  359. // this data structure is not used yet, so there is no code generated to fill its members
  360. return base;
  361. }
  362. // -----------------------------------------------------------------------------------------------------------
  363. template <> size_t GenericFill<IfcDuctSilencerType>(const DB& db, const LIST& params, IfcDuctSilencerType* in)
  364. {
  365. size_t base = GenericFill(db,params,static_cast<IfcFlowTreatmentDeviceType*>(in));
  366. // this data structure is not used yet, so there is no code generated to fill its members
  367. return base;
  368. }
  369. // -----------------------------------------------------------------------------------------------------------
  370. template <> size_t GenericFill<IfcFurnishingElementType>(const DB& db, const LIST& params, IfcFurnishingElementType* in)
  371. {
  372. size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  373. // this data structure is not used yet, so there is no code generated to fill its members
  374. return base;
  375. }
  376. // -----------------------------------------------------------------------------------------------------------
  377. template <> size_t GenericFill<IfcSystemFurnitureElementType>(const DB& db, const LIST& params, IfcSystemFurnitureElementType* in)
  378. {
  379. size_t base = GenericFill(db,params,static_cast<IfcFurnishingElementType*>(in));
  380. // this data structure is not used yet, so there is no code generated to fill its members
  381. return base;
  382. }
  383. // -----------------------------------------------------------------------------------------------------------
  384. template <> size_t GenericFill<IfcWasteTerminalType>(const DB& db, const LIST& params, IfcWasteTerminalType* in)
  385. {
  386. size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  387. // this data structure is not used yet, so there is no code generated to fill its members
  388. return base;
  389. }
  390. // -----------------------------------------------------------------------------------------------------------
  391. template <> size_t GenericFill<IfcBSplineCurve>(const DB& db, const LIST& params, IfcBSplineCurve* in)
  392. {
  393. size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
  394. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcBSplineCurve"); } do { // convert the 'Degree' argument
  395. std::shared_ptr<const DataType> arg = params[base++];
  396. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[0]=true; break; }
  397. try { GenericConvert( in->Degree, arg, db ); break; }
  398. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBSplineCurve to be a `INTEGER`")); }
  399. } while(0);
  400. do { // convert the 'ControlPointsList' argument
  401. std::shared_ptr<const DataType> arg = params[base++];
  402. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[1]=true; break; }
  403. try { GenericConvert( in->ControlPointsList, arg, db ); break; }
  404. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBSplineCurve to be a `LIST [2:?] OF IfcCartesianPoint`")); }
  405. } while(0);
  406. do { // convert the 'CurveForm' argument
  407. std::shared_ptr<const DataType> arg = params[base++];
  408. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[2]=true; break; }
  409. try { GenericConvert( in->CurveForm, arg, db ); break; }
  410. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBSplineCurve to be a `IfcBSplineCurveForm`")); }
  411. } while(0);
  412. do { // convert the 'ClosedCurve' argument
  413. std::shared_ptr<const DataType> arg = params[base++];
  414. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[3]=true; break; }
  415. try { GenericConvert( in->ClosedCurve, arg, db ); break; }
  416. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcBSplineCurve to be a `LOGICAL`")); }
  417. } while(0);
  418. do { // convert the 'SelfIntersect' argument
  419. std::shared_ptr<const DataType> arg = params[base++];
  420. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[4]=true; break; }
  421. try { GenericConvert( in->SelfIntersect, arg, db ); break; }
  422. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcBSplineCurve to be a `LOGICAL`")); }
  423. } while(0);
  424. return base;
  425. }
  426. // -----------------------------------------------------------------------------------------------------------
  427. template <> size_t GenericFill<IfcBezierCurve>(const DB& db, const LIST& params, IfcBezierCurve* in)
  428. {
  429. size_t base = GenericFill(db,params,static_cast<IfcBSplineCurve*>(in));
  430. // this data structure is not used yet, so there is no code generated to fill its members
  431. return base;
  432. }
  433. // -----------------------------------------------------------------------------------------------------------
  434. template <> size_t GenericFill<IfcActuatorType>(const DB& db, const LIST& params, IfcActuatorType* in)
  435. {
  436. size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  437. // this data structure is not used yet, so there is no code generated to fill its members
  438. return base;
  439. }
  440. // -----------------------------------------------------------------------------------------------------------
  441. template <> size_t GenericFill<IfcDistributionControlElement>(const DB& db, const LIST& params, IfcDistributionControlElement* in)
  442. {
  443. size_t base = GenericFill(db,params,static_cast<IfcDistributionElement*>(in));
  444. // this data structure is not used yet, so there is no code generated to fill its members
  445. return base;
  446. }
  447. // -----------------------------------------------------------------------------------------------------------
  448. template <> size_t GenericFill<IfcAnnotation>(const DB& db, const LIST& params, IfcAnnotation* in)
  449. {
  450. size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  451. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcAnnotation"); } return base;
  452. }
  453. // -----------------------------------------------------------------------------------------------------------
  454. template <> size_t GenericFill<IfcShellBasedSurfaceModel>(const DB& db, const LIST& params, IfcShellBasedSurfaceModel* in)
  455. {
  456. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  457. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcShellBasedSurfaceModel"); } do { // convert the 'SbsmBoundary' argument
  458. std::shared_ptr<const DataType> arg = params[base++];
  459. try { GenericConvert( in->SbsmBoundary, arg, db ); break; }
  460. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcShellBasedSurfaceModel to be a `SET [1:?] OF IfcShell`")); }
  461. } while(0);
  462. return base;
  463. }
  464. // -----------------------------------------------------------------------------------------------------------
  465. template <> size_t GenericFill<IfcActionRequest>(const DB& db, const LIST& params, IfcActionRequest* in)
  466. {
  467. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  468. // this data structure is not used yet, so there is no code generated to fill its members
  469. return base;
  470. }
  471. // -----------------------------------------------------------------------------------------------------------
  472. template <> size_t GenericFill<IfcExtrudedAreaSolid>(const DB& db, const LIST& params, IfcExtrudedAreaSolid* in)
  473. {
  474. size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
  475. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcExtrudedAreaSolid"); } do { // convert the 'ExtrudedDirection' argument
  476. std::shared_ptr<const DataType> arg = params[base++];
  477. try { GenericConvert( in->ExtrudedDirection, arg, db ); break; }
  478. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcExtrudedAreaSolid to be a `IfcDirection`")); }
  479. } while(0);
  480. do { // convert the 'Depth' argument
  481. std::shared_ptr<const DataType> arg = params[base++];
  482. try { GenericConvert( in->Depth, arg, db ); break; }
  483. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcExtrudedAreaSolid to be a `IfcPositiveLengthMeasure`")); }
  484. } while(0);
  485. return base;
  486. }
  487. // -----------------------------------------------------------------------------------------------------------
  488. template <> size_t GenericFill<IfcSystem>(const DB& db, const LIST& params, IfcSystem* in)
  489. {
  490. size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  491. // this data structure is not used yet, so there is no code generated to fill its members
  492. return base;
  493. }
  494. // -----------------------------------------------------------------------------------------------------------
  495. template <> size_t GenericFill<IfcFillAreaStyleHatching>(const DB& db, const LIST& params, IfcFillAreaStyleHatching* in)
  496. {
  497. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  498. // this data structure is not used yet, so there is no code generated to fill its members
  499. return base;
  500. }
  501. // -----------------------------------------------------------------------------------------------------------
  502. template <> size_t GenericFill<IfcRelVoidsElement>(const DB& db, const LIST& params, IfcRelVoidsElement* in)
  503. {
  504. size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
  505. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelVoidsElement"); } do { // convert the 'RelatingBuildingElement' argument
  506. std::shared_ptr<const DataType> arg = params[base++];
  507. try { GenericConvert( in->RelatingBuildingElement, arg, db ); break; }
  508. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelVoidsElement to be a `IfcElement`")); }
  509. } while(0);
  510. do { // convert the 'RelatedOpeningElement' argument
  511. std::shared_ptr<const DataType> arg = params[base++];
  512. try { GenericConvert( in->RelatedOpeningElement, arg, db ); break; }
  513. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelVoidsElement to be a `IfcFeatureElementSubtraction`")); }
  514. } while(0);
  515. return base;
  516. }
  517. // -----------------------------------------------------------------------------------------------------------
  518. template <> size_t GenericFill<IfcSurfaceCurveSweptAreaSolid>(const DB& db, const LIST& params, IfcSurfaceCurveSweptAreaSolid* in)
  519. {
  520. size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
  521. // this data structure is not used yet, so there is no code generated to fill its members
  522. return base;
  523. }
  524. // -----------------------------------------------------------------------------------------------------------
  525. template <> size_t GenericFill<IfcCartesianTransformationOperator3DnonUniform>(const DB& db, const LIST& params, IfcCartesianTransformationOperator3DnonUniform* in)
  526. {
  527. size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator3D*>(in));
  528. if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcCartesianTransformationOperator3DnonUniform"); } do { // convert the 'Scale2' argument
  529. std::shared_ptr<const DataType> arg = params[base++];
  530. if (dynamic_cast<const UNSET*>(&*arg)) break;
  531. try { GenericConvert( in->Scale2, arg, db ); break; }
  532. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcCartesianTransformationOperator3DnonUniform to be a `REAL`")); }
  533. } while(0);
  534. do { // convert the 'Scale3' argument
  535. std::shared_ptr<const DataType> arg = params[base++];
  536. if (dynamic_cast<const UNSET*>(&*arg)) break;
  537. try { GenericConvert( in->Scale3, arg, db ); break; }
  538. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcCartesianTransformationOperator3DnonUniform to be a `REAL`")); }
  539. } while(0);
  540. return base;
  541. }
  542. // -----------------------------------------------------------------------------------------------------------
  543. template <> size_t GenericFill<IfcCurtainWallType>(const DB& db, const LIST& params, IfcCurtainWallType* in)
  544. {
  545. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  546. // this data structure is not used yet, so there is no code generated to fill its members
  547. return base;
  548. }
  549. // -----------------------------------------------------------------------------------------------------------
  550. template <> size_t GenericFill<IfcEquipmentStandard>(const DB& db, const LIST& params, IfcEquipmentStandard* in)
  551. {
  552. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  553. // this data structure is not used yet, so there is no code generated to fill its members
  554. return base;
  555. }
  556. // -----------------------------------------------------------------------------------------------------------
  557. template <> size_t GenericFill<IfcFlowStorageDeviceType>(const DB& db, const LIST& params, IfcFlowStorageDeviceType* in)
  558. {
  559. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  560. // this data structure is not used yet, so there is no code generated to fill its members
  561. return base;
  562. }
  563. // -----------------------------------------------------------------------------------------------------------
  564. template <> size_t GenericFill<IfcDiameterDimension>(const DB& db, const LIST& params, IfcDiameterDimension* in)
  565. {
  566. size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
  567. // this data structure is not used yet, so there is no code generated to fill its members
  568. return base;
  569. }
  570. // -----------------------------------------------------------------------------------------------------------
  571. template <> size_t GenericFill<IfcSwitchingDeviceType>(const DB& db, const LIST& params, IfcSwitchingDeviceType* in)
  572. {
  573. size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  574. // this data structure is not used yet, so there is no code generated to fill its members
  575. return base;
  576. }
  577. // -----------------------------------------------------------------------------------------------------------
  578. template <> size_t GenericFill<IfcWindow>(const DB& db, const LIST& params, IfcWindow* in)
  579. {
  580. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  581. // this data structure is not used yet, so there is no code generated to fill its members
  582. return base;
  583. }
  584. // -----------------------------------------------------------------------------------------------------------
  585. template <> size_t GenericFill<IfcFlowTreatmentDevice>(const DB& db, const LIST& params, IfcFlowTreatmentDevice* in)
  586. {
  587. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  588. // this data structure is not used yet, so there is no code generated to fill its members
  589. return base;
  590. }
  591. // -----------------------------------------------------------------------------------------------------------
  592. template <> size_t GenericFill<IfcChillerType>(const DB& db, const LIST& params, IfcChillerType* in)
  593. {
  594. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  595. // this data structure is not used yet, so there is no code generated to fill its members
  596. return base;
  597. }
  598. // -----------------------------------------------------------------------------------------------------------
  599. template <> size_t GenericFill<IfcRectangleHollowProfileDef>(const DB& db, const LIST& params, IfcRectangleHollowProfileDef* in)
  600. {
  601. size_t base = GenericFill(db,params,static_cast<IfcRectangleProfileDef*>(in));
  602. // this data structure is not used yet, so there is no code generated to fill its members
  603. return base;
  604. }
  605. // -----------------------------------------------------------------------------------------------------------
  606. template <> size_t GenericFill<IfcBoxedHalfSpace>(const DB& db, const LIST& params, IfcBoxedHalfSpace* in)
  607. {
  608. size_t base = GenericFill(db,params,static_cast<IfcHalfSpaceSolid*>(in));
  609. // this data structure is not used yet, so there is no code generated to fill its members
  610. return base;
  611. }
  612. // -----------------------------------------------------------------------------------------------------------
  613. template <> size_t GenericFill<IfcAxis2Placement2D>(const DB& db, const LIST& params, IfcAxis2Placement2D* in)
  614. {
  615. size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
  616. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcAxis2Placement2D"); } do { // convert the 'RefDirection' argument
  617. std::shared_ptr<const DataType> arg = params[base++];
  618. if (dynamic_cast<const UNSET*>(&*arg)) break;
  619. try { GenericConvert( in->RefDirection, arg, db ); break; }
  620. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis2Placement2D to be a `IfcDirection`")); }
  621. } while(0);
  622. return base;
  623. }
  624. // -----------------------------------------------------------------------------------------------------------
  625. template <> size_t GenericFill<IfcSpaceProgram>(const DB& db, const LIST& params, IfcSpaceProgram* in)
  626. {
  627. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  628. // this data structure is not used yet, so there is no code generated to fill its members
  629. return base;
  630. }
  631. // -----------------------------------------------------------------------------------------------------------
  632. template <> size_t GenericFill<IfcPoint>(const DB& db, const LIST& params, IfcPoint* in)
  633. {
  634. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  635. return base;
  636. }
  637. // -----------------------------------------------------------------------------------------------------------
  638. template <> size_t GenericFill<IfcCartesianPoint>(const DB& db, const LIST& params, IfcCartesianPoint* in)
  639. {
  640. size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
  641. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcCartesianPoint"); } do { // convert the 'Coordinates' argument
  642. std::shared_ptr<const DataType> arg = params[base++];
  643. try { GenericConvert( in->Coordinates, arg, db ); break; }
  644. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCartesianPoint to be a `LIST [1:3] OF IfcLengthMeasure`")); }
  645. } while(0);
  646. return base;
  647. }
  648. // -----------------------------------------------------------------------------------------------------------
  649. template <> size_t GenericFill<IfcBoundedSurface>(const DB& db, const LIST& params, IfcBoundedSurface* in)
  650. {
  651. size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
  652. // this data structure is not used yet, so there is no code generated to fill its members
  653. return base;
  654. }
  655. // -----------------------------------------------------------------------------------------------------------
  656. template <> size_t GenericFill<IfcLoop>(const DB& db, const LIST& params, IfcLoop* in)
  657. {
  658. size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  659. return base;
  660. }
  661. // -----------------------------------------------------------------------------------------------------------
  662. template <> size_t GenericFill<IfcPolyLoop>(const DB& db, const LIST& params, IfcPolyLoop* in)
  663. {
  664. size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
  665. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPolyLoop"); } do { // convert the 'Polygon' argument
  666. std::shared_ptr<const DataType> arg = params[base++];
  667. try { GenericConvert( in->Polygon, arg, db ); break; }
  668. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPolyLoop to be a `LIST [3:?] OF IfcCartesianPoint`")); }
  669. } while(0);
  670. return base;
  671. }
  672. // -----------------------------------------------------------------------------------------------------------
  673. template <> size_t GenericFill<IfcTerminatorSymbol>(const DB& db, const LIST& params, IfcTerminatorSymbol* in)
  674. {
  675. size_t base = GenericFill(db,params,static_cast<IfcAnnotationSymbolOccurrence*>(in));
  676. // this data structure is not used yet, so there is no code generated to fill its members
  677. return base;
  678. }
  679. // -----------------------------------------------------------------------------------------------------------
  680. template <> size_t GenericFill<IfcDimensionCurveTerminator>(const DB& db, const LIST& params, IfcDimensionCurveTerminator* in)
  681. {
  682. size_t base = GenericFill(db,params,static_cast<IfcTerminatorSymbol*>(in));
  683. // this data structure is not used yet, so there is no code generated to fill its members
  684. return base;
  685. }
  686. // -----------------------------------------------------------------------------------------------------------
  687. template <> size_t GenericFill<IfcTrapeziumProfileDef>(const DB& db, const LIST& params, IfcTrapeziumProfileDef* in)
  688. {
  689. size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  690. // this data structure is not used yet, so there is no code generated to fill its members
  691. return base;
  692. }
  693. // -----------------------------------------------------------------------------------------------------------
  694. template <> size_t GenericFill<IfcRepresentationContext>(const DB& db, const LIST& params, IfcRepresentationContext* in)
  695. {
  696. size_t base = 0;
  697. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcRepresentationContext"); } do { // convert the 'ContextIdentifier' argument
  698. std::shared_ptr<const DataType> arg = params[base++];
  699. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentationContext,2>::aux_is_derived[0]=true; break; }
  700. if (dynamic_cast<const UNSET*>(&*arg)) break;
  701. try { GenericConvert( in->ContextIdentifier, arg, db ); break; }
  702. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentationContext to be a `IfcLabel`")); }
  703. } while(0);
  704. do { // convert the 'ContextType' argument
  705. std::shared_ptr<const DataType> arg = params[base++];
  706. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentationContext,2>::aux_is_derived[1]=true; break; }
  707. if (dynamic_cast<const UNSET*>(&*arg)) break;
  708. try { GenericConvert( in->ContextType, arg, db ); break; }
  709. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentationContext to be a `IfcLabel`")); }
  710. } while(0);
  711. return base;
  712. }
  713. // -----------------------------------------------------------------------------------------------------------
  714. template <> size_t GenericFill<IfcGeometricRepresentationContext>(const DB& db, const LIST& params, IfcGeometricRepresentationContext* in)
  715. {
  716. size_t base = GenericFill(db,params,static_cast<IfcRepresentationContext*>(in));
  717. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcGeometricRepresentationContext"); } do { // convert the 'CoordinateSpaceDimension' argument
  718. std::shared_ptr<const DataType> arg = params[base++];
  719. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[0]=true; break; }
  720. try { GenericConvert( in->CoordinateSpaceDimension, arg, db ); break; }
  721. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcGeometricRepresentationContext to be a `IfcDimensionCount`")); }
  722. } while(0);
  723. do { // convert the 'Precision' argument
  724. std::shared_ptr<const DataType> arg = params[base++];
  725. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[1]=true; break; }
  726. if (dynamic_cast<const UNSET*>(&*arg)) break;
  727. try { GenericConvert( in->Precision, arg, db ); break; }
  728. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcGeometricRepresentationContext to be a `REAL`")); }
  729. } while(0);
  730. do { // convert the 'WorldCoordinateSystem' argument
  731. std::shared_ptr<const DataType> arg = params[base++];
  732. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[2]=true; break; }
  733. try { GenericConvert( in->WorldCoordinateSystem, arg, db ); break; }
  734. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcGeometricRepresentationContext to be a `IfcAxis2Placement`")); }
  735. } while(0);
  736. do { // convert the 'TrueNorth' argument
  737. std::shared_ptr<const DataType> arg = params[base++];
  738. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[3]=true; break; }
  739. if (dynamic_cast<const UNSET*>(&*arg)) break;
  740. try { GenericConvert( in->TrueNorth, arg, db ); break; }
  741. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcGeometricRepresentationContext to be a `IfcDirection`")); }
  742. } while(0);
  743. return base;
  744. }
  745. // -----------------------------------------------------------------------------------------------------------
  746. template <> size_t GenericFill<IfcCurveBoundedPlane>(const DB& db, const LIST& params, IfcCurveBoundedPlane* in)
  747. {
  748. size_t base = GenericFill(db,params,static_cast<IfcBoundedSurface*>(in));
  749. // this data structure is not used yet, so there is no code generated to fill its members
  750. return base;
  751. }
  752. // -----------------------------------------------------------------------------------------------------------
  753. template <> size_t GenericFill<IfcSIUnit>(const DB& db, const LIST& params, IfcSIUnit* in)
  754. {
  755. size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
  756. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcSIUnit"); } do { // convert the 'Prefix' argument
  757. std::shared_ptr<const DataType> arg = params[base++];
  758. if (dynamic_cast<const UNSET*>(&*arg)) break;
  759. try { GenericConvert( in->Prefix, arg, db ); break; }
  760. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSIUnit to be a `IfcSIPrefix`")); }
  761. } while(0);
  762. do { // convert the 'Name' argument
  763. std::shared_ptr<const DataType> arg = params[base++];
  764. try { GenericConvert( in->Name, arg, db ); break; }
  765. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSIUnit to be a `IfcSIUnitName`")); }
  766. } while(0);
  767. return base;
  768. }
  769. // -----------------------------------------------------------------------------------------------------------
  770. template <> size_t GenericFill<IfcStructuralReaction>(const DB& db, const LIST& params, IfcStructuralReaction* in)
  771. {
  772. size_t base = GenericFill(db,params,static_cast<IfcStructuralActivity*>(in));
  773. // this data structure is not used yet, so there is no code generated to fill its members
  774. return base;
  775. }
  776. // -----------------------------------------------------------------------------------------------------------
  777. template <> size_t GenericFill<IfcStructuralPointReaction>(const DB& db, const LIST& params, IfcStructuralPointReaction* in)
  778. {
  779. size_t base = GenericFill(db,params,static_cast<IfcStructuralReaction*>(in));
  780. // this data structure is not used yet, so there is no code generated to fill its members
  781. return base;
  782. }
  783. // -----------------------------------------------------------------------------------------------------------
  784. template <> size_t GenericFill<IfcAxis1Placement>(const DB& db, const LIST& params, IfcAxis1Placement* in)
  785. {
  786. size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
  787. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcAxis1Placement"); } do { // convert the 'Axis' argument
  788. std::shared_ptr<const DataType> arg = params[base++];
  789. if (dynamic_cast<const UNSET*>(&*arg)) break;
  790. try { GenericConvert( in->Axis, arg, db ); break; }
  791. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis1Placement to be a `IfcDirection`")); }
  792. } while(0);
  793. return base;
  794. }
  795. // -----------------------------------------------------------------------------------------------------------
  796. template <> size_t GenericFill<IfcElectricApplianceType>(const DB& db, const LIST& params, IfcElectricApplianceType* in)
  797. {
  798. size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  799. // this data structure is not used yet, so there is no code generated to fill its members
  800. return base;
  801. }
  802. // -----------------------------------------------------------------------------------------------------------
  803. template <> size_t GenericFill<IfcSensorType>(const DB& db, const LIST& params, IfcSensorType* in)
  804. {
  805. size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  806. // this data structure is not used yet, so there is no code generated to fill its members
  807. return base;
  808. }
  809. // -----------------------------------------------------------------------------------------------------------
  810. template <> size_t GenericFill<IfcFurnishingElement>(const DB& db, const LIST& params, IfcFurnishingElement* in)
  811. {
  812. size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  813. // this data structure is not used yet, so there is no code generated to fill its members
  814. return base;
  815. }
  816. // -----------------------------------------------------------------------------------------------------------
  817. template <> size_t GenericFill<IfcProtectiveDeviceType>(const DB& db, const LIST& params, IfcProtectiveDeviceType* in)
  818. {
  819. size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  820. // this data structure is not used yet, so there is no code generated to fill its members
  821. return base;
  822. }
  823. // -----------------------------------------------------------------------------------------------------------
  824. template <> size_t GenericFill<IfcZShapeProfileDef>(const DB& db, const LIST& params, IfcZShapeProfileDef* in)
  825. {
  826. size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  827. // this data structure is not used yet, so there is no code generated to fill its members
  828. return base;
  829. }
  830. // -----------------------------------------------------------------------------------------------------------
  831. template <> size_t GenericFill<IfcScheduleTimeControl>(const DB& db, const LIST& params, IfcScheduleTimeControl* in)
  832. {
  833. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  834. // this data structure is not used yet, so there is no code generated to fill its members
  835. return base;
  836. }
  837. // -----------------------------------------------------------------------------------------------------------
  838. template <> size_t GenericFill<IfcRepresentationMap>(const DB& db, const LIST& params, IfcRepresentationMap* in)
  839. {
  840. size_t base = 0;
  841. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcRepresentationMap"); } do { // convert the 'MappingOrigin' argument
  842. std::shared_ptr<const DataType> arg = params[base++];
  843. try { GenericConvert( in->MappingOrigin, arg, db ); break; }
  844. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentationMap to be a `IfcAxis2Placement`")); }
  845. } while(0);
  846. do { // convert the 'MappedRepresentation' argument
  847. std::shared_ptr<const DataType> arg = params[base++];
  848. try { GenericConvert( in->MappedRepresentation, arg, db ); break; }
  849. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentationMap to be a `IfcRepresentation`")); }
  850. } while(0);
  851. return base;
  852. }
  853. // -----------------------------------------------------------------------------------------------------------
  854. template <> size_t GenericFill<IfcClosedShell>(const DB& db, const LIST& params, IfcClosedShell* in)
  855. {
  856. size_t base = GenericFill(db,params,static_cast<IfcConnectedFaceSet*>(in));
  857. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcClosedShell"); } return base;
  858. }
  859. // -----------------------------------------------------------------------------------------------------------
  860. template <> size_t GenericFill<IfcBuildingElementPart>(const DB& db, const LIST& params, IfcBuildingElementPart* in)
  861. {
  862. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementComponent*>(in));
  863. // this data structure is not used yet, so there is no code generated to fill its members
  864. return base;
  865. }
  866. // -----------------------------------------------------------------------------------------------------------
  867. template <> size_t GenericFill<IfcBlock>(const DB& db, const LIST& params, IfcBlock* in)
  868. {
  869. size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  870. // this data structure is not used yet, so there is no code generated to fill its members
  871. return base;
  872. }
  873. // -----------------------------------------------------------------------------------------------------------
  874. template <> size_t GenericFill<IfcLightFixtureType>(const DB& db, const LIST& params, IfcLightFixtureType* in)
  875. {
  876. size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  877. // this data structure is not used yet, so there is no code generated to fill its members
  878. return base;
  879. }
  880. // -----------------------------------------------------------------------------------------------------------
  881. template <> size_t GenericFill<IfcOpeningElement>(const DB& db, const LIST& params, IfcOpeningElement* in)
  882. {
  883. size_t base = GenericFill(db,params,static_cast<IfcFeatureElementSubtraction*>(in));
  884. if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcOpeningElement"); } return base;
  885. }
  886. // -----------------------------------------------------------------------------------------------------------
  887. template <> size_t GenericFill<IfcLightSourceSpot>(const DB& db, const LIST& params, IfcLightSourceSpot* in)
  888. {
  889. size_t base = GenericFill(db,params,static_cast<IfcLightSourcePositional*>(in));
  890. // this data structure is not used yet, so there is no code generated to fill its members
  891. return base;
  892. }
  893. // -----------------------------------------------------------------------------------------------------------
  894. template <> size_t GenericFill<IfcTendonAnchor>(const DB& db, const LIST& params, IfcTendonAnchor* in)
  895. {
  896. size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  897. // this data structure is not used yet, so there is no code generated to fill its members
  898. return base;
  899. }
  900. // -----------------------------------------------------------------------------------------------------------
  901. template <> size_t GenericFill<IfcElectricFlowStorageDeviceType>(const DB& db, const LIST& params, IfcElectricFlowStorageDeviceType* in)
  902. {
  903. size_t base = GenericFill(db,params,static_cast<IfcFlowStorageDeviceType*>(in));
  904. // this data structure is not used yet, so there is no code generated to fill its members
  905. return base;
  906. }
  907. // -----------------------------------------------------------------------------------------------------------
  908. template <> size_t GenericFill<IfcSphere>(const DB& db, const LIST& params, IfcSphere* in)
  909. {
  910. size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  911. // this data structure is not used yet, so there is no code generated to fill its members
  912. return base;
  913. }
  914. // -----------------------------------------------------------------------------------------------------------
  915. template <> size_t GenericFill<IfcDamperType>(const DB& db, const LIST& params, IfcDamperType* in)
  916. {
  917. size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  918. // this data structure is not used yet, so there is no code generated to fill its members
  919. return base;
  920. }
  921. // -----------------------------------------------------------------------------------------------------------
  922. template <> size_t GenericFill<IfcProjectOrderRecord>(const DB& db, const LIST& params, IfcProjectOrderRecord* in)
  923. {
  924. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  925. // this data structure is not used yet, so there is no code generated to fill its members
  926. return base;
  927. }
  928. // -----------------------------------------------------------------------------------------------------------
  929. template <> size_t GenericFill<IfcDistributionChamberElement>(const DB& db, const LIST& params, IfcDistributionChamberElement* in)
  930. {
  931. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  932. // this data structure is not used yet, so there is no code generated to fill its members
  933. return base;
  934. }
  935. // -----------------------------------------------------------------------------------------------------------
  936. template <> size_t GenericFill<IfcMechanicalFastener>(const DB& db, const LIST& params, IfcMechanicalFastener* in)
  937. {
  938. size_t base = GenericFill(db,params,static_cast<IfcFastener*>(in));
  939. // this data structure is not used yet, so there is no code generated to fill its members
  940. return base;
  941. }
  942. // -----------------------------------------------------------------------------------------------------------
  943. template <> size_t GenericFill<IfcRectangularTrimmedSurface>(const DB& db, const LIST& params, IfcRectangularTrimmedSurface* in)
  944. {
  945. size_t base = GenericFill(db,params,static_cast<IfcBoundedSurface*>(in));
  946. // this data structure is not used yet, so there is no code generated to fill its members
  947. return base;
  948. }
  949. // -----------------------------------------------------------------------------------------------------------
  950. template <> size_t GenericFill<IfcZone>(const DB& db, const LIST& params, IfcZone* in)
  951. {
  952. size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  953. // this data structure is not used yet, so there is no code generated to fill its members
  954. return base;
  955. }
  956. // -----------------------------------------------------------------------------------------------------------
  957. template <> size_t GenericFill<IfcFanType>(const DB& db, const LIST& params, IfcFanType* in)
  958. {
  959. size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
  960. // this data structure is not used yet, so there is no code generated to fill its members
  961. return base;
  962. }
  963. // -----------------------------------------------------------------------------------------------------------
  964. template <> size_t GenericFill<IfcGeometricSet>(const DB& db, const LIST& params, IfcGeometricSet* in)
  965. {
  966. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  967. // this data structure is not used yet, so there is no code generated to fill its members
  968. return base;
  969. }
  970. // -----------------------------------------------------------------------------------------------------------
  971. template <> size_t GenericFill<IfcFillAreaStyleTiles>(const DB& db, const LIST& params, IfcFillAreaStyleTiles* in)
  972. {
  973. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  974. // this data structure is not used yet, so there is no code generated to fill its members
  975. return base;
  976. }
  977. // -----------------------------------------------------------------------------------------------------------
  978. template <> size_t GenericFill<IfcCableSegmentType>(const DB& db, const LIST& params, IfcCableSegmentType* in)
  979. {
  980. size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  981. // this data structure is not used yet, so there is no code generated to fill its members
  982. return base;
  983. }
  984. // -----------------------------------------------------------------------------------------------------------
  985. template <> size_t GenericFill<IfcRelOverridesProperties>(const DB& db, const LIST& params, IfcRelOverridesProperties* in)
  986. {
  987. size_t base = GenericFill(db,params,static_cast<IfcRelDefinesByProperties*>(in));
  988. // this data structure is not used yet, so there is no code generated to fill its members
  989. return base;
  990. }
  991. // -----------------------------------------------------------------------------------------------------------
  992. template <> size_t GenericFill<IfcMeasureWithUnit>(const DB& db, const LIST& params, IfcMeasureWithUnit* in)
  993. {
  994. size_t base = 0;
  995. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcMeasureWithUnit"); } do { // convert the 'ValueComponent' argument
  996. std::shared_ptr<const DataType> arg = params[base++];
  997. try { GenericConvert( in->ValueComponent, arg, db ); break; }
  998. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcMeasureWithUnit to be a `IfcValue`")); }
  999. } while(0);
  1000. do { // convert the 'UnitComponent' argument
  1001. std::shared_ptr<const DataType> arg = params[base++];
  1002. try { GenericConvert( in->UnitComponent, arg, db ); break; }
  1003. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcMeasureWithUnit to be a `IfcUnit`")); }
  1004. } while(0);
  1005. return base;
  1006. }
  1007. // -----------------------------------------------------------------------------------------------------------
  1008. template <> size_t GenericFill<IfcSlabType>(const DB& db, const LIST& params, IfcSlabType* in)
  1009. {
  1010. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1011. // this data structure is not used yet, so there is no code generated to fill its members
  1012. return base;
  1013. }
  1014. // -----------------------------------------------------------------------------------------------------------
  1015. template <> size_t GenericFill<IfcServiceLife>(const DB& db, const LIST& params, IfcServiceLife* in)
  1016. {
  1017. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1018. // this data structure is not used yet, so there is no code generated to fill its members
  1019. return base;
  1020. }
  1021. // -----------------------------------------------------------------------------------------------------------
  1022. template <> size_t GenericFill<IfcFurnitureType>(const DB& db, const LIST& params, IfcFurnitureType* in)
  1023. {
  1024. size_t base = GenericFill(db,params,static_cast<IfcFurnishingElementType*>(in));
  1025. // this data structure is not used yet, so there is no code generated to fill its members
  1026. return base;
  1027. }
  1028. // -----------------------------------------------------------------------------------------------------------
  1029. template <> size_t GenericFill<IfcCostItem>(const DB& db, const LIST& params, IfcCostItem* in)
  1030. {
  1031. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1032. // this data structure is not used yet, so there is no code generated to fill its members
  1033. return base;
  1034. }
  1035. // -----------------------------------------------------------------------------------------------------------
  1036. template <> size_t GenericFill<IfcReinforcingMesh>(const DB& db, const LIST& params, IfcReinforcingMesh* in)
  1037. {
  1038. size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  1039. // this data structure is not used yet, so there is no code generated to fill its members
  1040. return base;
  1041. }
  1042. // -----------------------------------------------------------------------------------------------------------
  1043. template <> size_t GenericFill<IfcFacetedBrepWithVoids>(const DB& db, const LIST& params, IfcFacetedBrepWithVoids* in)
  1044. {
  1045. size_t base = GenericFill(db,params,static_cast<IfcManifoldSolidBrep*>(in));
  1046. // this data structure is not used yet, so there is no code generated to fill its members
  1047. return base;
  1048. }
  1049. // -----------------------------------------------------------------------------------------------------------
  1050. template <> size_t GenericFill<IfcGasTerminalType>(const DB& db, const LIST& params, IfcGasTerminalType* in)
  1051. {
  1052. size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1053. // this data structure is not used yet, so there is no code generated to fill its members
  1054. return base;
  1055. }
  1056. // -----------------------------------------------------------------------------------------------------------
  1057. template <> size_t GenericFill<IfcPile>(const DB& db, const LIST& params, IfcPile* in)
  1058. {
  1059. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1060. // this data structure is not used yet, so there is no code generated to fill its members
  1061. return base;
  1062. }
  1063. // -----------------------------------------------------------------------------------------------------------
  1064. template <> size_t GenericFill<IfcFillAreaStyleTileSymbolWithStyle>(const DB& db, const LIST& params, IfcFillAreaStyleTileSymbolWithStyle* in)
  1065. {
  1066. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1067. // this data structure is not used yet, so there is no code generated to fill its members
  1068. return base;
  1069. }
  1070. // -----------------------------------------------------------------------------------------------------------
  1071. template <> size_t GenericFill<IfcConstructionMaterialResource>(const DB& db, const LIST& params, IfcConstructionMaterialResource* in)
  1072. {
  1073. size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1074. // this data structure is not used yet, so there is no code generated to fill its members
  1075. return base;
  1076. }
  1077. // -----------------------------------------------------------------------------------------------------------
  1078. template <> size_t GenericFill<IfcAnnotationCurveOccurrence>(const DB& db, const LIST& params, IfcAnnotationCurveOccurrence* in)
  1079. {
  1080. size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1081. // this data structure is not used yet, so there is no code generated to fill its members
  1082. return base;
  1083. }
  1084. // -----------------------------------------------------------------------------------------------------------
  1085. template <> size_t GenericFill<IfcDimensionCurve>(const DB& db, const LIST& params, IfcDimensionCurve* in)
  1086. {
  1087. size_t base = GenericFill(db,params,static_cast<IfcAnnotationCurveOccurrence*>(in));
  1088. // this data structure is not used yet, so there is no code generated to fill its members
  1089. return base;
  1090. }
  1091. // -----------------------------------------------------------------------------------------------------------
  1092. template <> size_t GenericFill<IfcGeometricCurveSet>(const DB& db, const LIST& params, IfcGeometricCurveSet* in)
  1093. {
  1094. size_t base = GenericFill(db,params,static_cast<IfcGeometricSet*>(in));
  1095. // this data structure is not used yet, so there is no code generated to fill its members
  1096. return base;
  1097. }
  1098. // -----------------------------------------------------------------------------------------------------------
  1099. template <> size_t GenericFill<IfcRelAggregates>(const DB& db, const LIST& params, IfcRelAggregates* in)
  1100. {
  1101. size_t base = GenericFill(db,params,static_cast<IfcRelDecomposes*>(in));
  1102. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelAggregates"); } return base;
  1103. }
  1104. // -----------------------------------------------------------------------------------------------------------
  1105. template <> size_t GenericFill<IfcFaceBasedSurfaceModel>(const DB& db, const LIST& params, IfcFaceBasedSurfaceModel* in)
  1106. {
  1107. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1108. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcFaceBasedSurfaceModel"); } do { // convert the 'FbsmFaces' argument
  1109. std::shared_ptr<const DataType> arg = params[base++];
  1110. try { GenericConvert( in->FbsmFaces, arg, db ); break; }
  1111. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFaceBasedSurfaceModel to be a `SET [1:?] OF IfcConnectedFaceSet`")); }
  1112. } while(0);
  1113. return base;
  1114. }
  1115. // -----------------------------------------------------------------------------------------------------------
  1116. template <> size_t GenericFill<IfcEnergyConversionDevice>(const DB& db, const LIST& params, IfcEnergyConversionDevice* in)
  1117. {
  1118. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1119. // this data structure is not used yet, so there is no code generated to fill its members
  1120. return base;
  1121. }
  1122. // -----------------------------------------------------------------------------------------------------------
  1123. template <> size_t GenericFill<IfcRampFlight>(const DB& db, const LIST& params, IfcRampFlight* in)
  1124. {
  1125. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1126. // this data structure is not used yet, so there is no code generated to fill its members
  1127. return base;
  1128. }
  1129. // -----------------------------------------------------------------------------------------------------------
  1130. template <> size_t GenericFill<IfcVertexLoop>(const DB& db, const LIST& params, IfcVertexLoop* in)
  1131. {
  1132. size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
  1133. // this data structure is not used yet, so there is no code generated to fill its members
  1134. return base;
  1135. }
  1136. // -----------------------------------------------------------------------------------------------------------
  1137. template <> size_t GenericFill<IfcPlate>(const DB& db, const LIST& params, IfcPlate* in)
  1138. {
  1139. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1140. // this data structure is not used yet, so there is no code generated to fill its members
  1141. return base;
  1142. }
  1143. // -----------------------------------------------------------------------------------------------------------
  1144. template <> size_t GenericFill<IfcUShapeProfileDef>(const DB& db, const LIST& params, IfcUShapeProfileDef* in)
  1145. {
  1146. size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1147. // this data structure is not used yet, so there is no code generated to fill its members
  1148. return base;
  1149. }
  1150. // -----------------------------------------------------------------------------------------------------------
  1151. template <> size_t GenericFill<IfcFaceBound>(const DB& db, const LIST& params, IfcFaceBound* in)
  1152. {
  1153. size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1154. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcFaceBound"); } do { // convert the 'Bound' argument
  1155. std::shared_ptr<const DataType> arg = params[base++];
  1156. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFaceBound,2>::aux_is_derived[0]=true; break; }
  1157. try { GenericConvert( in->Bound, arg, db ); break; }
  1158. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFaceBound to be a `IfcLoop`")); }
  1159. } while(0);
  1160. do { // convert the 'Orientation' argument
  1161. std::shared_ptr<const DataType> arg = params[base++];
  1162. if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFaceBound,2>::aux_is_derived[1]=true; break; }
  1163. try { GenericConvert( in->Orientation, arg, db ); break; }
  1164. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcFaceBound to be a `BOOLEAN`")); }
  1165. } while(0);
  1166. return base;
  1167. }
  1168. // -----------------------------------------------------------------------------------------------------------
  1169. template <> size_t GenericFill<IfcFaceOuterBound>(const DB& db, const LIST& params, IfcFaceOuterBound* in)
  1170. {
  1171. size_t base = GenericFill(db,params,static_cast<IfcFaceBound*>(in));
  1172. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcFaceOuterBound"); } return base;
  1173. }
  1174. // -----------------------------------------------------------------------------------------------------------
  1175. template <> size_t GenericFill<IfcOneDirectionRepeatFactor>(const DB& db, const LIST& params, IfcOneDirectionRepeatFactor* in)
  1176. {
  1177. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1178. // this data structure is not used yet, so there is no code generated to fill its members
  1179. return base;
  1180. }
  1181. // -----------------------------------------------------------------------------------------------------------
  1182. template <> size_t GenericFill<IfcBoilerType>(const DB& db, const LIST& params, IfcBoilerType* in)
  1183. {
  1184. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1185. // this data structure is not used yet, so there is no code generated to fill its members
  1186. return base;
  1187. }
  1188. // -----------------------------------------------------------------------------------------------------------
  1189. template <> size_t GenericFill<IfcConstructionEquipmentResource>(const DB& db, const LIST& params, IfcConstructionEquipmentResource* in)
  1190. {
  1191. size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1192. // this data structure is not used yet, so there is no code generated to fill its members
  1193. return base;
  1194. }
  1195. // -----------------------------------------------------------------------------------------------------------
  1196. template <> size_t GenericFill<IfcComplexProperty>(const DB& db, const LIST& params, IfcComplexProperty* in)
  1197. {
  1198. size_t base = GenericFill(db,params,static_cast<IfcProperty*>(in));
  1199. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcComplexProperty"); } do { // convert the 'UsageName' argument
  1200. std::shared_ptr<const DataType> arg = params[base++];
  1201. try { GenericConvert( in->UsageName, arg, db ); break; }
  1202. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcComplexProperty to be a `IfcIdentifier`")); }
  1203. } while(0);
  1204. do { // convert the 'HasProperties' argument
  1205. std::shared_ptr<const DataType> arg = params[base++];
  1206. try { GenericConvert( in->HasProperties, arg, db ); break; }
  1207. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcComplexProperty to be a `SET [1:?] OF IfcProperty`")); }
  1208. } while(0);
  1209. return base;
  1210. }
  1211. // -----------------------------------------------------------------------------------------------------------
  1212. template <> size_t GenericFill<IfcFooting>(const DB& db, const LIST& params, IfcFooting* in)
  1213. {
  1214. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1215. // this data structure is not used yet, so there is no code generated to fill its members
  1216. return base;
  1217. }
  1218. // -----------------------------------------------------------------------------------------------------------
  1219. template <> size_t GenericFill<IfcConstructionProductResource>(const DB& db, const LIST& params, IfcConstructionProductResource* in)
  1220. {
  1221. size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1222. // this data structure is not used yet, so there is no code generated to fill its members
  1223. return base;
  1224. }
  1225. // -----------------------------------------------------------------------------------------------------------
  1226. template <> size_t GenericFill<IfcDerivedProfileDef>(const DB& db, const LIST& params, IfcDerivedProfileDef* in)
  1227. {
  1228. size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
  1229. // this data structure is not used yet, so there is no code generated to fill its members
  1230. return base;
  1231. }
  1232. // -----------------------------------------------------------------------------------------------------------
  1233. template <> size_t GenericFill<IfcPropertyTableValue>(const DB& db, const LIST& params, IfcPropertyTableValue* in)
  1234. {
  1235. size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1236. // this data structure is not used yet, so there is no code generated to fill its members
  1237. return base;
  1238. }
  1239. // -----------------------------------------------------------------------------------------------------------
  1240. template <> size_t GenericFill<IfcFlowMeterType>(const DB& db, const LIST& params, IfcFlowMeterType* in)
  1241. {
  1242. size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1243. // this data structure is not used yet, so there is no code generated to fill its members
  1244. return base;
  1245. }
  1246. // -----------------------------------------------------------------------------------------------------------
  1247. template <> size_t GenericFill<IfcDoorStyle>(const DB& db, const LIST& params, IfcDoorStyle* in)
  1248. {
  1249. size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
  1250. // this data structure is not used yet, so there is no code generated to fill its members
  1251. return base;
  1252. }
  1253. // -----------------------------------------------------------------------------------------------------------
  1254. template <> size_t GenericFill<IfcUnitAssignment>(const DB& db, const LIST& params, IfcUnitAssignment* in)
  1255. {
  1256. size_t base = 0;
  1257. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcUnitAssignment"); } do { // convert the 'Units' argument
  1258. std::shared_ptr<const DataType> arg = params[base++];
  1259. try { GenericConvert( in->Units, arg, db ); break; }
  1260. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcUnitAssignment to be a `SET [1:?] OF IfcUnit`")); }
  1261. } while(0);
  1262. return base;
  1263. }
  1264. // -----------------------------------------------------------------------------------------------------------
  1265. template <> size_t GenericFill<IfcFlowTerminal>(const DB& db, const LIST& params, IfcFlowTerminal* in)
  1266. {
  1267. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1268. // this data structure is not used yet, so there is no code generated to fill its members
  1269. return base;
  1270. }
  1271. // -----------------------------------------------------------------------------------------------------------
  1272. template <> size_t GenericFill<IfcCraneRailFShapeProfileDef>(const DB& db, const LIST& params, IfcCraneRailFShapeProfileDef* in)
  1273. {
  1274. size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1275. // this data structure is not used yet, so there is no code generated to fill its members
  1276. return base;
  1277. }
  1278. // -----------------------------------------------------------------------------------------------------------
  1279. template <> size_t GenericFill<IfcFlowSegment>(const DB& db, const LIST& params, IfcFlowSegment* in)
  1280. {
  1281. size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1282. // this data structure is not used yet, so there is no code generated to fill its members
  1283. return base;
  1284. }
  1285. // -----------------------------------------------------------------------------------------------------------
  1286. template <> size_t GenericFill<IfcElementQuantity>(const DB& db, const LIST& params, IfcElementQuantity* in)
  1287. {
  1288. size_t base = GenericFill(db,params,static_cast<IfcPropertySetDefinition*>(in));
  1289. if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcElementQuantity"); } do { // convert the 'MethodOfMeasurement' argument
  1290. std::shared_ptr<const DataType> arg = params[base++];
  1291. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1292. try { GenericConvert( in->MethodOfMeasurement, arg, db ); break; }
  1293. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcElementQuantity to be a `IfcLabel`")); }
  1294. } while(0);
  1295. do { // convert the 'Quantities' argument
  1296. std::shared_ptr<const DataType> arg = params[base++];
  1297. try { GenericConvert( in->Quantities, arg, db ); break; }
  1298. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcElementQuantity to be a `SET [1:?] OF IfcPhysicalQuantity`")); }
  1299. } while(0);
  1300. return base;
  1301. }
  1302. // -----------------------------------------------------------------------------------------------------------
  1303. template <> size_t GenericFill<IfcCurtainWall>(const DB& db, const LIST& params, IfcCurtainWall* in)
  1304. {
  1305. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1306. // this data structure is not used yet, so there is no code generated to fill its members
  1307. return base;
  1308. }
  1309. // -----------------------------------------------------------------------------------------------------------
  1310. template <> size_t GenericFill<IfcDiscreteAccessory>(const DB& db, const LIST& params, IfcDiscreteAccessory* in)
  1311. {
  1312. size_t base = GenericFill(db,params,static_cast<IfcElementComponent*>(in));
  1313. // this data structure is not used yet, so there is no code generated to fill its members
  1314. return base;
  1315. }
  1316. // -----------------------------------------------------------------------------------------------------------
  1317. template <> size_t GenericFill<IfcGrid>(const DB& db, const LIST& params, IfcGrid* in)
  1318. {
  1319. size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1320. // this data structure is not used yet, so there is no code generated to fill its members
  1321. return base;
  1322. }
  1323. // -----------------------------------------------------------------------------------------------------------
  1324. template <> size_t GenericFill<IfcSanitaryTerminalType>(const DB& db, const LIST& params, IfcSanitaryTerminalType* in)
  1325. {
  1326. size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1327. // this data structure is not used yet, so there is no code generated to fill its members
  1328. return base;
  1329. }
  1330. // -----------------------------------------------------------------------------------------------------------
  1331. template <> size_t GenericFill<IfcSubedge>(const DB& db, const LIST& params, IfcSubedge* in)
  1332. {
  1333. size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
  1334. // this data structure is not used yet, so there is no code generated to fill its members
  1335. return base;
  1336. }
  1337. // -----------------------------------------------------------------------------------------------------------
  1338. template <> size_t GenericFill<IfcFilterType>(const DB& db, const LIST& params, IfcFilterType* in)
  1339. {
  1340. size_t base = GenericFill(db,params,static_cast<IfcFlowTreatmentDeviceType*>(in));
  1341. // this data structure is not used yet, so there is no code generated to fill its members
  1342. return base;
  1343. }
  1344. // -----------------------------------------------------------------------------------------------------------
  1345. template <> size_t GenericFill<IfcTendon>(const DB& db, const LIST& params, IfcTendon* in)
  1346. {
  1347. size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  1348. // this data structure is not used yet, so there is no code generated to fill its members
  1349. return base;
  1350. }
  1351. // -----------------------------------------------------------------------------------------------------------
  1352. template <> size_t GenericFill<IfcStructuralLoadGroup>(const DB& db, const LIST& params, IfcStructuralLoadGroup* in)
  1353. {
  1354. size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1355. // this data structure is not used yet, so there is no code generated to fill its members
  1356. return base;
  1357. }
  1358. // -----------------------------------------------------------------------------------------------------------
  1359. template <> size_t GenericFill<IfcPresentationStyleAssignment>(const DB& db, const LIST& params, IfcPresentationStyleAssignment* in)
  1360. {
  1361. size_t base = 0;
  1362. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPresentationStyleAssignment"); } do { // convert the 'Styles' argument
  1363. std::shared_ptr<const DataType> arg = params[base++];
  1364. try { GenericConvert( in->Styles, arg, db ); break; }
  1365. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPresentationStyleAssignment to be a `SET [1:?] OF IfcPresentationStyleSelect`")); }
  1366. } while(0);
  1367. return base;
  1368. }
  1369. // -----------------------------------------------------------------------------------------------------------
  1370. template <> size_t GenericFill<IfcStructuralCurveMember>(const DB& db, const LIST& params, IfcStructuralCurveMember* in)
  1371. {
  1372. size_t base = GenericFill(db,params,static_cast<IfcStructuralMember*>(in));
  1373. // this data structure is not used yet, so there is no code generated to fill its members
  1374. return base;
  1375. }
  1376. // -----------------------------------------------------------------------------------------------------------
  1377. template <> size_t GenericFill<IfcLightSourceAmbient>(const DB& db, const LIST& params, IfcLightSourceAmbient* in)
  1378. {
  1379. size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
  1380. // this data structure is not used yet, so there is no code generated to fill its members
  1381. return base;
  1382. }
  1383. // -----------------------------------------------------------------------------------------------------------
  1384. template <> size_t GenericFill<IfcCondition>(const DB& db, const LIST& params, IfcCondition* in)
  1385. {
  1386. size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1387. // this data structure is not used yet, so there is no code generated to fill its members
  1388. return base;
  1389. }
  1390. // -----------------------------------------------------------------------------------------------------------
  1391. template <> size_t GenericFill<IfcPort>(const DB& db, const LIST& params, IfcPort* in)
  1392. {
  1393. size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1394. // this data structure is not used yet, so there is no code generated to fill its members
  1395. return base;
  1396. }
  1397. // -----------------------------------------------------------------------------------------------------------
  1398. template <> size_t GenericFill<IfcSpace>(const DB& db, const LIST& params, IfcSpace* in)
  1399. {
  1400. size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  1401. if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to IfcSpace"); } do { // convert the 'InteriorOrExteriorSpace' argument
  1402. std::shared_ptr<const DataType> arg = params[base++];
  1403. try { GenericConvert( in->InteriorOrExteriorSpace, arg, db ); break; }
  1404. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcSpace to be a `IfcInternalOrExternalEnum`")); }
  1405. } while(0);
  1406. do { // convert the 'ElevationWithFlooring' argument
  1407. std::shared_ptr<const DataType> arg = params[base++];
  1408. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1409. try { GenericConvert( in->ElevationWithFlooring, arg, db ); break; }
  1410. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcSpace to be a `IfcLengthMeasure`")); }
  1411. } while(0);
  1412. return base;
  1413. }
  1414. // -----------------------------------------------------------------------------------------------------------
  1415. template <> size_t GenericFill<IfcHeatExchangerType>(const DB& db, const LIST& params, IfcHeatExchangerType* in)
  1416. {
  1417. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1418. // this data structure is not used yet, so there is no code generated to fill its members
  1419. return base;
  1420. }
  1421. // -----------------------------------------------------------------------------------------------------------
  1422. template <> size_t GenericFill<IfcTankType>(const DB& db, const LIST& params, IfcTankType* in)
  1423. {
  1424. size_t base = GenericFill(db,params,static_cast<IfcFlowStorageDeviceType*>(in));
  1425. // this data structure is not used yet, so there is no code generated to fill its members
  1426. return base;
  1427. }
  1428. // -----------------------------------------------------------------------------------------------------------
  1429. template <> size_t GenericFill<IfcInventory>(const DB& db, const LIST& params, IfcInventory* in)
  1430. {
  1431. size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1432. // this data structure is not used yet, so there is no code generated to fill its members
  1433. return base;
  1434. }
  1435. // -----------------------------------------------------------------------------------------------------------
  1436. template <> size_t GenericFill<IfcTransportElementType>(const DB& db, const LIST& params, IfcTransportElementType* in)
  1437. {
  1438. size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1439. // this data structure is not used yet, so there is no code generated to fill its members
  1440. return base;
  1441. }
  1442. // -----------------------------------------------------------------------------------------------------------
  1443. template <> size_t GenericFill<IfcAirToAirHeatRecoveryType>(const DB& db, const LIST& params, IfcAirToAirHeatRecoveryType* in)
  1444. {
  1445. size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1446. // this data structure is not used yet, so there is no code generated to fill its members
  1447. return base;
  1448. }
  1449. // -----------------------------------------------------------------------------------------------------------
  1450. template <> size_t GenericFill<IfcStairFlight>(const DB& db, const LIST& params, IfcStairFlight* in)
  1451. {
  1452. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1453. // this data structure is not used yet, so there is no code generated to fill its members
  1454. return base;
  1455. }
  1456. // -----------------------------------------------------------------------------------------------------------
  1457. template <> size_t GenericFill<IfcElectricalElement>(const DB& db, const LIST& params, IfcElectricalElement* in)
  1458. {
  1459. size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1460. // this data structure is not used yet, so there is no code generated to fill its members
  1461. return base;
  1462. }
  1463. // -----------------------------------------------------------------------------------------------------------
  1464. template <> size_t GenericFill<IfcSurfaceStyleWithTextures>(const DB& db, const LIST& params, IfcSurfaceStyleWithTextures* in)
  1465. {
  1466. size_t base = 0;
  1467. if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcSurfaceStyleWithTextures"); } do { // convert the 'Textures' argument
  1468. std::shared_ptr<const DataType> arg = params[base++];
  1469. try { GenericConvert( in->Textures, arg, db ); break; }
  1470. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSurfaceStyleWithTextures to be a `LIST [1:?] OF IfcSurfaceTexture`")); }
  1471. } while(0);
  1472. return base;
  1473. }
  1474. // -----------------------------------------------------------------------------------------------------------
  1475. template <> size_t GenericFill<IfcBoundingBox>(const DB& db, const LIST& params, IfcBoundingBox* in)
  1476. {
  1477. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1478. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcBoundingBox"); } do { // convert the 'Corner' argument
  1479. std::shared_ptr<const DataType> arg = params[base++];
  1480. try { GenericConvert( in->Corner, arg, db ); break; }
  1481. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBoundingBox to be a `IfcCartesianPoint`")); }
  1482. } while(0);
  1483. do { // convert the 'XDim' argument
  1484. std::shared_ptr<const DataType> arg = params[base++];
  1485. try { GenericConvert( in->XDim, arg, db ); break; }
  1486. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
  1487. } while(0);
  1488. do { // convert the 'YDim' argument
  1489. std::shared_ptr<const DataType> arg = params[base++];
  1490. try { GenericConvert( in->YDim, arg, db ); break; }
  1491. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
  1492. } while(0);
  1493. do { // convert the 'ZDim' argument
  1494. std::shared_ptr<const DataType> arg = params[base++];
  1495. try { GenericConvert( in->ZDim, arg, db ); break; }
  1496. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
  1497. } while(0);
  1498. return base;
  1499. }
  1500. // -----------------------------------------------------------------------------------------------------------
  1501. template <> size_t GenericFill<IfcWallType>(const DB& db, const LIST& params, IfcWallType* in)
  1502. {
  1503. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1504. // this data structure is not used yet, so there is no code generated to fill its members
  1505. return base;
  1506. }
  1507. // -----------------------------------------------------------------------------------------------------------
  1508. template <> size_t GenericFill<IfcMove>(const DB& db, const LIST& params, IfcMove* in)
  1509. {
  1510. size_t base = GenericFill(db,params,static_cast<IfcTask*>(in));
  1511. // this data structure is not used yet, so there is no code generated to fill its members
  1512. return base;
  1513. }
  1514. // -----------------------------------------------------------------------------------------------------------
  1515. template <> size_t GenericFill<IfcCircle>(const DB& db, const LIST& params, IfcCircle* in)
  1516. {
  1517. size_t base = GenericFill(db,params,static_cast<IfcConic*>(in));
  1518. if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcCircle"); } do { // convert the 'Radius' argument
  1519. std::shared_ptr<const DataType> arg = params[base++];
  1520. try { GenericConvert( in->Radius, arg, db ); break; }
  1521. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCircle to be a `IfcPositiveLengthMeasure`")); }
  1522. } while(0);
  1523. return base;
  1524. }
  1525. // -----------------------------------------------------------------------------------------------------------
  1526. template <> size_t GenericFill<IfcOffsetCurve2D>(const DB& db, const LIST& params, IfcOffsetCurve2D* in)
  1527. {
  1528. size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
  1529. // this data structure is not used yet, so there is no code generated to fill its members
  1530. return base;
  1531. }
  1532. // -----------------------------------------------------------------------------------------------------------
  1533. template <> size_t GenericFill<IfcPointOnCurve>(const DB& db, const LIST& params, IfcPointOnCurve* in)
  1534. {
  1535. size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
  1536. // this data structure is not used yet, so there is no code generated to fill its members
  1537. return base;
  1538. }
  1539. // -----------------------------------------------------------------------------------------------------------
  1540. template <> size_t GenericFill<IfcStructuralResultGroup>(const DB& db, const LIST& params, IfcStructuralResultGroup* in)
  1541. {
  1542. size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1543. // this data structure is not used yet, so there is no code generated to fill its members
  1544. return base;
  1545. }
  1546. // -----------------------------------------------------------------------------------------------------------
  1547. template <> size_t GenericFill<IfcSectionedSpine>(const DB& db, const LIST& params, IfcSectionedSpine* in)
  1548. {
  1549. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1550. // this data structure is not used yet, so there is no code generated to fill its members
  1551. return base;
  1552. }
  1553. // -----------------------------------------------------------------------------------------------------------
  1554. template <> size_t GenericFill<IfcSlab>(const DB& db, const LIST& params, IfcSlab* in)
  1555. {
  1556. size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1557. // this data structure is not used yet, so there is no code generated to fill its members
  1558. return base;
  1559. }
  1560. // -----------------------------------------------------------------------------------------------------------
  1561. template <> size_t GenericFill<IfcVertex>(const DB& db, const LIST& params, IfcVertex* in)
  1562. {
  1563. size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1564. // this data structure is not used yet, so there is no code generated to fill its members
  1565. return base;
  1566. }
  1567. // -----------------------------------------------------------------------------------------------------------
  1568. template <> size_t GenericFill<IfcVertexPoint>(const DB& db, const LIST& params, IfcVertexPoint* in)
  1569. {
  1570. size_t base = GenericFill(db,params,static_cast<IfcVertex*>(in));
  1571. // this data structure is not used yet, so there is no code generated to fill its members
  1572. return base;
  1573. }
  1574. // -----------------------------------------------------------------------------------------------------------
  1575. template <> size_t GenericFill<IfcStructuralLinearAction>(const DB& db, const LIST& params, IfcStructuralLinearAction* in)
  1576. {
  1577. size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
  1578. // this data structure is not used yet, so there is no code generated to fill its members
  1579. return base;
  1580. }
  1581. // -----------------------------------------------------------------------------------------------------------
  1582. template <> size_t GenericFill<IfcStructuralLinearActionVarying>(const DB& db, const LIST& params, IfcStructuralLinearActionVarying* in)
  1583. {
  1584. size_t base = GenericFill(db,params,static_cast<IfcStructuralLinearAction*>(in));
  1585. // this data structure is not used yet, so there is no code generated to fill its members
  1586. return base;
  1587. }
  1588. // -----------------------------------------------------------------------------------------------------------
  1589. template <> size_t GenericFill<IfcBuildingElementProxyType>(const DB& db, const LIST& params, IfcBuildingElementProxyType* in)
  1590. {
  1591. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1592. // this data structure is not used yet, so there is no code generated to fill its members
  1593. return base;
  1594. }
  1595. // -----------------------------------------------------------------------------------------------------------
  1596. template <> size_t GenericFill<IfcProjectionElement>(const DB& db, const LIST& params, IfcProjectionElement* in)
  1597. {
  1598. size_t base = GenericFill(db,params,static_cast<IfcFeatureElementAddition*>(in));
  1599. // this data structure is not used yet, so there is no code generated to fill its members
  1600. return base;
  1601. }
  1602. // -----------------------------------------------------------------------------------------------------------
  1603. template <> size_t GenericFill<IfcConversionBasedUnit>(const DB& db, const LIST& params, IfcConversionBasedUnit* in)
  1604. {
  1605. size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
  1606. if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcConversionBasedUnit"); } do { // convert the 'Name' argument
  1607. std::shared_ptr<const DataType> arg = params[base++];
  1608. try { GenericConvert( in->Name, arg, db ); break; }
  1609. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcConversionBasedUnit to be a `IfcLabel`")); }
  1610. } while(0);
  1611. do { // convert the 'ConversionFactor' argument
  1612. std::shared_ptr<const DataType> arg = params[base++];
  1613. try { GenericConvert( in->ConversionFactor, arg, db ); break; }
  1614. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcConversionBasedUnit to be a `IfcMeasureWithUnit`")); }
  1615. } while(0);
  1616. return base;
  1617. }
  1618. // -----------------------------------------------------------------------------------------------------------
  1619. template <> size_t GenericFill<IfcGeometricRepresentationSubContext>(const DB& db, const LIST& params, IfcGeometricRepresentationSubContext* in)
  1620. {
  1621. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationContext*>(in));
  1622. // this data structure is not used yet, so there is no code generated to fill its members
  1623. return base;
  1624. }
  1625. // -----------------------------------------------------------------------------------------------------------
  1626. template <> size_t GenericFill<IfcAnnotationSurfaceOccurrence>(const DB& db, const LIST& params, IfcAnnotationSurfaceOccurrence* in)
  1627. {
  1628. size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1629. // this data structure is not used yet, so there is no code generated to fill its members
  1630. return base;
  1631. }
  1632. // -----------------------------------------------------------------------------------------------------------
  1633. template <> size_t GenericFill<IfcRoundedEdgeFeature>(const DB& db, const LIST& params, IfcRoundedEdgeFeature* in)
  1634. {
  1635. size_t base = GenericFill(db,params,static_cast<IfcEdgeFeature*>(in));
  1636. // this data structure is not used yet, so there is no code generated to fill its members
  1637. return base;
  1638. }
  1639. // -----------------------------------------------------------------------------------------------------------
  1640. template <> size_t GenericFill<IfcElectricDistributionPoint>(const DB& db, const LIST& params, IfcElectricDistributionPoint* in)
  1641. {
  1642. size_t base = GenericFill(db,params,static_cast<IfcFlowController*>(in));
  1643. // this data structure is not used yet, so there is no code generated to fill its members
  1644. return base;
  1645. }
  1646. // -----------------------------------------------------------------------------------------------------------
  1647. template <> size_t GenericFill<IfcCableCarrierSegmentType>(const DB& db, const LIST& params, IfcCableCarrierSegmentType* in)
  1648. {
  1649. size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  1650. // this data structure is not used yet, so there is no code generated to fill its members
  1651. return base;
  1652. }
  1653. // -----------------------------------------------------------------------------------------------------------
  1654. template <> size_t GenericFill<IfcWallStandardCase>(const DB& db, const LIST& params, IfcWallStandardCase* in)
  1655. {
  1656. size_t base = GenericFill(db,params,static_cast<IfcWall*>(in));
  1657. // this data structure is not used yet, so there is no code generated to fill its members
  1658. return base;
  1659. }
  1660. // -----------------------------------------------------------------------------------------------------------
  1661. template <> size_t GenericFill<IfcCsgSolid>(const DB& db, const LIST& params, IfcCsgSolid* in)
  1662. {
  1663. size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
  1664. // this data structure is not used yet, so there is no code generated to fill its members
  1665. return base;
  1666. }
  1667. // -----------------------------------------------------------------------------------------------------------
  1668. template <> size_t GenericFill<IfcBeamType>(const DB& db, const LIST& params, IfcBeamType* in)
  1669. {
  1670. size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1671. // this data structure is not used yet, so there is no code generated to fill its members
  1672. return base;
  1673. }
  1674. // -----------------------------------------------------------------------------------------------------------
  1675. template <> size_t GenericFill<IfcAnnotationFillArea>(const DB& db, const LIST& params, IfcAnnotationFillArea* in)
  1676. {
  1677. size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1678. // this data structure is not used yet, so there is no code generated to fill its members
  1679. return base;
  1680. }
  1681. // -----------------------------------------------------------------------------------------------------------
  1682. template <> size_t GenericFill<IfcStructuralCurveMemberVarying>(const DB& db, const LIST& params, IfcStructuralCurveMemberVarying* in)
  1683. {
  1684. size_t base = GenericFill(db,params,static_cast<IfcStructuralCurveMember*>(in));
  1685. // this data structure is not used yet, so there is no code generated to fill its members
  1686. return base;
  1687. }
  1688. // -----------------------------------------------------------------------------------------------------------
  1689. template <> size_t GenericFill<IfcPointOnSurface>(const DB& db, const LIST& params, IfcPointOnSurface* in)
  1690. {
  1691. size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
  1692. // this data structure is not used yet, so there is no code generated to fill its members
  1693. return base;
  1694. }
  1695. // -----------------------------------------------------------------------------------------------------------
  1696. template <> size_t GenericFill<IfcOrderAction>(const DB& db, const LIST& params, IfcOrderAction* in)
  1697. {
  1698. size_t base = GenericFill(db,params,static_cast<IfcTask*>(in));
  1699. // this data structure is not used yet, so there is no code generated to fill its members
  1700. return base;
  1701. }
  1702. // -----------------------------------------------------------------------------------------------------------
  1703. template <> size_t GenericFill<IfcEdgeLoop>(const DB& db, const LIST& params, IfcEdgeLoop* in)
  1704. {
  1705. size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
  1706. // this data structure is not used yet, so there is no code generated to fill its members
  1707. return base;
  1708. }
  1709. // -----------------------------------------------------------------------------------------------------------
  1710. template <> size_t GenericFill<IfcAnnotationFillAreaOccurrence>(const DB& db, const LIST& params, IfcAnnotationFillAreaOccurrence* in)
  1711. {
  1712. size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1713. // this data structure is not used yet, so there is no code generated to fill its members
  1714. return base;
  1715. }
  1716. // -----------------------------------------------------------------------------------------------------------
  1717. template <> size_t GenericFill<IfcWorkPlan>(const DB& db, const LIST& params, IfcWorkPlan* in)
  1718. {
  1719. size_t base = GenericFill(db,params,static_cast<IfcWorkControl*>(in));
  1720. // this data structure is not used yet, so there is no code generated to fill its members
  1721. return base;
  1722. }
  1723. // -----------------------------------------------------------------------------------------------------------
  1724. template <> size_t GenericFill<IfcEllipse>(const DB& db, const LIST& params, IfcEllipse* in)
  1725. {
  1726. size_t base = GenericFill(db,params,static_cast<IfcConic*>(in));
  1727. if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcEllipse"); } do { // convert the 'SemiAxis1' argument
  1728. std::shared_ptr<const DataType> arg = params[base++];
  1729. try { GenericConvert( in->SemiAxis1, arg, db ); break; }
  1730. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcEllipse to be a `IfcPositiveLengthMeasure`")); }
  1731. } while(0);
  1732. do { // convert the 'SemiAxis2' argument
  1733. std::shared_ptr<const DataType> arg = params[base++];
  1734. try { GenericConvert( in->SemiAxis2, arg, db ); break; }
  1735. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcEllipse to be a `IfcPositiveLengthMeasure`")); }
  1736. } while(0);
  1737. return base;
  1738. }
  1739. // -----------------------------------------------------------------------------------------------------------
  1740. template <> size_t GenericFill<IfcProductDefinitionShape>(const DB& db, const LIST& params, IfcProductDefinitionShape* in)
  1741. {
  1742. size_t base = GenericFill(db,params,static_cast<IfcProductRepresentation*>(in));
  1743. // this data structure is not used yet, so there is no code generated to fill its members
  1744. return base;
  1745. }
  1746. // -----------------------------------------------------------------------------------------------------------
  1747. template <> size_t GenericFill<IfcProjectionCurve>(const DB& db, const LIST& params, IfcProjectionCurve* in)
  1748. {
  1749. size_t base = GenericFill(db,params,static_cast<IfcAnnotationCurveOccurrence*>(in));
  1750. // this data structure is not used yet, so there is no code generated to fill its members
  1751. return base;
  1752. }
  1753. // -----------------------------------------------------------------------------------------------------------
  1754. template <> size_t GenericFill<IfcElectricalCircuit>(const DB& db, const LIST& params, IfcElectricalCircuit* in)
  1755. {
  1756. size_t base = GenericFill(db,params,static_cast<IfcSystem*>(in));
  1757. // this data structure is not used yet, so there is no code generated to fill its members
  1758. return base;
  1759. }
  1760. // -----------------------------------------------------------------------------------------------------------
  1761. template <> size_t GenericFill<IfcRationalBezierCurve>(const DB& db, const LIST& params, IfcRationalBezierCurve* in)
  1762. {
  1763. size_t base = GenericFill(db,params,static_cast<IfcBezierCurve*>(in));
  1764. // this data structure is not used yet, so there is no code generated to fill its members
  1765. return base;
  1766. }
  1767. // -----------------------------------------------------------------------------------------------------------
  1768. template <> size_t GenericFill<IfcStructuralPointAction>(const DB& db, const LIST& params, IfcStructuralPointAction* in)
  1769. {
  1770. size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
  1771. // this data structure is not used yet, so there is no code generated to fill its members
  1772. return base;
  1773. }
  1774. // -----------------------------------------------------------------------------------------------------------
  1775. template <> size_t GenericFill<IfcPipeSegmentType>(const DB& db, const LIST& params, IfcPipeSegmentType* in)
  1776. {
  1777. size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  1778. // this data structure is not used yet, so there is no code generated to fill its members
  1779. return base;
  1780. }
  1781. // -----------------------------------------------------------------------------------------------------------
  1782. template <> size_t GenericFill<IfcTwoDirectionRepeatFactor>(const DB& db, const LIST& params, IfcTwoDirectionRepeatFactor* in)
  1783. {
  1784. size_t base = GenericFill(db,params,static_cast<IfcOneDirectionRepeatFactor*>(in));
  1785. // this data structure is not used yet, so there is no code generated to fill its members
  1786. return base;
  1787. }
  1788. // -----------------------------------------------------------------------------------------------------------
  1789. template <> size_t GenericFill<IfcShapeRepresentation>(const DB& db, const LIST& params, IfcShapeRepresentation* in)
  1790. {
  1791. size_t base = GenericFill(db,params,static_cast<IfcShapeModel*>(in));
  1792. // this data structure is not used yet, so there is no code generated to fill its members
  1793. return base;
  1794. }
  1795. // -----------------------------------------------------------------------------------------------------------
  1796. template <> size_t GenericFill<IfcPropertySet>(const DB& db, const LIST& params, IfcPropertySet* in)
  1797. {
  1798. size_t base = GenericFill(db,params,static_cast<IfcPropertySetDefinition*>(in));
  1799. if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcPropertySet"); } do { // convert the 'HasProperties' argument
  1800. std::shared_ptr<const DataType> arg = params[base++];
  1801. try { GenericConvert( in->HasProperties, arg, db ); break; }
  1802. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcPropertySet to be a `SET [1:?] OF IfcProperty`")); }
  1803. } while(0);
  1804. return base;
  1805. }
  1806. // -----------------------------------------------------------------------------------------------------------
  1807. template <> size_t GenericFill<IfcSurfaceStyleRendering>(const DB& db, const LIST& params, IfcSurfaceStyleRendering* in)
  1808. {
  1809. size_t base = GenericFill(db,params,static_cast<IfcSurfaceStyleShading*>(in));
  1810. if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcSurfaceStyleRendering"); } do { // convert the 'Transparency' argument
  1811. std::shared_ptr<const DataType> arg = params[base++];
  1812. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1813. try { GenericConvert( in->Transparency, arg, db ); break; }
  1814. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSurfaceStyleRendering to be a `IfcNormalisedRatioMeasure`")); }
  1815. } while(0);
  1816. do { // convert the 'DiffuseColour' argument
  1817. std::shared_ptr<const DataType> arg = params[base++];
  1818. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1819. try { GenericConvert( in->DiffuseColour, arg, db ); break; }
  1820. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1821. } while(0);
  1822. do { // convert the 'TransmissionColour' argument
  1823. std::shared_ptr<const DataType> arg = params[base++];
  1824. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1825. try { GenericConvert( in->TransmissionColour, arg, db ); break; }
  1826. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1827. } while(0);
  1828. do { // convert the 'DiffuseTransmissionColour' argument
  1829. std::shared_ptr<const DataType> arg = params[base++];
  1830. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1831. try { GenericConvert( in->DiffuseTransmissionColour, arg, db ); break; }
  1832. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1833. } while(0);
  1834. do { // convert the 'ReflectionColour' argument
  1835. std::shared_ptr<const DataType> arg = params[base++];
  1836. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1837. try { GenericConvert( in->ReflectionColour, arg, db ); break; }
  1838. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1839. } while(0);
  1840. do { // convert the 'SpecularColour' argument
  1841. std::shared_ptr<const DataType> arg = params[base++];
  1842. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1843. try { GenericConvert( in->SpecularColour, arg, db ); break; }
  1844. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1845. } while(0);
  1846. do { // convert the 'SpecularHighlight' argument
  1847. std::shared_ptr<const DataType> arg = params[base++];
  1848. if (dynamic_cast<const UNSET*>(&*arg)) break;
  1849. try { GenericConvert( in->SpecularHighlight, arg, db ); break; }
  1850. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcSurfaceStyleRendering to be a `IfcSpecularHighlightSelect`")); }
  1851. } while(0);
  1852. do { // convert the 'ReflectanceMethod' argument
  1853. std::shared_ptr<const DataType> arg = params[base++];
  1854. try { GenericConvert( in->ReflectanceMethod, arg, db ); break; }
  1855. catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcSurfaceStyleRendering to be a `IfcReflectanceMethodEnum`")); }
  1856. } while(0);
  1857. return base;
  1858. }
  1859. // -----------------------------------------------------------------------------------------------------------
  1860. template <> size_t GenericFill<IfcDistributionPort>(const DB& db, const LIST& params, IfcDistributionPort* in)
  1861. {
  1862. size_t base = GenericFill(db,params,static_cast<IfcPort*>(in));
  1863. // this data structure is not used yet, so there is no code generated to fill its members
  1864. return base;
  1865. }
  1866. // -----------------------------------------------------------------------------------------------------------
  1867. template <> size_t GenericFill<IfcPipeFittingType>(const DB& db, const LIST& params, IfcPipeFittingType* in)
  1868. {
  1869. size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
  1870. // this data structure is not used yet, so there is no code generated to fill its members
  1871. return base;
  1872. }
  1873. // -----------------------------------------------------------------------------------------------------------
  1874. template <> size_t GenericFill<IfcTransportElement>(const DB& db, const LIST& params, IfcTransportElement* in)
  1875. {
  1876. size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1877. // this data structure is not used yet, so there is no code generated to fill its members
  1878. return base;
  1879. }
  1880. // -----------------------------------------------------------------------------------------------------------
  1881. template <> size_t GenericFill<IfcAnnotationTextOccurrence>(const DB& db, const LIST& params, IfcAnnotationTextOccurrence* in)
  1882. {
  1883. size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1884. // this data structure is not used yet, so there is no code generated to fill its members
  1885. return base;
  1886. }
  1887. // -----------------------------------------------------------------------------------------------------------
  1888. template <> size_t GenericFill<IfcStructuralAnalysisModel>(const DB& db, const LIST& params, IfcStructuralAnalysisModel* in)
  1889. {
  1890. size_t base = GenericFill(db,params,static_cast<IfcSystem*>(in));
  1891. // this data structure is not used yet, so there is no code generated to fill its members
  1892. return base;
  1893. }
  1894. // -----------------------------------------------------------------------------------------------------------
  1895. template <> size_t GenericFill<IfcConditionCriterion>(const DB& db, const LIST& params, IfcConditionCriterion* in)
  1896. {
  1897. size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1898. // this data structure is not used yet, so there is no code generated to fill its members
  1899. return base;
  1900. }
  1901. } // ! STEP
  1902. } // ! Assimp
  1903. #endif