IFCReaderGen2_2x3.cpp 116 KB

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