IFCReaderGen2_2x3.cpp 115 KB

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