vrshoot

diff libs/assimp/IFCReaderGen.cpp @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/libs/assimp/IFCReaderGen.cpp	Sat Feb 01 19:58:19 2014 +0200
     1.3 @@ -0,0 +1,5030 @@
     1.4 +/*
     1.5 +Open Asset Import Library (ASSIMP)
     1.6 +----------------------------------------------------------------------
     1.7 +
     1.8 +Copyright (c) 2006-2010, ASSIMP Development Team
     1.9 +All rights reserved.
    1.10 +
    1.11 +Redistribution and use of this software in source and binary forms, 
    1.12 +with or without modification, are permitted provided that the 
    1.13 +following conditions are met:
    1.14 +
    1.15 +* Redistributions of source code must retain the above
    1.16 +  copyright notice, this list of conditions and the
    1.17 +  following disclaimer.
    1.18 +
    1.19 +* Redistributions in binary form must reproduce the above
    1.20 +  copyright notice, this list of conditions and the
    1.21 +  following disclaimer in the documentation and/or other
    1.22 +  materials provided with the distribution.
    1.23 +
    1.24 +* Neither the name of the ASSIMP team, nor the names of its
    1.25 +  contributors may be used to endorse or promote products
    1.26 +  derived from this software without specific prior
    1.27 +  written permission of the ASSIMP Development Team.
    1.28 +
    1.29 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
    1.30 +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
    1.31 +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    1.32 +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
    1.33 +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    1.34 +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
    1.35 +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    1.36 +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
    1.37 +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
    1.38 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
    1.39 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    1.40 +
    1.41 +----------------------------------------------------------------------
    1.42 +*/
    1.43 +
    1.44 +/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
    1.45 +
    1.46 +#include "AssimpPCH.h"
    1.47 +#ifndef ASSIMP_BUILD_NO_IFC_IMPORTER
    1.48 +
    1.49 +#include "IFCReaderGen.h"
    1.50 +
    1.51 +namespace Assimp {
    1.52 +using namespace IFC;
    1.53 +
    1.54 +namespace {
    1.55 +
    1.56 +	typedef EXPRESS::ConversionSchema::SchemaEntry SchemaEntry;
    1.57 +	const SchemaEntry schema_raw[] =  {
    1.58 +		SchemaEntry("ifcstairtypeenum",NULL )
    1.59 +,		SchemaEntry("ifcspacetypeenum",NULL )
    1.60 +,		SchemaEntry("ifcwalltypeenum",NULL )
    1.61 +,		SchemaEntry("ifcmonthinyearnumber",NULL )
    1.62 +,		SchemaEntry("ifcheatfluxdensitymeasure",NULL )
    1.63 +,		SchemaEntry("ifckinematicviscositymeasure",NULL )
    1.64 +,		SchemaEntry("ifcsequenceenum",NULL )
    1.65 +,		SchemaEntry("ifcairtoairheatrecoverytypeenum",NULL )
    1.66 +,		SchemaEntry("ifcactorselect",NULL )
    1.67 +,		SchemaEntry("ifctransformertypeenum",NULL )
    1.68 +,		SchemaEntry("ifcunitaryequipmenttypeenum",NULL )
    1.69 +,		SchemaEntry("ifcelectricflowstoragedevicetypeenum",NULL )
    1.70 +,		SchemaEntry("ifcenergysequenceenum",NULL )
    1.71 +,		SchemaEntry("ifcworkcontroltypeenum",NULL )
    1.72 +,		SchemaEntry("ifccurvaturemeasure",NULL )
    1.73 +,		SchemaEntry("ifcparametervalue",NULL )
    1.74 +,		SchemaEntry("ifcappliedvalueselect",NULL )
    1.75 +,		SchemaEntry("ifcwarpingconstantmeasure",NULL )
    1.76 +,		SchemaEntry("ifcarithmeticoperatorenum",NULL )
    1.77 +,		SchemaEntry("ifclinearforcemeasure",NULL )
    1.78 +,		SchemaEntry("ifcwindowpanelpositionenum",NULL )
    1.79 +,		SchemaEntry("ifcflowmetertypeenum",NULL )
    1.80 +,		SchemaEntry("ifcrampflighttypeenum",NULL )
    1.81 +,		SchemaEntry("ifcspecularhighlightselect",NULL )
    1.82 +,		SchemaEntry("ifcactiontypeenum",NULL )
    1.83 +,		SchemaEntry("ifcgeometricprojectionenum",NULL )
    1.84 +,		SchemaEntry("ifctimeseriesdatatypeenum",NULL )
    1.85 +,		SchemaEntry("ifcmagneticfluxmeasure",NULL )
    1.86 +,		SchemaEntry("ifcobjecttypeenum",NULL )
    1.87 +,		SchemaEntry("ifcdataoriginenum",NULL )
    1.88 +,		SchemaEntry("ifcmassdensitymeasure",NULL )
    1.89 +,		SchemaEntry("ifclightfixturetypeenum",NULL )
    1.90 +,		SchemaEntry("ifcservicelifetypeenum",NULL )
    1.91 +,		SchemaEntry("ifcelectricvoltagemeasure",NULL )
    1.92 +,		SchemaEntry("ifcheatingvaluemeasure",NULL )
    1.93 +,		SchemaEntry("ifcpresentabletext",NULL )
    1.94 +,		SchemaEntry("ifcaheadorbehind",NULL )
    1.95 +,		SchemaEntry("ifcsimplevalue",NULL )
    1.96 +,		SchemaEntry("ifcsensortypeenum",NULL )
    1.97 +,		SchemaEntry("ifcderivedunitenum",NULL )
    1.98 +,		SchemaEntry("ifcsizeselect",NULL )
    1.99 +,		SchemaEntry("ifctransportelementtypeenum",NULL )
   1.100 +,		SchemaEntry("ifcinventorytypeenum",NULL )
   1.101 +,		SchemaEntry("ifctextdecoration",NULL )
   1.102 +,		SchemaEntry("ifcdirectionsenseenum",NULL )
   1.103 +,		SchemaEntry("ifcductfittingtypeenum",NULL )
   1.104 +,		SchemaEntry("ifcdocumentstatusenum",NULL )
   1.105 +,		SchemaEntry("ifcslabtypeenum",NULL )
   1.106 +,		SchemaEntry("ifcdoorstyleconstructionenum",NULL )
   1.107 +,		SchemaEntry("ifcvolumemeasure",NULL )
   1.108 +,		SchemaEntry("ifcinductancemeasure",NULL )
   1.109 +,		SchemaEntry("ifccurtainwalltypeenum",NULL )
   1.110 +,		SchemaEntry("ifcsiunitname",NULL )
   1.111 +,		SchemaEntry("ifcspecularexponent",NULL )
   1.112 +,		SchemaEntry("ifcsoundpressuremeasure",NULL )
   1.113 +,		SchemaEntry("ifcanalysistheorytypeenum",NULL )
   1.114 +,		SchemaEntry("ifcgasterminaltypeenum",NULL )
   1.115 +,		SchemaEntry("ifcyearnumber",NULL )
   1.116 +,		SchemaEntry("ifcmodulusofelasticitymeasure",NULL )
   1.117 +,		SchemaEntry("ifcchangeactionenum",NULL )
   1.118 +,		SchemaEntry("ifcdampertypeenum",NULL )
   1.119 +,		SchemaEntry("ifcevaporatortypeenum",NULL )
   1.120 +,		SchemaEntry("ifcionconcentrationmeasure",NULL )
   1.121 +,		SchemaEntry("ifcductsegmenttypeenum",NULL )
   1.122 +,		SchemaEntry("ifcprotectivedevicetypeenum",NULL )
   1.123 +,		SchemaEntry("ifcabsorbeddosemeasure",NULL )
   1.124 +,		SchemaEntry("ifcmassperlengthmeasure",NULL )
   1.125 +,		SchemaEntry("ifctextfontname",NULL )
   1.126 +,		SchemaEntry("ifcorientationselect",NULL )
   1.127 +,		SchemaEntry("ifcilluminancemeasure",NULL )
   1.128 +,		SchemaEntry("ifcfiresuppressionterminaltypeenum",NULL )
   1.129 +,		SchemaEntry("ifcfontstyle",NULL )
   1.130 +,		SchemaEntry("ifcmomentofinertiameasure",NULL )
   1.131 +,		SchemaEntry("ifcmodulusofsubgradereactionmeasure",NULL )
   1.132 +,		SchemaEntry("ifccomplexnumber",NULL )
   1.133 +,		SchemaEntry("ifchumidifiertypeenum",NULL )
   1.134 +,		SchemaEntry("ifcpresentationstyleselect",NULL )
   1.135 +,		SchemaEntry("ifcthermaltransmittancemeasure",NULL )
   1.136 +,		SchemaEntry("ifcribplatedirectionenum",NULL )
   1.137 +,		SchemaEntry("ifcclassificationnotationselect",NULL )
   1.138 +,		SchemaEntry("ifcminuteinhour",NULL )
   1.139 +,		SchemaEntry("ifcinternalorexternalenum",NULL )
   1.140 +,		SchemaEntry("ifcrotationalfrequencymeasure",NULL )
   1.141 +,		SchemaEntry("ifcsanitaryterminaltypeenum",NULL )
   1.142 +,		SchemaEntry("ifcsymbolstyleselect",NULL )
   1.143 +,		SchemaEntry("ifcelementcompositionenum",NULL )
   1.144 +,		SchemaEntry("ifctextpath",NULL )
   1.145 +,		SchemaEntry("ifcpowermeasure",NULL )
   1.146 +,		SchemaEntry("ifcsurfacestyleelementselect",NULL )
   1.147 +,		SchemaEntry("ifcresourceconsumptionenum",NULL )
   1.148 +,		SchemaEntry("ifcelectriccapacitancemeasure",NULL )
   1.149 +,		SchemaEntry("ifclayersetdirectionenum",NULL )
   1.150 +,		SchemaEntry("ifcrailingtypeenum",NULL )
   1.151 +,		SchemaEntry("ifcobjectiveenum",NULL )
   1.152 +,		SchemaEntry("ifcdocumentselect",NULL )
   1.153 +,		SchemaEntry("ifcmodulusoflinearsubgradereactionmeasure",NULL )
   1.154 +,		SchemaEntry("ifcthermaladmittancemeasure",NULL )
   1.155 +,		SchemaEntry("ifctransitioncode",NULL )
   1.156 +,		SchemaEntry("ifcconnectiontypeenum",NULL )
   1.157 +,		SchemaEntry("ifcmonetarymeasure",NULL )
   1.158 +,		SchemaEntry("ifcstackterminaltypeenum",NULL )
   1.159 +,		SchemaEntry("ifccolour",NULL )
   1.160 +,		SchemaEntry("ifctext",NULL )
   1.161 +,		SchemaEntry("ifccontextdependentmeasure",NULL )
   1.162 +,		SchemaEntry("ifcthermalconductivitymeasure",NULL )
   1.163 +,		SchemaEntry("ifcprojectedortruelengthenum",NULL )
   1.164 +,		SchemaEntry("ifcpressuremeasure",NULL )
   1.165 +,		SchemaEntry("ifcmoisturediffusivitymeasure",NULL )
   1.166 +,		SchemaEntry("ifcbooleanoperator",NULL )
   1.167 +,		SchemaEntry("ifcpropertysourceenum",NULL )
   1.168 +,		SchemaEntry("ifctimestamp",NULL )
   1.169 +,		SchemaEntry("ifcmaterialselect",NULL )
   1.170 +,		SchemaEntry("ifcgloballyuniqueid",NULL )
   1.171 +,		SchemaEntry("ifcreflectancemethodenum",NULL )
   1.172 +,		SchemaEntry("ifcvaporpermeabilitymeasure",NULL )
   1.173 +,		SchemaEntry("ifctimeseriesscheduletypeenum",NULL )
   1.174 +,		SchemaEntry("ifclinearmomentmeasure",NULL )
   1.175 +,		SchemaEntry("ifcgeometricsetselect",NULL )
   1.176 +,		SchemaEntry("ifcsectionmodulusmeasure",NULL )
   1.177 +,		SchemaEntry("ifcbsplinecurveform",NULL )
   1.178 +,		SchemaEntry("ifcdimensionextentusage",NULL )
   1.179 +,		SchemaEntry("ifcthermalexpansioncoefficientmeasure",NULL )
   1.180 +,		SchemaEntry("ifchourinday",NULL )
   1.181 +,		SchemaEntry("ifclinearvelocitymeasure",NULL )
   1.182 +,		SchemaEntry("ifctorquemeasure",NULL )
   1.183 +,		SchemaEntry("ifctemperaturegradientmeasure",NULL )
   1.184 +,		SchemaEntry("ifcfillstyleselect",NULL )
   1.185 +,		SchemaEntry("ifcelectricchargemeasure",NULL )
   1.186 +,		SchemaEntry("ifcheatexchangertypeenum",NULL )
   1.187 +,		SchemaEntry("ifcelectriccurrentenum",NULL )
   1.188 +,		SchemaEntry("ifcdaylightsavinghour",NULL )
   1.189 +,		SchemaEntry("ifcshell",NULL )
   1.190 +,		SchemaEntry("ifcdoseequivalentmeasure",NULL )
   1.191 +,		SchemaEntry("ifcprojectordertypeenum",NULL )
   1.192 +,		SchemaEntry("ifcderivedmeasurevalue",NULL )
   1.193 +,		SchemaEntry("ifclightdistributioncurveenum",NULL )
   1.194 +,		SchemaEntry("ifcwarpingmomentmeasure",NULL )
   1.195 +,		SchemaEntry("ifcmembertypeenum",NULL )
   1.196 +,		SchemaEntry("ifcsoundpowermeasure",NULL )
   1.197 +,		SchemaEntry("ifctextalignment",NULL )
   1.198 +,		SchemaEntry("ifccurveoredgecurve",NULL )
   1.199 +,		SchemaEntry("ifcmassflowratemeasure",NULL )
   1.200 +,		SchemaEntry("ifcisothermalmoisturecapacitymeasure",NULL )
   1.201 +,		SchemaEntry("ifccsgselect",NULL )
   1.202 +,		SchemaEntry("ifccoolingtowertypeenum",NULL )
   1.203 +,		SchemaEntry("ifcmassmeasure",NULL )
   1.204 +,		SchemaEntry("ifcpileconstructionenum",NULL )
   1.205 +,		SchemaEntry("ifcdoorstyleoperationenum",NULL )
   1.206 +,		SchemaEntry("ifcflowdirectionenum",NULL )
   1.207 +,		SchemaEntry("ifcthermalloadsourceenum",NULL )
   1.208 +,		SchemaEntry("ifclengthmeasure",NULL )
   1.209 +,		SchemaEntry("ifcconstraintenum",NULL )
   1.210 +,		SchemaEntry("ifcaxis2placement",NULL )
   1.211 +,		SchemaEntry("ifcloadgrouptypeenum",NULL )
   1.212 +,		SchemaEntry("ifcvalue",NULL )
   1.213 +,		SchemaEntry("ifcreinforcingbarsurfaceenum",NULL )
   1.214 +,		SchemaEntry("ifcprojectorderrecordtypeenum",NULL )
   1.215 +,		SchemaEntry("ifcdatetimeselect",NULL )
   1.216 +,		SchemaEntry("ifcstructuralsurfacetypeenum",NULL )
   1.217 +,		SchemaEntry("ifcpermeablecoveringoperationenum",NULL )
   1.218 +,		SchemaEntry("ifcfontweight",NULL )
   1.219 +,		SchemaEntry("ifcphmeasure",NULL )
   1.220 +,		SchemaEntry("ifcdescriptivemeasure",NULL )
   1.221 +,		SchemaEntry("ifccurvestylefontselect",NULL )
   1.222 +,		SchemaEntry("ifcunit",NULL )
   1.223 +,		SchemaEntry("ifchatchlinedistanceselect",NULL )
   1.224 +,		SchemaEntry("ifctextstyleselect",NULL )
   1.225 +,		SchemaEntry("ifcmetricvalueselect",NULL )
   1.226 +,		SchemaEntry("ifcvectorordirection",NULL )
   1.227 +,		SchemaEntry("ifcassemblyplaceenum",NULL )
   1.228 +,		SchemaEntry("ifcairterminaltypeenum",NULL )
   1.229 +,		SchemaEntry("ifccoveringtypeenum",NULL )
   1.230 +,		SchemaEntry("ifcplanarforcemeasure",NULL )
   1.231 +,		SchemaEntry("ifcvalvetypeenum",NULL )
   1.232 +,		SchemaEntry("ifcalarmtypeenum",NULL )
   1.233 +,		SchemaEntry("ifcdynamicviscositymeasure",NULL )
   1.234 +,		SchemaEntry("ifccurrencyenum",NULL )
   1.235 +,		SchemaEntry("ifcmodulusofrotationalsubgradereactionmeasure",NULL )
   1.236 +,		SchemaEntry("ifccablecarrierfittingtypeenum",NULL )
   1.237 +,		SchemaEntry("ifcboolean",NULL )
   1.238 +,		SchemaEntry("ifcactionsourcetypeenum",NULL )
   1.239 +,		SchemaEntry("ifcstructuralactivityassignmentselect",NULL )
   1.240 +,		SchemaEntry("ifcdistributionchamberelementtypeenum",NULL )
   1.241 +,		SchemaEntry("ifcevaporativecoolertypeenum",NULL )
   1.242 +,		SchemaEntry("ifcmagneticfluxdensitymeasure",NULL )
   1.243 +,		SchemaEntry("ifclightdistributiondatasourceselect",NULL )
   1.244 +,		SchemaEntry("ifctubebundletypeenum",NULL )
   1.245 +,		SchemaEntry("ifcaccelerationmeasure",NULL )
   1.246 +,		SchemaEntry("ifcboilertypeenum",NULL )
   1.247 +,		SchemaEntry("ifcramptypeenum",NULL )
   1.248 +,		SchemaEntry("ifcluminousintensitydistributionmeasure",NULL )
   1.249 +,		SchemaEntry("ifctrimmingpreference",NULL )
   1.250 +,		SchemaEntry("ifcspecificheatcapacitymeasure",NULL )
   1.251 +,		SchemaEntry("ifcamountofsubstancemeasure",NULL )
   1.252 +,		SchemaEntry("ifcroleenum",NULL )
   1.253 +,		SchemaEntry("ifcdocumentconfidentialityenum",NULL )
   1.254 +,		SchemaEntry("ifcfrequencymeasure",NULL )
   1.255 +,		SchemaEntry("ifcsectiontypeenum",NULL )
   1.256 +,		SchemaEntry("ifcelementassemblytypeenum",NULL )
   1.257 +,		SchemaEntry("ifcfootingtypeenum",NULL )
   1.258 +,		SchemaEntry("ifclayereditem",NULL )
   1.259 +,		SchemaEntry("ifccablesegmenttypeenum",NULL )
   1.260 +,		SchemaEntry("ifcdefinedsymbolselect",NULL )
   1.261 +,		SchemaEntry("ifcbuildingelementproxytypeenum",NULL )
   1.262 +,		SchemaEntry("ifcelectricgeneratortypeenum",NULL )
   1.263 +,		SchemaEntry("ifcrotationalstiffnessmeasure",NULL )
   1.264 +,		SchemaEntry("ifcspaceheatertypeenum",NULL )
   1.265 +,		SchemaEntry("ifcareameasure",NULL )
   1.266 +,		SchemaEntry("ifclabel",NULL )
   1.267 +,		SchemaEntry("ifccostscheduletypeenum",NULL )
   1.268 +,		SchemaEntry("ifcswitchingdevicetypeenum",NULL )
   1.269 +,		SchemaEntry("ifcelectrictimecontroltypeenum",NULL )
   1.270 +,		SchemaEntry("ifcfiltertypeenum",NULL )
   1.271 +,		SchemaEntry("ifcpositivelengthmeasure",NULL )
   1.272 +,		SchemaEntry("ifcnullstyle",NULL )
   1.273 +,		SchemaEntry("ifcconditioncriterionselect",NULL )
   1.274 +,		SchemaEntry("ifcshearmodulusmeasure",NULL )
   1.275 +,		SchemaEntry("ifcnormalisedratiomeasure",NULL )
   1.276 +,		SchemaEntry("ifcdoorpaneloperationenum",NULL )
   1.277 +,		SchemaEntry("ifcpointorvertexpoint",NULL )
   1.278 +,		SchemaEntry("ifcrooftypeenum",NULL )
   1.279 +,		SchemaEntry("ifccountmeasure",NULL )
   1.280 +,		SchemaEntry("ifcelectricconductancemeasure",NULL )
   1.281 +,		SchemaEntry("ifcproceduretypeenum",NULL )
   1.282 +,		SchemaEntry("ifcflowinstrumenttypeenum",NULL )
   1.283 +,		SchemaEntry("ifcelectricmotortypeenum",NULL )
   1.284 +,		SchemaEntry("ifcsurfaceside",NULL )
   1.285 +,		SchemaEntry("ifcstructuralcurvetypeenum",NULL )
   1.286 +,		SchemaEntry("ifccondensertypeenum",NULL )
   1.287 +,		SchemaEntry("ifclinearstiffnessmeasure",NULL )
   1.288 +,		SchemaEntry("ifcunitenum",NULL )
   1.289 +,		SchemaEntry("ifcoccupanttypeenum",NULL )
   1.290 +,		SchemaEntry("ifcthermalloadtypeenum",NULL )
   1.291 +,		SchemaEntry("ifcreinforcingbarroleenum",NULL )
   1.292 +,		SchemaEntry("ifcbenchmarkenum",NULL )
   1.293 +,		SchemaEntry("ifcpositiveplaneanglemeasure",NULL )
   1.294 +,		SchemaEntry("ifctexttransformation",NULL )
   1.295 +,		SchemaEntry("ifcdraughtingcalloutelement",NULL )
   1.296 +,		SchemaEntry("ifcratiomeasure",NULL )
   1.297 +,		SchemaEntry("ifcsolidanglemeasure",NULL )
   1.298 +,		SchemaEntry("ifcpipesegmenttypeenum",NULL )
   1.299 +,		SchemaEntry("ifccablecarriersegmenttypeenum",NULL )
   1.300 +,		SchemaEntry("ifccolourorfactor",NULL )
   1.301 +,		SchemaEntry("ifcidentifier",NULL )
   1.302 +,		SchemaEntry("ifctendontypeenum",NULL )
   1.303 +,		SchemaEntry("ifccontrollertypeenum",NULL )
   1.304 +,		SchemaEntry("ifcradioactivitymeasure",NULL )
   1.305 +,		SchemaEntry("ifctimemeasure",NULL )
   1.306 +,		SchemaEntry("ifcpumptypeenum",NULL )
   1.307 +,		SchemaEntry("ifcelectricheatertypeenum",NULL )
   1.308 +,		SchemaEntry("ifcbeamtypeenum",NULL )
   1.309 +,		SchemaEntry("ifcstateenum",NULL )
   1.310 +,		SchemaEntry("ifcsiprefix",NULL )
   1.311 +,		SchemaEntry("ifcnumericmeasure",NULL )
   1.312 +,		SchemaEntry("ifcoutlettypeenum",NULL )
   1.313 +,		SchemaEntry("ifccompoundplaneanglemeasure",NULL )
   1.314 +,		SchemaEntry("ifcservicelifefactortypeenum",NULL )
   1.315 +,		SchemaEntry("ifclogicaloperatorenum",NULL )
   1.316 +,		SchemaEntry("ifcbooleanoperand",NULL )
   1.317 +,		SchemaEntry("ifcobjectreferenceselect",NULL )
   1.318 +,		SchemaEntry("ifccooledbeamtypeenum",NULL )
   1.319 +,		SchemaEntry("ifcductsilencertypeenum",NULL )
   1.320 +,		SchemaEntry("ifcsectionalareaintegralmeasure",NULL )
   1.321 +,		SchemaEntry("ifcfontvariant",NULL )
   1.322 +,		SchemaEntry("ifcvolumetricflowratemeasure",NULL )
   1.323 +,		SchemaEntry("ifcplatetypeenum",NULL )
   1.324 +,		SchemaEntry("ifcenvironmentalimpactcategoryenum",NULL )
   1.325 +,		SchemaEntry("ifcvibrationisolatortypeenum",NULL )
   1.326 +,		SchemaEntry("ifcthermodynamictemperaturemeasure",NULL )
   1.327 +,		SchemaEntry("ifcrotationalmassmeasure",NULL )
   1.328 +,		SchemaEntry("ifcsecondinminute",NULL )
   1.329 +,		SchemaEntry("ifcdayinmonthnumber",NULL )
   1.330 +,		SchemaEntry("ifcdimensioncount",NULL )
   1.331 +,		SchemaEntry("ifcwindowstyleoperationenum",NULL )
   1.332 +,		SchemaEntry("ifcthermalresistancemeasure",NULL )
   1.333 +,		SchemaEntry("ifcmeasurevalue",NULL )
   1.334 +,		SchemaEntry("ifcwindowpaneloperationenum",NULL )
   1.335 +,		SchemaEntry("ifcchillertypeenum",NULL )
   1.336 +,		SchemaEntry("ifcpositiveratiomeasure",NULL )
   1.337 +,		SchemaEntry("ifcinteger",NULL )
   1.338 +,		SchemaEntry("ifclogical",NULL )
   1.339 +,		SchemaEntry("ifcjunctionboxtypeenum",NULL )
   1.340 +,		SchemaEntry("ifcaddresstypeenum",NULL )
   1.341 +,		SchemaEntry("ifcwasteterminaltypeenum",NULL )
   1.342 +,		SchemaEntry("ifctrimmingselect",NULL )
   1.343 +,		SchemaEntry("ifclightemissionsourceenum",NULL )
   1.344 +,		SchemaEntry("ifcsoundscaleenum",NULL )
   1.345 +,		SchemaEntry("ifcluminousfluxmeasure",NULL )
   1.346 +,		SchemaEntry("ifcelectricresistancemeasure",NULL )
   1.347 +,		SchemaEntry("ifcintegercountratemeasure",NULL )
   1.348 +,		SchemaEntry("ifcphysicalorvirtualenum",NULL )
   1.349 +,		SchemaEntry("ifcmolecularweightmeasure",NULL )
   1.350 +,		SchemaEntry("ifcprofiletypeenum",NULL )
   1.351 +,		SchemaEntry("ifcboxalignment",NULL )
   1.352 +,		SchemaEntry("ifcglobalorlocalenum",NULL )
   1.353 +,		SchemaEntry("ifcspecularroughness",NULL )
   1.354 +,		SchemaEntry("ifclamptypeenum",NULL )
   1.355 +,		SchemaEntry("ifcpiletypeenum",NULL )
   1.356 +,		SchemaEntry("ifcelectriccurrentmeasure",NULL )
   1.357 +,		SchemaEntry("ifcfantypeenum",NULL )
   1.358 +,		SchemaEntry("ifcsurfaceorfacesurface",NULL )
   1.359 +,		SchemaEntry("ifcpipefittingtypeenum",NULL )
   1.360 +,		SchemaEntry("ifctanktypeenum",NULL )
   1.361 +,		SchemaEntry("ifccurvefontorscaledcurvefontselect",NULL )
   1.362 +,		SchemaEntry("ifcwindowstyleconstructionenum",NULL )
   1.363 +,		SchemaEntry("ifcairterminalboxtypeenum",NULL )
   1.364 +,		SchemaEntry("ifcstairflighttypeenum",NULL )
   1.365 +,		SchemaEntry("ifcluminousintensitymeasure",NULL )
   1.366 +,		SchemaEntry("ifcmotorconnectiontypeenum",NULL )
   1.367 +,		SchemaEntry("ifcplaneanglemeasure",NULL )
   1.368 +,		SchemaEntry("ifcactuatortypeenum",NULL )
   1.369 +,		SchemaEntry("ifccolumntypeenum",NULL )
   1.370 +,		SchemaEntry("ifctextfontselect",NULL )
   1.371 +,		SchemaEntry("ifcdoorpanelpositionenum",NULL )
   1.372 +,		SchemaEntry("ifccoiltypeenum",NULL )
   1.373 +,		SchemaEntry("ifcangularvelocitymeasure",NULL )
   1.374 +,		SchemaEntry("ifcanalysismodeltypeenum",NULL )
   1.375 +,		SchemaEntry("ifclibraryselect",NULL )
   1.376 +,		SchemaEntry("ifcforcemeasure",NULL )
   1.377 +,		SchemaEntry("ifcfillareastyletileshapeselect",NULL )
   1.378 +,		SchemaEntry("ifcelectricappliancetypeenum",NULL )
   1.379 +,		SchemaEntry("ifcsurfacetextureenum",NULL )
   1.380 +,		SchemaEntry("ifccharacterstyleselect",NULL )
   1.381 +,		SchemaEntry("ifcenergymeasure",NULL )
   1.382 +,		SchemaEntry("ifcreal",NULL )
   1.383 +,		SchemaEntry("ifccompressortypeenum",NULL )
   1.384 +,		SchemaEntry("ifcelectricdistributionpointfunctionenum",NULL )
   1.385 +,		SchemaEntry("ifcroot",&STEP::ObjectHelper<IfcRoot,4>::Construct )
   1.386 +,		SchemaEntry("ifcobjectdefinition",&STEP::ObjectHelper<IfcObjectDefinition,0>::Construct )
   1.387 +,		SchemaEntry("ifctypeobject",&STEP::ObjectHelper<IfcTypeObject,2>::Construct )
   1.388 +,		SchemaEntry("ifctypeproduct",&STEP::ObjectHelper<IfcTypeProduct,2>::Construct )
   1.389 +,		SchemaEntry("ifcelementtype",&STEP::ObjectHelper<IfcElementType,1>::Construct )
   1.390 +,		SchemaEntry("ifcdistributionelementtype",&STEP::ObjectHelper<IfcDistributionElementType,0>::Construct )
   1.391 +,		SchemaEntry("ifcdistributionflowelementtype",&STEP::ObjectHelper<IfcDistributionFlowElementType,0>::Construct )
   1.392 +,		SchemaEntry("ifcflowcontrollertype",&STEP::ObjectHelper<IfcFlowControllerType,0>::Construct )
   1.393 +,		SchemaEntry("ifcelectrictimecontroltype",&STEP::ObjectHelper<IfcElectricTimeControlType,1>::Construct )
   1.394 +,		SchemaEntry("ifcrepresentation",&STEP::ObjectHelper<IfcRepresentation,4>::Construct )
   1.395 +,		SchemaEntry("ifcshapemodel",&STEP::ObjectHelper<IfcShapeModel,0>::Construct )
   1.396 +,		SchemaEntry("ifctopologyrepresentation",&STEP::ObjectHelper<IfcTopologyRepresentation,0>::Construct )
   1.397 +,		SchemaEntry("ifcrelationship",&STEP::ObjectHelper<IfcRelationship,0>::Construct )
   1.398 +,		SchemaEntry("ifcrelconnects",&STEP::ObjectHelper<IfcRelConnects,0>::Construct )
   1.399 +,		SchemaEntry("ifcrelcoversspaces",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.400 +,		SchemaEntry("ifcflowfittingtype",&STEP::ObjectHelper<IfcFlowFittingType,0>::Construct )
   1.401 +,		SchemaEntry("ifccablecarrierfittingtype",&STEP::ObjectHelper<IfcCableCarrierFittingType,1>::Construct )
   1.402 +,		SchemaEntry("ifcstructuralconnectioncondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.403 +,		SchemaEntry("ifcslippageconnectioncondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.404 +,		SchemaEntry("ifcenergyconversiondevicetype",&STEP::ObjectHelper<IfcEnergyConversionDeviceType,0>::Construct )
   1.405 +,		SchemaEntry("ifccoiltype",&STEP::ObjectHelper<IfcCoilType,1>::Construct )
   1.406 +,		SchemaEntry("ifcobject",&STEP::ObjectHelper<IfcObject,1>::Construct )
   1.407 +,		SchemaEntry("ifccontrol",&STEP::ObjectHelper<IfcControl,0>::Construct )
   1.408 +,		SchemaEntry("ifcperformancehistory",&STEP::ObjectHelper<IfcPerformanceHistory,1>::Construct )
   1.409 +,		SchemaEntry("ifcrepresentationitem",&STEP::ObjectHelper<IfcRepresentationItem,0>::Construct )
   1.410 +,		SchemaEntry("ifcgeometricrepresentationitem",&STEP::ObjectHelper<IfcGeometricRepresentationItem,0>::Construct )
   1.411 +,		SchemaEntry("ifctextliteral",&STEP::ObjectHelper<IfcTextLiteral,3>::Construct )
   1.412 +,		SchemaEntry("ifctextliteralwithextent",&STEP::ObjectHelper<IfcTextLiteralWithExtent,2>::Construct )
   1.413 +,		SchemaEntry("ifcproductrepresentation",&STEP::ObjectHelper<IfcProductRepresentation,3>::Construct )
   1.414 +,		SchemaEntry("ifcproduct",&STEP::ObjectHelper<IfcProduct,2>::Construct )
   1.415 +,		SchemaEntry("ifcelement",&STEP::ObjectHelper<IfcElement,1>::Construct )
   1.416 +,		SchemaEntry("ifcdistributionelement",&STEP::ObjectHelper<IfcDistributionElement,0>::Construct )
   1.417 +,		SchemaEntry("ifcdistributionflowelement",&STEP::ObjectHelper<IfcDistributionFlowElement,0>::Construct )
   1.418 +,		SchemaEntry("ifccurve",&STEP::ObjectHelper<IfcCurve,0>::Construct )
   1.419 +,		SchemaEntry("ifcboundedcurve",&STEP::ObjectHelper<IfcBoundedCurve,0>::Construct )
   1.420 +,		SchemaEntry("ifccompositecurve",&STEP::ObjectHelper<IfcCompositeCurve,2>::Construct )
   1.421 +,		SchemaEntry("ifc2dcompositecurve",&STEP::ObjectHelper<Ifc2DCompositeCurve,0>::Construct )
   1.422 +,		SchemaEntry("ifcboundarycondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.423 +,		SchemaEntry("ifcboundaryfacecondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.424 +,		SchemaEntry("ifccartesiantransformationoperator",&STEP::ObjectHelper<IfcCartesianTransformationOperator,4>::Construct )
   1.425 +,		SchemaEntry("ifccartesiantransformationoperator3d",&STEP::ObjectHelper<IfcCartesianTransformationOperator3D,1>::Construct )
   1.426 +,		SchemaEntry("ifcproperty",&STEP::ObjectHelper<IfcProperty,2>::Construct )
   1.427 +,		SchemaEntry("ifcsimpleproperty",&STEP::ObjectHelper<IfcSimpleProperty,0>::Construct )
   1.428 +,		SchemaEntry("ifcpropertyenumeratedvalue",&STEP::ObjectHelper<IfcPropertyEnumeratedValue,2>::Construct )
   1.429 +,		SchemaEntry("ifcpresentationlayerassignment",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.430 +,		SchemaEntry("ifcpresentationlayerwithstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.431 +,		SchemaEntry("ifcbuildingelementtype",&STEP::ObjectHelper<IfcBuildingElementType,0>::Construct )
   1.432 +,		SchemaEntry("ifcstairflighttype",&STEP::ObjectHelper<IfcStairFlightType,1>::Construct )
   1.433 +,		SchemaEntry("ifcsurface",&STEP::ObjectHelper<IfcSurface,0>::Construct )
   1.434 +,		SchemaEntry("ifcelementarysurface",&STEP::ObjectHelper<IfcElementarySurface,1>::Construct )
   1.435 +,		SchemaEntry("ifcplane",&STEP::ObjectHelper<IfcPlane,0>::Construct )
   1.436 +,		SchemaEntry("ifcbooleanresult",&STEP::ObjectHelper<IfcBooleanResult,3>::Construct )
   1.437 +,		SchemaEntry("ifcbooleanclippingresult",&STEP::ObjectHelper<IfcBooleanClippingResult,0>::Construct )
   1.438 +,		SchemaEntry("ifcsolidmodel",&STEP::ObjectHelper<IfcSolidModel,0>::Construct )
   1.439 +,		SchemaEntry("ifcmanifoldsolidbrep",&STEP::ObjectHelper<IfcManifoldSolidBrep,1>::Construct )
   1.440 +,		SchemaEntry("ifcprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.441 +,		SchemaEntry("ifcgeneralprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.442 +,		SchemaEntry("ifcstructuralprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.443 +,		SchemaEntry("ifcflowterminaltype",&STEP::ObjectHelper<IfcFlowTerminalType,0>::Construct )
   1.444 +,		SchemaEntry("ifcstackterminaltype",&STEP::ObjectHelper<IfcStackTerminalType,1>::Construct )
   1.445 +,		SchemaEntry("ifcstructuralitem",&STEP::ObjectHelper<IfcStructuralItem,0>::Construct )
   1.446 +,		SchemaEntry("ifcstructuralconnection",&STEP::ObjectHelper<IfcStructuralConnection,1>::Construct )
   1.447 +,		SchemaEntry("ifcstructuralcurveconnection",&STEP::ObjectHelper<IfcStructuralCurveConnection,0>::Construct )
   1.448 +,		SchemaEntry("ifcjunctionboxtype",&STEP::ObjectHelper<IfcJunctionBoxType,1>::Construct )
   1.449 +,		SchemaEntry("ifcrelassociates",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.450 +,		SchemaEntry("ifcrelassociatesconstraint",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.451 +,		SchemaEntry("ifcpropertydefinition",&STEP::ObjectHelper<IfcPropertyDefinition,0>::Construct )
   1.452 +,		SchemaEntry("ifcpropertysetdefinition",&STEP::ObjectHelper<IfcPropertySetDefinition,0>::Construct )
   1.453 +,		SchemaEntry("ifcdoorpanelproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.454 +,		SchemaEntry("ifcconstraintrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.455 +,		SchemaEntry("ifcspacethermalloadproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.456 +,		SchemaEntry("ifclibraryinformation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.457 +,		SchemaEntry("ifcprocess",&STEP::ObjectHelper<IfcProcess,0>::Construct )
   1.458 +,		SchemaEntry("ifctask",&STEP::ObjectHelper<IfcTask,5>::Construct )
   1.459 +,		SchemaEntry("ifcappliedvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.460 +,		SchemaEntry("ifcenvironmentalimpactvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.461 +,		SchemaEntry("ifcrelfillselement",&STEP::ObjectHelper<IfcRelFillsElement,2>::Construct )
   1.462 +,		SchemaEntry("ifcprocedure",&STEP::ObjectHelper<IfcProcedure,3>::Construct )
   1.463 +,		SchemaEntry("ifcstructuralload",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.464 +,		SchemaEntry("ifcstructuralloadstatic",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.465 +,		SchemaEntry("ifcstructuralloadsingledisplacement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.466 +,		SchemaEntry("ifcproxy",&STEP::ObjectHelper<IfcProxy,2>::Construct )
   1.467 +,		SchemaEntry("ifccurvestylefont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.468 +,		SchemaEntry("ifcresource",&STEP::ObjectHelper<IfcResource,0>::Construct )
   1.469 +,		SchemaEntry("ifcconstructionresource",&STEP::ObjectHelper<IfcConstructionResource,4>::Construct )
   1.470 +,		SchemaEntry("ifcsubcontractresource",&STEP::ObjectHelper<IfcSubContractResource,2>::Construct )
   1.471 +,		SchemaEntry("ifccalendardate",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.472 +,		SchemaEntry("ifcdocumentelectronicformat",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.473 +,		SchemaEntry("ifcrelcontainedinspatialstructure",&STEP::ObjectHelper<IfcRelContainedInSpatialStructure,2>::Construct )
   1.474 +,		SchemaEntry("ifcmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.475 +,		SchemaEntry("ifcproductsofcombustionproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.476 +,		SchemaEntry("ifctopologicalrepresentationitem",&STEP::ObjectHelper<IfcTopologicalRepresentationItem,0>::Construct )
   1.477 +,		SchemaEntry("ifcedge",&STEP::ObjectHelper<IfcEdge,2>::Construct )
   1.478 +,		SchemaEntry("ifcedgecurve",&STEP::ObjectHelper<IfcEdgeCurve,2>::Construct )
   1.479 +,		SchemaEntry("ifcplatetype",&STEP::ObjectHelper<IfcPlateType,1>::Construct )
   1.480 +,		SchemaEntry("ifcobjectplacement",&STEP::ObjectHelper<IfcObjectPlacement,0>::Construct )
   1.481 +,		SchemaEntry("ifcgridplacement",&STEP::ObjectHelper<IfcGridPlacement,2>::Construct )
   1.482 +,		SchemaEntry("ifcfiresuppressionterminaltype",&STEP::ObjectHelper<IfcFireSuppressionTerminalType,1>::Construct )
   1.483 +,		SchemaEntry("ifcmechanicalmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.484 +,		SchemaEntry("ifcflowstoragedevice",&STEP::ObjectHelper<IfcFlowStorageDevice,0>::Construct )
   1.485 +,		SchemaEntry("ifcperson",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.486 +,		SchemaEntry("ifcsweptsurface",&STEP::ObjectHelper<IfcSweptSurface,2>::Construct )
   1.487 +,		SchemaEntry("ifcsurfaceofrevolution",&STEP::ObjectHelper<IfcSurfaceOfRevolution,1>::Construct )
   1.488 +,		SchemaEntry("ifcorientededge",&STEP::ObjectHelper<IfcOrientedEdge,2>::Construct )
   1.489 +,		SchemaEntry("ifcownerhistory",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.490 +,		SchemaEntry("ifcrelassigns",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.491 +,		SchemaEntry("ifcrelassignstoactor",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.492 +,		SchemaEntry("ifcdirection",&STEP::ObjectHelper<IfcDirection,1>::Construct )
   1.493 +,		SchemaEntry("ifcreinforcementbarproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.494 +,		SchemaEntry("ifcprofiledef",&STEP::ObjectHelper<IfcProfileDef,2>::Construct )
   1.495 +,		SchemaEntry("ifcparameterizedprofiledef",&STEP::ObjectHelper<IfcParameterizedProfileDef,1>::Construct )
   1.496 +,		SchemaEntry("ifccshapeprofiledef",&STEP::ObjectHelper<IfcCShapeProfileDef,6>::Construct )
   1.497 +,		SchemaEntry("ifcfeatureelement",&STEP::ObjectHelper<IfcFeatureElement,0>::Construct )
   1.498 +,		SchemaEntry("ifcfeatureelementsubtraction",&STEP::ObjectHelper<IfcFeatureElementSubtraction,0>::Construct )
   1.499 +,		SchemaEntry("ifcedgefeature",&STEP::ObjectHelper<IfcEdgeFeature,1>::Construct )
   1.500 +,		SchemaEntry("ifcchamferedgefeature",&STEP::ObjectHelper<IfcChamferEdgeFeature,2>::Construct )
   1.501 +,		SchemaEntry("ifcbuildingelement",&STEP::ObjectHelper<IfcBuildingElement,0>::Construct )
   1.502 +,		SchemaEntry("ifccolumn",&STEP::ObjectHelper<IfcColumn,0>::Construct )
   1.503 +,		SchemaEntry("ifcpropertyreferencevalue",&STEP::ObjectHelper<IfcPropertyReferenceValue,2>::Construct )
   1.504 +,		SchemaEntry("ifcmaterialclassificationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.505 +,		SchemaEntry("ifcelectricmotortype",&STEP::ObjectHelper<IfcElectricMotorType,1>::Construct )
   1.506 +,		SchemaEntry("ifcspatialstructureelementtype",&STEP::ObjectHelper<IfcSpatialStructureElementType,0>::Construct )
   1.507 +,		SchemaEntry("ifcspacetype",&STEP::ObjectHelper<IfcSpaceType,1>::Construct )
   1.508 +,		SchemaEntry("ifcexternalreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.509 +,		SchemaEntry("ifcexternallydefinedhatchstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.510 +,		SchemaEntry("ifccolumntype",&STEP::ObjectHelper<IfcColumnType,1>::Construct )
   1.511 +,		SchemaEntry("ifccranerailashapeprofiledef",&STEP::ObjectHelper<IfcCraneRailAShapeProfileDef,12>::Construct )
   1.512 +,		SchemaEntry("ifccondensertype",&STEP::ObjectHelper<IfcCondenserType,1>::Construct )
   1.513 +,		SchemaEntry("ifcrelconnectselements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.514 +,		SchemaEntry("ifcrelconnectswithrealizingelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.515 +,		SchemaEntry("ifccircleprofiledef",&STEP::ObjectHelper<IfcCircleProfileDef,1>::Construct )
   1.516 +,		SchemaEntry("ifccirclehollowprofiledef",&STEP::ObjectHelper<IfcCircleHollowProfileDef,1>::Construct )
   1.517 +,		SchemaEntry("ifcorganizationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.518 +,		SchemaEntry("ifcplacement",&STEP::ObjectHelper<IfcPlacement,1>::Construct )
   1.519 +,		SchemaEntry("ifcaxis2placement3d",&STEP::ObjectHelper<IfcAxis2Placement3D,2>::Construct )
   1.520 +,		SchemaEntry("ifcpresentationstyle",&STEP::ObjectHelper<IfcPresentationStyle,1>::Construct )
   1.521 +,		SchemaEntry("ifccurvestyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.522 +,		SchemaEntry("ifcequipmentelement",&STEP::ObjectHelper<IfcEquipmentElement,0>::Construct )
   1.523 +,		SchemaEntry("ifccompositecurvesegment",&STEP::ObjectHelper<IfcCompositeCurveSegment,3>::Construct )
   1.524 +,		SchemaEntry("ifcrectangleprofiledef",&STEP::ObjectHelper<IfcRectangleProfileDef,2>::Construct )
   1.525 +,		SchemaEntry("ifcphysicalquantity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.526 +,		SchemaEntry("ifcphysicalcomplexquantity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.527 +,		SchemaEntry("ifcrelassociateslibrary",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.528 +,		SchemaEntry("ifcrelsequence",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.529 +,		SchemaEntry("ifcbuildingelementproxy",&STEP::ObjectHelper<IfcBuildingElementProxy,1>::Construct )
   1.530 +,		SchemaEntry("ifcdistributioncontrolelementtype",&STEP::ObjectHelper<IfcDistributionControlElementType,0>::Construct )
   1.531 +,		SchemaEntry("ifcflowinstrumenttype",&STEP::ObjectHelper<IfcFlowInstrumentType,1>::Construct )
   1.532 +,		SchemaEntry("ifcdraughtingcallout",&STEP::ObjectHelper<IfcDraughtingCallout,1>::Construct )
   1.533 +,		SchemaEntry("ifcdimensioncurvedirectedcallout",&STEP::ObjectHelper<IfcDimensionCurveDirectedCallout,0>::Construct )
   1.534 +,		SchemaEntry("ifclineardimension",&STEP::ObjectHelper<IfcLinearDimension,0>::Construct )
   1.535 +,		SchemaEntry("ifcelementassembly",&STEP::ObjectHelper<IfcElementAssembly,2>::Construct )
   1.536 +,		SchemaEntry("ifcdraughtingcalloutrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.537 +,		SchemaEntry("ifccsgprimitive3d",&STEP::ObjectHelper<IfcCsgPrimitive3D,1>::Construct )
   1.538 +,		SchemaEntry("ifcrightcircularcone",&STEP::ObjectHelper<IfcRightCircularCone,2>::Construct )
   1.539 +,		SchemaEntry("ifcexternallydefinedsurfacestyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.540 +,		SchemaEntry("ifcprojectorder",&STEP::ObjectHelper<IfcProjectOrder,3>::Construct )
   1.541 +,		SchemaEntry("ifcpropertyconstraintrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.542 +,		SchemaEntry("ifclshapeprofiledef",&STEP::ObjectHelper<IfcLShapeProfileDef,8>::Construct )
   1.543 +,		SchemaEntry("ifcangulardimension",&STEP::ObjectHelper<IfcAngularDimension,0>::Construct )
   1.544 +,		SchemaEntry("ifctextstylefordefinedfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.545 +,		SchemaEntry("ifclocalplacement",&STEP::ObjectHelper<IfcLocalPlacement,2>::Construct )
   1.546 +,		SchemaEntry("ifcsweptareasolid",&STEP::ObjectHelper<IfcSweptAreaSolid,2>::Construct )
   1.547 +,		SchemaEntry("ifcrevolvedareasolid",&STEP::ObjectHelper<IfcRevolvedAreaSolid,2>::Construct )
   1.548 +,		SchemaEntry("ifcstructuralsurfaceconnection",&STEP::ObjectHelper<IfcStructuralSurfaceConnection,0>::Construct )
   1.549 +,		SchemaEntry("ifcradiusdimension",&STEP::ObjectHelper<IfcRadiusDimension,0>::Construct )
   1.550 +,		SchemaEntry("ifcsweptdisksolid",&STEP::ObjectHelper<IfcSweptDiskSolid,5>::Construct )
   1.551 +,		SchemaEntry("ifchalfspacesolid",&STEP::ObjectHelper<IfcHalfSpaceSolid,2>::Construct )
   1.552 +,		SchemaEntry("ifcpolygonalboundedhalfspace",&STEP::ObjectHelper<IfcPolygonalBoundedHalfSpace,2>::Construct )
   1.553 +,		SchemaEntry("ifctimeseriesschedule",&STEP::ObjectHelper<IfcTimeSeriesSchedule,3>::Construct )
   1.554 +,		SchemaEntry("ifcdimensioncalloutrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.555 +,		SchemaEntry("ifccooledbeamtype",&STEP::ObjectHelper<IfcCooledBeamType,1>::Construct )
   1.556 +,		SchemaEntry("ifcproject",&STEP::ObjectHelper<IfcProject,4>::Construct )
   1.557 +,		SchemaEntry("ifcapprovalrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.558 +,		SchemaEntry("ifcevaporatortype",&STEP::ObjectHelper<IfcEvaporatorType,1>::Construct )
   1.559 +,		SchemaEntry("ifclaborresource",&STEP::ObjectHelper<IfcLaborResource,1>::Construct )
   1.560 +,		SchemaEntry("ifcstructuralloadsingledisplacementdistortion",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.561 +,		SchemaEntry("ifcpropertyboundedvalue",&STEP::ObjectHelper<IfcPropertyBoundedValue,3>::Construct )
   1.562 +,		SchemaEntry("ifcrampflighttype",&STEP::ObjectHelper<IfcRampFlightType,1>::Construct )
   1.563 +,		SchemaEntry("ifcmember",&STEP::ObjectHelper<IfcMember,0>::Construct )
   1.564 +,		SchemaEntry("ifcstructuralloadplanarforce",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.565 +,		SchemaEntry("ifctubebundletype",&STEP::ObjectHelper<IfcTubeBundleType,1>::Construct )
   1.566 +,		SchemaEntry("ifcvalvetype",&STEP::ObjectHelper<IfcValveType,1>::Construct )
   1.567 +,		SchemaEntry("ifcexternallydefinedtextfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.568 +,		SchemaEntry("ifctrimmedcurve",&STEP::ObjectHelper<IfcTrimmedCurve,5>::Construct )
   1.569 +,		SchemaEntry("ifcreldefines",&STEP::ObjectHelper<IfcRelDefines,1>::Construct )
   1.570 +,		SchemaEntry("ifcreldefinesbyproperties",&STEP::ObjectHelper<IfcRelDefinesByProperties,1>::Construct )
   1.571 +,		SchemaEntry("ifcrelassignstocontrol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.572 +,		SchemaEntry("ifcactor",&STEP::ObjectHelper<IfcActor,1>::Construct )
   1.573 +,		SchemaEntry("ifcoccupant",&STEP::ObjectHelper<IfcOccupant,1>::Construct )
   1.574 +,		SchemaEntry("ifchumidifiertype",&STEP::ObjectHelper<IfcHumidifierType,1>::Construct )
   1.575 +,		SchemaEntry("ifcarbitraryopenprofiledef",&STEP::ObjectHelper<IfcArbitraryOpenProfileDef,1>::Construct )
   1.576 +,		SchemaEntry("ifcrelassignstoprojectorder",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.577 +,		SchemaEntry("ifcpermit",&STEP::ObjectHelper<IfcPermit,1>::Construct )
   1.578 +,		SchemaEntry("ifcoffsetcurve3d",&STEP::ObjectHelper<IfcOffsetCurve3D,4>::Construct )
   1.579 +,		SchemaEntry("ifclightsource",&STEP::ObjectHelper<IfcLightSource,4>::Construct )
   1.580 +,		SchemaEntry("ifclightsourcepositional",&STEP::ObjectHelper<IfcLightSourcePositional,5>::Construct )
   1.581 +,		SchemaEntry("ifcsurfacetexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.582 +,		SchemaEntry("ifcblobtexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.583 +,		SchemaEntry("ifccompositeprofiledef",&STEP::ObjectHelper<IfcCompositeProfileDef,2>::Construct )
   1.584 +,		SchemaEntry("ifcdocumentinformation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.585 +,		SchemaEntry("ifcsurfacestylelighting",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.586 +,		SchemaEntry("ifcphysicalsimplequantity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.587 +,		SchemaEntry("ifcquantityarea",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.588 +,		SchemaEntry("ifctimeseries",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.589 +,		SchemaEntry("ifcclassificationnotation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.590 +,		SchemaEntry("ifcramp",&STEP::ObjectHelper<IfcRamp,1>::Construct )
   1.591 +,		SchemaEntry("ifcpredefineditem",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.592 +,		SchemaEntry("ifcpredefinedcurvefont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.593 +,		SchemaEntry("ifcpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.594 +,		SchemaEntry("ifccurrencyrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.595 +,		SchemaEntry("ifcflowmovingdevice",&STEP::ObjectHelper<IfcFlowMovingDevice,0>::Construct )
   1.596 +,		SchemaEntry("ifcspaceheatertype",&STEP::ObjectHelper<IfcSpaceHeaterType,1>::Construct )
   1.597 +,		SchemaEntry("ifclamptype",&STEP::ObjectHelper<IfcLampType,1>::Construct )
   1.598 +,		SchemaEntry("ifcbuildingelementcomponent",&STEP::ObjectHelper<IfcBuildingElementComponent,0>::Construct )
   1.599 +,		SchemaEntry("ifcreinforcingelement",&STEP::ObjectHelper<IfcReinforcingElement,1>::Construct )
   1.600 +,		SchemaEntry("ifcreinforcingbar",&STEP::ObjectHelper<IfcReinforcingBar,5>::Construct )
   1.601 +,		SchemaEntry("ifcelectricheatertype",&STEP::ObjectHelper<IfcElectricHeaterType,1>::Construct )
   1.602 +,		SchemaEntry("ifctshapeprofiledef",&STEP::ObjectHelper<IfcTShapeProfileDef,10>::Construct )
   1.603 +,		SchemaEntry("ifcconstraint",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.604 +,		SchemaEntry("ifcobjective",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.605 +,		SchemaEntry("ifcstructuralactivity",&STEP::ObjectHelper<IfcStructuralActivity,2>::Construct )
   1.606 +,		SchemaEntry("ifcstructuralaction",&STEP::ObjectHelper<IfcStructuralAction,2>::Construct )
   1.607 +,		SchemaEntry("ifctexturecoordinate",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.608 +,		SchemaEntry("ifctexturemap",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.609 +,		SchemaEntry("ifcmonetaryunit",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.610 +,		SchemaEntry("ifcquantitytime",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.611 +,		SchemaEntry("ifctablerow",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.612 +,		SchemaEntry("ifclightdistributiondata",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.613 +,		SchemaEntry("ifcductfittingtype",&STEP::ObjectHelper<IfcDuctFittingType,1>::Construct )
   1.614 +,		SchemaEntry("ifccartesiantransformationoperator2d",&STEP::ObjectHelper<IfcCartesianTransformationOperator2D,0>::Construct )
   1.615 +,		SchemaEntry("ifccartesiantransformationoperator2dnonuniform",&STEP::ObjectHelper<IfcCartesianTransformationOperator2DnonUniform,1>::Construct )
   1.616 +,		SchemaEntry("ifcclassificationnotationfacet",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.617 +,		SchemaEntry("ifcrelassociatesapproval",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.618 +,		SchemaEntry("ifcdraughtingpredefinedcurvefont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.619 +,		SchemaEntry("ifcstructuralloadsingleforce",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.620 +,		SchemaEntry("ifcstructuralloadsingleforcewarping",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.621 +,		SchemaEntry("ifccurvestylefontandscaling",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.622 +,		SchemaEntry("ifcvirtualelement",&STEP::ObjectHelper<IfcVirtualElement,0>::Construct )
   1.623 +,		SchemaEntry("ifcrightcircularcylinder",&STEP::ObjectHelper<IfcRightCircularCylinder,2>::Construct )
   1.624 +,		SchemaEntry("ifcoutlettype",&STEP::ObjectHelper<IfcOutletType,1>::Construct )
   1.625 +,		SchemaEntry("ifcreldecomposes",&STEP::ObjectHelper<IfcRelDecomposes,2>::Construct )
   1.626 +,		SchemaEntry("ifcrelnests",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.627 +,		SchemaEntry("ifccovering",&STEP::ObjectHelper<IfcCovering,1>::Construct )
   1.628 +,		SchemaEntry("ifcexternallydefinedsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.629 +,		SchemaEntry("ifcirregulartimeseries",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.630 +,		SchemaEntry("ifcpolyline",&STEP::ObjectHelper<IfcPolyline,1>::Construct )
   1.631 +,		SchemaEntry("ifcpath",&STEP::ObjectHelper<IfcPath,1>::Construct )
   1.632 +,		SchemaEntry("ifcelementcomponent",&STEP::ObjectHelper<IfcElementComponent,0>::Construct )
   1.633 +,		SchemaEntry("ifcfastener",&STEP::ObjectHelper<IfcFastener,0>::Construct )
   1.634 +,		SchemaEntry("ifcmappeditem",&STEP::ObjectHelper<IfcMappedItem,2>::Construct )
   1.635 +,		SchemaEntry("ifcmetric",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.636 +,		SchemaEntry("ifcdocumentreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.637 +,		SchemaEntry("ifcsectionproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.638 +,		SchemaEntry("ifcrectangularpyramid",&STEP::ObjectHelper<IfcRectangularPyramid,3>::Construct )
   1.639 +,		SchemaEntry("ifcrelreferencedinspatialstructure",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.640 +,		SchemaEntry("ifccrewresource",&STEP::ObjectHelper<IfcCrewResource,0>::Construct )
   1.641 +,		SchemaEntry("ifcnamedunit",&STEP::ObjectHelper<IfcNamedUnit,2>::Construct )
   1.642 +,		SchemaEntry("ifccontextdependentunit",&STEP::ObjectHelper<IfcContextDependentUnit,1>::Construct )
   1.643 +,		SchemaEntry("ifcunitaryequipmenttype",&STEP::ObjectHelper<IfcUnitaryEquipmentType,1>::Construct )
   1.644 +,		SchemaEntry("ifcroof",&STEP::ObjectHelper<IfcRoof,1>::Construct )
   1.645 +,		SchemaEntry("ifcrelassignstasks",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.646 +,		SchemaEntry("ifcstructuralmember",&STEP::ObjectHelper<IfcStructuralMember,0>::Construct )
   1.647 +,		SchemaEntry("ifcrelconnectsports",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.648 +,		SchemaEntry("ifcstylemodel",&STEP::ObjectHelper<IfcStyleModel,0>::Construct )
   1.649 +,		SchemaEntry("ifcstyledrepresentation",&STEP::ObjectHelper<IfcStyledRepresentation,0>::Construct )
   1.650 +,		SchemaEntry("ifcspatialstructureelement",&STEP::ObjectHelper<IfcSpatialStructureElement,2>::Construct )
   1.651 +,		SchemaEntry("ifcbuilding",&STEP::ObjectHelper<IfcBuilding,3>::Construct )
   1.652 +,		SchemaEntry("ifcconnectedfaceset",&STEP::ObjectHelper<IfcConnectedFaceSet,1>::Construct )
   1.653 +,		SchemaEntry("ifcopenshell",&STEP::ObjectHelper<IfcOpenShell,0>::Construct )
   1.654 +,		SchemaEntry("ifcfacetedbrep",&STEP::ObjectHelper<IfcFacetedBrep,0>::Construct )
   1.655 +,		SchemaEntry("ifclocaltime",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.656 +,		SchemaEntry("ifcmechanicalconcretematerialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.657 +,		SchemaEntry("ifcconic",&STEP::ObjectHelper<IfcConic,1>::Construct )
   1.658 +,		SchemaEntry("ifccoveringtype",&STEP::ObjectHelper<IfcCoveringType,1>::Construct )
   1.659 +,		SchemaEntry("ifcroundedrectangleprofiledef",&STEP::ObjectHelper<IfcRoundedRectangleProfileDef,1>::Construct )
   1.660 +,		SchemaEntry("ifcairterminaltype",&STEP::ObjectHelper<IfcAirTerminalType,1>::Construct )
   1.661 +,		SchemaEntry("ifcflowmovingdevicetype",&STEP::ObjectHelper<IfcFlowMovingDeviceType,0>::Construct )
   1.662 +,		SchemaEntry("ifccompressortype",&STEP::ObjectHelper<IfcCompressorType,1>::Construct )
   1.663 +,		SchemaEntry("ifcwindowpanelproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.664 +,		SchemaEntry("ifcpredefinedsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.665 +,		SchemaEntry("ifcpredefinedterminatorsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.666 +,		SchemaEntry("ifcishapeprofiledef",&STEP::ObjectHelper<IfcIShapeProfileDef,5>::Construct )
   1.667 +,		SchemaEntry("ifcasymmetricishapeprofiledef",&STEP::ObjectHelper<IfcAsymmetricIShapeProfileDef,4>::Construct )
   1.668 +,		SchemaEntry("ifccontrollertype",&STEP::ObjectHelper<IfcControllerType,1>::Construct )
   1.669 +,		SchemaEntry("ifcrailing",&STEP::ObjectHelper<IfcRailing,1>::Construct )
   1.670 +,		SchemaEntry("ifcgroup",&STEP::ObjectHelper<IfcGroup,0>::Construct )
   1.671 +,		SchemaEntry("ifcasset",&STEP::ObjectHelper<IfcAsset,9>::Construct )
   1.672 +,		SchemaEntry("ifcmaterialdefinitionrepresentation",&STEP::ObjectHelper<IfcMaterialDefinitionRepresentation,1>::Construct )
   1.673 +,		SchemaEntry("ifccurvestylefontpattern",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.674 +,		SchemaEntry("ifcapprovalpropertyrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.675 +,		SchemaEntry("ifcrailingtype",&STEP::ObjectHelper<IfcRailingType,1>::Construct )
   1.676 +,		SchemaEntry("ifcwall",&STEP::ObjectHelper<IfcWall,0>::Construct )
   1.677 +,		SchemaEntry("ifcclassificationitem",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.678 +,		SchemaEntry("ifcstructuralpointconnection",&STEP::ObjectHelper<IfcStructuralPointConnection,0>::Construct )
   1.679 +,		SchemaEntry("ifcconnectiongeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.680 +,		SchemaEntry("ifcconnectionpointgeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.681 +,		SchemaEntry("ifctimeseriesvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.682 +,		SchemaEntry("ifcpropertylistvalue",&STEP::ObjectHelper<IfcPropertyListValue,2>::Construct )
   1.683 +,		SchemaEntry("ifcfurniturestandard",&STEP::ObjectHelper<IfcFurnitureStandard,0>::Construct )
   1.684 +,		SchemaEntry("ifcrelschedulescostitems",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.685 +,		SchemaEntry("ifcelectricgeneratortype",&STEP::ObjectHelper<IfcElectricGeneratorType,1>::Construct )
   1.686 +,		SchemaEntry("ifcdoor",&STEP::ObjectHelper<IfcDoor,2>::Construct )
   1.687 +,		SchemaEntry("ifcstyleditem",&STEP::ObjectHelper<IfcStyledItem,3>::Construct )
   1.688 +,		SchemaEntry("ifcannotationoccurrence",&STEP::ObjectHelper<IfcAnnotationOccurrence,0>::Construct )
   1.689 +,		SchemaEntry("ifcannotationsymboloccurrence",&STEP::ObjectHelper<IfcAnnotationSymbolOccurrence,0>::Construct )
   1.690 +,		SchemaEntry("ifcarbitraryclosedprofiledef",&STEP::ObjectHelper<IfcArbitraryClosedProfileDef,1>::Construct )
   1.691 +,		SchemaEntry("ifcarbitraryprofiledefwithvoids",&STEP::ObjectHelper<IfcArbitraryProfileDefWithVoids,1>::Construct )
   1.692 +,		SchemaEntry("ifcline",&STEP::ObjectHelper<IfcLine,2>::Construct )
   1.693 +,		SchemaEntry("ifcmateriallayerset",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.694 +,		SchemaEntry("ifcflowsegmenttype",&STEP::ObjectHelper<IfcFlowSegmentType,0>::Construct )
   1.695 +,		SchemaEntry("ifcairterminalboxtype",&STEP::ObjectHelper<IfcAirTerminalBoxType,1>::Construct )
   1.696 +,		SchemaEntry("ifcrelconnectsstructuralmember",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.697 +,		SchemaEntry("ifcpropertysinglevalue",&STEP::ObjectHelper<IfcPropertySingleValue,2>::Construct )
   1.698 +,		SchemaEntry("ifcalarmtype",&STEP::ObjectHelper<IfcAlarmType,1>::Construct )
   1.699 +,		SchemaEntry("ifcellipseprofiledef",&STEP::ObjectHelper<IfcEllipseProfileDef,2>::Construct )
   1.700 +,		SchemaEntry("ifcstair",&STEP::ObjectHelper<IfcStair,1>::Construct )
   1.701 +,		SchemaEntry("ifcpredefinedtextfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.702 +,		SchemaEntry("ifctextstylefontmodel",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.703 +,		SchemaEntry("ifcsurfacestyleshading",&STEP::ObjectHelper<IfcSurfaceStyleShading,1>::Construct )
   1.704 +,		SchemaEntry("ifcpumptype",&STEP::ObjectHelper<IfcPumpType,1>::Construct )
   1.705 +,		SchemaEntry("ifcdefinedsymbol",&STEP::ObjectHelper<IfcDefinedSymbol,2>::Construct )
   1.706 +,		SchemaEntry("ifcclassificationitemrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.707 +,		SchemaEntry("ifcgeneralmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.708 +,		SchemaEntry("ifcelementcomponenttype",&STEP::ObjectHelper<IfcElementComponentType,0>::Construct )
   1.709 +,		SchemaEntry("ifcfastenertype",&STEP::ObjectHelper<IfcFastenerType,0>::Construct )
   1.710 +,		SchemaEntry("ifcmechanicalfastenertype",&STEP::ObjectHelper<IfcMechanicalFastenerType,0>::Construct )
   1.711 +,		SchemaEntry("ifcpermeablecoveringproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.712 +,		SchemaEntry("ifcflowfitting",&STEP::ObjectHelper<IfcFlowFitting,0>::Construct )
   1.713 +,		SchemaEntry("ifcapproval",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.714 +,		SchemaEntry("ifcshapeaspect",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.715 +,		SchemaEntry("ifcconstraintclassificationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.716 +,		SchemaEntry("ifclightsourcedirectional",&STEP::ObjectHelper<IfcLightSourceDirectional,1>::Construct )
   1.717 +,		SchemaEntry("ifcsurfacestyle",&STEP::ObjectHelper<IfcSurfaceStyle,2>::Construct )
   1.718 +,		SchemaEntry("ifcrelconnectsstructuralactivity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.719 +,		SchemaEntry("ifcrelassociatesprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.720 +,		SchemaEntry("ifcannotationsurface",&STEP::ObjectHelper<IfcAnnotationSurface,2>::Construct )
   1.721 +,		SchemaEntry("ifcfuelproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.722 +,		SchemaEntry("ifcflowcontroller",&STEP::ObjectHelper<IfcFlowController,0>::Construct )
   1.723 +,		SchemaEntry("ifcfailureconnectioncondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.724 +,		SchemaEntry("ifcbuildingstorey",&STEP::ObjectHelper<IfcBuildingStorey,1>::Construct )
   1.725 +,		SchemaEntry("ifcworkcontrol",&STEP::ObjectHelper<IfcWorkControl,10>::Construct )
   1.726 +,		SchemaEntry("ifcworkschedule",&STEP::ObjectHelper<IfcWorkSchedule,0>::Construct )
   1.727 +,		SchemaEntry("ifctable",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.728 +,		SchemaEntry("ifcductsegmenttype",&STEP::ObjectHelper<IfcDuctSegmentType,1>::Construct )
   1.729 +,		SchemaEntry("ifcstructuralsteelprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.730 +,		SchemaEntry("ifcdraughtingpredefinedtextfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.731 +,		SchemaEntry("ifcface",&STEP::ObjectHelper<IfcFace,1>::Construct )
   1.732 +,		SchemaEntry("ifcstructuralsurfacemember",&STEP::ObjectHelper<IfcStructuralSurfaceMember,2>::Construct )
   1.733 +,		SchemaEntry("ifcstructuralsurfacemembervarying",&STEP::ObjectHelper<IfcStructuralSurfaceMemberVarying,2>::Construct )
   1.734 +,		SchemaEntry("ifcfacesurface",&STEP::ObjectHelper<IfcFaceSurface,2>::Construct )
   1.735 +,		SchemaEntry("ifcclassification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.736 +,		SchemaEntry("ifcmateriallist",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.737 +,		SchemaEntry("ifccostschedule",&STEP::ObjectHelper<IfcCostSchedule,8>::Construct )
   1.738 +,		SchemaEntry("ifccoordinateduniversaltimeoffset",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.739 +,		SchemaEntry("ifcplanarextent",&STEP::ObjectHelper<IfcPlanarExtent,2>::Construct )
   1.740 +,		SchemaEntry("ifcplanarbox",&STEP::ObjectHelper<IfcPlanarBox,1>::Construct )
   1.741 +,		SchemaEntry("ifcfillareastyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.742 +,		SchemaEntry("ifcsectionreinforcementproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.743 +,		SchemaEntry("ifccolourspecification",&STEP::ObjectHelper<IfcColourSpecification,1>::Construct )
   1.744 +,		SchemaEntry("ifcvector",&STEP::ObjectHelper<IfcVector,2>::Construct )
   1.745 +,		SchemaEntry("ifcbeam",&STEP::ObjectHelper<IfcBeam,0>::Construct )
   1.746 +,		SchemaEntry("ifccolourrgb",&STEP::ObjectHelper<IfcColourRgb,3>::Construct )
   1.747 +,		SchemaEntry("ifcstructuralplanaraction",&STEP::ObjectHelper<IfcStructuralPlanarAction,1>::Construct )
   1.748 +,		SchemaEntry("ifcstructuralplanaractionvarying",&STEP::ObjectHelper<IfcStructuralPlanarActionVarying,2>::Construct )
   1.749 +,		SchemaEntry("ifcsite",&STEP::ObjectHelper<IfcSite,5>::Construct )
   1.750 +,		SchemaEntry("ifcdiscreteaccessorytype",&STEP::ObjectHelper<IfcDiscreteAccessoryType,0>::Construct )
   1.751 +,		SchemaEntry("ifcvibrationisolatortype",&STEP::ObjectHelper<IfcVibrationIsolatorType,1>::Construct )
   1.752 +,		SchemaEntry("ifcevaporativecoolertype",&STEP::ObjectHelper<IfcEvaporativeCoolerType,1>::Construct )
   1.753 +,		SchemaEntry("ifcdistributionchamberelementtype",&STEP::ObjectHelper<IfcDistributionChamberElementType,1>::Construct )
   1.754 +,		SchemaEntry("ifcfeatureelementaddition",&STEP::ObjectHelper<IfcFeatureElementAddition,0>::Construct )
   1.755 +,		SchemaEntry("ifcrelassignstoresource",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.756 +,		SchemaEntry("ifcstructureddimensioncallout",&STEP::ObjectHelper<IfcStructuredDimensionCallout,0>::Construct )
   1.757 +,		SchemaEntry("ifccoolingtowertype",&STEP::ObjectHelper<IfcCoolingTowerType,1>::Construct )
   1.758 +,		SchemaEntry("ifccenterlineprofiledef",&STEP::ObjectHelper<IfcCenterLineProfileDef,1>::Construct )
   1.759 +,		SchemaEntry("ifctexturevertex",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.760 +,		SchemaEntry("ifcorganization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.761 +,		SchemaEntry("ifcwindowstyle",&STEP::ObjectHelper<IfcWindowStyle,4>::Construct )
   1.762 +,		SchemaEntry("ifclightsourcegoniometric",&STEP::ObjectHelper<IfcLightSourceGoniometric,6>::Construct )
   1.763 +,		SchemaEntry("ifcribplateprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.764 +,		SchemaEntry("ifctransformertype",&STEP::ObjectHelper<IfcTransformerType,1>::Construct )
   1.765 +,		SchemaEntry("ifcmembertype",&STEP::ObjectHelper<IfcMemberType,1>::Construct )
   1.766 +,		SchemaEntry("ifcsurfaceoflinearextrusion",&STEP::ObjectHelper<IfcSurfaceOfLinearExtrusion,2>::Construct )
   1.767 +,		SchemaEntry("ifcmotorconnectiontype",&STEP::ObjectHelper<IfcMotorConnectionType,1>::Construct )
   1.768 +,		SchemaEntry("ifcflowtreatmentdevicetype",&STEP::ObjectHelper<IfcFlowTreatmentDeviceType,0>::Construct )
   1.769 +,		SchemaEntry("ifcductsilencertype",&STEP::ObjectHelper<IfcDuctSilencerType,1>::Construct )
   1.770 +,		SchemaEntry("ifcwindowliningproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.771 +,		SchemaEntry("ifcfurnishingelementtype",&STEP::ObjectHelper<IfcFurnishingElementType,0>::Construct )
   1.772 +,		SchemaEntry("ifcsystemfurnitureelementtype",&STEP::ObjectHelper<IfcSystemFurnitureElementType,0>::Construct )
   1.773 +,		SchemaEntry("ifcconnectionpointeccentricity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.774 +,		SchemaEntry("ifcwasteterminaltype",&STEP::ObjectHelper<IfcWasteTerminalType,1>::Construct )
   1.775 +,		SchemaEntry("ifcbsplinecurve",&STEP::ObjectHelper<IfcBSplineCurve,5>::Construct )
   1.776 +,		SchemaEntry("ifcbeziercurve",&STEP::ObjectHelper<IfcBezierCurve,0>::Construct )
   1.777 +,		SchemaEntry("ifcdocumentinformationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.778 +,		SchemaEntry("ifcactuatortype",&STEP::ObjectHelper<IfcActuatorType,1>::Construct )
   1.779 +,		SchemaEntry("ifcdistributioncontrolelement",&STEP::ObjectHelper<IfcDistributionControlElement,1>::Construct )
   1.780 +,		SchemaEntry("ifcannotation",&STEP::ObjectHelper<IfcAnnotation,0>::Construct )
   1.781 +,		SchemaEntry("ifcrelassociatesdocument",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.782 +,		SchemaEntry("ifcdoorliningproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.783 +,		SchemaEntry("ifcshellbasedsurfacemodel",&STEP::ObjectHelper<IfcShellBasedSurfaceModel,1>::Construct )
   1.784 +,		SchemaEntry("ifcactionrequest",&STEP::ObjectHelper<IfcActionRequest,1>::Construct )
   1.785 +,		SchemaEntry("ifcextrudedareasolid",&STEP::ObjectHelper<IfcExtrudedAreaSolid,2>::Construct )
   1.786 +,		SchemaEntry("ifcsystem",&STEP::ObjectHelper<IfcSystem,0>::Construct )
   1.787 +,		SchemaEntry("ifcfillareastylehatching",&STEP::ObjectHelper<IfcFillAreaStyleHatching,5>::Construct )
   1.788 +,		SchemaEntry("ifcrelvoidselement",&STEP::ObjectHelper<IfcRelVoidsElement,2>::Construct )
   1.789 +,		SchemaEntry("ifcrelconnectspathelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.790 +,		SchemaEntry("ifcrelspaceboundary",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.791 +,		SchemaEntry("ifcsurfacecurvesweptareasolid",&STEP::ObjectHelper<IfcSurfaceCurveSweptAreaSolid,4>::Construct )
   1.792 +,		SchemaEntry("ifccartesiantransformationoperator3dnonuniform",&STEP::ObjectHelper<IfcCartesianTransformationOperator3DnonUniform,2>::Construct )
   1.793 +,		SchemaEntry("ifcrelinteractionrequirements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.794 +,		SchemaEntry("ifccurtainwalltype",&STEP::ObjectHelper<IfcCurtainWallType,1>::Construct )
   1.795 +,		SchemaEntry("ifcquantitylength",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.796 +,		SchemaEntry("ifcequipmentstandard",&STEP::ObjectHelper<IfcEquipmentStandard,0>::Construct )
   1.797 +,		SchemaEntry("ifcflowstoragedevicetype",&STEP::ObjectHelper<IfcFlowStorageDeviceType,0>::Construct )
   1.798 +,		SchemaEntry("ifcvirtualgridintersection",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.799 +,		SchemaEntry("ifcdiameterdimension",&STEP::ObjectHelper<IfcDiameterDimension,0>::Construct )
   1.800 +,		SchemaEntry("ifcswitchingdevicetype",&STEP::ObjectHelper<IfcSwitchingDeviceType,1>::Construct )
   1.801 +,		SchemaEntry("ifcaddress",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.802 +,		SchemaEntry("ifctelecomaddress",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.803 +,		SchemaEntry("ifcwindow",&STEP::ObjectHelper<IfcWindow,2>::Construct )
   1.804 +,		SchemaEntry("ifcmechanicalsteelmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.805 +,		SchemaEntry("ifcflowtreatmentdevice",&STEP::ObjectHelper<IfcFlowTreatmentDevice,0>::Construct )
   1.806 +,		SchemaEntry("ifcrelservicesbuildings",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.807 +,		SchemaEntry("ifcchillertype",&STEP::ObjectHelper<IfcChillerType,1>::Construct )
   1.808 +,		SchemaEntry("ifcrelassignstoproduct",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.809 +,		SchemaEntry("ifcrectanglehollowprofiledef",&STEP::ObjectHelper<IfcRectangleHollowProfileDef,3>::Construct )
   1.810 +,		SchemaEntry("ifcenergyproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.811 +,		SchemaEntry("ifcboxedhalfspace",&STEP::ObjectHelper<IfcBoxedHalfSpace,1>::Construct )
   1.812 +,		SchemaEntry("ifcaxis2placement2d",&STEP::ObjectHelper<IfcAxis2Placement2D,1>::Construct )
   1.813 +,		SchemaEntry("ifcspaceprogram",&STEP::ObjectHelper<IfcSpaceProgram,5>::Construct )
   1.814 +,		SchemaEntry("ifcpoint",&STEP::ObjectHelper<IfcPoint,0>::Construct )
   1.815 +,		SchemaEntry("ifccartesianpoint",&STEP::ObjectHelper<IfcCartesianPoint,1>::Construct )
   1.816 +,		SchemaEntry("ifcboundedsurface",&STEP::ObjectHelper<IfcBoundedSurface,0>::Construct )
   1.817 +,		SchemaEntry("ifcloop",&STEP::ObjectHelper<IfcLoop,0>::Construct )
   1.818 +,		SchemaEntry("ifcpolyloop",&STEP::ObjectHelper<IfcPolyLoop,1>::Construct )
   1.819 +,		SchemaEntry("ifcpredefinedpointmarkersymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.820 +,		SchemaEntry("ifcterminatorsymbol",&STEP::ObjectHelper<IfcTerminatorSymbol,1>::Construct )
   1.821 +,		SchemaEntry("ifcdimensioncurveterminator",&STEP::ObjectHelper<IfcDimensionCurveTerminator,1>::Construct )
   1.822 +,		SchemaEntry("ifcrelprojectselement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.823 +,		SchemaEntry("ifctrapeziumprofiledef",&STEP::ObjectHelper<IfcTrapeziumProfileDef,4>::Construct )
   1.824 +,		SchemaEntry("ifcrepresentationcontext",&STEP::ObjectHelper<IfcRepresentationContext,2>::Construct )
   1.825 +,		SchemaEntry("ifcgeometricrepresentationcontext",&STEP::ObjectHelper<IfcGeometricRepresentationContext,4>::Construct )
   1.826 +,		SchemaEntry("ifctextstylewithboxcharacteristics",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.827 +,		SchemaEntry("ifccurveboundedplane",&STEP::ObjectHelper<IfcCurveBoundedPlane,3>::Construct )
   1.828 +,		SchemaEntry("ifcquantitycount",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.829 +,		SchemaEntry("ifctimeseriesreferencerelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.830 +,		SchemaEntry("ifcstructuralloadtemperature",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.831 +,		SchemaEntry("ifcsiunit",&STEP::ObjectHelper<IfcSIUnit,2>::Construct )
   1.832 +,		SchemaEntry("ifcstructuralreaction",&STEP::ObjectHelper<IfcStructuralReaction,0>::Construct )
   1.833 +,		SchemaEntry("ifcstructuralpointreaction",&STEP::ObjectHelper<IfcStructuralPointReaction,0>::Construct )
   1.834 +,		SchemaEntry("ifcaxis1placement",&STEP::ObjectHelper<IfcAxis1Placement,1>::Construct )
   1.835 +,		SchemaEntry("ifcreinforcementdefinitionproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.836 +,		SchemaEntry("ifcelectricappliancetype",&STEP::ObjectHelper<IfcElectricApplianceType,1>::Construct )
   1.837 +,		SchemaEntry("ifcsensortype",&STEP::ObjectHelper<IfcSensorType,1>::Construct )
   1.838 +,		SchemaEntry("ifcfurnishingelement",&STEP::ObjectHelper<IfcFurnishingElement,0>::Construct )
   1.839 +,		SchemaEntry("ifcprotectivedevicetype",&STEP::ObjectHelper<IfcProtectiveDeviceType,1>::Construct )
   1.840 +,		SchemaEntry("ifczshapeprofiledef",&STEP::ObjectHelper<IfcZShapeProfileDef,6>::Construct )
   1.841 +,		SchemaEntry("ifcscheduletimecontrol",&STEP::ObjectHelper<IfcScheduleTimeControl,18>::Construct )
   1.842 +,		SchemaEntry("ifcrepresentationmap",&STEP::ObjectHelper<IfcRepresentationMap,2>::Construct )
   1.843 +,		SchemaEntry("ifcclosedshell",&STEP::ObjectHelper<IfcClosedShell,0>::Construct )
   1.844 +,		SchemaEntry("ifcbuildingelementpart",&STEP::ObjectHelper<IfcBuildingElementPart,0>::Construct )
   1.845 +,		SchemaEntry("ifcdraughtingpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.846 +,		SchemaEntry("ifcpostaladdress",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.847 +,		SchemaEntry("ifcblock",&STEP::ObjectHelper<IfcBlock,3>::Construct )
   1.848 +,		SchemaEntry("ifclightfixturetype",&STEP::ObjectHelper<IfcLightFixtureType,1>::Construct )
   1.849 +,		SchemaEntry("ifcopeningelement",&STEP::ObjectHelper<IfcOpeningElement,0>::Construct )
   1.850 +,		SchemaEntry("ifclightsourcespot",&STEP::ObjectHelper<IfcLightSourceSpot,4>::Construct )
   1.851 +,		SchemaEntry("ifctendonanchor",&STEP::ObjectHelper<IfcTendonAnchor,0>::Construct )
   1.852 +,		SchemaEntry("ifcsurfacestylerefraction",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.853 +,		SchemaEntry("ifcelectricflowstoragedevicetype",&STEP::ObjectHelper<IfcElectricFlowStorageDeviceType,1>::Construct )
   1.854 +,		SchemaEntry("ifcfluidflowproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.855 +,		SchemaEntry("ifcsphere",&STEP::ObjectHelper<IfcSphere,1>::Construct )
   1.856 +,		SchemaEntry("ifcrelassociatesappliedvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.857 +,		SchemaEntry("ifcdampertype",&STEP::ObjectHelper<IfcDamperType,1>::Construct )
   1.858 +,		SchemaEntry("ifcprojectorderrecord",&STEP::ObjectHelper<IfcProjectOrderRecord,2>::Construct )
   1.859 +,		SchemaEntry("ifcdimensionalexponents",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.860 +,		SchemaEntry("ifcreldefinesbytype",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.861 +,		SchemaEntry("ifcdistributionchamberelement",&STEP::ObjectHelper<IfcDistributionChamberElement,0>::Construct )
   1.862 +,		SchemaEntry("ifcmechanicalfastener",&STEP::ObjectHelper<IfcMechanicalFastener,2>::Construct )
   1.863 +,		SchemaEntry("ifcquantityvolume",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.864 +,		SchemaEntry("ifcrectangulartrimmedsurface",&STEP::ObjectHelper<IfcRectangularTrimmedSurface,7>::Construct )
   1.865 +,		SchemaEntry("ifcdateandtime",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.866 +,		SchemaEntry("ifczone",&STEP::ObjectHelper<IfcZone,0>::Construct )
   1.867 +,		SchemaEntry("ifcfantype",&STEP::ObjectHelper<IfcFanType,1>::Construct )
   1.868 +,		SchemaEntry("ifcgeometricset",&STEP::ObjectHelper<IfcGeometricSet,1>::Construct )
   1.869 +,		SchemaEntry("ifcfillareastyletiles",&STEP::ObjectHelper<IfcFillAreaStyleTiles,3>::Construct )
   1.870 +,		SchemaEntry("ifcpixeltexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.871 +,		SchemaEntry("ifccablesegmenttype",&STEP::ObjectHelper<IfcCableSegmentType,1>::Construct )
   1.872 +,		SchemaEntry("ifcreloverridesproperties",&STEP::ObjectHelper<IfcRelOverridesProperties,1>::Construct )
   1.873 +,		SchemaEntry("ifcmeasurewithunit",&STEP::ObjectHelper<IfcMeasureWithUnit,2>::Construct )
   1.874 +,		SchemaEntry("ifcslabtype",&STEP::ObjectHelper<IfcSlabType,1>::Construct )
   1.875 +,		SchemaEntry("ifcservicelife",&STEP::ObjectHelper<IfcServiceLife,2>::Construct )
   1.876 +,		SchemaEntry("ifcfurnituretype",&STEP::ObjectHelper<IfcFurnitureType,1>::Construct )
   1.877 +,		SchemaEntry("ifccostitem",&STEP::ObjectHelper<IfcCostItem,0>::Construct )
   1.878 +,		SchemaEntry("ifcreinforcingmesh",&STEP::ObjectHelper<IfcReinforcingMesh,8>::Construct )
   1.879 +,		SchemaEntry("ifcextendedmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.880 +,		SchemaEntry("ifcactorrole",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.881 +,		SchemaEntry("ifcfacetedbrepwithvoids",&STEP::ObjectHelper<IfcFacetedBrepWithVoids,1>::Construct )
   1.882 +,		SchemaEntry("ifcconstraintaggregationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.883 +,		SchemaEntry("ifcgasterminaltype",&STEP::ObjectHelper<IfcGasTerminalType,1>::Construct )
   1.884 +,		SchemaEntry("ifcrelconnectswitheccentricity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.885 +,		SchemaEntry("ifcpile",&STEP::ObjectHelper<IfcPile,2>::Construct )
   1.886 +,		SchemaEntry("ifcfillareastyletilesymbolwithstyle",&STEP::ObjectHelper<IfcFillAreaStyleTileSymbolWithStyle,1>::Construct )
   1.887 +,		SchemaEntry("ifcelectricalbaseproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.888 +,		SchemaEntry("ifcconstructionmaterialresource",&STEP::ObjectHelper<IfcConstructionMaterialResource,2>::Construct )
   1.889 +,		SchemaEntry("ifcannotationcurveoccurrence",&STEP::ObjectHelper<IfcAnnotationCurveOccurrence,0>::Construct )
   1.890 +,		SchemaEntry("ifcdimensioncurve",&STEP::ObjectHelper<IfcDimensionCurve,0>::Construct )
   1.891 +,		SchemaEntry("ifcgeometriccurveset",&STEP::ObjectHelper<IfcGeometricCurveSet,0>::Construct )
   1.892 +,		SchemaEntry("ifcrelaggregates",&STEP::ObjectHelper<IfcRelAggregates,0>::Construct )
   1.893 +,		SchemaEntry("ifcfacebasedsurfacemodel",&STEP::ObjectHelper<IfcFaceBasedSurfaceModel,1>::Construct )
   1.894 +,		SchemaEntry("ifcenergyconversiondevice",&STEP::ObjectHelper<IfcEnergyConversionDevice,0>::Construct )
   1.895 +,		SchemaEntry("ifcrampflight",&STEP::ObjectHelper<IfcRampFlight,0>::Construct )
   1.896 +,		SchemaEntry("ifcpropertyenumeration",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.897 +,		SchemaEntry("ifcvertexloop",&STEP::ObjectHelper<IfcVertexLoop,1>::Construct )
   1.898 +,		SchemaEntry("ifcplate",&STEP::ObjectHelper<IfcPlate,0>::Construct )
   1.899 +,		SchemaEntry("ifcushapeprofiledef",&STEP::ObjectHelper<IfcUShapeProfileDef,8>::Construct )
   1.900 +,		SchemaEntry("ifchygroscopicmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.901 +,		SchemaEntry("ifcfacebound",&STEP::ObjectHelper<IfcFaceBound,2>::Construct )
   1.902 +,		SchemaEntry("ifcfaceouterbound",&STEP::ObjectHelper<IfcFaceOuterBound,0>::Construct )
   1.903 +,		SchemaEntry("ifconedirectionrepeatfactor",&STEP::ObjectHelper<IfcOneDirectionRepeatFactor,1>::Construct )
   1.904 +,		SchemaEntry("ifcboilertype",&STEP::ObjectHelper<IfcBoilerType,1>::Construct )
   1.905 +,		SchemaEntry("ifcconstructionequipmentresource",&STEP::ObjectHelper<IfcConstructionEquipmentResource,0>::Construct )
   1.906 +,		SchemaEntry("ifccomplexproperty",&STEP::ObjectHelper<IfcComplexProperty,2>::Construct )
   1.907 +,		SchemaEntry("ifcfooting",&STEP::ObjectHelper<IfcFooting,1>::Construct )
   1.908 +,		SchemaEntry("ifcopticalmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.909 +,		SchemaEntry("ifcconstructionproductresource",&STEP::ObjectHelper<IfcConstructionProductResource,0>::Construct )
   1.910 +,		SchemaEntry("ifcboundaryedgecondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.911 +,		SchemaEntry("ifcderivedprofiledef",&STEP::ObjectHelper<IfcDerivedProfileDef,3>::Construct )
   1.912 +,		SchemaEntry("ifcpropertytablevalue",&STEP::ObjectHelper<IfcPropertyTableValue,5>::Construct )
   1.913 +,		SchemaEntry("ifcrelassignstogroup",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.914 +,		SchemaEntry("ifcflowmetertype",&STEP::ObjectHelper<IfcFlowMeterType,1>::Construct )
   1.915 +,		SchemaEntry("ifcdoorstyle",&STEP::ObjectHelper<IfcDoorStyle,4>::Construct )
   1.916 +,		SchemaEntry("ifcrelconnectsporttoelement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.917 +,		SchemaEntry("ifcrelassociatesclassification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.918 +,		SchemaEntry("ifcunitassignment",&STEP::ObjectHelper<IfcUnitAssignment,1>::Construct )
   1.919 +,		SchemaEntry("ifcflowterminal",&STEP::ObjectHelper<IfcFlowTerminal,0>::Construct )
   1.920 +,		SchemaEntry("ifccranerailfshapeprofiledef",&STEP::ObjectHelper<IfcCraneRailFShapeProfileDef,9>::Construct )
   1.921 +,		SchemaEntry("ifcflowsegment",&STEP::ObjectHelper<IfcFlowSegment,0>::Construct )
   1.922 +,		SchemaEntry("ifcelementquantity",&STEP::ObjectHelper<IfcElementQuantity,2>::Construct )
   1.923 +,		SchemaEntry("ifcboundarynodecondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.924 +,		SchemaEntry("ifcboundarynodeconditionwarping",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.925 +,		SchemaEntry("ifccurtainwall",&STEP::ObjectHelper<IfcCurtainWall,0>::Construct )
   1.926 +,		SchemaEntry("ifcdiscreteaccessory",&STEP::ObjectHelper<IfcDiscreteAccessory,0>::Construct )
   1.927 +,		SchemaEntry("ifcgrid",&STEP::ObjectHelper<IfcGrid,3>::Construct )
   1.928 +,		SchemaEntry("ifcsanitaryterminaltype",&STEP::ObjectHelper<IfcSanitaryTerminalType,1>::Construct )
   1.929 +,		SchemaEntry("ifcsoundproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.930 +,		SchemaEntry("ifcsubedge",&STEP::ObjectHelper<IfcSubedge,1>::Construct )
   1.931 +,		SchemaEntry("ifctextstyletextmodel",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.932 +,		SchemaEntry("ifcfiltertype",&STEP::ObjectHelper<IfcFilterType,1>::Construct )
   1.933 +,		SchemaEntry("ifcsymbolstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.934 +,		SchemaEntry("ifctendon",&STEP::ObjectHelper<IfcTendon,8>::Construct )
   1.935 +,		SchemaEntry("ifcdimensionpair",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.936 +,		SchemaEntry("ifcstructuralloadgroup",&STEP::ObjectHelper<IfcStructuralLoadGroup,5>::Construct )
   1.937 +,		SchemaEntry("ifcpresentationstyleassignment",&STEP::ObjectHelper<IfcPresentationStyleAssignment,1>::Construct )
   1.938 +,		SchemaEntry("ifcregulartimeseries",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.939 +,		SchemaEntry("ifcstructuralcurvemember",&STEP::ObjectHelper<IfcStructuralCurveMember,1>::Construct )
   1.940 +,		SchemaEntry("ifclightsourceambient",&STEP::ObjectHelper<IfcLightSourceAmbient,0>::Construct )
   1.941 +,		SchemaEntry("ifccondition",&STEP::ObjectHelper<IfcCondition,0>::Construct )
   1.942 +,		SchemaEntry("ifcport",&STEP::ObjectHelper<IfcPort,0>::Construct )
   1.943 +,		SchemaEntry("ifcspace",&STEP::ObjectHelper<IfcSpace,2>::Construct )
   1.944 +,		SchemaEntry("ifcheatexchangertype",&STEP::ObjectHelper<IfcHeatExchangerType,1>::Construct )
   1.945 +,		SchemaEntry("ifctanktype",&STEP::ObjectHelper<IfcTankType,1>::Construct )
   1.946 +,		SchemaEntry("ifcinventory",&STEP::ObjectHelper<IfcInventory,6>::Construct )
   1.947 +,		SchemaEntry("ifctextstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.948 +,		SchemaEntry("ifcappliedvaluerelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.949 +,		SchemaEntry("ifcsoundvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.950 +,		SchemaEntry("ifctransportelementtype",&STEP::ObjectHelper<IfcTransportElementType,1>::Construct )
   1.951 +,		SchemaEntry("ifcairtoairheatrecoverytype",&STEP::ObjectHelper<IfcAirToAirHeatRecoveryType,1>::Construct )
   1.952 +,		SchemaEntry("ifcstairflight",&STEP::ObjectHelper<IfcStairFlight,4>::Construct )
   1.953 +,		SchemaEntry("ifcelectricalelement",&STEP::ObjectHelper<IfcElectricalElement,0>::Construct )
   1.954 +,		SchemaEntry("ifclightintensitydistribution",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.955 +,		SchemaEntry("ifcclassificationreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.956 +,		SchemaEntry("ifcsurfacestylewithtextures",&STEP::ObjectHelper<IfcSurfaceStyleWithTextures,1>::Construct )
   1.957 +,		SchemaEntry("ifcboundingbox",&STEP::ObjectHelper<IfcBoundingBox,4>::Construct )
   1.958 +,		SchemaEntry("ifcapplication",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.959 +,		SchemaEntry("ifcwalltype",&STEP::ObjectHelper<IfcWallType,1>::Construct )
   1.960 +,		SchemaEntry("ifcmove",&STEP::ObjectHelper<IfcMove,3>::Construct )
   1.961 +,		SchemaEntry("ifccircle",&STEP::ObjectHelper<IfcCircle,1>::Construct )
   1.962 +,		SchemaEntry("ifcoffsetcurve2d",&STEP::ObjectHelper<IfcOffsetCurve2D,3>::Construct )
   1.963 +,		SchemaEntry("ifcmateriallayersetusage",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.964 +,		SchemaEntry("ifcpointoncurve",&STEP::ObjectHelper<IfcPointOnCurve,2>::Construct )
   1.965 +,		SchemaEntry("ifcstructuralresultgroup",&STEP::ObjectHelper<IfcStructuralResultGroup,3>::Construct )
   1.966 +,		SchemaEntry("ifcsectionedspine",&STEP::ObjectHelper<IfcSectionedSpine,3>::Construct )
   1.967 +,		SchemaEntry("ifcslab",&STEP::ObjectHelper<IfcSlab,1>::Construct )
   1.968 +,		SchemaEntry("ifcconnectionportgeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.969 +,		SchemaEntry("ifcquantityweight",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.970 +,		SchemaEntry("ifcrelassociatesmaterial",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.971 +,		SchemaEntry("ifcvertex",&STEP::ObjectHelper<IfcVertex,0>::Construct )
   1.972 +,		SchemaEntry("ifcvertexpoint",&STEP::ObjectHelper<IfcVertexPoint,1>::Construct )
   1.973 +,		SchemaEntry("ifcreferencesvaluedocument",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.974 +,		SchemaEntry("ifcpersonandorganization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.975 +,		SchemaEntry("ifcrelflowcontrolelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.976 +,		SchemaEntry("ifcrelassignstoprocess",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.977 +,		SchemaEntry("ifcstructurallinearaction",&STEP::ObjectHelper<IfcStructuralLinearAction,1>::Construct )
   1.978 +,		SchemaEntry("ifcstructurallinearactionvarying",&STEP::ObjectHelper<IfcStructuralLinearActionVarying,2>::Construct )
   1.979 +,		SchemaEntry("ifcbuildingelementproxytype",&STEP::ObjectHelper<IfcBuildingElementProxyType,1>::Construct )
   1.980 +,		SchemaEntry("ifcprojectionelement",&STEP::ObjectHelper<IfcProjectionElement,0>::Construct )
   1.981 +,		SchemaEntry("ifcderivedunit",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.982 +,		SchemaEntry("ifcapprovalactorrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.983 +,		SchemaEntry("ifcconversionbasedunit",&STEP::ObjectHelper<IfcConversionBasedUnit,2>::Construct )
   1.984 +,		SchemaEntry("ifcmaterial",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.985 +,		SchemaEntry("ifcgeometricrepresentationsubcontext",&STEP::ObjectHelper<IfcGeometricRepresentationSubContext,4>::Construct )
   1.986 +,		SchemaEntry("ifcannotationsurfaceoccurrence",&STEP::ObjectHelper<IfcAnnotationSurfaceOccurrence,0>::Construct )
   1.987 +,		SchemaEntry("ifcpredefineddimensionsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.988 +,		SchemaEntry("ifcroundededgefeature",&STEP::ObjectHelper<IfcRoundedEdgeFeature,1>::Construct )
   1.989 +,		SchemaEntry("ifcrelcoversbldgelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.990 +,		SchemaEntry("ifcelectricdistributionpoint",&STEP::ObjectHelper<IfcElectricDistributionPoint,2>::Construct )
   1.991 +,		SchemaEntry("ifccablecarriersegmenttype",&STEP::ObjectHelper<IfcCableCarrierSegmentType,1>::Construct )
   1.992 +,		SchemaEntry("ifcstructuralloadlinearforce",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.993 +,		SchemaEntry("ifcgridaxis",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.994 +,		SchemaEntry("ifcirregulartimeseriesvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.995 +,		SchemaEntry("ifcwallstandardcase",&STEP::ObjectHelper<IfcWallStandardCase,0>::Construct )
   1.996 +,		SchemaEntry("ifcreloccupiesspaces",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.997 +,		SchemaEntry("ifcderivedunitelement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
   1.998 +,		SchemaEntry("ifccsgsolid",&STEP::ObjectHelper<IfcCsgSolid,1>::Construct )
   1.999 +,		SchemaEntry("ifcbeamtype",&STEP::ObjectHelper<IfcBeamType,1>::Construct )
  1.1000 +,		SchemaEntry("ifcannotationfillarea",&STEP::ObjectHelper<IfcAnnotationFillArea,2>::Construct )
  1.1001 +,		SchemaEntry("ifcrelaxation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1002 +,		SchemaEntry("ifcstructuralcurvemembervarying",&STEP::ObjectHelper<IfcStructuralCurveMemberVarying,0>::Construct )
  1.1003 +,		SchemaEntry("ifcpointonsurface",&STEP::ObjectHelper<IfcPointOnSurface,3>::Construct )
  1.1004 +,		SchemaEntry("ifcpropertydependencyrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1005 +,		SchemaEntry("ifcvertexbasedtexturemap",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1006 +,		SchemaEntry("ifcorderaction",&STEP::ObjectHelper<IfcOrderAction,1>::Construct )
  1.1007 +,		SchemaEntry("ifclibraryreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1008 +,		SchemaEntry("ifcedgeloop",&STEP::ObjectHelper<IfcEdgeLoop,1>::Construct )
  1.1009 +,		SchemaEntry("ifcannotationfillareaoccurrence",&STEP::ObjectHelper<IfcAnnotationFillAreaOccurrence,2>::Construct )
  1.1010 +,		SchemaEntry("ifcrelconnectsstructuralelement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1011 +,		SchemaEntry("ifcworkplan",&STEP::ObjectHelper<IfcWorkPlan,0>::Construct )
  1.1012 +,		SchemaEntry("ifcellipse",&STEP::ObjectHelper<IfcEllipse,2>::Construct )
  1.1013 +,		SchemaEntry("ifcproductdefinitionshape",&STEP::ObjectHelper<IfcProductDefinitionShape,0>::Construct )
  1.1014 +,		SchemaEntry("ifcprojectioncurve",&STEP::ObjectHelper<IfcProjectionCurve,0>::Construct )
  1.1015 +,		SchemaEntry("ifcelectricalcircuit",&STEP::ObjectHelper<IfcElectricalCircuit,0>::Construct )
  1.1016 +,		SchemaEntry("ifcrationalbeziercurve",&STEP::ObjectHelper<IfcRationalBezierCurve,1>::Construct )
  1.1017 +,		SchemaEntry("ifcstructuralpointaction",&STEP::ObjectHelper<IfcStructuralPointAction,0>::Construct )
  1.1018 +,		SchemaEntry("ifcservicelifefactor",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1019 +,		SchemaEntry("ifcthermalmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1020 +,		SchemaEntry("ifctexturecoordinategenerator",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1021 +,		SchemaEntry("ifcpipesegmenttype",&STEP::ObjectHelper<IfcPipeSegmentType,1>::Construct )
  1.1022 +,		SchemaEntry("ifctwodirectionrepeatfactor",&STEP::ObjectHelper<IfcTwoDirectionRepeatFactor,1>::Construct )
  1.1023 +,		SchemaEntry("ifcshaperepresentation",&STEP::ObjectHelper<IfcShapeRepresentation,0>::Construct )
  1.1024 +,		SchemaEntry("ifcpropertyset",&STEP::ObjectHelper<IfcPropertySet,1>::Construct )
  1.1025 +,		SchemaEntry("ifcsurfacestylerendering",&STEP::ObjectHelper<IfcSurfaceStyleRendering,8>::Construct )
  1.1026 +,		SchemaEntry("ifcdistributionport",&STEP::ObjectHelper<IfcDistributionPort,1>::Construct )
  1.1027 +,		SchemaEntry("ifcimagetexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1028 +,		SchemaEntry("ifcpipefittingtype",&STEP::ObjectHelper<IfcPipeFittingType,1>::Construct )
  1.1029 +,		SchemaEntry("ifctransportelement",&STEP::ObjectHelper<IfcTransportElement,3>::Construct )
  1.1030 +,		SchemaEntry("ifcannotationtextoccurrence",&STEP::ObjectHelper<IfcAnnotationTextOccurrence,0>::Construct )
  1.1031 +,		SchemaEntry("ifcconnectionsurfacegeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1032 +,		SchemaEntry("ifcstructuralanalysismodel",&STEP::ObjectHelper<IfcStructuralAnalysisModel,4>::Construct )
  1.1033 +,		SchemaEntry("ifcconnectioncurvegeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1034 +,		SchemaEntry("ifcconditioncriterion",&STEP::ObjectHelper<IfcConditionCriterion,2>::Construct )
  1.1035 +,		SchemaEntry("ifcwaterproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1036 +,		SchemaEntry("ifcmateriallayer",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1037 +,		SchemaEntry("ifccostvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
  1.1038 +
  1.1039 +	};
  1.1040 +}
  1.1041 +
  1.1042 +// -----------------------------------------------------------------------------------------------------------
  1.1043 +void IFC::GetSchema(EXPRESS::ConversionSchema& out)
  1.1044 +{
  1.1045 +	out = EXPRESS::ConversionSchema(schema_raw);
  1.1046 +}
  1.1047 +
  1.1048 +namespace STEP {
  1.1049 +
  1.1050 +// -----------------------------------------------------------------------------------------------------------
  1.1051 +template <> size_t GenericFill<NotImplemented>(const STEP::DB& db, const LIST& params, NotImplemented* in)
  1.1052 +{
  1.1053 +	return 0;
  1.1054 +}
  1.1055 +
  1.1056 +
  1.1057 +
  1.1058 +// -----------------------------------------------------------------------------------------------------------
  1.1059 +template <> size_t GenericFill<IfcRoot>(const DB& db, const LIST& params, IfcRoot* in)
  1.1060 +{
  1.1061 +	size_t base = 0;
  1.1062 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRoot"); }    do { // convert the 'GlobalId' argument
  1.1063 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1064 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[0]=true; break; }
  1.1065 +        try { GenericConvert( in->GlobalId, arg, db ); break; } 
  1.1066 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRoot to be a `IfcGloballyUniqueId`")); }
  1.1067 +    } while(0);
  1.1068 +    do { // convert the 'OwnerHistory' argument
  1.1069 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1070 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[1]=true; break; }
  1.1071 +        try { GenericConvert( in->OwnerHistory, arg, db ); break; } 
  1.1072 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRoot to be a `IfcOwnerHistory`")); }
  1.1073 +    } while(0);
  1.1074 +    do { // convert the 'Name' argument
  1.1075 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1076 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[2]=true; break; }
  1.1077 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1078 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.1079 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcRoot to be a `IfcLabel`")); }
  1.1080 +    } while(0);
  1.1081 +    do { // convert the 'Description' argument
  1.1082 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1083 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[3]=true; break; }
  1.1084 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1085 +        try { GenericConvert( in->Description, arg, db ); break; } 
  1.1086 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRoot to be a `IfcText`")); }
  1.1087 +    } while(0);
  1.1088 +	return base;
  1.1089 +}
  1.1090 +// -----------------------------------------------------------------------------------------------------------
  1.1091 +template <> size_t GenericFill<IfcObjectDefinition>(const DB& db, const LIST& params, IfcObjectDefinition* in)
  1.1092 +{
  1.1093 +	size_t base = GenericFill(db,params,static_cast<IfcRoot*>(in));
  1.1094 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcObjectDefinition"); }	return base;
  1.1095 +}
  1.1096 +// -----------------------------------------------------------------------------------------------------------
  1.1097 +template <> size_t GenericFill<IfcTypeObject>(const DB& db, const LIST& params, IfcTypeObject* in)
  1.1098 +{
  1.1099 +	size_t base = GenericFill(db,params,static_cast<IfcObjectDefinition*>(in));
  1.1100 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1101 +	return base;
  1.1102 +}
  1.1103 +// -----------------------------------------------------------------------------------------------------------
  1.1104 +template <> size_t GenericFill<IfcTypeProduct>(const DB& db, const LIST& params, IfcTypeProduct* in)
  1.1105 +{
  1.1106 +	size_t base = GenericFill(db,params,static_cast<IfcTypeObject*>(in));
  1.1107 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1108 +	return base;
  1.1109 +}
  1.1110 +// -----------------------------------------------------------------------------------------------------------
  1.1111 +template <> size_t GenericFill<IfcElementType>(const DB& db, const LIST& params, IfcElementType* in)
  1.1112 +{
  1.1113 +	size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
  1.1114 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1115 +	return base;
  1.1116 +}
  1.1117 +// -----------------------------------------------------------------------------------------------------------
  1.1118 +template <> size_t GenericFill<IfcDistributionElementType>(const DB& db, const LIST& params, IfcDistributionElementType* in)
  1.1119 +{
  1.1120 +	size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1.1121 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1122 +	return base;
  1.1123 +}
  1.1124 +// -----------------------------------------------------------------------------------------------------------
  1.1125 +template <> size_t GenericFill<IfcDistributionFlowElementType>(const DB& db, const LIST& params, IfcDistributionFlowElementType* in)
  1.1126 +{
  1.1127 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionElementType*>(in));
  1.1128 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1129 +	return base;
  1.1130 +}
  1.1131 +// -----------------------------------------------------------------------------------------------------------
  1.1132 +template <> size_t GenericFill<IfcFlowControllerType>(const DB& db, const LIST& params, IfcFlowControllerType* in)
  1.1133 +{
  1.1134 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.1135 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1136 +	return base;
  1.1137 +}
  1.1138 +// -----------------------------------------------------------------------------------------------------------
  1.1139 +template <> size_t GenericFill<IfcElectricTimeControlType>(const DB& db, const LIST& params, IfcElectricTimeControlType* in)
  1.1140 +{
  1.1141 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.1142 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1143 +	return base;
  1.1144 +}
  1.1145 +// -----------------------------------------------------------------------------------------------------------
  1.1146 +template <> size_t GenericFill<IfcRepresentation>(const DB& db, const LIST& params, IfcRepresentation* in)
  1.1147 +{
  1.1148 +	size_t base = 0;
  1.1149 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRepresentation"); }    do { // convert the 'ContextOfItems' argument
  1.1150 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1151 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[0]=true; break; }
  1.1152 +        try { GenericConvert( in->ContextOfItems, arg, db ); break; } 
  1.1153 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentation to be a `IfcRepresentationContext`")); }
  1.1154 +    } while(0);
  1.1155 +    do { // convert the 'RepresentationIdentifier' argument
  1.1156 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1157 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[1]=true; break; }
  1.1158 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1159 +        try { GenericConvert( in->RepresentationIdentifier, arg, db ); break; } 
  1.1160 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentation to be a `IfcLabel`")); }
  1.1161 +    } while(0);
  1.1162 +    do { // convert the 'RepresentationType' argument
  1.1163 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1164 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[2]=true; break; }
  1.1165 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1166 +        try { GenericConvert( in->RepresentationType, arg, db ); break; } 
  1.1167 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcRepresentation to be a `IfcLabel`")); }
  1.1168 +    } while(0);
  1.1169 +    do { // convert the 'Items' argument
  1.1170 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1171 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[3]=true; break; }
  1.1172 +        try { GenericConvert( in->Items, arg, db ); break; } 
  1.1173 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRepresentation to be a `SET [1:?] OF IfcRepresentationItem`")); }
  1.1174 +    } while(0);
  1.1175 +	return base;
  1.1176 +}
  1.1177 +// -----------------------------------------------------------------------------------------------------------
  1.1178 +template <> size_t GenericFill<IfcShapeModel>(const DB& db, const LIST& params, IfcShapeModel* in)
  1.1179 +{
  1.1180 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentation*>(in));
  1.1181 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1182 +	return base;
  1.1183 +}
  1.1184 +// -----------------------------------------------------------------------------------------------------------
  1.1185 +template <> size_t GenericFill<IfcTopologyRepresentation>(const DB& db, const LIST& params, IfcTopologyRepresentation* in)
  1.1186 +{
  1.1187 +	size_t base = GenericFill(db,params,static_cast<IfcShapeModel*>(in));
  1.1188 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1189 +	return base;
  1.1190 +}
  1.1191 +// -----------------------------------------------------------------------------------------------------------
  1.1192 +template <> size_t GenericFill<IfcRelationship>(const DB& db, const LIST& params, IfcRelationship* in)
  1.1193 +{
  1.1194 +	size_t base = GenericFill(db,params,static_cast<IfcRoot*>(in));
  1.1195 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRelationship"); }	return base;
  1.1196 +}
  1.1197 +// -----------------------------------------------------------------------------------------------------------
  1.1198 +template <> size_t GenericFill<IfcRelConnects>(const DB& db, const LIST& params, IfcRelConnects* in)
  1.1199 +{
  1.1200 +	size_t base = GenericFill(db,params,static_cast<IfcRelationship*>(in));
  1.1201 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRelConnects"); }	return base;
  1.1202 +}
  1.1203 +// -----------------------------------------------------------------------------------------------------------
  1.1204 +template <> size_t GenericFill<IfcFlowFittingType>(const DB& db, const LIST& params, IfcFlowFittingType* in)
  1.1205 +{
  1.1206 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.1207 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1208 +	return base;
  1.1209 +}
  1.1210 +// -----------------------------------------------------------------------------------------------------------
  1.1211 +template <> size_t GenericFill<IfcCableCarrierFittingType>(const DB& db, const LIST& params, IfcCableCarrierFittingType* in)
  1.1212 +{
  1.1213 +	size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
  1.1214 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1215 +	return base;
  1.1216 +}
  1.1217 +// -----------------------------------------------------------------------------------------------------------
  1.1218 +template <> size_t GenericFill<IfcEnergyConversionDeviceType>(const DB& db, const LIST& params, IfcEnergyConversionDeviceType* in)
  1.1219 +{
  1.1220 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.1221 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1222 +	return base;
  1.1223 +}
  1.1224 +// -----------------------------------------------------------------------------------------------------------
  1.1225 +template <> size_t GenericFill<IfcCoilType>(const DB& db, const LIST& params, IfcCoilType* in)
  1.1226 +{
  1.1227 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.1228 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1229 +	return base;
  1.1230 +}
  1.1231 +// -----------------------------------------------------------------------------------------------------------
  1.1232 +template <> size_t GenericFill<IfcObject>(const DB& db, const LIST& params, IfcObject* in)
  1.1233 +{
  1.1234 +	size_t base = GenericFill(db,params,static_cast<IfcObjectDefinition*>(in));
  1.1235 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcObject"); }    do { // convert the 'ObjectType' argument
  1.1236 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1237 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcObject,1>::aux_is_derived[0]=true; break; }
  1.1238 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1239 +        try { GenericConvert( in->ObjectType, arg, db ); break; } 
  1.1240 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcObject to be a `IfcLabel`")); }
  1.1241 +    } while(0);
  1.1242 +	return base;
  1.1243 +}
  1.1244 +// -----------------------------------------------------------------------------------------------------------
  1.1245 +template <> size_t GenericFill<IfcControl>(const DB& db, const LIST& params, IfcControl* in)
  1.1246 +{
  1.1247 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.1248 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1249 +	return base;
  1.1250 +}
  1.1251 +// -----------------------------------------------------------------------------------------------------------
  1.1252 +template <> size_t GenericFill<IfcPerformanceHistory>(const DB& db, const LIST& params, IfcPerformanceHistory* in)
  1.1253 +{
  1.1254 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.1255 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1256 +	return base;
  1.1257 +}
  1.1258 +// -----------------------------------------------------------------------------------------------------------
  1.1259 +template <> size_t GenericFill<IfcRepresentationItem>(const DB& db, const LIST& params, IfcRepresentationItem* in)
  1.1260 +{
  1.1261 +	size_t base = 0;
  1.1262 +	return base;
  1.1263 +}
  1.1264 +// -----------------------------------------------------------------------------------------------------------
  1.1265 +template <> size_t GenericFill<IfcGeometricRepresentationItem>(const DB& db, const LIST& params, IfcGeometricRepresentationItem* in)
  1.1266 +{
  1.1267 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
  1.1268 +	return base;
  1.1269 +}
  1.1270 +// -----------------------------------------------------------------------------------------------------------
  1.1271 +template <> size_t GenericFill<IfcTextLiteral>(const DB& db, const LIST& params, IfcTextLiteral* in)
  1.1272 +{
  1.1273 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1274 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1275 +	return base;
  1.1276 +}
  1.1277 +// -----------------------------------------------------------------------------------------------------------
  1.1278 +template <> size_t GenericFill<IfcTextLiteralWithExtent>(const DB& db, const LIST& params, IfcTextLiteralWithExtent* in)
  1.1279 +{
  1.1280 +	size_t base = GenericFill(db,params,static_cast<IfcTextLiteral*>(in));
  1.1281 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1282 +	return base;
  1.1283 +}
  1.1284 +// -----------------------------------------------------------------------------------------------------------
  1.1285 +template <> size_t GenericFill<IfcProductRepresentation>(const DB& db, const LIST& params, IfcProductRepresentation* in)
  1.1286 +{
  1.1287 +	size_t base = 0;
  1.1288 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcProductRepresentation"); }    do { // convert the 'Name' argument
  1.1289 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1290 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProductRepresentation,3>::aux_is_derived[0]=true; break; }
  1.1291 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1292 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.1293 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProductRepresentation to be a `IfcLabel`")); }
  1.1294 +    } while(0);
  1.1295 +    do { // convert the 'Description' argument
  1.1296 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1297 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProductRepresentation,3>::aux_is_derived[1]=true; break; }
  1.1298 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1299 +        try { GenericConvert( in->Description, arg, db ); break; } 
  1.1300 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProductRepresentation to be a `IfcText`")); }
  1.1301 +    } while(0);
  1.1302 +    do { // convert the 'Representations' argument
  1.1303 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1304 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProductRepresentation,3>::aux_is_derived[2]=true; break; }
  1.1305 +        try { GenericConvert( in->Representations, arg, db ); break; } 
  1.1306 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcProductRepresentation to be a `LIST [1:?] OF IfcRepresentation`")); }
  1.1307 +    } while(0);
  1.1308 +	return base;
  1.1309 +}
  1.1310 +// -----------------------------------------------------------------------------------------------------------
  1.1311 +template <> size_t GenericFill<IfcProduct>(const DB& db, const LIST& params, IfcProduct* in)
  1.1312 +{
  1.1313 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.1314 +	if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcProduct"); }    do { // convert the 'ObjectPlacement' argument
  1.1315 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1316 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProduct,2>::aux_is_derived[0]=true; break; }
  1.1317 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1318 +        try { GenericConvert( in->ObjectPlacement, arg, db ); break; } 
  1.1319 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcProduct to be a `IfcObjectPlacement`")); }
  1.1320 +    } while(0);
  1.1321 +    do { // convert the 'Representation' argument
  1.1322 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1323 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProduct,2>::aux_is_derived[1]=true; break; }
  1.1324 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1325 +        try { GenericConvert( in->Representation, arg, db ); break; } 
  1.1326 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcProduct to be a `IfcProductRepresentation`")); }
  1.1327 +    } while(0);
  1.1328 +	return base;
  1.1329 +}
  1.1330 +// -----------------------------------------------------------------------------------------------------------
  1.1331 +template <> size_t GenericFill<IfcElement>(const DB& db, const LIST& params, IfcElement* in)
  1.1332 +{
  1.1333 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.1334 +	if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcElement"); }    do { // convert the 'Tag' argument
  1.1335 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1336 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcElement,1>::aux_is_derived[0]=true; break; }
  1.1337 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1338 +        try { GenericConvert( in->Tag, arg, db ); break; } 
  1.1339 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcElement to be a `IfcIdentifier`")); }
  1.1340 +    } while(0);
  1.1341 +	return base;
  1.1342 +}
  1.1343 +// -----------------------------------------------------------------------------------------------------------
  1.1344 +template <> size_t GenericFill<IfcDistributionElement>(const DB& db, const LIST& params, IfcDistributionElement* in)
  1.1345 +{
  1.1346 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.1347 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1348 +	return base;
  1.1349 +}
  1.1350 +// -----------------------------------------------------------------------------------------------------------
  1.1351 +template <> size_t GenericFill<IfcDistributionFlowElement>(const DB& db, const LIST& params, IfcDistributionFlowElement* in)
  1.1352 +{
  1.1353 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionElement*>(in));
  1.1354 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1355 +	return base;
  1.1356 +}
  1.1357 +// -----------------------------------------------------------------------------------------------------------
  1.1358 +template <> size_t GenericFill<IfcCurve>(const DB& db, const LIST& params, IfcCurve* in)
  1.1359 +{
  1.1360 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1361 +	return base;
  1.1362 +}
  1.1363 +// -----------------------------------------------------------------------------------------------------------
  1.1364 +template <> size_t GenericFill<IfcBoundedCurve>(const DB& db, const LIST& params, IfcBoundedCurve* in)
  1.1365 +{
  1.1366 +	size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
  1.1367 +	return base;
  1.1368 +}
  1.1369 +// -----------------------------------------------------------------------------------------------------------
  1.1370 +template <> size_t GenericFill<IfcCompositeCurve>(const DB& db, const LIST& params, IfcCompositeCurve* in)
  1.1371 +{
  1.1372 +	size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
  1.1373 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcCompositeCurve"); }    do { // convert the 'Segments' argument
  1.1374 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1375 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCompositeCurve,2>::aux_is_derived[0]=true; break; }
  1.1376 +        try { GenericConvert( in->Segments, arg, db ); break; } 
  1.1377 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCompositeCurve to be a `LIST [1:?] OF IfcCompositeCurveSegment`")); }
  1.1378 +    } while(0);
  1.1379 +    do { // convert the 'SelfIntersect' argument
  1.1380 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1381 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCompositeCurve,2>::aux_is_derived[1]=true; break; }
  1.1382 +        try { GenericConvert( in->SelfIntersect, arg, db ); break; } 
  1.1383 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCompositeCurve to be a `LOGICAL`")); }
  1.1384 +    } while(0);
  1.1385 +	return base;
  1.1386 +}
  1.1387 +// -----------------------------------------------------------------------------------------------------------
  1.1388 +template <> size_t GenericFill<Ifc2DCompositeCurve>(const DB& db, const LIST& params, Ifc2DCompositeCurve* in)
  1.1389 +{
  1.1390 +	size_t base = GenericFill(db,params,static_cast<IfcCompositeCurve*>(in));
  1.1391 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1392 +	return base;
  1.1393 +}
  1.1394 +// -----------------------------------------------------------------------------------------------------------
  1.1395 +template <> size_t GenericFill<IfcCartesianTransformationOperator>(const DB& db, const LIST& params, IfcCartesianTransformationOperator* in)
  1.1396 +{
  1.1397 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1398 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcCartesianTransformationOperator"); }    do { // convert the 'Axis1' argument
  1.1399 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1400 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[0]=true; break; }
  1.1401 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1402 +        try { GenericConvert( in->Axis1, arg, db ); break; } 
  1.1403 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCartesianTransformationOperator to be a `IfcDirection`")); }
  1.1404 +    } while(0);
  1.1405 +    do { // convert the 'Axis2' argument
  1.1406 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1407 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[1]=true; break; }
  1.1408 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1409 +        try { GenericConvert( in->Axis2, arg, db ); break; } 
  1.1410 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCartesianTransformationOperator to be a `IfcDirection`")); }
  1.1411 +    } while(0);
  1.1412 +    do { // convert the 'LocalOrigin' argument
  1.1413 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1414 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[2]=true; break; }
  1.1415 +        try { GenericConvert( in->LocalOrigin, arg, db ); break; } 
  1.1416 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcCartesianTransformationOperator to be a `IfcCartesianPoint`")); }
  1.1417 +    } while(0);
  1.1418 +    do { // convert the 'Scale' argument
  1.1419 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1420 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[3]=true; break; }
  1.1421 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1422 +        try { GenericConvert( in->Scale, arg, db ); break; } 
  1.1423 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcCartesianTransformationOperator to be a `REAL`")); }
  1.1424 +    } while(0);
  1.1425 +	return base;
  1.1426 +}
  1.1427 +// -----------------------------------------------------------------------------------------------------------
  1.1428 +template <> size_t GenericFill<IfcCartesianTransformationOperator3D>(const DB& db, const LIST& params, IfcCartesianTransformationOperator3D* in)
  1.1429 +{
  1.1430 +	size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator*>(in));
  1.1431 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcCartesianTransformationOperator3D"); }    do { // convert the 'Axis3' argument
  1.1432 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1433 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator3D,1>::aux_is_derived[0]=true; break; }
  1.1434 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1435 +        try { GenericConvert( in->Axis3, arg, db ); break; } 
  1.1436 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcCartesianTransformationOperator3D to be a `IfcDirection`")); }
  1.1437 +    } while(0);
  1.1438 +	return base;
  1.1439 +}
  1.1440 +// -----------------------------------------------------------------------------------------------------------
  1.1441 +template <> size_t GenericFill<IfcProperty>(const DB& db, const LIST& params, IfcProperty* in)
  1.1442 +{
  1.1443 +	size_t base = 0;
  1.1444 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcProperty"); }    do { // convert the 'Name' argument
  1.1445 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1446 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProperty,2>::aux_is_derived[0]=true; break; }
  1.1447 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.1448 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProperty to be a `IfcIdentifier`")); }
  1.1449 +    } while(0);
  1.1450 +    do { // convert the 'Description' argument
  1.1451 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1452 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProperty,2>::aux_is_derived[1]=true; break; }
  1.1453 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1454 +        try { GenericConvert( in->Description, arg, db ); break; } 
  1.1455 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProperty to be a `IfcText`")); }
  1.1456 +    } while(0);
  1.1457 +	return base;
  1.1458 +}
  1.1459 +// -----------------------------------------------------------------------------------------------------------
  1.1460 +template <> size_t GenericFill<IfcSimpleProperty>(const DB& db, const LIST& params, IfcSimpleProperty* in)
  1.1461 +{
  1.1462 +	size_t base = GenericFill(db,params,static_cast<IfcProperty*>(in));
  1.1463 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcSimpleProperty"); }	return base;
  1.1464 +}
  1.1465 +// -----------------------------------------------------------------------------------------------------------
  1.1466 +template <> size_t GenericFill<IfcPropertyEnumeratedValue>(const DB& db, const LIST& params, IfcPropertyEnumeratedValue* in)
  1.1467 +{
  1.1468 +	size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1.1469 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1470 +	return base;
  1.1471 +}
  1.1472 +// -----------------------------------------------------------------------------------------------------------
  1.1473 +template <> size_t GenericFill<IfcBuildingElementType>(const DB& db, const LIST& params, IfcBuildingElementType* in)
  1.1474 +{
  1.1475 +	size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1.1476 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1477 +	return base;
  1.1478 +}
  1.1479 +// -----------------------------------------------------------------------------------------------------------
  1.1480 +template <> size_t GenericFill<IfcStairFlightType>(const DB& db, const LIST& params, IfcStairFlightType* in)
  1.1481 +{
  1.1482 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.1483 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1484 +	return base;
  1.1485 +}
  1.1486 +// -----------------------------------------------------------------------------------------------------------
  1.1487 +template <> size_t GenericFill<IfcSurface>(const DB& db, const LIST& params, IfcSurface* in)
  1.1488 +{
  1.1489 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1490 +	return base;
  1.1491 +}
  1.1492 +// -----------------------------------------------------------------------------------------------------------
  1.1493 +template <> size_t GenericFill<IfcElementarySurface>(const DB& db, const LIST& params, IfcElementarySurface* in)
  1.1494 +{
  1.1495 +	size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
  1.1496 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcElementarySurface"); }    do { // convert the 'Position' argument
  1.1497 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1498 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcElementarySurface,1>::aux_is_derived[0]=true; break; }
  1.1499 +        try { GenericConvert( in->Position, arg, db ); break; } 
  1.1500 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcElementarySurface to be a `IfcAxis2Placement3D`")); }
  1.1501 +    } while(0);
  1.1502 +	return base;
  1.1503 +}
  1.1504 +// -----------------------------------------------------------------------------------------------------------
  1.1505 +template <> size_t GenericFill<IfcPlane>(const DB& db, const LIST& params, IfcPlane* in)
  1.1506 +{
  1.1507 +	size_t base = GenericFill(db,params,static_cast<IfcElementarySurface*>(in));
  1.1508 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPlane"); }	return base;
  1.1509 +}
  1.1510 +// -----------------------------------------------------------------------------------------------------------
  1.1511 +template <> size_t GenericFill<IfcBooleanResult>(const DB& db, const LIST& params, IfcBooleanResult* in)
  1.1512 +{
  1.1513 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1514 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcBooleanResult"); }    do { // convert the 'Operator' argument
  1.1515 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1516 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBooleanResult,3>::aux_is_derived[0]=true; break; }
  1.1517 +        try { GenericConvert( in->Operator, arg, db ); break; } 
  1.1518 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBooleanResult to be a `IfcBooleanOperator`")); }
  1.1519 +    } while(0);
  1.1520 +    do { // convert the 'FirstOperand' argument
  1.1521 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1522 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBooleanResult,3>::aux_is_derived[1]=true; break; }
  1.1523 +        try { GenericConvert( in->FirstOperand, arg, db ); break; } 
  1.1524 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBooleanResult to be a `IfcBooleanOperand`")); }
  1.1525 +    } while(0);
  1.1526 +    do { // convert the 'SecondOperand' argument
  1.1527 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1528 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBooleanResult,3>::aux_is_derived[2]=true; break; }
  1.1529 +        try { GenericConvert( in->SecondOperand, arg, db ); break; } 
  1.1530 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBooleanResult to be a `IfcBooleanOperand`")); }
  1.1531 +    } while(0);
  1.1532 +	return base;
  1.1533 +}
  1.1534 +// -----------------------------------------------------------------------------------------------------------
  1.1535 +template <> size_t GenericFill<IfcBooleanClippingResult>(const DB& db, const LIST& params, IfcBooleanClippingResult* in)
  1.1536 +{
  1.1537 +	size_t base = GenericFill(db,params,static_cast<IfcBooleanResult*>(in));
  1.1538 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcBooleanClippingResult"); }	return base;
  1.1539 +}
  1.1540 +// -----------------------------------------------------------------------------------------------------------
  1.1541 +template <> size_t GenericFill<IfcSolidModel>(const DB& db, const LIST& params, IfcSolidModel* in)
  1.1542 +{
  1.1543 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1544 +	return base;
  1.1545 +}
  1.1546 +// -----------------------------------------------------------------------------------------------------------
  1.1547 +template <> size_t GenericFill<IfcManifoldSolidBrep>(const DB& db, const LIST& params, IfcManifoldSolidBrep* in)
  1.1548 +{
  1.1549 +	size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
  1.1550 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcManifoldSolidBrep"); }    do { // convert the 'Outer' argument
  1.1551 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1552 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcManifoldSolidBrep,1>::aux_is_derived[0]=true; break; }
  1.1553 +        try { GenericConvert( in->Outer, arg, db ); break; } 
  1.1554 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcManifoldSolidBrep to be a `IfcClosedShell`")); }
  1.1555 +    } while(0);
  1.1556 +	return base;
  1.1557 +}
  1.1558 +// -----------------------------------------------------------------------------------------------------------
  1.1559 +template <> size_t GenericFill<IfcFlowTerminalType>(const DB& db, const LIST& params, IfcFlowTerminalType* in)
  1.1560 +{
  1.1561 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.1562 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1563 +	return base;
  1.1564 +}
  1.1565 +// -----------------------------------------------------------------------------------------------------------
  1.1566 +template <> size_t GenericFill<IfcStackTerminalType>(const DB& db, const LIST& params, IfcStackTerminalType* in)
  1.1567 +{
  1.1568 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.1569 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1570 +	return base;
  1.1571 +}
  1.1572 +// -----------------------------------------------------------------------------------------------------------
  1.1573 +template <> size_t GenericFill<IfcStructuralItem>(const DB& db, const LIST& params, IfcStructuralItem* in)
  1.1574 +{
  1.1575 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.1576 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1577 +	return base;
  1.1578 +}
  1.1579 +// -----------------------------------------------------------------------------------------------------------
  1.1580 +template <> size_t GenericFill<IfcStructuralConnection>(const DB& db, const LIST& params, IfcStructuralConnection* in)
  1.1581 +{
  1.1582 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralItem*>(in));
  1.1583 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1584 +	return base;
  1.1585 +}
  1.1586 +// -----------------------------------------------------------------------------------------------------------
  1.1587 +template <> size_t GenericFill<IfcStructuralCurveConnection>(const DB& db, const LIST& params, IfcStructuralCurveConnection* in)
  1.1588 +{
  1.1589 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralConnection*>(in));
  1.1590 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1591 +	return base;
  1.1592 +}
  1.1593 +// -----------------------------------------------------------------------------------------------------------
  1.1594 +template <> size_t GenericFill<IfcJunctionBoxType>(const DB& db, const LIST& params, IfcJunctionBoxType* in)
  1.1595 +{
  1.1596 +	size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
  1.1597 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1598 +	return base;
  1.1599 +}
  1.1600 +// -----------------------------------------------------------------------------------------------------------
  1.1601 +template <> size_t GenericFill<IfcPropertyDefinition>(const DB& db, const LIST& params, IfcPropertyDefinition* in)
  1.1602 +{
  1.1603 +	size_t base = GenericFill(db,params,static_cast<IfcRoot*>(in));
  1.1604 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertyDefinition"); }	return base;
  1.1605 +}
  1.1606 +// -----------------------------------------------------------------------------------------------------------
  1.1607 +template <> size_t GenericFill<IfcPropertySetDefinition>(const DB& db, const LIST& params, IfcPropertySetDefinition* in)
  1.1608 +{
  1.1609 +	size_t base = GenericFill(db,params,static_cast<IfcPropertyDefinition*>(in));
  1.1610 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertySetDefinition"); }	return base;
  1.1611 +}
  1.1612 +// -----------------------------------------------------------------------------------------------------------
  1.1613 +template <> size_t GenericFill<IfcProcess>(const DB& db, const LIST& params, IfcProcess* in)
  1.1614 +{
  1.1615 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.1616 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1617 +	return base;
  1.1618 +}
  1.1619 +// -----------------------------------------------------------------------------------------------------------
  1.1620 +template <> size_t GenericFill<IfcTask>(const DB& db, const LIST& params, IfcTask* in)
  1.1621 +{
  1.1622 +	size_t base = GenericFill(db,params,static_cast<IfcProcess*>(in));
  1.1623 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1624 +	return base;
  1.1625 +}
  1.1626 +// -----------------------------------------------------------------------------------------------------------
  1.1627 +template <> size_t GenericFill<IfcRelFillsElement>(const DB& db, const LIST& params, IfcRelFillsElement* in)
  1.1628 +{
  1.1629 +	size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
  1.1630 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelFillsElement"); }    do { // convert the 'RelatingOpeningElement' argument
  1.1631 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1632 +        try { GenericConvert( in->RelatingOpeningElement, arg, db ); break; } 
  1.1633 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelFillsElement to be a `IfcOpeningElement`")); }
  1.1634 +    } while(0);
  1.1635 +    do { // convert the 'RelatedBuildingElement' argument
  1.1636 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1637 +        try { GenericConvert( in->RelatedBuildingElement, arg, db ); break; } 
  1.1638 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelFillsElement to be a `IfcElement`")); }
  1.1639 +    } while(0);
  1.1640 +	return base;
  1.1641 +}
  1.1642 +// -----------------------------------------------------------------------------------------------------------
  1.1643 +template <> size_t GenericFill<IfcProcedure>(const DB& db, const LIST& params, IfcProcedure* in)
  1.1644 +{
  1.1645 +	size_t base = GenericFill(db,params,static_cast<IfcProcess*>(in));
  1.1646 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1647 +	return base;
  1.1648 +}
  1.1649 +// -----------------------------------------------------------------------------------------------------------
  1.1650 +template <> size_t GenericFill<IfcProxy>(const DB& db, const LIST& params, IfcProxy* in)
  1.1651 +{
  1.1652 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.1653 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1654 +	return base;
  1.1655 +}
  1.1656 +// -----------------------------------------------------------------------------------------------------------
  1.1657 +template <> size_t GenericFill<IfcResource>(const DB& db, const LIST& params, IfcResource* in)
  1.1658 +{
  1.1659 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.1660 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1661 +	return base;
  1.1662 +}
  1.1663 +// -----------------------------------------------------------------------------------------------------------
  1.1664 +template <> size_t GenericFill<IfcConstructionResource>(const DB& db, const LIST& params, IfcConstructionResource* in)
  1.1665 +{
  1.1666 +	size_t base = GenericFill(db,params,static_cast<IfcResource*>(in));
  1.1667 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1668 +	return base;
  1.1669 +}
  1.1670 +// -----------------------------------------------------------------------------------------------------------
  1.1671 +template <> size_t GenericFill<IfcSubContractResource>(const DB& db, const LIST& params, IfcSubContractResource* in)
  1.1672 +{
  1.1673 +	size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1.1674 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1675 +	return base;
  1.1676 +}
  1.1677 +// -----------------------------------------------------------------------------------------------------------
  1.1678 +template <> size_t GenericFill<IfcRelContainedInSpatialStructure>(const DB& db, const LIST& params, IfcRelContainedInSpatialStructure* in)
  1.1679 +{
  1.1680 +	size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
  1.1681 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelContainedInSpatialStructure"); }    do { // convert the 'RelatedElements' argument
  1.1682 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1683 +        try { GenericConvert( in->RelatedElements, arg, db ); break; } 
  1.1684 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelContainedInSpatialStructure to be a `SET [1:?] OF IfcProduct`")); }
  1.1685 +    } while(0);
  1.1686 +    do { // convert the 'RelatingStructure' argument
  1.1687 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1688 +        try { GenericConvert( in->RelatingStructure, arg, db ); break; } 
  1.1689 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelContainedInSpatialStructure to be a `IfcSpatialStructureElement`")); }
  1.1690 +    } while(0);
  1.1691 +	return base;
  1.1692 +}
  1.1693 +// -----------------------------------------------------------------------------------------------------------
  1.1694 +template <> size_t GenericFill<IfcTopologicalRepresentationItem>(const DB& db, const LIST& params, IfcTopologicalRepresentationItem* in)
  1.1695 +{
  1.1696 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
  1.1697 +	return base;
  1.1698 +}
  1.1699 +// -----------------------------------------------------------------------------------------------------------
  1.1700 +template <> size_t GenericFill<IfcEdge>(const DB& db, const LIST& params, IfcEdge* in)
  1.1701 +{
  1.1702 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.1703 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1704 +	return base;
  1.1705 +}
  1.1706 +// -----------------------------------------------------------------------------------------------------------
  1.1707 +template <> size_t GenericFill<IfcEdgeCurve>(const DB& db, const LIST& params, IfcEdgeCurve* in)
  1.1708 +{
  1.1709 +	size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
  1.1710 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1711 +	return base;
  1.1712 +}
  1.1713 +// -----------------------------------------------------------------------------------------------------------
  1.1714 +template <> size_t GenericFill<IfcPlateType>(const DB& db, const LIST& params, IfcPlateType* in)
  1.1715 +{
  1.1716 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.1717 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1718 +	return base;
  1.1719 +}
  1.1720 +// -----------------------------------------------------------------------------------------------------------
  1.1721 +template <> size_t GenericFill<IfcObjectPlacement>(const DB& db, const LIST& params, IfcObjectPlacement* in)
  1.1722 +{
  1.1723 +	size_t base = 0;
  1.1724 +	return base;
  1.1725 +}
  1.1726 +// -----------------------------------------------------------------------------------------------------------
  1.1727 +template <> size_t GenericFill<IfcGridPlacement>(const DB& db, const LIST& params, IfcGridPlacement* in)
  1.1728 +{
  1.1729 +	size_t base = GenericFill(db,params,static_cast<IfcObjectPlacement*>(in));
  1.1730 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1731 +	return base;
  1.1732 +}
  1.1733 +// -----------------------------------------------------------------------------------------------------------
  1.1734 +template <> size_t GenericFill<IfcFireSuppressionTerminalType>(const DB& db, const LIST& params, IfcFireSuppressionTerminalType* in)
  1.1735 +{
  1.1736 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.1737 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1738 +	return base;
  1.1739 +}
  1.1740 +// -----------------------------------------------------------------------------------------------------------
  1.1741 +template <> size_t GenericFill<IfcFlowStorageDevice>(const DB& db, const LIST& params, IfcFlowStorageDevice* in)
  1.1742 +{
  1.1743 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.1744 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1745 +	return base;
  1.1746 +}
  1.1747 +// -----------------------------------------------------------------------------------------------------------
  1.1748 +template <> size_t GenericFill<IfcSweptSurface>(const DB& db, const LIST& params, IfcSweptSurface* in)
  1.1749 +{
  1.1750 +	size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
  1.1751 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1752 +	return base;
  1.1753 +}
  1.1754 +// -----------------------------------------------------------------------------------------------------------
  1.1755 +template <> size_t GenericFill<IfcSurfaceOfRevolution>(const DB& db, const LIST& params, IfcSurfaceOfRevolution* in)
  1.1756 +{
  1.1757 +	size_t base = GenericFill(db,params,static_cast<IfcSweptSurface*>(in));
  1.1758 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1759 +	return base;
  1.1760 +}
  1.1761 +// -----------------------------------------------------------------------------------------------------------
  1.1762 +template <> size_t GenericFill<IfcOrientedEdge>(const DB& db, const LIST& params, IfcOrientedEdge* in)
  1.1763 +{
  1.1764 +	size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
  1.1765 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1766 +	return base;
  1.1767 +}
  1.1768 +// -----------------------------------------------------------------------------------------------------------
  1.1769 +template <> size_t GenericFill<IfcDirection>(const DB& db, const LIST& params, IfcDirection* in)
  1.1770 +{
  1.1771 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1772 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcDirection"); }    do { // convert the 'DirectionRatios' argument
  1.1773 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1774 +        try { GenericConvert( in->DirectionRatios, arg, db ); break; } 
  1.1775 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcDirection to be a `LIST [2:3] OF REAL`")); }
  1.1776 +    } while(0);
  1.1777 +	return base;
  1.1778 +}
  1.1779 +// -----------------------------------------------------------------------------------------------------------
  1.1780 +template <> size_t GenericFill<IfcProfileDef>(const DB& db, const LIST& params, IfcProfileDef* in)
  1.1781 +{
  1.1782 +	size_t base = 0;
  1.1783 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcProfileDef"); }    do { // convert the 'ProfileType' argument
  1.1784 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1785 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[0]=true; break; }
  1.1786 +        try { GenericConvert( in->ProfileType, arg, db ); break; } 
  1.1787 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProfileDef to be a `IfcProfileTypeEnum`")); }
  1.1788 +    } while(0);
  1.1789 +    do { // convert the 'ProfileName' argument
  1.1790 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1791 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[1]=true; break; }
  1.1792 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1793 +        try { GenericConvert( in->ProfileName, arg, db ); break; } 
  1.1794 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProfileDef to be a `IfcLabel`")); }
  1.1795 +    } while(0);
  1.1796 +	return base;
  1.1797 +}
  1.1798 +// -----------------------------------------------------------------------------------------------------------
  1.1799 +template <> size_t GenericFill<IfcParameterizedProfileDef>(const DB& db, const LIST& params, IfcParameterizedProfileDef* in)
  1.1800 +{
  1.1801 +	size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
  1.1802 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcParameterizedProfileDef"); }    do { // convert the 'Position' argument
  1.1803 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1804 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcParameterizedProfileDef,1>::aux_is_derived[0]=true; break; }
  1.1805 +        try { GenericConvert( in->Position, arg, db ); break; } 
  1.1806 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcParameterizedProfileDef to be a `IfcAxis2Placement2D`")); }
  1.1807 +    } while(0);
  1.1808 +	return base;
  1.1809 +}
  1.1810 +// -----------------------------------------------------------------------------------------------------------
  1.1811 +template <> size_t GenericFill<IfcCShapeProfileDef>(const DB& db, const LIST& params, IfcCShapeProfileDef* in)
  1.1812 +{
  1.1813 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.1814 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1815 +	return base;
  1.1816 +}
  1.1817 +// -----------------------------------------------------------------------------------------------------------
  1.1818 +template <> size_t GenericFill<IfcFeatureElement>(const DB& db, const LIST& params, IfcFeatureElement* in)
  1.1819 +{
  1.1820 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.1821 +	if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcFeatureElement"); }	return base;
  1.1822 +}
  1.1823 +// -----------------------------------------------------------------------------------------------------------
  1.1824 +template <> size_t GenericFill<IfcFeatureElementSubtraction>(const DB& db, const LIST& params, IfcFeatureElementSubtraction* in)
  1.1825 +{
  1.1826 +	size_t base = GenericFill(db,params,static_cast<IfcFeatureElement*>(in));
  1.1827 +	if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcFeatureElementSubtraction"); }	return base;
  1.1828 +}
  1.1829 +// -----------------------------------------------------------------------------------------------------------
  1.1830 +template <> size_t GenericFill<IfcEdgeFeature>(const DB& db, const LIST& params, IfcEdgeFeature* in)
  1.1831 +{
  1.1832 +	size_t base = GenericFill(db,params,static_cast<IfcFeatureElementSubtraction*>(in));
  1.1833 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1834 +	return base;
  1.1835 +}
  1.1836 +// -----------------------------------------------------------------------------------------------------------
  1.1837 +template <> size_t GenericFill<IfcChamferEdgeFeature>(const DB& db, const LIST& params, IfcChamferEdgeFeature* in)
  1.1838 +{
  1.1839 +	size_t base = GenericFill(db,params,static_cast<IfcEdgeFeature*>(in));
  1.1840 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1841 +	return base;
  1.1842 +}
  1.1843 +// -----------------------------------------------------------------------------------------------------------
  1.1844 +template <> size_t GenericFill<IfcBuildingElement>(const DB& db, const LIST& params, IfcBuildingElement* in)
  1.1845 +{
  1.1846 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.1847 +	if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcBuildingElement"); }	return base;
  1.1848 +}
  1.1849 +// -----------------------------------------------------------------------------------------------------------
  1.1850 +template <> size_t GenericFill<IfcColumn>(const DB& db, const LIST& params, IfcColumn* in)
  1.1851 +{
  1.1852 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.1853 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1854 +	return base;
  1.1855 +}
  1.1856 +// -----------------------------------------------------------------------------------------------------------
  1.1857 +template <> size_t GenericFill<IfcPropertyReferenceValue>(const DB& db, const LIST& params, IfcPropertyReferenceValue* in)
  1.1858 +{
  1.1859 +	size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1.1860 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1861 +	return base;
  1.1862 +}
  1.1863 +// -----------------------------------------------------------------------------------------------------------
  1.1864 +template <> size_t GenericFill<IfcElectricMotorType>(const DB& db, const LIST& params, IfcElectricMotorType* in)
  1.1865 +{
  1.1866 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.1867 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1868 +	return base;
  1.1869 +}
  1.1870 +// -----------------------------------------------------------------------------------------------------------
  1.1871 +template <> size_t GenericFill<IfcSpatialStructureElementType>(const DB& db, const LIST& params, IfcSpatialStructureElementType* in)
  1.1872 +{
  1.1873 +	size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1.1874 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1875 +	return base;
  1.1876 +}
  1.1877 +// -----------------------------------------------------------------------------------------------------------
  1.1878 +template <> size_t GenericFill<IfcSpaceType>(const DB& db, const LIST& params, IfcSpaceType* in)
  1.1879 +{
  1.1880 +	size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElementType*>(in));
  1.1881 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1882 +	return base;
  1.1883 +}
  1.1884 +// -----------------------------------------------------------------------------------------------------------
  1.1885 +template <> size_t GenericFill<IfcColumnType>(const DB& db, const LIST& params, IfcColumnType* in)
  1.1886 +{
  1.1887 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.1888 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1889 +	return base;
  1.1890 +}
  1.1891 +// -----------------------------------------------------------------------------------------------------------
  1.1892 +template <> size_t GenericFill<IfcCraneRailAShapeProfileDef>(const DB& db, const LIST& params, IfcCraneRailAShapeProfileDef* in)
  1.1893 +{
  1.1894 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.1895 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1896 +	return base;
  1.1897 +}
  1.1898 +// -----------------------------------------------------------------------------------------------------------
  1.1899 +template <> size_t GenericFill<IfcCondenserType>(const DB& db, const LIST& params, IfcCondenserType* in)
  1.1900 +{
  1.1901 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.1902 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1903 +	return base;
  1.1904 +}
  1.1905 +// -----------------------------------------------------------------------------------------------------------
  1.1906 +template <> size_t GenericFill<IfcCircleProfileDef>(const DB& db, const LIST& params, IfcCircleProfileDef* in)
  1.1907 +{
  1.1908 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.1909 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcCircleProfileDef"); }    do { // convert the 'Radius' argument
  1.1910 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1911 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCircleProfileDef,1>::aux_is_derived[0]=true; break; }
  1.1912 +        try { GenericConvert( in->Radius, arg, db ); break; } 
  1.1913 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcCircleProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.1914 +    } while(0);
  1.1915 +	return base;
  1.1916 +}
  1.1917 +// -----------------------------------------------------------------------------------------------------------
  1.1918 +template <> size_t GenericFill<IfcCircleHollowProfileDef>(const DB& db, const LIST& params, IfcCircleHollowProfileDef* in)
  1.1919 +{
  1.1920 +	size_t base = GenericFill(db,params,static_cast<IfcCircleProfileDef*>(in));
  1.1921 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcCircleHollowProfileDef"); }    do { // convert the 'WallThickness' argument
  1.1922 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1923 +        try { GenericConvert( in->WallThickness, arg, db ); break; } 
  1.1924 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcCircleHollowProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.1925 +    } while(0);
  1.1926 +	return base;
  1.1927 +}
  1.1928 +// -----------------------------------------------------------------------------------------------------------
  1.1929 +template <> size_t GenericFill<IfcPlacement>(const DB& db, const LIST& params, IfcPlacement* in)
  1.1930 +{
  1.1931 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1932 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPlacement"); }    do { // convert the 'Location' argument
  1.1933 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1934 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcPlacement,1>::aux_is_derived[0]=true; break; }
  1.1935 +        try { GenericConvert( in->Location, arg, db ); break; } 
  1.1936 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPlacement to be a `IfcCartesianPoint`")); }
  1.1937 +    } while(0);
  1.1938 +	return base;
  1.1939 +}
  1.1940 +// -----------------------------------------------------------------------------------------------------------
  1.1941 +template <> size_t GenericFill<IfcAxis2Placement3D>(const DB& db, const LIST& params, IfcAxis2Placement3D* in)
  1.1942 +{
  1.1943 +	size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
  1.1944 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcAxis2Placement3D"); }    do { // convert the 'Axis' argument
  1.1945 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1946 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1947 +        try { GenericConvert( in->Axis, arg, db ); break; } 
  1.1948 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis2Placement3D to be a `IfcDirection`")); }
  1.1949 +    } while(0);
  1.1950 +    do { // convert the 'RefDirection' argument
  1.1951 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1952 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1953 +        try { GenericConvert( in->RefDirection, arg, db ); break; } 
  1.1954 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcAxis2Placement3D to be a `IfcDirection`")); }
  1.1955 +    } while(0);
  1.1956 +	return base;
  1.1957 +}
  1.1958 +// -----------------------------------------------------------------------------------------------------------
  1.1959 +template <> size_t GenericFill<IfcPresentationStyle>(const DB& db, const LIST& params, IfcPresentationStyle* in)
  1.1960 +{
  1.1961 +	size_t base = 0;
  1.1962 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPresentationStyle"); }    do { // convert the 'Name' argument
  1.1963 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1964 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcPresentationStyle,1>::aux_is_derived[0]=true; break; }
  1.1965 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.1966 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.1967 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPresentationStyle to be a `IfcLabel`")); }
  1.1968 +    } while(0);
  1.1969 +	return base;
  1.1970 +}
  1.1971 +// -----------------------------------------------------------------------------------------------------------
  1.1972 +template <> size_t GenericFill<IfcEquipmentElement>(const DB& db, const LIST& params, IfcEquipmentElement* in)
  1.1973 +{
  1.1974 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.1975 +// this data structure is not used yet, so there is no code generated to fill its members
  1.1976 +	return base;
  1.1977 +}
  1.1978 +// -----------------------------------------------------------------------------------------------------------
  1.1979 +template <> size_t GenericFill<IfcCompositeCurveSegment>(const DB& db, const LIST& params, IfcCompositeCurveSegment* in)
  1.1980 +{
  1.1981 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.1982 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcCompositeCurveSegment"); }    do { // convert the 'Transition' argument
  1.1983 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1984 +        try { GenericConvert( in->Transition, arg, db ); break; } 
  1.1985 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCompositeCurveSegment to be a `IfcTransitionCode`")); }
  1.1986 +    } while(0);
  1.1987 +    do { // convert the 'SameSense' argument
  1.1988 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1989 +        try { GenericConvert( in->SameSense, arg, db ); break; } 
  1.1990 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCompositeCurveSegment to be a `BOOLEAN`")); }
  1.1991 +    } while(0);
  1.1992 +    do { // convert the 'ParentCurve' argument
  1.1993 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.1994 +        try { GenericConvert( in->ParentCurve, arg, db ); break; } 
  1.1995 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcCompositeCurveSegment to be a `IfcCurve`")); }
  1.1996 +    } while(0);
  1.1997 +	return base;
  1.1998 +}
  1.1999 +// -----------------------------------------------------------------------------------------------------------
  1.2000 +template <> size_t GenericFill<IfcRectangleProfileDef>(const DB& db, const LIST& params, IfcRectangleProfileDef* in)
  1.2001 +{
  1.2002 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.2003 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcRectangleProfileDef"); }    do { // convert the 'XDim' argument
  1.2004 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2005 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRectangleProfileDef,2>::aux_is_derived[0]=true; break; }
  1.2006 +        try { GenericConvert( in->XDim, arg, db ); break; } 
  1.2007 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRectangleProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2008 +    } while(0);
  1.2009 +    do { // convert the 'YDim' argument
  1.2010 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2011 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRectangleProfileDef,2>::aux_is_derived[1]=true; break; }
  1.2012 +        try { GenericConvert( in->YDim, arg, db ); break; } 
  1.2013 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRectangleProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2014 +    } while(0);
  1.2015 +	return base;
  1.2016 +}
  1.2017 +// -----------------------------------------------------------------------------------------------------------
  1.2018 +template <> size_t GenericFill<IfcBuildingElementProxy>(const DB& db, const LIST& params, IfcBuildingElementProxy* in)
  1.2019 +{
  1.2020 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2021 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2022 +	return base;
  1.2023 +}
  1.2024 +// -----------------------------------------------------------------------------------------------------------
  1.2025 +template <> size_t GenericFill<IfcDistributionControlElementType>(const DB& db, const LIST& params, IfcDistributionControlElementType* in)
  1.2026 +{
  1.2027 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionElementType*>(in));
  1.2028 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2029 +	return base;
  1.2030 +}
  1.2031 +// -----------------------------------------------------------------------------------------------------------
  1.2032 +template <> size_t GenericFill<IfcFlowInstrumentType>(const DB& db, const LIST& params, IfcFlowInstrumentType* in)
  1.2033 +{
  1.2034 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  1.2035 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2036 +	return base;
  1.2037 +}
  1.2038 +// -----------------------------------------------------------------------------------------------------------
  1.2039 +template <> size_t GenericFill<IfcDraughtingCallout>(const DB& db, const LIST& params, IfcDraughtingCallout* in)
  1.2040 +{
  1.2041 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.2042 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2043 +	return base;
  1.2044 +}
  1.2045 +// -----------------------------------------------------------------------------------------------------------
  1.2046 +template <> size_t GenericFill<IfcDimensionCurveDirectedCallout>(const DB& db, const LIST& params, IfcDimensionCurveDirectedCallout* in)
  1.2047 +{
  1.2048 +	size_t base = GenericFill(db,params,static_cast<IfcDraughtingCallout*>(in));
  1.2049 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2050 +	return base;
  1.2051 +}
  1.2052 +// -----------------------------------------------------------------------------------------------------------
  1.2053 +template <> size_t GenericFill<IfcLinearDimension>(const DB& db, const LIST& params, IfcLinearDimension* in)
  1.2054 +{
  1.2055 +	size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
  1.2056 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2057 +	return base;
  1.2058 +}
  1.2059 +// -----------------------------------------------------------------------------------------------------------
  1.2060 +template <> size_t GenericFill<IfcElementAssembly>(const DB& db, const LIST& params, IfcElementAssembly* in)
  1.2061 +{
  1.2062 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.2063 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2064 +	return base;
  1.2065 +}
  1.2066 +// -----------------------------------------------------------------------------------------------------------
  1.2067 +template <> size_t GenericFill<IfcCsgPrimitive3D>(const DB& db, const LIST& params, IfcCsgPrimitive3D* in)
  1.2068 +{
  1.2069 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.2070 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2071 +	return base;
  1.2072 +}
  1.2073 +// -----------------------------------------------------------------------------------------------------------
  1.2074 +template <> size_t GenericFill<IfcRightCircularCone>(const DB& db, const LIST& params, IfcRightCircularCone* in)
  1.2075 +{
  1.2076 +	size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  1.2077 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2078 +	return base;
  1.2079 +}
  1.2080 +// -----------------------------------------------------------------------------------------------------------
  1.2081 +template <> size_t GenericFill<IfcProjectOrder>(const DB& db, const LIST& params, IfcProjectOrder* in)
  1.2082 +{
  1.2083 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.2084 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2085 +	return base;
  1.2086 +}
  1.2087 +// -----------------------------------------------------------------------------------------------------------
  1.2088 +template <> size_t GenericFill<IfcLShapeProfileDef>(const DB& db, const LIST& params, IfcLShapeProfileDef* in)
  1.2089 +{
  1.2090 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.2091 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2092 +	return base;
  1.2093 +}
  1.2094 +// -----------------------------------------------------------------------------------------------------------
  1.2095 +template <> size_t GenericFill<IfcAngularDimension>(const DB& db, const LIST& params, IfcAngularDimension* in)
  1.2096 +{
  1.2097 +	size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
  1.2098 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2099 +	return base;
  1.2100 +}
  1.2101 +// -----------------------------------------------------------------------------------------------------------
  1.2102 +template <> size_t GenericFill<IfcLocalPlacement>(const DB& db, const LIST& params, IfcLocalPlacement* in)
  1.2103 +{
  1.2104 +	size_t base = GenericFill(db,params,static_cast<IfcObjectPlacement*>(in));
  1.2105 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcLocalPlacement"); }    do { // convert the 'PlacementRelTo' argument
  1.2106 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2107 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2108 +        try { GenericConvert( in->PlacementRelTo, arg, db ); break; } 
  1.2109 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcLocalPlacement to be a `IfcObjectPlacement`")); }
  1.2110 +    } while(0);
  1.2111 +    do { // convert the 'RelativePlacement' argument
  1.2112 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2113 +        try { GenericConvert( in->RelativePlacement, arg, db ); break; } 
  1.2114 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcLocalPlacement to be a `IfcAxis2Placement`")); }
  1.2115 +    } while(0);
  1.2116 +	return base;
  1.2117 +}
  1.2118 +// -----------------------------------------------------------------------------------------------------------
  1.2119 +template <> size_t GenericFill<IfcSweptAreaSolid>(const DB& db, const LIST& params, IfcSweptAreaSolid* in)
  1.2120 +{
  1.2121 +	size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
  1.2122 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcSweptAreaSolid"); }    do { // convert the 'SweptArea' argument
  1.2123 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2124 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSweptAreaSolid,2>::aux_is_derived[0]=true; break; }
  1.2125 +        try { GenericConvert( in->SweptArea, arg, db ); break; } 
  1.2126 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSweptAreaSolid to be a `IfcProfileDef`")); }
  1.2127 +    } while(0);
  1.2128 +    do { // convert the 'Position' argument
  1.2129 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2130 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSweptAreaSolid,2>::aux_is_derived[1]=true; break; }
  1.2131 +        try { GenericConvert( in->Position, arg, db ); break; } 
  1.2132 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSweptAreaSolid to be a `IfcAxis2Placement3D`")); }
  1.2133 +    } while(0);
  1.2134 +	return base;
  1.2135 +}
  1.2136 +// -----------------------------------------------------------------------------------------------------------
  1.2137 +template <> size_t GenericFill<IfcRevolvedAreaSolid>(const DB& db, const LIST& params, IfcRevolvedAreaSolid* in)
  1.2138 +{
  1.2139 +	size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
  1.2140 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRevolvedAreaSolid"); }    do { // convert the 'Axis' argument
  1.2141 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2142 +        try { GenericConvert( in->Axis, arg, db ); break; } 
  1.2143 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcRevolvedAreaSolid to be a `IfcAxis1Placement`")); }
  1.2144 +    } while(0);
  1.2145 +    do { // convert the 'Angle' argument
  1.2146 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2147 +        try { GenericConvert( in->Angle, arg, db ); break; } 
  1.2148 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRevolvedAreaSolid to be a `IfcPlaneAngleMeasure`")); }
  1.2149 +    } while(0);
  1.2150 +	return base;
  1.2151 +}
  1.2152 +// -----------------------------------------------------------------------------------------------------------
  1.2153 +template <> size_t GenericFill<IfcStructuralSurfaceConnection>(const DB& db, const LIST& params, IfcStructuralSurfaceConnection* in)
  1.2154 +{
  1.2155 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralConnection*>(in));
  1.2156 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2157 +	return base;
  1.2158 +}
  1.2159 +// -----------------------------------------------------------------------------------------------------------
  1.2160 +template <> size_t GenericFill<IfcRadiusDimension>(const DB& db, const LIST& params, IfcRadiusDimension* in)
  1.2161 +{
  1.2162 +	size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
  1.2163 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2164 +	return base;
  1.2165 +}
  1.2166 +// -----------------------------------------------------------------------------------------------------------
  1.2167 +template <> size_t GenericFill<IfcSweptDiskSolid>(const DB& db, const LIST& params, IfcSweptDiskSolid* in)
  1.2168 +{
  1.2169 +	size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
  1.2170 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcSweptDiskSolid"); }    do { // convert the 'Directrix' argument
  1.2171 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2172 +        try { GenericConvert( in->Directrix, arg, db ); break; } 
  1.2173 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSweptDiskSolid to be a `IfcCurve`")); }
  1.2174 +    } while(0);
  1.2175 +    do { // convert the 'Radius' argument
  1.2176 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2177 +        try { GenericConvert( in->Radius, arg, db ); break; } 
  1.2178 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSweptDiskSolid to be a `IfcPositiveLengthMeasure`")); }
  1.2179 +    } while(0);
  1.2180 +    do { // convert the 'InnerRadius' argument
  1.2181 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2182 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2183 +        try { GenericConvert( in->InnerRadius, arg, db ); break; } 
  1.2184 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSweptDiskSolid to be a `IfcPositiveLengthMeasure`")); }
  1.2185 +    } while(0);
  1.2186 +    do { // convert the 'StartParam' argument
  1.2187 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2188 +        try { GenericConvert( in->StartParam, arg, db ); break; } 
  1.2189 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSweptDiskSolid to be a `IfcParameterValue`")); }
  1.2190 +    } while(0);
  1.2191 +    do { // convert the 'EndParam' argument
  1.2192 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2193 +        try { GenericConvert( in->EndParam, arg, db ); break; } 
  1.2194 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcSweptDiskSolid to be a `IfcParameterValue`")); }
  1.2195 +    } while(0);
  1.2196 +	return base;
  1.2197 +}
  1.2198 +// -----------------------------------------------------------------------------------------------------------
  1.2199 +template <> size_t GenericFill<IfcHalfSpaceSolid>(const DB& db, const LIST& params, IfcHalfSpaceSolid* in)
  1.2200 +{
  1.2201 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.2202 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcHalfSpaceSolid"); }    do { // convert the 'BaseSurface' argument
  1.2203 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2204 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcHalfSpaceSolid,2>::aux_is_derived[0]=true; break; }
  1.2205 +        try { GenericConvert( in->BaseSurface, arg, db ); break; } 
  1.2206 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcHalfSpaceSolid to be a `IfcSurface`")); }
  1.2207 +    } while(0);
  1.2208 +    do { // convert the 'AgreementFlag' argument
  1.2209 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2210 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcHalfSpaceSolid,2>::aux_is_derived[1]=true; break; }
  1.2211 +        try { GenericConvert( in->AgreementFlag, arg, db ); break; } 
  1.2212 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcHalfSpaceSolid to be a `BOOLEAN`")); }
  1.2213 +    } while(0);
  1.2214 +	return base;
  1.2215 +}
  1.2216 +// -----------------------------------------------------------------------------------------------------------
  1.2217 +template <> size_t GenericFill<IfcPolygonalBoundedHalfSpace>(const DB& db, const LIST& params, IfcPolygonalBoundedHalfSpace* in)
  1.2218 +{
  1.2219 +	size_t base = GenericFill(db,params,static_cast<IfcHalfSpaceSolid*>(in));
  1.2220 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPolygonalBoundedHalfSpace"); }    do { // convert the 'Position' argument
  1.2221 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2222 +        try { GenericConvert( in->Position, arg, db ); break; } 
  1.2223 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcPolygonalBoundedHalfSpace to be a `IfcAxis2Placement3D`")); }
  1.2224 +    } while(0);
  1.2225 +    do { // convert the 'PolygonalBoundary' argument
  1.2226 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2227 +        try { GenericConvert( in->PolygonalBoundary, arg, db ); break; } 
  1.2228 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcPolygonalBoundedHalfSpace to be a `IfcBoundedCurve`")); }
  1.2229 +    } while(0);
  1.2230 +	return base;
  1.2231 +}
  1.2232 +// -----------------------------------------------------------------------------------------------------------
  1.2233 +template <> size_t GenericFill<IfcTimeSeriesSchedule>(const DB& db, const LIST& params, IfcTimeSeriesSchedule* in)
  1.2234 +{
  1.2235 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.2236 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2237 +	return base;
  1.2238 +}
  1.2239 +// -----------------------------------------------------------------------------------------------------------
  1.2240 +template <> size_t GenericFill<IfcCooledBeamType>(const DB& db, const LIST& params, IfcCooledBeamType* in)
  1.2241 +{
  1.2242 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2243 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2244 +	return base;
  1.2245 +}
  1.2246 +// -----------------------------------------------------------------------------------------------------------
  1.2247 +template <> size_t GenericFill<IfcProject>(const DB& db, const LIST& params, IfcProject* in)
  1.2248 +{
  1.2249 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.2250 +	if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcProject"); }    do { // convert the 'LongName' argument
  1.2251 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2252 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2253 +        try { GenericConvert( in->LongName, arg, db ); break; } 
  1.2254 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcProject to be a `IfcLabel`")); }
  1.2255 +    } while(0);
  1.2256 +    do { // convert the 'Phase' argument
  1.2257 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2258 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2259 +        try { GenericConvert( in->Phase, arg, db ); break; } 
  1.2260 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcProject to be a `IfcLabel`")); }
  1.2261 +    } while(0);
  1.2262 +    do { // convert the 'RepresentationContexts' argument
  1.2263 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2264 +        try { GenericConvert( in->RepresentationContexts, arg, db ); break; } 
  1.2265 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcProject to be a `SET [1:?] OF IfcRepresentationContext`")); }
  1.2266 +    } while(0);
  1.2267 +    do { // convert the 'UnitsInContext' argument
  1.2268 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2269 +        try { GenericConvert( in->UnitsInContext, arg, db ); break; } 
  1.2270 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcProject to be a `IfcUnitAssignment`")); }
  1.2271 +    } while(0);
  1.2272 +	return base;
  1.2273 +}
  1.2274 +// -----------------------------------------------------------------------------------------------------------
  1.2275 +template <> size_t GenericFill<IfcEvaporatorType>(const DB& db, const LIST& params, IfcEvaporatorType* in)
  1.2276 +{
  1.2277 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2278 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2279 +	return base;
  1.2280 +}
  1.2281 +// -----------------------------------------------------------------------------------------------------------
  1.2282 +template <> size_t GenericFill<IfcLaborResource>(const DB& db, const LIST& params, IfcLaborResource* in)
  1.2283 +{
  1.2284 +	size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1.2285 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2286 +	return base;
  1.2287 +}
  1.2288 +// -----------------------------------------------------------------------------------------------------------
  1.2289 +template <> size_t GenericFill<IfcPropertyBoundedValue>(const DB& db, const LIST& params, IfcPropertyBoundedValue* in)
  1.2290 +{
  1.2291 +	size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1.2292 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2293 +	return base;
  1.2294 +}
  1.2295 +// -----------------------------------------------------------------------------------------------------------
  1.2296 +template <> size_t GenericFill<IfcRampFlightType>(const DB& db, const LIST& params, IfcRampFlightType* in)
  1.2297 +{
  1.2298 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.2299 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2300 +	return base;
  1.2301 +}
  1.2302 +// -----------------------------------------------------------------------------------------------------------
  1.2303 +template <> size_t GenericFill<IfcMember>(const DB& db, const LIST& params, IfcMember* in)
  1.2304 +{
  1.2305 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2306 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2307 +	return base;
  1.2308 +}
  1.2309 +// -----------------------------------------------------------------------------------------------------------
  1.2310 +template <> size_t GenericFill<IfcTubeBundleType>(const DB& db, const LIST& params, IfcTubeBundleType* in)
  1.2311 +{
  1.2312 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2313 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2314 +	return base;
  1.2315 +}
  1.2316 +// -----------------------------------------------------------------------------------------------------------
  1.2317 +template <> size_t GenericFill<IfcValveType>(const DB& db, const LIST& params, IfcValveType* in)
  1.2318 +{
  1.2319 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.2320 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2321 +	return base;
  1.2322 +}
  1.2323 +// -----------------------------------------------------------------------------------------------------------
  1.2324 +template <> size_t GenericFill<IfcTrimmedCurve>(const DB& db, const LIST& params, IfcTrimmedCurve* in)
  1.2325 +{
  1.2326 +	size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
  1.2327 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcTrimmedCurve"); }    do { // convert the 'BasisCurve' argument
  1.2328 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2329 +        try { GenericConvert( in->BasisCurve, arg, db ); break; } 
  1.2330 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcTrimmedCurve to be a `IfcCurve`")); }
  1.2331 +    } while(0);
  1.2332 +    do { // convert the 'Trim1' argument
  1.2333 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2334 +        try { GenericConvert( in->Trim1, arg, db ); break; } 
  1.2335 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcTrimmedCurve to be a `SET [1:2] OF IfcTrimmingSelect`")); }
  1.2336 +    } while(0);
  1.2337 +    do { // convert the 'Trim2' argument
  1.2338 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2339 +        try { GenericConvert( in->Trim2, arg, db ); break; } 
  1.2340 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcTrimmedCurve to be a `SET [1:2] OF IfcTrimmingSelect`")); }
  1.2341 +    } while(0);
  1.2342 +    do { // convert the 'SenseAgreement' argument
  1.2343 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2344 +        try { GenericConvert( in->SenseAgreement, arg, db ); break; } 
  1.2345 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcTrimmedCurve to be a `BOOLEAN`")); }
  1.2346 +    } while(0);
  1.2347 +    do { // convert the 'MasterRepresentation' argument
  1.2348 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2349 +        try { GenericConvert( in->MasterRepresentation, arg, db ); break; } 
  1.2350 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcTrimmedCurve to be a `IfcTrimmingPreference`")); }
  1.2351 +    } while(0);
  1.2352 +	return base;
  1.2353 +}
  1.2354 +// -----------------------------------------------------------------------------------------------------------
  1.2355 +template <> size_t GenericFill<IfcRelDefines>(const DB& db, const LIST& params, IfcRelDefines* in)
  1.2356 +{
  1.2357 +	size_t base = GenericFill(db,params,static_cast<IfcRelationship*>(in));
  1.2358 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcRelDefines"); }    do { // convert the 'RelatedObjects' argument
  1.2359 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2360 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDefines,1>::aux_is_derived[0]=true; break; }
  1.2361 +        try { GenericConvert( in->RelatedObjects, arg, db ); break; } 
  1.2362 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelDefines to be a `SET [1:?] OF IfcObject`")); }
  1.2363 +    } while(0);
  1.2364 +	return base;
  1.2365 +}
  1.2366 +// -----------------------------------------------------------------------------------------------------------
  1.2367 +template <> size_t GenericFill<IfcRelDefinesByProperties>(const DB& db, const LIST& params, IfcRelDefinesByProperties* in)
  1.2368 +{
  1.2369 +	size_t base = GenericFill(db,params,static_cast<IfcRelDefines*>(in));
  1.2370 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelDefinesByProperties"); }    do { // convert the 'RelatingPropertyDefinition' argument
  1.2371 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2372 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDefinesByProperties,1>::aux_is_derived[0]=true; break; }
  1.2373 +        try { GenericConvert( in->RelatingPropertyDefinition, arg, db ); break; } 
  1.2374 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelDefinesByProperties to be a `IfcPropertySetDefinition`")); }
  1.2375 +    } while(0);
  1.2376 +	return base;
  1.2377 +}
  1.2378 +// -----------------------------------------------------------------------------------------------------------
  1.2379 +template <> size_t GenericFill<IfcActor>(const DB& db, const LIST& params, IfcActor* in)
  1.2380 +{
  1.2381 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.2382 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2383 +	return base;
  1.2384 +}
  1.2385 +// -----------------------------------------------------------------------------------------------------------
  1.2386 +template <> size_t GenericFill<IfcOccupant>(const DB& db, const LIST& params, IfcOccupant* in)
  1.2387 +{
  1.2388 +	size_t base = GenericFill(db,params,static_cast<IfcActor*>(in));
  1.2389 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2390 +	return base;
  1.2391 +}
  1.2392 +// -----------------------------------------------------------------------------------------------------------
  1.2393 +template <> size_t GenericFill<IfcHumidifierType>(const DB& db, const LIST& params, IfcHumidifierType* in)
  1.2394 +{
  1.2395 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2396 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2397 +	return base;
  1.2398 +}
  1.2399 +// -----------------------------------------------------------------------------------------------------------
  1.2400 +template <> size_t GenericFill<IfcArbitraryOpenProfileDef>(const DB& db, const LIST& params, IfcArbitraryOpenProfileDef* in)
  1.2401 +{
  1.2402 +	size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
  1.2403 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcArbitraryOpenProfileDef"); }    do { // convert the 'Curve' argument
  1.2404 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2405 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcArbitraryOpenProfileDef,1>::aux_is_derived[0]=true; break; }
  1.2406 +        try { GenericConvert( in->Curve, arg, db ); break; } 
  1.2407 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcArbitraryOpenProfileDef to be a `IfcBoundedCurve`")); }
  1.2408 +    } while(0);
  1.2409 +	return base;
  1.2410 +}
  1.2411 +// -----------------------------------------------------------------------------------------------------------
  1.2412 +template <> size_t GenericFill<IfcPermit>(const DB& db, const LIST& params, IfcPermit* in)
  1.2413 +{
  1.2414 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.2415 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2416 +	return base;
  1.2417 +}
  1.2418 +// -----------------------------------------------------------------------------------------------------------
  1.2419 +template <> size_t GenericFill<IfcOffsetCurve3D>(const DB& db, const LIST& params, IfcOffsetCurve3D* in)
  1.2420 +{
  1.2421 +	size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
  1.2422 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2423 +	return base;
  1.2424 +}
  1.2425 +// -----------------------------------------------------------------------------------------------------------
  1.2426 +template <> size_t GenericFill<IfcLightSource>(const DB& db, const LIST& params, IfcLightSource* in)
  1.2427 +{
  1.2428 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.2429 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2430 +	return base;
  1.2431 +}
  1.2432 +// -----------------------------------------------------------------------------------------------------------
  1.2433 +template <> size_t GenericFill<IfcLightSourcePositional>(const DB& db, const LIST& params, IfcLightSourcePositional* in)
  1.2434 +{
  1.2435 +	size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
  1.2436 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2437 +	return base;
  1.2438 +}
  1.2439 +// -----------------------------------------------------------------------------------------------------------
  1.2440 +template <> size_t GenericFill<IfcCompositeProfileDef>(const DB& db, const LIST& params, IfcCompositeProfileDef* in)
  1.2441 +{
  1.2442 +	size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
  1.2443 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2444 +	return base;
  1.2445 +}
  1.2446 +// -----------------------------------------------------------------------------------------------------------
  1.2447 +template <> size_t GenericFill<IfcRamp>(const DB& db, const LIST& params, IfcRamp* in)
  1.2448 +{
  1.2449 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2450 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2451 +	return base;
  1.2452 +}
  1.2453 +// -----------------------------------------------------------------------------------------------------------
  1.2454 +template <> size_t GenericFill<IfcFlowMovingDevice>(const DB& db, const LIST& params, IfcFlowMovingDevice* in)
  1.2455 +{
  1.2456 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.2457 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2458 +	return base;
  1.2459 +}
  1.2460 +// -----------------------------------------------------------------------------------------------------------
  1.2461 +template <> size_t GenericFill<IfcSpaceHeaterType>(const DB& db, const LIST& params, IfcSpaceHeaterType* in)
  1.2462 +{
  1.2463 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2464 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2465 +	return base;
  1.2466 +}
  1.2467 +// -----------------------------------------------------------------------------------------------------------
  1.2468 +template <> size_t GenericFill<IfcLampType>(const DB& db, const LIST& params, IfcLampType* in)
  1.2469 +{
  1.2470 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.2471 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2472 +	return base;
  1.2473 +}
  1.2474 +// -----------------------------------------------------------------------------------------------------------
  1.2475 +template <> size_t GenericFill<IfcBuildingElementComponent>(const DB& db, const LIST& params, IfcBuildingElementComponent* in)
  1.2476 +{
  1.2477 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2478 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2479 +	return base;
  1.2480 +}
  1.2481 +// -----------------------------------------------------------------------------------------------------------
  1.2482 +template <> size_t GenericFill<IfcReinforcingElement>(const DB& db, const LIST& params, IfcReinforcingElement* in)
  1.2483 +{
  1.2484 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementComponent*>(in));
  1.2485 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2486 +	return base;
  1.2487 +}
  1.2488 +// -----------------------------------------------------------------------------------------------------------
  1.2489 +template <> size_t GenericFill<IfcReinforcingBar>(const DB& db, const LIST& params, IfcReinforcingBar* in)
  1.2490 +{
  1.2491 +	size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  1.2492 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2493 +	return base;
  1.2494 +}
  1.2495 +// -----------------------------------------------------------------------------------------------------------
  1.2496 +template <> size_t GenericFill<IfcElectricHeaterType>(const DB& db, const LIST& params, IfcElectricHeaterType* in)
  1.2497 +{
  1.2498 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.2499 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2500 +	return base;
  1.2501 +}
  1.2502 +// -----------------------------------------------------------------------------------------------------------
  1.2503 +template <> size_t GenericFill<IfcTShapeProfileDef>(const DB& db, const LIST& params, IfcTShapeProfileDef* in)
  1.2504 +{
  1.2505 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.2506 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2507 +	return base;
  1.2508 +}
  1.2509 +// -----------------------------------------------------------------------------------------------------------
  1.2510 +template <> size_t GenericFill<IfcStructuralActivity>(const DB& db, const LIST& params, IfcStructuralActivity* in)
  1.2511 +{
  1.2512 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.2513 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2514 +	return base;
  1.2515 +}
  1.2516 +// -----------------------------------------------------------------------------------------------------------
  1.2517 +template <> size_t GenericFill<IfcStructuralAction>(const DB& db, const LIST& params, IfcStructuralAction* in)
  1.2518 +{
  1.2519 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralActivity*>(in));
  1.2520 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2521 +	return base;
  1.2522 +}
  1.2523 +// -----------------------------------------------------------------------------------------------------------
  1.2524 +template <> size_t GenericFill<IfcDuctFittingType>(const DB& db, const LIST& params, IfcDuctFittingType* in)
  1.2525 +{
  1.2526 +	size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
  1.2527 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2528 +	return base;
  1.2529 +}
  1.2530 +// -----------------------------------------------------------------------------------------------------------
  1.2531 +template <> size_t GenericFill<IfcCartesianTransformationOperator2D>(const DB& db, const LIST& params, IfcCartesianTransformationOperator2D* in)
  1.2532 +{
  1.2533 +	size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator*>(in));
  1.2534 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2535 +	return base;
  1.2536 +}
  1.2537 +// -----------------------------------------------------------------------------------------------------------
  1.2538 +template <> size_t GenericFill<IfcCartesianTransformationOperator2DnonUniform>(const DB& db, const LIST& params, IfcCartesianTransformationOperator2DnonUniform* in)
  1.2539 +{
  1.2540 +	size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator2D*>(in));
  1.2541 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2542 +	return base;
  1.2543 +}
  1.2544 +// -----------------------------------------------------------------------------------------------------------
  1.2545 +template <> size_t GenericFill<IfcVirtualElement>(const DB& db, const LIST& params, IfcVirtualElement* in)
  1.2546 +{
  1.2547 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.2548 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2549 +	return base;
  1.2550 +}
  1.2551 +// -----------------------------------------------------------------------------------------------------------
  1.2552 +template <> size_t GenericFill<IfcRightCircularCylinder>(const DB& db, const LIST& params, IfcRightCircularCylinder* in)
  1.2553 +{
  1.2554 +	size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  1.2555 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2556 +	return base;
  1.2557 +}
  1.2558 +// -----------------------------------------------------------------------------------------------------------
  1.2559 +template <> size_t GenericFill<IfcOutletType>(const DB& db, const LIST& params, IfcOutletType* in)
  1.2560 +{
  1.2561 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.2562 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2563 +	return base;
  1.2564 +}
  1.2565 +// -----------------------------------------------------------------------------------------------------------
  1.2566 +template <> size_t GenericFill<IfcRelDecomposes>(const DB& db, const LIST& params, IfcRelDecomposes* in)
  1.2567 +{
  1.2568 +	size_t base = GenericFill(db,params,static_cast<IfcRelationship*>(in));
  1.2569 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelDecomposes"); }    do { // convert the 'RelatingObject' argument
  1.2570 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2571 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDecomposes,2>::aux_is_derived[0]=true; break; }
  1.2572 +        try { GenericConvert( in->RelatingObject, arg, db ); break; } 
  1.2573 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelDecomposes to be a `IfcObjectDefinition`")); }
  1.2574 +    } while(0);
  1.2575 +    do { // convert the 'RelatedObjects' argument
  1.2576 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2577 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDecomposes,2>::aux_is_derived[1]=true; break; }
  1.2578 +        try { GenericConvert( in->RelatedObjects, arg, db ); break; } 
  1.2579 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelDecomposes to be a `SET [1:?] OF IfcObjectDefinition`")); }
  1.2580 +    } while(0);
  1.2581 +	return base;
  1.2582 +}
  1.2583 +// -----------------------------------------------------------------------------------------------------------
  1.2584 +template <> size_t GenericFill<IfcCovering>(const DB& db, const LIST& params, IfcCovering* in)
  1.2585 +{
  1.2586 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2587 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2588 +	return base;
  1.2589 +}
  1.2590 +// -----------------------------------------------------------------------------------------------------------
  1.2591 +template <> size_t GenericFill<IfcPolyline>(const DB& db, const LIST& params, IfcPolyline* in)
  1.2592 +{
  1.2593 +	size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
  1.2594 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPolyline"); }    do { // convert the 'Points' argument
  1.2595 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2596 +        try { GenericConvert( in->Points, arg, db ); break; } 
  1.2597 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPolyline to be a `LIST [2:?] OF IfcCartesianPoint`")); }
  1.2598 +    } while(0);
  1.2599 +	return base;
  1.2600 +}
  1.2601 +// -----------------------------------------------------------------------------------------------------------
  1.2602 +template <> size_t GenericFill<IfcPath>(const DB& db, const LIST& params, IfcPath* in)
  1.2603 +{
  1.2604 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.2605 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2606 +	return base;
  1.2607 +}
  1.2608 +// -----------------------------------------------------------------------------------------------------------
  1.2609 +template <> size_t GenericFill<IfcElementComponent>(const DB& db, const LIST& params, IfcElementComponent* in)
  1.2610 +{
  1.2611 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.2612 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2613 +	return base;
  1.2614 +}
  1.2615 +// -----------------------------------------------------------------------------------------------------------
  1.2616 +template <> size_t GenericFill<IfcFastener>(const DB& db, const LIST& params, IfcFastener* in)
  1.2617 +{
  1.2618 +	size_t base = GenericFill(db,params,static_cast<IfcElementComponent*>(in));
  1.2619 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2620 +	return base;
  1.2621 +}
  1.2622 +// -----------------------------------------------------------------------------------------------------------
  1.2623 +template <> size_t GenericFill<IfcMappedItem>(const DB& db, const LIST& params, IfcMappedItem* in)
  1.2624 +{
  1.2625 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
  1.2626 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcMappedItem"); }    do { // convert the 'MappingSource' argument
  1.2627 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2628 +        try { GenericConvert( in->MappingSource, arg, db ); break; } 
  1.2629 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcMappedItem to be a `IfcRepresentationMap`")); }
  1.2630 +    } while(0);
  1.2631 +    do { // convert the 'MappingTarget' argument
  1.2632 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2633 +        try { GenericConvert( in->MappingTarget, arg, db ); break; } 
  1.2634 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcMappedItem to be a `IfcCartesianTransformationOperator`")); }
  1.2635 +    } while(0);
  1.2636 +	return base;
  1.2637 +}
  1.2638 +// -----------------------------------------------------------------------------------------------------------
  1.2639 +template <> size_t GenericFill<IfcRectangularPyramid>(const DB& db, const LIST& params, IfcRectangularPyramid* in)
  1.2640 +{
  1.2641 +	size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  1.2642 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2643 +	return base;
  1.2644 +}
  1.2645 +// -----------------------------------------------------------------------------------------------------------
  1.2646 +template <> size_t GenericFill<IfcCrewResource>(const DB& db, const LIST& params, IfcCrewResource* in)
  1.2647 +{
  1.2648 +	size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1.2649 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2650 +	return base;
  1.2651 +}
  1.2652 +// -----------------------------------------------------------------------------------------------------------
  1.2653 +template <> size_t GenericFill<IfcNamedUnit>(const DB& db, const LIST& params, IfcNamedUnit* in)
  1.2654 +{
  1.2655 +	size_t base = 0;
  1.2656 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcNamedUnit"); }    do { // convert the 'Dimensions' argument
  1.2657 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2658 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcNamedUnit,2>::aux_is_derived[0]=true; break; }
  1.2659 +        try { GenericConvert( in->Dimensions, arg, db ); break; } 
  1.2660 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcNamedUnit to be a `IfcDimensionalExponents`")); }
  1.2661 +    } while(0);
  1.2662 +    do { // convert the 'UnitType' argument
  1.2663 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2664 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcNamedUnit,2>::aux_is_derived[1]=true; break; }
  1.2665 +        try { GenericConvert( in->UnitType, arg, db ); break; } 
  1.2666 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcNamedUnit to be a `IfcUnitEnum`")); }
  1.2667 +    } while(0);
  1.2668 +	return base;
  1.2669 +}
  1.2670 +// -----------------------------------------------------------------------------------------------------------
  1.2671 +template <> size_t GenericFill<IfcContextDependentUnit>(const DB& db, const LIST& params, IfcContextDependentUnit* in)
  1.2672 +{
  1.2673 +	size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
  1.2674 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2675 +	return base;
  1.2676 +}
  1.2677 +// -----------------------------------------------------------------------------------------------------------
  1.2678 +template <> size_t GenericFill<IfcUnitaryEquipmentType>(const DB& db, const LIST& params, IfcUnitaryEquipmentType* in)
  1.2679 +{
  1.2680 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2681 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2682 +	return base;
  1.2683 +}
  1.2684 +// -----------------------------------------------------------------------------------------------------------
  1.2685 +template <> size_t GenericFill<IfcRoof>(const DB& db, const LIST& params, IfcRoof* in)
  1.2686 +{
  1.2687 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2688 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2689 +	return base;
  1.2690 +}
  1.2691 +// -----------------------------------------------------------------------------------------------------------
  1.2692 +template <> size_t GenericFill<IfcStructuralMember>(const DB& db, const LIST& params, IfcStructuralMember* in)
  1.2693 +{
  1.2694 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralItem*>(in));
  1.2695 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2696 +	return base;
  1.2697 +}
  1.2698 +// -----------------------------------------------------------------------------------------------------------
  1.2699 +template <> size_t GenericFill<IfcStyleModel>(const DB& db, const LIST& params, IfcStyleModel* in)
  1.2700 +{
  1.2701 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentation*>(in));
  1.2702 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2703 +	return base;
  1.2704 +}
  1.2705 +// -----------------------------------------------------------------------------------------------------------
  1.2706 +template <> size_t GenericFill<IfcStyledRepresentation>(const DB& db, const LIST& params, IfcStyledRepresentation* in)
  1.2707 +{
  1.2708 +	size_t base = GenericFill(db,params,static_cast<IfcStyleModel*>(in));
  1.2709 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2710 +	return base;
  1.2711 +}
  1.2712 +// -----------------------------------------------------------------------------------------------------------
  1.2713 +template <> size_t GenericFill<IfcSpatialStructureElement>(const DB& db, const LIST& params, IfcSpatialStructureElement* in)
  1.2714 +{
  1.2715 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.2716 +	if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcSpatialStructureElement"); }    do { // convert the 'LongName' argument
  1.2717 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2718 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSpatialStructureElement,2>::aux_is_derived[0]=true; break; }
  1.2719 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2720 +        try { GenericConvert( in->LongName, arg, db ); break; } 
  1.2721 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcSpatialStructureElement to be a `IfcLabel`")); }
  1.2722 +    } while(0);
  1.2723 +    do { // convert the 'CompositionType' argument
  1.2724 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2725 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSpatialStructureElement,2>::aux_is_derived[1]=true; break; }
  1.2726 +        try { GenericConvert( in->CompositionType, arg, db ); break; } 
  1.2727 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcSpatialStructureElement to be a `IfcElementCompositionEnum`")); }
  1.2728 +    } while(0);
  1.2729 +	return base;
  1.2730 +}
  1.2731 +// -----------------------------------------------------------------------------------------------------------
  1.2732 +template <> size_t GenericFill<IfcBuilding>(const DB& db, const LIST& params, IfcBuilding* in)
  1.2733 +{
  1.2734 +	size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  1.2735 +	if (params.GetSize() < 12) { throw STEP::TypeError("expected 12 arguments to IfcBuilding"); }    do { // convert the 'ElevationOfRefHeight' argument
  1.2736 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2737 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2738 +        try { GenericConvert( in->ElevationOfRefHeight, arg, db ); break; } 
  1.2739 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcBuilding to be a `IfcLengthMeasure`")); }
  1.2740 +    } while(0);
  1.2741 +    do { // convert the 'ElevationOfTerrain' argument
  1.2742 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2743 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2744 +        try { GenericConvert( in->ElevationOfTerrain, arg, db ); break; } 
  1.2745 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcBuilding to be a `IfcLengthMeasure`")); }
  1.2746 +    } while(0);
  1.2747 +    do { // convert the 'BuildingAddress' argument
  1.2748 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2749 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2750 +        try { GenericConvert( in->BuildingAddress, arg, db ); break; } 
  1.2751 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to IfcBuilding to be a `IfcPostalAddress`")); }
  1.2752 +    } while(0);
  1.2753 +	return base;
  1.2754 +}
  1.2755 +// -----------------------------------------------------------------------------------------------------------
  1.2756 +template <> size_t GenericFill<IfcConnectedFaceSet>(const DB& db, const LIST& params, IfcConnectedFaceSet* in)
  1.2757 +{
  1.2758 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.2759 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcConnectedFaceSet"); }    do { // convert the 'CfsFaces' argument
  1.2760 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2761 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcConnectedFaceSet,1>::aux_is_derived[0]=true; break; }
  1.2762 +        try { GenericConvert( in->CfsFaces, arg, db ); break; } 
  1.2763 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcConnectedFaceSet to be a `SET [1:?] OF IfcFace`")); }
  1.2764 +    } while(0);
  1.2765 +	return base;
  1.2766 +}
  1.2767 +// -----------------------------------------------------------------------------------------------------------
  1.2768 +template <> size_t GenericFill<IfcOpenShell>(const DB& db, const LIST& params, IfcOpenShell* in)
  1.2769 +{
  1.2770 +	size_t base = GenericFill(db,params,static_cast<IfcConnectedFaceSet*>(in));
  1.2771 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2772 +	return base;
  1.2773 +}
  1.2774 +// -----------------------------------------------------------------------------------------------------------
  1.2775 +template <> size_t GenericFill<IfcFacetedBrep>(const DB& db, const LIST& params, IfcFacetedBrep* in)
  1.2776 +{
  1.2777 +	size_t base = GenericFill(db,params,static_cast<IfcManifoldSolidBrep*>(in));
  1.2778 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2779 +	return base;
  1.2780 +}
  1.2781 +// -----------------------------------------------------------------------------------------------------------
  1.2782 +template <> size_t GenericFill<IfcConic>(const DB& db, const LIST& params, IfcConic* in)
  1.2783 +{
  1.2784 +	size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
  1.2785 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcConic"); }    do { // convert the 'Position' argument
  1.2786 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2787 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcConic,1>::aux_is_derived[0]=true; break; }
  1.2788 +        try { GenericConvert( in->Position, arg, db ); break; } 
  1.2789 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcConic to be a `IfcAxis2Placement`")); }
  1.2790 +    } while(0);
  1.2791 +	return base;
  1.2792 +}
  1.2793 +// -----------------------------------------------------------------------------------------------------------
  1.2794 +template <> size_t GenericFill<IfcCoveringType>(const DB& db, const LIST& params, IfcCoveringType* in)
  1.2795 +{
  1.2796 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.2797 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2798 +	return base;
  1.2799 +}
  1.2800 +// -----------------------------------------------------------------------------------------------------------
  1.2801 +template <> size_t GenericFill<IfcRoundedRectangleProfileDef>(const DB& db, const LIST& params, IfcRoundedRectangleProfileDef* in)
  1.2802 +{
  1.2803 +	size_t base = GenericFill(db,params,static_cast<IfcRectangleProfileDef*>(in));
  1.2804 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2805 +	return base;
  1.2806 +}
  1.2807 +// -----------------------------------------------------------------------------------------------------------
  1.2808 +template <> size_t GenericFill<IfcAirTerminalType>(const DB& db, const LIST& params, IfcAirTerminalType* in)
  1.2809 +{
  1.2810 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.2811 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2812 +	return base;
  1.2813 +}
  1.2814 +// -----------------------------------------------------------------------------------------------------------
  1.2815 +template <> size_t GenericFill<IfcFlowMovingDeviceType>(const DB& db, const LIST& params, IfcFlowMovingDeviceType* in)
  1.2816 +{
  1.2817 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.2818 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2819 +	return base;
  1.2820 +}
  1.2821 +// -----------------------------------------------------------------------------------------------------------
  1.2822 +template <> size_t GenericFill<IfcCompressorType>(const DB& db, const LIST& params, IfcCompressorType* in)
  1.2823 +{
  1.2824 +	size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
  1.2825 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2826 +	return base;
  1.2827 +}
  1.2828 +// -----------------------------------------------------------------------------------------------------------
  1.2829 +template <> size_t GenericFill<IfcIShapeProfileDef>(const DB& db, const LIST& params, IfcIShapeProfileDef* in)
  1.2830 +{
  1.2831 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.2832 +	if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcIShapeProfileDef"); }    do { // convert the 'OverallWidth' argument
  1.2833 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2834 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[0]=true; break; }
  1.2835 +        try { GenericConvert( in->OverallWidth, arg, db ); break; } 
  1.2836 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2837 +    } while(0);
  1.2838 +    do { // convert the 'OverallDepth' argument
  1.2839 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2840 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[1]=true; break; }
  1.2841 +        try { GenericConvert( in->OverallDepth, arg, db ); break; } 
  1.2842 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2843 +    } while(0);
  1.2844 +    do { // convert the 'WebThickness' argument
  1.2845 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2846 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[2]=true; break; }
  1.2847 +        try { GenericConvert( in->WebThickness, arg, db ); break; } 
  1.2848 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2849 +    } while(0);
  1.2850 +    do { // convert the 'FlangeThickness' argument
  1.2851 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2852 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[3]=true; break; }
  1.2853 +        try { GenericConvert( in->FlangeThickness, arg, db ); break; } 
  1.2854 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2855 +    } while(0);
  1.2856 +    do { // convert the 'FilletRadius' argument
  1.2857 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2858 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[4]=true; break; }
  1.2859 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2860 +        try { GenericConvert( in->FilletRadius, arg, db ); break; } 
  1.2861 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
  1.2862 +    } while(0);
  1.2863 +	return base;
  1.2864 +}
  1.2865 +// -----------------------------------------------------------------------------------------------------------
  1.2866 +template <> size_t GenericFill<IfcAsymmetricIShapeProfileDef>(const DB& db, const LIST& params, IfcAsymmetricIShapeProfileDef* in)
  1.2867 +{
  1.2868 +	size_t base = GenericFill(db,params,static_cast<IfcIShapeProfileDef*>(in));
  1.2869 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2870 +	return base;
  1.2871 +}
  1.2872 +// -----------------------------------------------------------------------------------------------------------
  1.2873 +template <> size_t GenericFill<IfcControllerType>(const DB& db, const LIST& params, IfcControllerType* in)
  1.2874 +{
  1.2875 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  1.2876 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2877 +	return base;
  1.2878 +}
  1.2879 +// -----------------------------------------------------------------------------------------------------------
  1.2880 +template <> size_t GenericFill<IfcRailing>(const DB& db, const LIST& params, IfcRailing* in)
  1.2881 +{
  1.2882 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2883 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2884 +	return base;
  1.2885 +}
  1.2886 +// -----------------------------------------------------------------------------------------------------------
  1.2887 +template <> size_t GenericFill<IfcGroup>(const DB& db, const LIST& params, IfcGroup* in)
  1.2888 +{
  1.2889 +	size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
  1.2890 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2891 +	return base;
  1.2892 +}
  1.2893 +// -----------------------------------------------------------------------------------------------------------
  1.2894 +template <> size_t GenericFill<IfcAsset>(const DB& db, const LIST& params, IfcAsset* in)
  1.2895 +{
  1.2896 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.2897 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2898 +	return base;
  1.2899 +}
  1.2900 +// -----------------------------------------------------------------------------------------------------------
  1.2901 +template <> size_t GenericFill<IfcMaterialDefinitionRepresentation>(const DB& db, const LIST& params, IfcMaterialDefinitionRepresentation* in)
  1.2902 +{
  1.2903 +	size_t base = GenericFill(db,params,static_cast<IfcProductRepresentation*>(in));
  1.2904 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2905 +	return base;
  1.2906 +}
  1.2907 +// -----------------------------------------------------------------------------------------------------------
  1.2908 +template <> size_t GenericFill<IfcRailingType>(const DB& db, const LIST& params, IfcRailingType* in)
  1.2909 +{
  1.2910 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.2911 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2912 +	return base;
  1.2913 +}
  1.2914 +// -----------------------------------------------------------------------------------------------------------
  1.2915 +template <> size_t GenericFill<IfcWall>(const DB& db, const LIST& params, IfcWall* in)
  1.2916 +{
  1.2917 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2918 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2919 +	return base;
  1.2920 +}
  1.2921 +// -----------------------------------------------------------------------------------------------------------
  1.2922 +template <> size_t GenericFill<IfcStructuralPointConnection>(const DB& db, const LIST& params, IfcStructuralPointConnection* in)
  1.2923 +{
  1.2924 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralConnection*>(in));
  1.2925 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2926 +	return base;
  1.2927 +}
  1.2928 +// -----------------------------------------------------------------------------------------------------------
  1.2929 +template <> size_t GenericFill<IfcPropertyListValue>(const DB& db, const LIST& params, IfcPropertyListValue* in)
  1.2930 +{
  1.2931 +	size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1.2932 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertyListValue"); }    do { // convert the 'ListValues' argument
  1.2933 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2934 +        try { GenericConvert( in->ListValues, arg, db ); break; } 
  1.2935 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcPropertyListValue to be a `LIST [1:?] OF IfcValue`")); }
  1.2936 +    } while(0);
  1.2937 +    do { // convert the 'Unit' argument
  1.2938 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2939 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2940 +        try { GenericConvert( in->Unit, arg, db ); break; } 
  1.2941 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcPropertyListValue to be a `IfcUnit`")); }
  1.2942 +    } while(0);
  1.2943 +	return base;
  1.2944 +}
  1.2945 +// -----------------------------------------------------------------------------------------------------------
  1.2946 +template <> size_t GenericFill<IfcFurnitureStandard>(const DB& db, const LIST& params, IfcFurnitureStandard* in)
  1.2947 +{
  1.2948 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.2949 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2950 +	return base;
  1.2951 +}
  1.2952 +// -----------------------------------------------------------------------------------------------------------
  1.2953 +template <> size_t GenericFill<IfcElectricGeneratorType>(const DB& db, const LIST& params, IfcElectricGeneratorType* in)
  1.2954 +{
  1.2955 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.2956 +// this data structure is not used yet, so there is no code generated to fill its members
  1.2957 +	return base;
  1.2958 +}
  1.2959 +// -----------------------------------------------------------------------------------------------------------
  1.2960 +template <> size_t GenericFill<IfcDoor>(const DB& db, const LIST& params, IfcDoor* in)
  1.2961 +{
  1.2962 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.2963 +	if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to IfcDoor"); }    do { // convert the 'OverallHeight' argument
  1.2964 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2965 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2966 +        try { GenericConvert( in->OverallHeight, arg, db ); break; } 
  1.2967 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcDoor to be a `IfcPositiveLengthMeasure`")); }
  1.2968 +    } while(0);
  1.2969 +    do { // convert the 'OverallWidth' argument
  1.2970 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2971 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2972 +        try { GenericConvert( in->OverallWidth, arg, db ); break; } 
  1.2973 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcDoor to be a `IfcPositiveLengthMeasure`")); }
  1.2974 +    } while(0);
  1.2975 +	return base;
  1.2976 +}
  1.2977 +// -----------------------------------------------------------------------------------------------------------
  1.2978 +template <> size_t GenericFill<IfcStyledItem>(const DB& db, const LIST& params, IfcStyledItem* in)
  1.2979 +{
  1.2980 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
  1.2981 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcStyledItem"); }    do { // convert the 'Item' argument
  1.2982 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2983 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcStyledItem,3>::aux_is_derived[0]=true; break; }
  1.2984 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2985 +        try { GenericConvert( in->Item, arg, db ); break; } 
  1.2986 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcStyledItem to be a `IfcRepresentationItem`")); }
  1.2987 +    } while(0);
  1.2988 +    do { // convert the 'Styles' argument
  1.2989 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2990 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcStyledItem,3>::aux_is_derived[1]=true; break; }
  1.2991 +        try { GenericConvert( in->Styles, arg, db ); break; } 
  1.2992 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcStyledItem to be a `SET [1:?] OF IfcPresentationStyleAssignment`")); }
  1.2993 +    } while(0);
  1.2994 +    do { // convert the 'Name' argument
  1.2995 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.2996 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcStyledItem,3>::aux_is_derived[2]=true; break; }
  1.2997 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.2998 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.2999 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcStyledItem to be a `IfcLabel`")); }
  1.3000 +    } while(0);
  1.3001 +	return base;
  1.3002 +}
  1.3003 +// -----------------------------------------------------------------------------------------------------------
  1.3004 +template <> size_t GenericFill<IfcAnnotationOccurrence>(const DB& db, const LIST& params, IfcAnnotationOccurrence* in)
  1.3005 +{
  1.3006 +	size_t base = GenericFill(db,params,static_cast<IfcStyledItem*>(in));
  1.3007 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3008 +	return base;
  1.3009 +}
  1.3010 +// -----------------------------------------------------------------------------------------------------------
  1.3011 +template <> size_t GenericFill<IfcAnnotationSymbolOccurrence>(const DB& db, const LIST& params, IfcAnnotationSymbolOccurrence* in)
  1.3012 +{
  1.3013 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1.3014 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3015 +	return base;
  1.3016 +}
  1.3017 +// -----------------------------------------------------------------------------------------------------------
  1.3018 +template <> size_t GenericFill<IfcArbitraryClosedProfileDef>(const DB& db, const LIST& params, IfcArbitraryClosedProfileDef* in)
  1.3019 +{
  1.3020 +	size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
  1.3021 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcArbitraryClosedProfileDef"); }    do { // convert the 'OuterCurve' argument
  1.3022 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3023 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcArbitraryClosedProfileDef,1>::aux_is_derived[0]=true; break; }
  1.3024 +        try { GenericConvert( in->OuterCurve, arg, db ); break; } 
  1.3025 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcArbitraryClosedProfileDef to be a `IfcCurve`")); }
  1.3026 +    } while(0);
  1.3027 +	return base;
  1.3028 +}
  1.3029 +// -----------------------------------------------------------------------------------------------------------
  1.3030 +template <> size_t GenericFill<IfcArbitraryProfileDefWithVoids>(const DB& db, const LIST& params, IfcArbitraryProfileDefWithVoids* in)
  1.3031 +{
  1.3032 +	size_t base = GenericFill(db,params,static_cast<IfcArbitraryClosedProfileDef*>(in));
  1.3033 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3034 +	return base;
  1.3035 +}
  1.3036 +// -----------------------------------------------------------------------------------------------------------
  1.3037 +template <> size_t GenericFill<IfcLine>(const DB& db, const LIST& params, IfcLine* in)
  1.3038 +{
  1.3039 +	size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
  1.3040 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcLine"); }    do { // convert the 'Pnt' argument
  1.3041 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3042 +        try { GenericConvert( in->Pnt, arg, db ); break; } 
  1.3043 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcLine to be a `IfcCartesianPoint`")); }
  1.3044 +    } while(0);
  1.3045 +    do { // convert the 'Dir' argument
  1.3046 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3047 +        try { GenericConvert( in->Dir, arg, db ); break; } 
  1.3048 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcLine to be a `IfcVector`")); }
  1.3049 +    } while(0);
  1.3050 +	return base;
  1.3051 +}
  1.3052 +// -----------------------------------------------------------------------------------------------------------
  1.3053 +template <> size_t GenericFill<IfcFlowSegmentType>(const DB& db, const LIST& params, IfcFlowSegmentType* in)
  1.3054 +{
  1.3055 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.3056 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3057 +	return base;
  1.3058 +}
  1.3059 +// -----------------------------------------------------------------------------------------------------------
  1.3060 +template <> size_t GenericFill<IfcAirTerminalBoxType>(const DB& db, const LIST& params, IfcAirTerminalBoxType* in)
  1.3061 +{
  1.3062 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.3063 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3064 +	return base;
  1.3065 +}
  1.3066 +// -----------------------------------------------------------------------------------------------------------
  1.3067 +template <> size_t GenericFill<IfcPropertySingleValue>(const DB& db, const LIST& params, IfcPropertySingleValue* in)
  1.3068 +{
  1.3069 +	size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1.3070 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertySingleValue"); }    do { // convert the 'NominalValue' argument
  1.3071 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3072 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3073 +        try { GenericConvert( in->NominalValue, arg, db ); break; } 
  1.3074 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcPropertySingleValue to be a `IfcValue`")); }
  1.3075 +    } while(0);
  1.3076 +    do { // convert the 'Unit' argument
  1.3077 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3078 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3079 +        try { GenericConvert( in->Unit, arg, db ); break; } 
  1.3080 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcPropertySingleValue to be a `IfcUnit`")); }
  1.3081 +    } while(0);
  1.3082 +	return base;
  1.3083 +}
  1.3084 +// -----------------------------------------------------------------------------------------------------------
  1.3085 +template <> size_t GenericFill<IfcAlarmType>(const DB& db, const LIST& params, IfcAlarmType* in)
  1.3086 +{
  1.3087 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  1.3088 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3089 +	return base;
  1.3090 +}
  1.3091 +// -----------------------------------------------------------------------------------------------------------
  1.3092 +template <> size_t GenericFill<IfcEllipseProfileDef>(const DB& db, const LIST& params, IfcEllipseProfileDef* in)
  1.3093 +{
  1.3094 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.3095 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3096 +	return base;
  1.3097 +}
  1.3098 +// -----------------------------------------------------------------------------------------------------------
  1.3099 +template <> size_t GenericFill<IfcStair>(const DB& db, const LIST& params, IfcStair* in)
  1.3100 +{
  1.3101 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.3102 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3103 +	return base;
  1.3104 +}
  1.3105 +// -----------------------------------------------------------------------------------------------------------
  1.3106 +template <> size_t GenericFill<IfcSurfaceStyleShading>(const DB& db, const LIST& params, IfcSurfaceStyleShading* in)
  1.3107 +{
  1.3108 +	size_t base = 0;
  1.3109 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcSurfaceStyleShading"); }    do { // convert the 'SurfaceColour' argument
  1.3110 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3111 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSurfaceStyleShading,1>::aux_is_derived[0]=true; break; }
  1.3112 +        try { GenericConvert( in->SurfaceColour, arg, db ); break; } 
  1.3113 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSurfaceStyleShading to be a `IfcColourRgb`")); }
  1.3114 +    } while(0);
  1.3115 +	return base;
  1.3116 +}
  1.3117 +// -----------------------------------------------------------------------------------------------------------
  1.3118 +template <> size_t GenericFill<IfcPumpType>(const DB& db, const LIST& params, IfcPumpType* in)
  1.3119 +{
  1.3120 +	size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
  1.3121 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3122 +	return base;
  1.3123 +}
  1.3124 +// -----------------------------------------------------------------------------------------------------------
  1.3125 +template <> size_t GenericFill<IfcDefinedSymbol>(const DB& db, const LIST& params, IfcDefinedSymbol* in)
  1.3126 +{
  1.3127 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3128 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3129 +	return base;
  1.3130 +}
  1.3131 +// -----------------------------------------------------------------------------------------------------------
  1.3132 +template <> size_t GenericFill<IfcElementComponentType>(const DB& db, const LIST& params, IfcElementComponentType* in)
  1.3133 +{
  1.3134 +	size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1.3135 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3136 +	return base;
  1.3137 +}
  1.3138 +// -----------------------------------------------------------------------------------------------------------
  1.3139 +template <> size_t GenericFill<IfcFastenerType>(const DB& db, const LIST& params, IfcFastenerType* in)
  1.3140 +{
  1.3141 +	size_t base = GenericFill(db,params,static_cast<IfcElementComponentType*>(in));
  1.3142 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3143 +	return base;
  1.3144 +}
  1.3145 +// -----------------------------------------------------------------------------------------------------------
  1.3146 +template <> size_t GenericFill<IfcMechanicalFastenerType>(const DB& db, const LIST& params, IfcMechanicalFastenerType* in)
  1.3147 +{
  1.3148 +	size_t base = GenericFill(db,params,static_cast<IfcFastenerType*>(in));
  1.3149 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3150 +	return base;
  1.3151 +}
  1.3152 +// -----------------------------------------------------------------------------------------------------------
  1.3153 +template <> size_t GenericFill<IfcFlowFitting>(const DB& db, const LIST& params, IfcFlowFitting* in)
  1.3154 +{
  1.3155 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.3156 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3157 +	return base;
  1.3158 +}
  1.3159 +// -----------------------------------------------------------------------------------------------------------
  1.3160 +template <> size_t GenericFill<IfcLightSourceDirectional>(const DB& db, const LIST& params, IfcLightSourceDirectional* in)
  1.3161 +{
  1.3162 +	size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
  1.3163 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3164 +	return base;
  1.3165 +}
  1.3166 +// -----------------------------------------------------------------------------------------------------------
  1.3167 +template <> size_t GenericFill<IfcSurfaceStyle>(const DB& db, const LIST& params, IfcSurfaceStyle* in)
  1.3168 +{
  1.3169 +	size_t base = GenericFill(db,params,static_cast<IfcPresentationStyle*>(in));
  1.3170 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcSurfaceStyle"); }    do { // convert the 'Side' argument
  1.3171 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3172 +        try { GenericConvert( in->Side, arg, db ); break; } 
  1.3173 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSurfaceStyle to be a `IfcSurfaceSide`")); }
  1.3174 +    } while(0);
  1.3175 +    do { // convert the 'Styles' argument
  1.3176 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3177 +        try { GenericConvert( in->Styles, arg, db ); break; } 
  1.3178 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSurfaceStyle to be a `SET [1:5] OF IfcSurfaceStyleElementSelect`")); }
  1.3179 +    } while(0);
  1.3180 +	return base;
  1.3181 +}
  1.3182 +// -----------------------------------------------------------------------------------------------------------
  1.3183 +template <> size_t GenericFill<IfcAnnotationSurface>(const DB& db, const LIST& params, IfcAnnotationSurface* in)
  1.3184 +{
  1.3185 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3186 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3187 +	return base;
  1.3188 +}
  1.3189 +// -----------------------------------------------------------------------------------------------------------
  1.3190 +template <> size_t GenericFill<IfcFlowController>(const DB& db, const LIST& params, IfcFlowController* in)
  1.3191 +{
  1.3192 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.3193 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3194 +	return base;
  1.3195 +}
  1.3196 +// -----------------------------------------------------------------------------------------------------------
  1.3197 +template <> size_t GenericFill<IfcBuildingStorey>(const DB& db, const LIST& params, IfcBuildingStorey* in)
  1.3198 +{
  1.3199 +	size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  1.3200 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3201 +	return base;
  1.3202 +}
  1.3203 +// -----------------------------------------------------------------------------------------------------------
  1.3204 +template <> size_t GenericFill<IfcWorkControl>(const DB& db, const LIST& params, IfcWorkControl* in)
  1.3205 +{
  1.3206 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.3207 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3208 +	return base;
  1.3209 +}
  1.3210 +// -----------------------------------------------------------------------------------------------------------
  1.3211 +template <> size_t GenericFill<IfcWorkSchedule>(const DB& db, const LIST& params, IfcWorkSchedule* in)
  1.3212 +{
  1.3213 +	size_t base = GenericFill(db,params,static_cast<IfcWorkControl*>(in));
  1.3214 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3215 +	return base;
  1.3216 +}
  1.3217 +// -----------------------------------------------------------------------------------------------------------
  1.3218 +template <> size_t GenericFill<IfcDuctSegmentType>(const DB& db, const LIST& params, IfcDuctSegmentType* in)
  1.3219 +{
  1.3220 +	size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  1.3221 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3222 +	return base;
  1.3223 +}
  1.3224 +// -----------------------------------------------------------------------------------------------------------
  1.3225 +template <> size_t GenericFill<IfcFace>(const DB& db, const LIST& params, IfcFace* in)
  1.3226 +{
  1.3227 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.3228 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcFace"); }    do { // convert the 'Bounds' argument
  1.3229 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3230 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFace,1>::aux_is_derived[0]=true; break; }
  1.3231 +        try { GenericConvert( in->Bounds, arg, db ); break; } 
  1.3232 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFace to be a `SET [1:?] OF IfcFaceBound`")); }
  1.3233 +    } while(0);
  1.3234 +	return base;
  1.3235 +}
  1.3236 +// -----------------------------------------------------------------------------------------------------------
  1.3237 +template <> size_t GenericFill<IfcStructuralSurfaceMember>(const DB& db, const LIST& params, IfcStructuralSurfaceMember* in)
  1.3238 +{
  1.3239 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralMember*>(in));
  1.3240 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3241 +	return base;
  1.3242 +}
  1.3243 +// -----------------------------------------------------------------------------------------------------------
  1.3244 +template <> size_t GenericFill<IfcStructuralSurfaceMemberVarying>(const DB& db, const LIST& params, IfcStructuralSurfaceMemberVarying* in)
  1.3245 +{
  1.3246 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralSurfaceMember*>(in));
  1.3247 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3248 +	return base;
  1.3249 +}
  1.3250 +// -----------------------------------------------------------------------------------------------------------
  1.3251 +template <> size_t GenericFill<IfcFaceSurface>(const DB& db, const LIST& params, IfcFaceSurface* in)
  1.3252 +{
  1.3253 +	size_t base = GenericFill(db,params,static_cast<IfcFace*>(in));
  1.3254 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3255 +	return base;
  1.3256 +}
  1.3257 +// -----------------------------------------------------------------------------------------------------------
  1.3258 +template <> size_t GenericFill<IfcCostSchedule>(const DB& db, const LIST& params, IfcCostSchedule* in)
  1.3259 +{
  1.3260 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.3261 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3262 +	return base;
  1.3263 +}
  1.3264 +// -----------------------------------------------------------------------------------------------------------
  1.3265 +template <> size_t GenericFill<IfcPlanarExtent>(const DB& db, const LIST& params, IfcPlanarExtent* in)
  1.3266 +{
  1.3267 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3268 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3269 +	return base;
  1.3270 +}
  1.3271 +// -----------------------------------------------------------------------------------------------------------
  1.3272 +template <> size_t GenericFill<IfcPlanarBox>(const DB& db, const LIST& params, IfcPlanarBox* in)
  1.3273 +{
  1.3274 +	size_t base = GenericFill(db,params,static_cast<IfcPlanarExtent*>(in));
  1.3275 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3276 +	return base;
  1.3277 +}
  1.3278 +// -----------------------------------------------------------------------------------------------------------
  1.3279 +template <> size_t GenericFill<IfcColourSpecification>(const DB& db, const LIST& params, IfcColourSpecification* in)
  1.3280 +{
  1.3281 +	size_t base = 0;
  1.3282 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcColourSpecification"); }    do { // convert the 'Name' argument
  1.3283 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3284 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcColourSpecification,1>::aux_is_derived[0]=true; break; }
  1.3285 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3286 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.3287 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcColourSpecification to be a `IfcLabel`")); }
  1.3288 +    } while(0);
  1.3289 +	return base;
  1.3290 +}
  1.3291 +// -----------------------------------------------------------------------------------------------------------
  1.3292 +template <> size_t GenericFill<IfcVector>(const DB& db, const LIST& params, IfcVector* in)
  1.3293 +{
  1.3294 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3295 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcVector"); }    do { // convert the 'Orientation' argument
  1.3296 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3297 +        try { GenericConvert( in->Orientation, arg, db ); break; } 
  1.3298 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcVector to be a `IfcDirection`")); }
  1.3299 +    } while(0);
  1.3300 +    do { // convert the 'Magnitude' argument
  1.3301 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3302 +        try { GenericConvert( in->Magnitude, arg, db ); break; } 
  1.3303 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcVector to be a `IfcLengthMeasure`")); }
  1.3304 +    } while(0);
  1.3305 +	return base;
  1.3306 +}
  1.3307 +// -----------------------------------------------------------------------------------------------------------
  1.3308 +template <> size_t GenericFill<IfcBeam>(const DB& db, const LIST& params, IfcBeam* in)
  1.3309 +{
  1.3310 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.3311 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3312 +	return base;
  1.3313 +}
  1.3314 +// -----------------------------------------------------------------------------------------------------------
  1.3315 +template <> size_t GenericFill<IfcColourRgb>(const DB& db, const LIST& params, IfcColourRgb* in)
  1.3316 +{
  1.3317 +	size_t base = GenericFill(db,params,static_cast<IfcColourSpecification*>(in));
  1.3318 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcColourRgb"); }    do { // convert the 'Red' argument
  1.3319 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3320 +        try { GenericConvert( in->Red, arg, db ); break; } 
  1.3321 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
  1.3322 +    } while(0);
  1.3323 +    do { // convert the 'Green' argument
  1.3324 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3325 +        try { GenericConvert( in->Green, arg, db ); break; } 
  1.3326 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
  1.3327 +    } while(0);
  1.3328 +    do { // convert the 'Blue' argument
  1.3329 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3330 +        try { GenericConvert( in->Blue, arg, db ); break; } 
  1.3331 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
  1.3332 +    } while(0);
  1.3333 +	return base;
  1.3334 +}
  1.3335 +// -----------------------------------------------------------------------------------------------------------
  1.3336 +template <> size_t GenericFill<IfcStructuralPlanarAction>(const DB& db, const LIST& params, IfcStructuralPlanarAction* in)
  1.3337 +{
  1.3338 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
  1.3339 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3340 +	return base;
  1.3341 +}
  1.3342 +// -----------------------------------------------------------------------------------------------------------
  1.3343 +template <> size_t GenericFill<IfcStructuralPlanarActionVarying>(const DB& db, const LIST& params, IfcStructuralPlanarActionVarying* in)
  1.3344 +{
  1.3345 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralPlanarAction*>(in));
  1.3346 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3347 +	return base;
  1.3348 +}
  1.3349 +// -----------------------------------------------------------------------------------------------------------
  1.3350 +template <> size_t GenericFill<IfcSite>(const DB& db, const LIST& params, IfcSite* in)
  1.3351 +{
  1.3352 +	size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  1.3353 +	if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to IfcSite"); }    do { // convert the 'RefLatitude' argument
  1.3354 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3355 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3356 +        try { GenericConvert( in->RefLatitude, arg, db ); break; } 
  1.3357 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcSite to be a `IfcCompoundPlaneAngleMeasure`")); }
  1.3358 +    } while(0);
  1.3359 +    do { // convert the 'RefLongitude' argument
  1.3360 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3361 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3362 +        try { GenericConvert( in->RefLongitude, arg, db ); break; } 
  1.3363 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcSite to be a `IfcCompoundPlaneAngleMeasure`")); }
  1.3364 +    } while(0);
  1.3365 +    do { // convert the 'RefElevation' argument
  1.3366 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3367 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3368 +        try { GenericConvert( in->RefElevation, arg, db ); break; } 
  1.3369 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to IfcSite to be a `IfcLengthMeasure`")); }
  1.3370 +    } while(0);
  1.3371 +    do { // convert the 'LandTitleNumber' argument
  1.3372 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3373 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3374 +        try { GenericConvert( in->LandTitleNumber, arg, db ); break; } 
  1.3375 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to IfcSite to be a `IfcLabel`")); }
  1.3376 +    } while(0);
  1.3377 +    do { // convert the 'SiteAddress' argument
  1.3378 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3379 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3380 +        try { GenericConvert( in->SiteAddress, arg, db ); break; } 
  1.3381 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to IfcSite to be a `IfcPostalAddress`")); }
  1.3382 +    } while(0);
  1.3383 +	return base;
  1.3384 +}
  1.3385 +// -----------------------------------------------------------------------------------------------------------
  1.3386 +template <> size_t GenericFill<IfcDiscreteAccessoryType>(const DB& db, const LIST& params, IfcDiscreteAccessoryType* in)
  1.3387 +{
  1.3388 +	size_t base = GenericFill(db,params,static_cast<IfcElementComponentType*>(in));
  1.3389 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3390 +	return base;
  1.3391 +}
  1.3392 +// -----------------------------------------------------------------------------------------------------------
  1.3393 +template <> size_t GenericFill<IfcVibrationIsolatorType>(const DB& db, const LIST& params, IfcVibrationIsolatorType* in)
  1.3394 +{
  1.3395 +	size_t base = GenericFill(db,params,static_cast<IfcDiscreteAccessoryType*>(in));
  1.3396 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3397 +	return base;
  1.3398 +}
  1.3399 +// -----------------------------------------------------------------------------------------------------------
  1.3400 +template <> size_t GenericFill<IfcEvaporativeCoolerType>(const DB& db, const LIST& params, IfcEvaporativeCoolerType* in)
  1.3401 +{
  1.3402 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.3403 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3404 +	return base;
  1.3405 +}
  1.3406 +// -----------------------------------------------------------------------------------------------------------
  1.3407 +template <> size_t GenericFill<IfcDistributionChamberElementType>(const DB& db, const LIST& params, IfcDistributionChamberElementType* in)
  1.3408 +{
  1.3409 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.3410 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3411 +	return base;
  1.3412 +}
  1.3413 +// -----------------------------------------------------------------------------------------------------------
  1.3414 +template <> size_t GenericFill<IfcFeatureElementAddition>(const DB& db, const LIST& params, IfcFeatureElementAddition* in)
  1.3415 +{
  1.3416 +	size_t base = GenericFill(db,params,static_cast<IfcFeatureElement*>(in));
  1.3417 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3418 +	return base;
  1.3419 +}
  1.3420 +// -----------------------------------------------------------------------------------------------------------
  1.3421 +template <> size_t GenericFill<IfcStructuredDimensionCallout>(const DB& db, const LIST& params, IfcStructuredDimensionCallout* in)
  1.3422 +{
  1.3423 +	size_t base = GenericFill(db,params,static_cast<IfcDraughtingCallout*>(in));
  1.3424 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3425 +	return base;
  1.3426 +}
  1.3427 +// -----------------------------------------------------------------------------------------------------------
  1.3428 +template <> size_t GenericFill<IfcCoolingTowerType>(const DB& db, const LIST& params, IfcCoolingTowerType* in)
  1.3429 +{
  1.3430 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.3431 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3432 +	return base;
  1.3433 +}
  1.3434 +// -----------------------------------------------------------------------------------------------------------
  1.3435 +template <> size_t GenericFill<IfcCenterLineProfileDef>(const DB& db, const LIST& params, IfcCenterLineProfileDef* in)
  1.3436 +{
  1.3437 +	size_t base = GenericFill(db,params,static_cast<IfcArbitraryOpenProfileDef*>(in));
  1.3438 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3439 +	return base;
  1.3440 +}
  1.3441 +// -----------------------------------------------------------------------------------------------------------
  1.3442 +template <> size_t GenericFill<IfcWindowStyle>(const DB& db, const LIST& params, IfcWindowStyle* in)
  1.3443 +{
  1.3444 +	size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
  1.3445 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3446 +	return base;
  1.3447 +}
  1.3448 +// -----------------------------------------------------------------------------------------------------------
  1.3449 +template <> size_t GenericFill<IfcLightSourceGoniometric>(const DB& db, const LIST& params, IfcLightSourceGoniometric* in)
  1.3450 +{
  1.3451 +	size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
  1.3452 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3453 +	return base;
  1.3454 +}
  1.3455 +// -----------------------------------------------------------------------------------------------------------
  1.3456 +template <> size_t GenericFill<IfcTransformerType>(const DB& db, const LIST& params, IfcTransformerType* in)
  1.3457 +{
  1.3458 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.3459 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3460 +	return base;
  1.3461 +}
  1.3462 +// -----------------------------------------------------------------------------------------------------------
  1.3463 +template <> size_t GenericFill<IfcMemberType>(const DB& db, const LIST& params, IfcMemberType* in)
  1.3464 +{
  1.3465 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.3466 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3467 +	return base;
  1.3468 +}
  1.3469 +// -----------------------------------------------------------------------------------------------------------
  1.3470 +template <> size_t GenericFill<IfcSurfaceOfLinearExtrusion>(const DB& db, const LIST& params, IfcSurfaceOfLinearExtrusion* in)
  1.3471 +{
  1.3472 +	size_t base = GenericFill(db,params,static_cast<IfcSweptSurface*>(in));
  1.3473 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3474 +	return base;
  1.3475 +}
  1.3476 +// -----------------------------------------------------------------------------------------------------------
  1.3477 +template <> size_t GenericFill<IfcMotorConnectionType>(const DB& db, const LIST& params, IfcMotorConnectionType* in)
  1.3478 +{
  1.3479 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.3480 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3481 +	return base;
  1.3482 +}
  1.3483 +// -----------------------------------------------------------------------------------------------------------
  1.3484 +template <> size_t GenericFill<IfcFlowTreatmentDeviceType>(const DB& db, const LIST& params, IfcFlowTreatmentDeviceType* in)
  1.3485 +{
  1.3486 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.3487 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3488 +	return base;
  1.3489 +}
  1.3490 +// -----------------------------------------------------------------------------------------------------------
  1.3491 +template <> size_t GenericFill<IfcDuctSilencerType>(const DB& db, const LIST& params, IfcDuctSilencerType* in)
  1.3492 +{
  1.3493 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTreatmentDeviceType*>(in));
  1.3494 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3495 +	return base;
  1.3496 +}
  1.3497 +// -----------------------------------------------------------------------------------------------------------
  1.3498 +template <> size_t GenericFill<IfcFurnishingElementType>(const DB& db, const LIST& params, IfcFurnishingElementType* in)
  1.3499 +{
  1.3500 +	size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1.3501 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3502 +	return base;
  1.3503 +}
  1.3504 +// -----------------------------------------------------------------------------------------------------------
  1.3505 +template <> size_t GenericFill<IfcSystemFurnitureElementType>(const DB& db, const LIST& params, IfcSystemFurnitureElementType* in)
  1.3506 +{
  1.3507 +	size_t base = GenericFill(db,params,static_cast<IfcFurnishingElementType*>(in));
  1.3508 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3509 +	return base;
  1.3510 +}
  1.3511 +// -----------------------------------------------------------------------------------------------------------
  1.3512 +template <> size_t GenericFill<IfcWasteTerminalType>(const DB& db, const LIST& params, IfcWasteTerminalType* in)
  1.3513 +{
  1.3514 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.3515 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3516 +	return base;
  1.3517 +}
  1.3518 +// -----------------------------------------------------------------------------------------------------------
  1.3519 +template <> size_t GenericFill<IfcBSplineCurve>(const DB& db, const LIST& params, IfcBSplineCurve* in)
  1.3520 +{
  1.3521 +	size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
  1.3522 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcBSplineCurve"); }    do { // convert the 'Degree' argument
  1.3523 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3524 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[0]=true; break; }
  1.3525 +        try { GenericConvert( in->Degree, arg, db ); break; } 
  1.3526 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBSplineCurve to be a `INTEGER`")); }
  1.3527 +    } while(0);
  1.3528 +    do { // convert the 'ControlPointsList' argument
  1.3529 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3530 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[1]=true; break; }
  1.3531 +        try { GenericConvert( in->ControlPointsList, arg, db ); break; } 
  1.3532 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBSplineCurve to be a `LIST [2:?] OF IfcCartesianPoint`")); }
  1.3533 +    } while(0);
  1.3534 +    do { // convert the 'CurveForm' argument
  1.3535 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3536 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[2]=true; break; }
  1.3537 +        try { GenericConvert( in->CurveForm, arg, db ); break; } 
  1.3538 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBSplineCurve to be a `IfcBSplineCurveForm`")); }
  1.3539 +    } while(0);
  1.3540 +    do { // convert the 'ClosedCurve' argument
  1.3541 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3542 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[3]=true; break; }
  1.3543 +        try { GenericConvert( in->ClosedCurve, arg, db ); break; } 
  1.3544 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcBSplineCurve to be a `LOGICAL`")); }
  1.3545 +    } while(0);
  1.3546 +    do { // convert the 'SelfIntersect' argument
  1.3547 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3548 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[4]=true; break; }
  1.3549 +        try { GenericConvert( in->SelfIntersect, arg, db ); break; } 
  1.3550 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcBSplineCurve to be a `LOGICAL`")); }
  1.3551 +    } while(0);
  1.3552 +	return base;
  1.3553 +}
  1.3554 +// -----------------------------------------------------------------------------------------------------------
  1.3555 +template <> size_t GenericFill<IfcBezierCurve>(const DB& db, const LIST& params, IfcBezierCurve* in)
  1.3556 +{
  1.3557 +	size_t base = GenericFill(db,params,static_cast<IfcBSplineCurve*>(in));
  1.3558 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3559 +	return base;
  1.3560 +}
  1.3561 +// -----------------------------------------------------------------------------------------------------------
  1.3562 +template <> size_t GenericFill<IfcActuatorType>(const DB& db, const LIST& params, IfcActuatorType* in)
  1.3563 +{
  1.3564 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  1.3565 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3566 +	return base;
  1.3567 +}
  1.3568 +// -----------------------------------------------------------------------------------------------------------
  1.3569 +template <> size_t GenericFill<IfcDistributionControlElement>(const DB& db, const LIST& params, IfcDistributionControlElement* in)
  1.3570 +{
  1.3571 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionElement*>(in));
  1.3572 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3573 +	return base;
  1.3574 +}
  1.3575 +// -----------------------------------------------------------------------------------------------------------
  1.3576 +template <> size_t GenericFill<IfcAnnotation>(const DB& db, const LIST& params, IfcAnnotation* in)
  1.3577 +{
  1.3578 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.3579 +	if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcAnnotation"); }	return base;
  1.3580 +}
  1.3581 +// -----------------------------------------------------------------------------------------------------------
  1.3582 +template <> size_t GenericFill<IfcShellBasedSurfaceModel>(const DB& db, const LIST& params, IfcShellBasedSurfaceModel* in)
  1.3583 +{
  1.3584 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3585 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcShellBasedSurfaceModel"); }    do { // convert the 'SbsmBoundary' argument
  1.3586 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3587 +        try { GenericConvert( in->SbsmBoundary, arg, db ); break; } 
  1.3588 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcShellBasedSurfaceModel to be a `SET [1:?] OF IfcShell`")); }
  1.3589 +    } while(0);
  1.3590 +	return base;
  1.3591 +}
  1.3592 +// -----------------------------------------------------------------------------------------------------------
  1.3593 +template <> size_t GenericFill<IfcActionRequest>(const DB& db, const LIST& params, IfcActionRequest* in)
  1.3594 +{
  1.3595 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.3596 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3597 +	return base;
  1.3598 +}
  1.3599 +// -----------------------------------------------------------------------------------------------------------
  1.3600 +template <> size_t GenericFill<IfcExtrudedAreaSolid>(const DB& db, const LIST& params, IfcExtrudedAreaSolid* in)
  1.3601 +{
  1.3602 +	size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
  1.3603 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcExtrudedAreaSolid"); }    do { // convert the 'ExtrudedDirection' argument
  1.3604 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3605 +        try { GenericConvert( in->ExtrudedDirection, arg, db ); break; } 
  1.3606 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcExtrudedAreaSolid to be a `IfcDirection`")); }
  1.3607 +    } while(0);
  1.3608 +    do { // convert the 'Depth' argument
  1.3609 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3610 +        try { GenericConvert( in->Depth, arg, db ); break; } 
  1.3611 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcExtrudedAreaSolid to be a `IfcPositiveLengthMeasure`")); }
  1.3612 +    } while(0);
  1.3613 +	return base;
  1.3614 +}
  1.3615 +// -----------------------------------------------------------------------------------------------------------
  1.3616 +template <> size_t GenericFill<IfcSystem>(const DB& db, const LIST& params, IfcSystem* in)
  1.3617 +{
  1.3618 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.3619 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3620 +	return base;
  1.3621 +}
  1.3622 +// -----------------------------------------------------------------------------------------------------------
  1.3623 +template <> size_t GenericFill<IfcFillAreaStyleHatching>(const DB& db, const LIST& params, IfcFillAreaStyleHatching* in)
  1.3624 +{
  1.3625 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3626 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3627 +	return base;
  1.3628 +}
  1.3629 +// -----------------------------------------------------------------------------------------------------------
  1.3630 +template <> size_t GenericFill<IfcRelVoidsElement>(const DB& db, const LIST& params, IfcRelVoidsElement* in)
  1.3631 +{
  1.3632 +	size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
  1.3633 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelVoidsElement"); }    do { // convert the 'RelatingBuildingElement' argument
  1.3634 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3635 +        try { GenericConvert( in->RelatingBuildingElement, arg, db ); break; } 
  1.3636 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelVoidsElement to be a `IfcElement`")); }
  1.3637 +    } while(0);
  1.3638 +    do { // convert the 'RelatedOpeningElement' argument
  1.3639 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3640 +        try { GenericConvert( in->RelatedOpeningElement, arg, db ); break; } 
  1.3641 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelVoidsElement to be a `IfcFeatureElementSubtraction`")); }
  1.3642 +    } while(0);
  1.3643 +	return base;
  1.3644 +}
  1.3645 +// -----------------------------------------------------------------------------------------------------------
  1.3646 +template <> size_t GenericFill<IfcSurfaceCurveSweptAreaSolid>(const DB& db, const LIST& params, IfcSurfaceCurveSweptAreaSolid* in)
  1.3647 +{
  1.3648 +	size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
  1.3649 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3650 +	return base;
  1.3651 +}
  1.3652 +// -----------------------------------------------------------------------------------------------------------
  1.3653 +template <> size_t GenericFill<IfcCartesianTransformationOperator3DnonUniform>(const DB& db, const LIST& params, IfcCartesianTransformationOperator3DnonUniform* in)
  1.3654 +{
  1.3655 +	size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator3D*>(in));
  1.3656 +	if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcCartesianTransformationOperator3DnonUniform"); }    do { // convert the 'Scale2' argument
  1.3657 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3658 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3659 +        try { GenericConvert( in->Scale2, arg, db ); break; } 
  1.3660 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcCartesianTransformationOperator3DnonUniform to be a `REAL`")); }
  1.3661 +    } while(0);
  1.3662 +    do { // convert the 'Scale3' argument
  1.3663 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3664 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3665 +        try { GenericConvert( in->Scale3, arg, db ); break; } 
  1.3666 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcCartesianTransformationOperator3DnonUniform to be a `REAL`")); }
  1.3667 +    } while(0);
  1.3668 +	return base;
  1.3669 +}
  1.3670 +// -----------------------------------------------------------------------------------------------------------
  1.3671 +template <> size_t GenericFill<IfcCurtainWallType>(const DB& db, const LIST& params, IfcCurtainWallType* in)
  1.3672 +{
  1.3673 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.3674 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3675 +	return base;
  1.3676 +}
  1.3677 +// -----------------------------------------------------------------------------------------------------------
  1.3678 +template <> size_t GenericFill<IfcEquipmentStandard>(const DB& db, const LIST& params, IfcEquipmentStandard* in)
  1.3679 +{
  1.3680 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.3681 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3682 +	return base;
  1.3683 +}
  1.3684 +// -----------------------------------------------------------------------------------------------------------
  1.3685 +template <> size_t GenericFill<IfcFlowStorageDeviceType>(const DB& db, const LIST& params, IfcFlowStorageDeviceType* in)
  1.3686 +{
  1.3687 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
  1.3688 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3689 +	return base;
  1.3690 +}
  1.3691 +// -----------------------------------------------------------------------------------------------------------
  1.3692 +template <> size_t GenericFill<IfcDiameterDimension>(const DB& db, const LIST& params, IfcDiameterDimension* in)
  1.3693 +{
  1.3694 +	size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
  1.3695 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3696 +	return base;
  1.3697 +}
  1.3698 +// -----------------------------------------------------------------------------------------------------------
  1.3699 +template <> size_t GenericFill<IfcSwitchingDeviceType>(const DB& db, const LIST& params, IfcSwitchingDeviceType* in)
  1.3700 +{
  1.3701 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.3702 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3703 +	return base;
  1.3704 +}
  1.3705 +// -----------------------------------------------------------------------------------------------------------
  1.3706 +template <> size_t GenericFill<IfcWindow>(const DB& db, const LIST& params, IfcWindow* in)
  1.3707 +{
  1.3708 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.3709 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3710 +	return base;
  1.3711 +}
  1.3712 +// -----------------------------------------------------------------------------------------------------------
  1.3713 +template <> size_t GenericFill<IfcFlowTreatmentDevice>(const DB& db, const LIST& params, IfcFlowTreatmentDevice* in)
  1.3714 +{
  1.3715 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.3716 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3717 +	return base;
  1.3718 +}
  1.3719 +// -----------------------------------------------------------------------------------------------------------
  1.3720 +template <> size_t GenericFill<IfcChillerType>(const DB& db, const LIST& params, IfcChillerType* in)
  1.3721 +{
  1.3722 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.3723 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3724 +	return base;
  1.3725 +}
  1.3726 +// -----------------------------------------------------------------------------------------------------------
  1.3727 +template <> size_t GenericFill<IfcRectangleHollowProfileDef>(const DB& db, const LIST& params, IfcRectangleHollowProfileDef* in)
  1.3728 +{
  1.3729 +	size_t base = GenericFill(db,params,static_cast<IfcRectangleProfileDef*>(in));
  1.3730 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3731 +	return base;
  1.3732 +}
  1.3733 +// -----------------------------------------------------------------------------------------------------------
  1.3734 +template <> size_t GenericFill<IfcBoxedHalfSpace>(const DB& db, const LIST& params, IfcBoxedHalfSpace* in)
  1.3735 +{
  1.3736 +	size_t base = GenericFill(db,params,static_cast<IfcHalfSpaceSolid*>(in));
  1.3737 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3738 +	return base;
  1.3739 +}
  1.3740 +// -----------------------------------------------------------------------------------------------------------
  1.3741 +template <> size_t GenericFill<IfcAxis2Placement2D>(const DB& db, const LIST& params, IfcAxis2Placement2D* in)
  1.3742 +{
  1.3743 +	size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
  1.3744 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcAxis2Placement2D"); }    do { // convert the 'RefDirection' argument
  1.3745 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3746 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3747 +        try { GenericConvert( in->RefDirection, arg, db ); break; } 
  1.3748 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis2Placement2D to be a `IfcDirection`")); }
  1.3749 +    } while(0);
  1.3750 +	return base;
  1.3751 +}
  1.3752 +// -----------------------------------------------------------------------------------------------------------
  1.3753 +template <> size_t GenericFill<IfcSpaceProgram>(const DB& db, const LIST& params, IfcSpaceProgram* in)
  1.3754 +{
  1.3755 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.3756 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3757 +	return base;
  1.3758 +}
  1.3759 +// -----------------------------------------------------------------------------------------------------------
  1.3760 +template <> size_t GenericFill<IfcPoint>(const DB& db, const LIST& params, IfcPoint* in)
  1.3761 +{
  1.3762 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.3763 +	return base;
  1.3764 +}
  1.3765 +// -----------------------------------------------------------------------------------------------------------
  1.3766 +template <> size_t GenericFill<IfcCartesianPoint>(const DB& db, const LIST& params, IfcCartesianPoint* in)
  1.3767 +{
  1.3768 +	size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
  1.3769 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcCartesianPoint"); }    do { // convert the 'Coordinates' argument
  1.3770 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3771 +        try { GenericConvert( in->Coordinates, arg, db ); break; } 
  1.3772 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCartesianPoint to be a `LIST [1:3] OF IfcLengthMeasure`")); }
  1.3773 +    } while(0);
  1.3774 +	return base;
  1.3775 +}
  1.3776 +// -----------------------------------------------------------------------------------------------------------
  1.3777 +template <> size_t GenericFill<IfcBoundedSurface>(const DB& db, const LIST& params, IfcBoundedSurface* in)
  1.3778 +{
  1.3779 +	size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
  1.3780 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3781 +	return base;
  1.3782 +}
  1.3783 +// -----------------------------------------------------------------------------------------------------------
  1.3784 +template <> size_t GenericFill<IfcLoop>(const DB& db, const LIST& params, IfcLoop* in)
  1.3785 +{
  1.3786 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.3787 +	return base;
  1.3788 +}
  1.3789 +// -----------------------------------------------------------------------------------------------------------
  1.3790 +template <> size_t GenericFill<IfcPolyLoop>(const DB& db, const LIST& params, IfcPolyLoop* in)
  1.3791 +{
  1.3792 +	size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
  1.3793 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPolyLoop"); }    do { // convert the 'Polygon' argument
  1.3794 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3795 +        try { GenericConvert( in->Polygon, arg, db ); break; } 
  1.3796 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPolyLoop to be a `LIST [3:?] OF IfcCartesianPoint`")); }
  1.3797 +    } while(0);
  1.3798 +	return base;
  1.3799 +}
  1.3800 +// -----------------------------------------------------------------------------------------------------------
  1.3801 +template <> size_t GenericFill<IfcTerminatorSymbol>(const DB& db, const LIST& params, IfcTerminatorSymbol* in)
  1.3802 +{
  1.3803 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationSymbolOccurrence*>(in));
  1.3804 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3805 +	return base;
  1.3806 +}
  1.3807 +// -----------------------------------------------------------------------------------------------------------
  1.3808 +template <> size_t GenericFill<IfcDimensionCurveTerminator>(const DB& db, const LIST& params, IfcDimensionCurveTerminator* in)
  1.3809 +{
  1.3810 +	size_t base = GenericFill(db,params,static_cast<IfcTerminatorSymbol*>(in));
  1.3811 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3812 +	return base;
  1.3813 +}
  1.3814 +// -----------------------------------------------------------------------------------------------------------
  1.3815 +template <> size_t GenericFill<IfcTrapeziumProfileDef>(const DB& db, const LIST& params, IfcTrapeziumProfileDef* in)
  1.3816 +{
  1.3817 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.3818 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3819 +	return base;
  1.3820 +}
  1.3821 +// -----------------------------------------------------------------------------------------------------------
  1.3822 +template <> size_t GenericFill<IfcRepresentationContext>(const DB& db, const LIST& params, IfcRepresentationContext* in)
  1.3823 +{
  1.3824 +	size_t base = 0;
  1.3825 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcRepresentationContext"); }    do { // convert the 'ContextIdentifier' argument
  1.3826 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3827 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentationContext,2>::aux_is_derived[0]=true; break; }
  1.3828 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3829 +        try { GenericConvert( in->ContextIdentifier, arg, db ); break; } 
  1.3830 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentationContext to be a `IfcLabel`")); }
  1.3831 +    } while(0);
  1.3832 +    do { // convert the 'ContextType' argument
  1.3833 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3834 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentationContext,2>::aux_is_derived[1]=true; break; }
  1.3835 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3836 +        try { GenericConvert( in->ContextType, arg, db ); break; } 
  1.3837 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentationContext to be a `IfcLabel`")); }
  1.3838 +    } while(0);
  1.3839 +	return base;
  1.3840 +}
  1.3841 +// -----------------------------------------------------------------------------------------------------------
  1.3842 +template <> size_t GenericFill<IfcGeometricRepresentationContext>(const DB& db, const LIST& params, IfcGeometricRepresentationContext* in)
  1.3843 +{
  1.3844 +	size_t base = GenericFill(db,params,static_cast<IfcRepresentationContext*>(in));
  1.3845 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcGeometricRepresentationContext"); }    do { // convert the 'CoordinateSpaceDimension' argument
  1.3846 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3847 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[0]=true; break; }
  1.3848 +        try { GenericConvert( in->CoordinateSpaceDimension, arg, db ); break; } 
  1.3849 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcGeometricRepresentationContext to be a `IfcDimensionCount`")); }
  1.3850 +    } while(0);
  1.3851 +    do { // convert the 'Precision' argument
  1.3852 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3853 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[1]=true; break; }
  1.3854 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3855 +        try { GenericConvert( in->Precision, arg, db ); break; } 
  1.3856 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcGeometricRepresentationContext to be a `REAL`")); }
  1.3857 +    } while(0);
  1.3858 +    do { // convert the 'WorldCoordinateSystem' argument
  1.3859 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3860 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[2]=true; break; }
  1.3861 +        try { GenericConvert( in->WorldCoordinateSystem, arg, db ); break; } 
  1.3862 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcGeometricRepresentationContext to be a `IfcAxis2Placement`")); }
  1.3863 +    } while(0);
  1.3864 +    do { // convert the 'TrueNorth' argument
  1.3865 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3866 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[3]=true; break; }
  1.3867 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3868 +        try { GenericConvert( in->TrueNorth, arg, db ); break; } 
  1.3869 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcGeometricRepresentationContext to be a `IfcDirection`")); }
  1.3870 +    } while(0);
  1.3871 +	return base;
  1.3872 +}
  1.3873 +// -----------------------------------------------------------------------------------------------------------
  1.3874 +template <> size_t GenericFill<IfcCurveBoundedPlane>(const DB& db, const LIST& params, IfcCurveBoundedPlane* in)
  1.3875 +{
  1.3876 +	size_t base = GenericFill(db,params,static_cast<IfcBoundedSurface*>(in));
  1.3877 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3878 +	return base;
  1.3879 +}
  1.3880 +// -----------------------------------------------------------------------------------------------------------
  1.3881 +template <> size_t GenericFill<IfcSIUnit>(const DB& db, const LIST& params, IfcSIUnit* in)
  1.3882 +{
  1.3883 +	size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
  1.3884 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcSIUnit"); }    do { // convert the 'Prefix' argument
  1.3885 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3886 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3887 +        try { GenericConvert( in->Prefix, arg, db ); break; } 
  1.3888 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSIUnit to be a `IfcSIPrefix`")); }
  1.3889 +    } while(0);
  1.3890 +    do { // convert the 'Name' argument
  1.3891 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3892 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.3893 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSIUnit to be a `IfcSIUnitName`")); }
  1.3894 +    } while(0);
  1.3895 +	return base;
  1.3896 +}
  1.3897 +// -----------------------------------------------------------------------------------------------------------
  1.3898 +template <> size_t GenericFill<IfcStructuralReaction>(const DB& db, const LIST& params, IfcStructuralReaction* in)
  1.3899 +{
  1.3900 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralActivity*>(in));
  1.3901 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3902 +	return base;
  1.3903 +}
  1.3904 +// -----------------------------------------------------------------------------------------------------------
  1.3905 +template <> size_t GenericFill<IfcStructuralPointReaction>(const DB& db, const LIST& params, IfcStructuralPointReaction* in)
  1.3906 +{
  1.3907 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralReaction*>(in));
  1.3908 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3909 +	return base;
  1.3910 +}
  1.3911 +// -----------------------------------------------------------------------------------------------------------
  1.3912 +template <> size_t GenericFill<IfcAxis1Placement>(const DB& db, const LIST& params, IfcAxis1Placement* in)
  1.3913 +{
  1.3914 +	size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
  1.3915 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcAxis1Placement"); }    do { // convert the 'Axis' argument
  1.3916 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3917 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.3918 +        try { GenericConvert( in->Axis, arg, db ); break; } 
  1.3919 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis1Placement to be a `IfcDirection`")); }
  1.3920 +    } while(0);
  1.3921 +	return base;
  1.3922 +}
  1.3923 +// -----------------------------------------------------------------------------------------------------------
  1.3924 +template <> size_t GenericFill<IfcElectricApplianceType>(const DB& db, const LIST& params, IfcElectricApplianceType* in)
  1.3925 +{
  1.3926 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.3927 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3928 +	return base;
  1.3929 +}
  1.3930 +// -----------------------------------------------------------------------------------------------------------
  1.3931 +template <> size_t GenericFill<IfcSensorType>(const DB& db, const LIST& params, IfcSensorType* in)
  1.3932 +{
  1.3933 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
  1.3934 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3935 +	return base;
  1.3936 +}
  1.3937 +// -----------------------------------------------------------------------------------------------------------
  1.3938 +template <> size_t GenericFill<IfcFurnishingElement>(const DB& db, const LIST& params, IfcFurnishingElement* in)
  1.3939 +{
  1.3940 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.3941 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3942 +	return base;
  1.3943 +}
  1.3944 +// -----------------------------------------------------------------------------------------------------------
  1.3945 +template <> size_t GenericFill<IfcProtectiveDeviceType>(const DB& db, const LIST& params, IfcProtectiveDeviceType* in)
  1.3946 +{
  1.3947 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.3948 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3949 +	return base;
  1.3950 +}
  1.3951 +// -----------------------------------------------------------------------------------------------------------
  1.3952 +template <> size_t GenericFill<IfcZShapeProfileDef>(const DB& db, const LIST& params, IfcZShapeProfileDef* in)
  1.3953 +{
  1.3954 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.3955 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3956 +	return base;
  1.3957 +}
  1.3958 +// -----------------------------------------------------------------------------------------------------------
  1.3959 +template <> size_t GenericFill<IfcScheduleTimeControl>(const DB& db, const LIST& params, IfcScheduleTimeControl* in)
  1.3960 +{
  1.3961 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.3962 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3963 +	return base;
  1.3964 +}
  1.3965 +// -----------------------------------------------------------------------------------------------------------
  1.3966 +template <> size_t GenericFill<IfcRepresentationMap>(const DB& db, const LIST& params, IfcRepresentationMap* in)
  1.3967 +{
  1.3968 +	size_t base = 0;
  1.3969 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcRepresentationMap"); }    do { // convert the 'MappingOrigin' argument
  1.3970 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3971 +        try { GenericConvert( in->MappingOrigin, arg, db ); break; } 
  1.3972 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentationMap to be a `IfcAxis2Placement`")); }
  1.3973 +    } while(0);
  1.3974 +    do { // convert the 'MappedRepresentation' argument
  1.3975 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.3976 +        try { GenericConvert( in->MappedRepresentation, arg, db ); break; } 
  1.3977 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentationMap to be a `IfcRepresentation`")); }
  1.3978 +    } while(0);
  1.3979 +	return base;
  1.3980 +}
  1.3981 +// -----------------------------------------------------------------------------------------------------------
  1.3982 +template <> size_t GenericFill<IfcClosedShell>(const DB& db, const LIST& params, IfcClosedShell* in)
  1.3983 +{
  1.3984 +	size_t base = GenericFill(db,params,static_cast<IfcConnectedFaceSet*>(in));
  1.3985 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcClosedShell"); }	return base;
  1.3986 +}
  1.3987 +// -----------------------------------------------------------------------------------------------------------
  1.3988 +template <> size_t GenericFill<IfcBuildingElementPart>(const DB& db, const LIST& params, IfcBuildingElementPart* in)
  1.3989 +{
  1.3990 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementComponent*>(in));
  1.3991 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3992 +	return base;
  1.3993 +}
  1.3994 +// -----------------------------------------------------------------------------------------------------------
  1.3995 +template <> size_t GenericFill<IfcBlock>(const DB& db, const LIST& params, IfcBlock* in)
  1.3996 +{
  1.3997 +	size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  1.3998 +// this data structure is not used yet, so there is no code generated to fill its members
  1.3999 +	return base;
  1.4000 +}
  1.4001 +// -----------------------------------------------------------------------------------------------------------
  1.4002 +template <> size_t GenericFill<IfcLightFixtureType>(const DB& db, const LIST& params, IfcLightFixtureType* in)
  1.4003 +{
  1.4004 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.4005 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4006 +	return base;
  1.4007 +}
  1.4008 +// -----------------------------------------------------------------------------------------------------------
  1.4009 +template <> size_t GenericFill<IfcOpeningElement>(const DB& db, const LIST& params, IfcOpeningElement* in)
  1.4010 +{
  1.4011 +	size_t base = GenericFill(db,params,static_cast<IfcFeatureElementSubtraction*>(in));
  1.4012 +	if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcOpeningElement"); }	return base;
  1.4013 +}
  1.4014 +// -----------------------------------------------------------------------------------------------------------
  1.4015 +template <> size_t GenericFill<IfcLightSourceSpot>(const DB& db, const LIST& params, IfcLightSourceSpot* in)
  1.4016 +{
  1.4017 +	size_t base = GenericFill(db,params,static_cast<IfcLightSourcePositional*>(in));
  1.4018 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4019 +	return base;
  1.4020 +}
  1.4021 +// -----------------------------------------------------------------------------------------------------------
  1.4022 +template <> size_t GenericFill<IfcTendonAnchor>(const DB& db, const LIST& params, IfcTendonAnchor* in)
  1.4023 +{
  1.4024 +	size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  1.4025 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4026 +	return base;
  1.4027 +}
  1.4028 +// -----------------------------------------------------------------------------------------------------------
  1.4029 +template <> size_t GenericFill<IfcElectricFlowStorageDeviceType>(const DB& db, const LIST& params, IfcElectricFlowStorageDeviceType* in)
  1.4030 +{
  1.4031 +	size_t base = GenericFill(db,params,static_cast<IfcFlowStorageDeviceType*>(in));
  1.4032 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4033 +	return base;
  1.4034 +}
  1.4035 +// -----------------------------------------------------------------------------------------------------------
  1.4036 +template <> size_t GenericFill<IfcSphere>(const DB& db, const LIST& params, IfcSphere* in)
  1.4037 +{
  1.4038 +	size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
  1.4039 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4040 +	return base;
  1.4041 +}
  1.4042 +// -----------------------------------------------------------------------------------------------------------
  1.4043 +template <> size_t GenericFill<IfcDamperType>(const DB& db, const LIST& params, IfcDamperType* in)
  1.4044 +{
  1.4045 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.4046 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4047 +	return base;
  1.4048 +}
  1.4049 +// -----------------------------------------------------------------------------------------------------------
  1.4050 +template <> size_t GenericFill<IfcProjectOrderRecord>(const DB& db, const LIST& params, IfcProjectOrderRecord* in)
  1.4051 +{
  1.4052 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.4053 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4054 +	return base;
  1.4055 +}
  1.4056 +// -----------------------------------------------------------------------------------------------------------
  1.4057 +template <> size_t GenericFill<IfcDistributionChamberElement>(const DB& db, const LIST& params, IfcDistributionChamberElement* in)
  1.4058 +{
  1.4059 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.4060 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4061 +	return base;
  1.4062 +}
  1.4063 +// -----------------------------------------------------------------------------------------------------------
  1.4064 +template <> size_t GenericFill<IfcMechanicalFastener>(const DB& db, const LIST& params, IfcMechanicalFastener* in)
  1.4065 +{
  1.4066 +	size_t base = GenericFill(db,params,static_cast<IfcFastener*>(in));
  1.4067 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4068 +	return base;
  1.4069 +}
  1.4070 +// -----------------------------------------------------------------------------------------------------------
  1.4071 +template <> size_t GenericFill<IfcRectangularTrimmedSurface>(const DB& db, const LIST& params, IfcRectangularTrimmedSurface* in)
  1.4072 +{
  1.4073 +	size_t base = GenericFill(db,params,static_cast<IfcBoundedSurface*>(in));
  1.4074 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4075 +	return base;
  1.4076 +}
  1.4077 +// -----------------------------------------------------------------------------------------------------------
  1.4078 +template <> size_t GenericFill<IfcZone>(const DB& db, const LIST& params, IfcZone* in)
  1.4079 +{
  1.4080 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.4081 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4082 +	return base;
  1.4083 +}
  1.4084 +// -----------------------------------------------------------------------------------------------------------
  1.4085 +template <> size_t GenericFill<IfcFanType>(const DB& db, const LIST& params, IfcFanType* in)
  1.4086 +{
  1.4087 +	size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
  1.4088 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4089 +	return base;
  1.4090 +}
  1.4091 +// -----------------------------------------------------------------------------------------------------------
  1.4092 +template <> size_t GenericFill<IfcGeometricSet>(const DB& db, const LIST& params, IfcGeometricSet* in)
  1.4093 +{
  1.4094 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4095 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4096 +	return base;
  1.4097 +}
  1.4098 +// -----------------------------------------------------------------------------------------------------------
  1.4099 +template <> size_t GenericFill<IfcFillAreaStyleTiles>(const DB& db, const LIST& params, IfcFillAreaStyleTiles* in)
  1.4100 +{
  1.4101 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4102 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4103 +	return base;
  1.4104 +}
  1.4105 +// -----------------------------------------------------------------------------------------------------------
  1.4106 +template <> size_t GenericFill<IfcCableSegmentType>(const DB& db, const LIST& params, IfcCableSegmentType* in)
  1.4107 +{
  1.4108 +	size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  1.4109 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4110 +	return base;
  1.4111 +}
  1.4112 +// -----------------------------------------------------------------------------------------------------------
  1.4113 +template <> size_t GenericFill<IfcRelOverridesProperties>(const DB& db, const LIST& params, IfcRelOverridesProperties* in)
  1.4114 +{
  1.4115 +	size_t base = GenericFill(db,params,static_cast<IfcRelDefinesByProperties*>(in));
  1.4116 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4117 +	return base;
  1.4118 +}
  1.4119 +// -----------------------------------------------------------------------------------------------------------
  1.4120 +template <> size_t GenericFill<IfcMeasureWithUnit>(const DB& db, const LIST& params, IfcMeasureWithUnit* in)
  1.4121 +{
  1.4122 +	size_t base = 0;
  1.4123 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcMeasureWithUnit"); }    do { // convert the 'ValueComponent' argument
  1.4124 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4125 +        try { GenericConvert( in->ValueComponent, arg, db ); break; } 
  1.4126 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcMeasureWithUnit to be a `IfcValue`")); }
  1.4127 +    } while(0);
  1.4128 +    do { // convert the 'UnitComponent' argument
  1.4129 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4130 +        try { GenericConvert( in->UnitComponent, arg, db ); break; } 
  1.4131 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcMeasureWithUnit to be a `IfcUnit`")); }
  1.4132 +    } while(0);
  1.4133 +	return base;
  1.4134 +}
  1.4135 +// -----------------------------------------------------------------------------------------------------------
  1.4136 +template <> size_t GenericFill<IfcSlabType>(const DB& db, const LIST& params, IfcSlabType* in)
  1.4137 +{
  1.4138 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.4139 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4140 +	return base;
  1.4141 +}
  1.4142 +// -----------------------------------------------------------------------------------------------------------
  1.4143 +template <> size_t GenericFill<IfcServiceLife>(const DB& db, const LIST& params, IfcServiceLife* in)
  1.4144 +{
  1.4145 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.4146 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4147 +	return base;
  1.4148 +}
  1.4149 +// -----------------------------------------------------------------------------------------------------------
  1.4150 +template <> size_t GenericFill<IfcFurnitureType>(const DB& db, const LIST& params, IfcFurnitureType* in)
  1.4151 +{
  1.4152 +	size_t base = GenericFill(db,params,static_cast<IfcFurnishingElementType*>(in));
  1.4153 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4154 +	return base;
  1.4155 +}
  1.4156 +// -----------------------------------------------------------------------------------------------------------
  1.4157 +template <> size_t GenericFill<IfcCostItem>(const DB& db, const LIST& params, IfcCostItem* in)
  1.4158 +{
  1.4159 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.4160 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4161 +	return base;
  1.4162 +}
  1.4163 +// -----------------------------------------------------------------------------------------------------------
  1.4164 +template <> size_t GenericFill<IfcReinforcingMesh>(const DB& db, const LIST& params, IfcReinforcingMesh* in)
  1.4165 +{
  1.4166 +	size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  1.4167 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4168 +	return base;
  1.4169 +}
  1.4170 +// -----------------------------------------------------------------------------------------------------------
  1.4171 +template <> size_t GenericFill<IfcFacetedBrepWithVoids>(const DB& db, const LIST& params, IfcFacetedBrepWithVoids* in)
  1.4172 +{
  1.4173 +	size_t base = GenericFill(db,params,static_cast<IfcManifoldSolidBrep*>(in));
  1.4174 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4175 +	return base;
  1.4176 +}
  1.4177 +// -----------------------------------------------------------------------------------------------------------
  1.4178 +template <> size_t GenericFill<IfcGasTerminalType>(const DB& db, const LIST& params, IfcGasTerminalType* in)
  1.4179 +{
  1.4180 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.4181 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4182 +	return base;
  1.4183 +}
  1.4184 +// -----------------------------------------------------------------------------------------------------------
  1.4185 +template <> size_t GenericFill<IfcPile>(const DB& db, const LIST& params, IfcPile* in)
  1.4186 +{
  1.4187 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4188 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4189 +	return base;
  1.4190 +}
  1.4191 +// -----------------------------------------------------------------------------------------------------------
  1.4192 +template <> size_t GenericFill<IfcFillAreaStyleTileSymbolWithStyle>(const DB& db, const LIST& params, IfcFillAreaStyleTileSymbolWithStyle* in)
  1.4193 +{
  1.4194 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4195 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4196 +	return base;
  1.4197 +}
  1.4198 +// -----------------------------------------------------------------------------------------------------------
  1.4199 +template <> size_t GenericFill<IfcConstructionMaterialResource>(const DB& db, const LIST& params, IfcConstructionMaterialResource* in)
  1.4200 +{
  1.4201 +	size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1.4202 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4203 +	return base;
  1.4204 +}
  1.4205 +// -----------------------------------------------------------------------------------------------------------
  1.4206 +template <> size_t GenericFill<IfcAnnotationCurveOccurrence>(const DB& db, const LIST& params, IfcAnnotationCurveOccurrence* in)
  1.4207 +{
  1.4208 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1.4209 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4210 +	return base;
  1.4211 +}
  1.4212 +// -----------------------------------------------------------------------------------------------------------
  1.4213 +template <> size_t GenericFill<IfcDimensionCurve>(const DB& db, const LIST& params, IfcDimensionCurve* in)
  1.4214 +{
  1.4215 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationCurveOccurrence*>(in));
  1.4216 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4217 +	return base;
  1.4218 +}
  1.4219 +// -----------------------------------------------------------------------------------------------------------
  1.4220 +template <> size_t GenericFill<IfcGeometricCurveSet>(const DB& db, const LIST& params, IfcGeometricCurveSet* in)
  1.4221 +{
  1.4222 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricSet*>(in));
  1.4223 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4224 +	return base;
  1.4225 +}
  1.4226 +// -----------------------------------------------------------------------------------------------------------
  1.4227 +template <> size_t GenericFill<IfcRelAggregates>(const DB& db, const LIST& params, IfcRelAggregates* in)
  1.4228 +{
  1.4229 +	size_t base = GenericFill(db,params,static_cast<IfcRelDecomposes*>(in));
  1.4230 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelAggregates"); }	return base;
  1.4231 +}
  1.4232 +// -----------------------------------------------------------------------------------------------------------
  1.4233 +template <> size_t GenericFill<IfcFaceBasedSurfaceModel>(const DB& db, const LIST& params, IfcFaceBasedSurfaceModel* in)
  1.4234 +{
  1.4235 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4236 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcFaceBasedSurfaceModel"); }    do { // convert the 'FbsmFaces' argument
  1.4237 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4238 +        try { GenericConvert( in->FbsmFaces, arg, db ); break; } 
  1.4239 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFaceBasedSurfaceModel to be a `SET [1:?] OF IfcConnectedFaceSet`")); }
  1.4240 +    } while(0);
  1.4241 +	return base;
  1.4242 +}
  1.4243 +// -----------------------------------------------------------------------------------------------------------
  1.4244 +template <> size_t GenericFill<IfcEnergyConversionDevice>(const DB& db, const LIST& params, IfcEnergyConversionDevice* in)
  1.4245 +{
  1.4246 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.4247 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4248 +	return base;
  1.4249 +}
  1.4250 +// -----------------------------------------------------------------------------------------------------------
  1.4251 +template <> size_t GenericFill<IfcRampFlight>(const DB& db, const LIST& params, IfcRampFlight* in)
  1.4252 +{
  1.4253 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4254 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4255 +	return base;
  1.4256 +}
  1.4257 +// -----------------------------------------------------------------------------------------------------------
  1.4258 +template <> size_t GenericFill<IfcVertexLoop>(const DB& db, const LIST& params, IfcVertexLoop* in)
  1.4259 +{
  1.4260 +	size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
  1.4261 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4262 +	return base;
  1.4263 +}
  1.4264 +// -----------------------------------------------------------------------------------------------------------
  1.4265 +template <> size_t GenericFill<IfcPlate>(const DB& db, const LIST& params, IfcPlate* in)
  1.4266 +{
  1.4267 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4268 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4269 +	return base;
  1.4270 +}
  1.4271 +// -----------------------------------------------------------------------------------------------------------
  1.4272 +template <> size_t GenericFill<IfcUShapeProfileDef>(const DB& db, const LIST& params, IfcUShapeProfileDef* in)
  1.4273 +{
  1.4274 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.4275 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4276 +	return base;
  1.4277 +}
  1.4278 +// -----------------------------------------------------------------------------------------------------------
  1.4279 +template <> size_t GenericFill<IfcFaceBound>(const DB& db, const LIST& params, IfcFaceBound* in)
  1.4280 +{
  1.4281 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.4282 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcFaceBound"); }    do { // convert the 'Bound' argument
  1.4283 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4284 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFaceBound,2>::aux_is_derived[0]=true; break; }
  1.4285 +        try { GenericConvert( in->Bound, arg, db ); break; } 
  1.4286 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFaceBound to be a `IfcLoop`")); }
  1.4287 +    } while(0);
  1.4288 +    do { // convert the 'Orientation' argument
  1.4289 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4290 +        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFaceBound,2>::aux_is_derived[1]=true; break; }
  1.4291 +        try { GenericConvert( in->Orientation, arg, db ); break; } 
  1.4292 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcFaceBound to be a `BOOLEAN`")); }
  1.4293 +    } while(0);
  1.4294 +	return base;
  1.4295 +}
  1.4296 +// -----------------------------------------------------------------------------------------------------------
  1.4297 +template <> size_t GenericFill<IfcFaceOuterBound>(const DB& db, const LIST& params, IfcFaceOuterBound* in)
  1.4298 +{
  1.4299 +	size_t base = GenericFill(db,params,static_cast<IfcFaceBound*>(in));
  1.4300 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcFaceOuterBound"); }	return base;
  1.4301 +}
  1.4302 +// -----------------------------------------------------------------------------------------------------------
  1.4303 +template <> size_t GenericFill<IfcOneDirectionRepeatFactor>(const DB& db, const LIST& params, IfcOneDirectionRepeatFactor* in)
  1.4304 +{
  1.4305 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4306 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4307 +	return base;
  1.4308 +}
  1.4309 +// -----------------------------------------------------------------------------------------------------------
  1.4310 +template <> size_t GenericFill<IfcBoilerType>(const DB& db, const LIST& params, IfcBoilerType* in)
  1.4311 +{
  1.4312 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.4313 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4314 +	return base;
  1.4315 +}
  1.4316 +// -----------------------------------------------------------------------------------------------------------
  1.4317 +template <> size_t GenericFill<IfcConstructionEquipmentResource>(const DB& db, const LIST& params, IfcConstructionEquipmentResource* in)
  1.4318 +{
  1.4319 +	size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1.4320 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4321 +	return base;
  1.4322 +}
  1.4323 +// -----------------------------------------------------------------------------------------------------------
  1.4324 +template <> size_t GenericFill<IfcComplexProperty>(const DB& db, const LIST& params, IfcComplexProperty* in)
  1.4325 +{
  1.4326 +	size_t base = GenericFill(db,params,static_cast<IfcProperty*>(in));
  1.4327 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcComplexProperty"); }    do { // convert the 'UsageName' argument
  1.4328 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4329 +        try { GenericConvert( in->UsageName, arg, db ); break; } 
  1.4330 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcComplexProperty to be a `IfcIdentifier`")); }
  1.4331 +    } while(0);
  1.4332 +    do { // convert the 'HasProperties' argument
  1.4333 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4334 +        try { GenericConvert( in->HasProperties, arg, db ); break; } 
  1.4335 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcComplexProperty to be a `SET [1:?] OF IfcProperty`")); }
  1.4336 +    } while(0);
  1.4337 +	return base;
  1.4338 +}
  1.4339 +// -----------------------------------------------------------------------------------------------------------
  1.4340 +template <> size_t GenericFill<IfcFooting>(const DB& db, const LIST& params, IfcFooting* in)
  1.4341 +{
  1.4342 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4343 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4344 +	return base;
  1.4345 +}
  1.4346 +// -----------------------------------------------------------------------------------------------------------
  1.4347 +template <> size_t GenericFill<IfcConstructionProductResource>(const DB& db, const LIST& params, IfcConstructionProductResource* in)
  1.4348 +{
  1.4349 +	size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
  1.4350 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4351 +	return base;
  1.4352 +}
  1.4353 +// -----------------------------------------------------------------------------------------------------------
  1.4354 +template <> size_t GenericFill<IfcDerivedProfileDef>(const DB& db, const LIST& params, IfcDerivedProfileDef* in)
  1.4355 +{
  1.4356 +	size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
  1.4357 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4358 +	return base;
  1.4359 +}
  1.4360 +// -----------------------------------------------------------------------------------------------------------
  1.4361 +template <> size_t GenericFill<IfcPropertyTableValue>(const DB& db, const LIST& params, IfcPropertyTableValue* in)
  1.4362 +{
  1.4363 +	size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
  1.4364 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4365 +	return base;
  1.4366 +}
  1.4367 +// -----------------------------------------------------------------------------------------------------------
  1.4368 +template <> size_t GenericFill<IfcFlowMeterType>(const DB& db, const LIST& params, IfcFlowMeterType* in)
  1.4369 +{
  1.4370 +	size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
  1.4371 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4372 +	return base;
  1.4373 +}
  1.4374 +// -----------------------------------------------------------------------------------------------------------
  1.4375 +template <> size_t GenericFill<IfcDoorStyle>(const DB& db, const LIST& params, IfcDoorStyle* in)
  1.4376 +{
  1.4377 +	size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
  1.4378 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4379 +	return base;
  1.4380 +}
  1.4381 +// -----------------------------------------------------------------------------------------------------------
  1.4382 +template <> size_t GenericFill<IfcUnitAssignment>(const DB& db, const LIST& params, IfcUnitAssignment* in)
  1.4383 +{
  1.4384 +	size_t base = 0;
  1.4385 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcUnitAssignment"); }    do { // convert the 'Units' argument
  1.4386 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4387 +        try { GenericConvert( in->Units, arg, db ); break; } 
  1.4388 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcUnitAssignment to be a `SET [1:?] OF IfcUnit`")); }
  1.4389 +    } while(0);
  1.4390 +	return base;
  1.4391 +}
  1.4392 +// -----------------------------------------------------------------------------------------------------------
  1.4393 +template <> size_t GenericFill<IfcFlowTerminal>(const DB& db, const LIST& params, IfcFlowTerminal* in)
  1.4394 +{
  1.4395 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.4396 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4397 +	return base;
  1.4398 +}
  1.4399 +// -----------------------------------------------------------------------------------------------------------
  1.4400 +template <> size_t GenericFill<IfcCraneRailFShapeProfileDef>(const DB& db, const LIST& params, IfcCraneRailFShapeProfileDef* in)
  1.4401 +{
  1.4402 +	size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
  1.4403 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4404 +	return base;
  1.4405 +}
  1.4406 +// -----------------------------------------------------------------------------------------------------------
  1.4407 +template <> size_t GenericFill<IfcFlowSegment>(const DB& db, const LIST& params, IfcFlowSegment* in)
  1.4408 +{
  1.4409 +	size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
  1.4410 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4411 +	return base;
  1.4412 +}
  1.4413 +// -----------------------------------------------------------------------------------------------------------
  1.4414 +template <> size_t GenericFill<IfcElementQuantity>(const DB& db, const LIST& params, IfcElementQuantity* in)
  1.4415 +{
  1.4416 +	size_t base = GenericFill(db,params,static_cast<IfcPropertySetDefinition*>(in));
  1.4417 +	if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcElementQuantity"); }    do { // convert the 'MethodOfMeasurement' argument
  1.4418 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4419 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4420 +        try { GenericConvert( in->MethodOfMeasurement, arg, db ); break; } 
  1.4421 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcElementQuantity to be a `IfcLabel`")); }
  1.4422 +    } while(0);
  1.4423 +    do { // convert the 'Quantities' argument
  1.4424 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4425 +        try { GenericConvert( in->Quantities, arg, db ); break; } 
  1.4426 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcElementQuantity to be a `SET [1:?] OF IfcPhysicalQuantity`")); }
  1.4427 +    } while(0);
  1.4428 +	return base;
  1.4429 +}
  1.4430 +// -----------------------------------------------------------------------------------------------------------
  1.4431 +template <> size_t GenericFill<IfcCurtainWall>(const DB& db, const LIST& params, IfcCurtainWall* in)
  1.4432 +{
  1.4433 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4434 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4435 +	return base;
  1.4436 +}
  1.4437 +// -----------------------------------------------------------------------------------------------------------
  1.4438 +template <> size_t GenericFill<IfcDiscreteAccessory>(const DB& db, const LIST& params, IfcDiscreteAccessory* in)
  1.4439 +{
  1.4440 +	size_t base = GenericFill(db,params,static_cast<IfcElementComponent*>(in));
  1.4441 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4442 +	return base;
  1.4443 +}
  1.4444 +// -----------------------------------------------------------------------------------------------------------
  1.4445 +template <> size_t GenericFill<IfcGrid>(const DB& db, const LIST& params, IfcGrid* in)
  1.4446 +{
  1.4447 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.4448 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4449 +	return base;
  1.4450 +}
  1.4451 +// -----------------------------------------------------------------------------------------------------------
  1.4452 +template <> size_t GenericFill<IfcSanitaryTerminalType>(const DB& db, const LIST& params, IfcSanitaryTerminalType* in)
  1.4453 +{
  1.4454 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
  1.4455 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4456 +	return base;
  1.4457 +}
  1.4458 +// -----------------------------------------------------------------------------------------------------------
  1.4459 +template <> size_t GenericFill<IfcSubedge>(const DB& db, const LIST& params, IfcSubedge* in)
  1.4460 +{
  1.4461 +	size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
  1.4462 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4463 +	return base;
  1.4464 +}
  1.4465 +// -----------------------------------------------------------------------------------------------------------
  1.4466 +template <> size_t GenericFill<IfcFilterType>(const DB& db, const LIST& params, IfcFilterType* in)
  1.4467 +{
  1.4468 +	size_t base = GenericFill(db,params,static_cast<IfcFlowTreatmentDeviceType*>(in));
  1.4469 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4470 +	return base;
  1.4471 +}
  1.4472 +// -----------------------------------------------------------------------------------------------------------
  1.4473 +template <> size_t GenericFill<IfcTendon>(const DB& db, const LIST& params, IfcTendon* in)
  1.4474 +{
  1.4475 +	size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
  1.4476 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4477 +	return base;
  1.4478 +}
  1.4479 +// -----------------------------------------------------------------------------------------------------------
  1.4480 +template <> size_t GenericFill<IfcStructuralLoadGroup>(const DB& db, const LIST& params, IfcStructuralLoadGroup* in)
  1.4481 +{
  1.4482 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.4483 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4484 +	return base;
  1.4485 +}
  1.4486 +// -----------------------------------------------------------------------------------------------------------
  1.4487 +template <> size_t GenericFill<IfcPresentationStyleAssignment>(const DB& db, const LIST& params, IfcPresentationStyleAssignment* in)
  1.4488 +{
  1.4489 +	size_t base = 0;
  1.4490 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPresentationStyleAssignment"); }    do { // convert the 'Styles' argument
  1.4491 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4492 +        try { GenericConvert( in->Styles, arg, db ); break; } 
  1.4493 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPresentationStyleAssignment to be a `SET [1:?] OF IfcPresentationStyleSelect`")); }
  1.4494 +    } while(0);
  1.4495 +	return base;
  1.4496 +}
  1.4497 +// -----------------------------------------------------------------------------------------------------------
  1.4498 +template <> size_t GenericFill<IfcStructuralCurveMember>(const DB& db, const LIST& params, IfcStructuralCurveMember* in)
  1.4499 +{
  1.4500 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralMember*>(in));
  1.4501 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4502 +	return base;
  1.4503 +}
  1.4504 +// -----------------------------------------------------------------------------------------------------------
  1.4505 +template <> size_t GenericFill<IfcLightSourceAmbient>(const DB& db, const LIST& params, IfcLightSourceAmbient* in)
  1.4506 +{
  1.4507 +	size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
  1.4508 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4509 +	return base;
  1.4510 +}
  1.4511 +// -----------------------------------------------------------------------------------------------------------
  1.4512 +template <> size_t GenericFill<IfcCondition>(const DB& db, const LIST& params, IfcCondition* in)
  1.4513 +{
  1.4514 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.4515 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4516 +	return base;
  1.4517 +}
  1.4518 +// -----------------------------------------------------------------------------------------------------------
  1.4519 +template <> size_t GenericFill<IfcPort>(const DB& db, const LIST& params, IfcPort* in)
  1.4520 +{
  1.4521 +	size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
  1.4522 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4523 +	return base;
  1.4524 +}
  1.4525 +// -----------------------------------------------------------------------------------------------------------
  1.4526 +template <> size_t GenericFill<IfcSpace>(const DB& db, const LIST& params, IfcSpace* in)
  1.4527 +{
  1.4528 +	size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
  1.4529 +	if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to IfcSpace"); }    do { // convert the 'InteriorOrExteriorSpace' argument
  1.4530 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4531 +        try { GenericConvert( in->InteriorOrExteriorSpace, arg, db ); break; } 
  1.4532 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcSpace to be a `IfcInternalOrExternalEnum`")); }
  1.4533 +    } while(0);
  1.4534 +    do { // convert the 'ElevationWithFlooring' argument
  1.4535 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4536 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4537 +        try { GenericConvert( in->ElevationWithFlooring, arg, db ); break; } 
  1.4538 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcSpace to be a `IfcLengthMeasure`")); }
  1.4539 +    } while(0);
  1.4540 +	return base;
  1.4541 +}
  1.4542 +// -----------------------------------------------------------------------------------------------------------
  1.4543 +template <> size_t GenericFill<IfcHeatExchangerType>(const DB& db, const LIST& params, IfcHeatExchangerType* in)
  1.4544 +{
  1.4545 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.4546 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4547 +	return base;
  1.4548 +}
  1.4549 +// -----------------------------------------------------------------------------------------------------------
  1.4550 +template <> size_t GenericFill<IfcTankType>(const DB& db, const LIST& params, IfcTankType* in)
  1.4551 +{
  1.4552 +	size_t base = GenericFill(db,params,static_cast<IfcFlowStorageDeviceType*>(in));
  1.4553 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4554 +	return base;
  1.4555 +}
  1.4556 +// -----------------------------------------------------------------------------------------------------------
  1.4557 +template <> size_t GenericFill<IfcInventory>(const DB& db, const LIST& params, IfcInventory* in)
  1.4558 +{
  1.4559 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.4560 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4561 +	return base;
  1.4562 +}
  1.4563 +// -----------------------------------------------------------------------------------------------------------
  1.4564 +template <> size_t GenericFill<IfcTransportElementType>(const DB& db, const LIST& params, IfcTransportElementType* in)
  1.4565 +{
  1.4566 +	size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
  1.4567 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4568 +	return base;
  1.4569 +}
  1.4570 +// -----------------------------------------------------------------------------------------------------------
  1.4571 +template <> size_t GenericFill<IfcAirToAirHeatRecoveryType>(const DB& db, const LIST& params, IfcAirToAirHeatRecoveryType* in)
  1.4572 +{
  1.4573 +	size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
  1.4574 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4575 +	return base;
  1.4576 +}
  1.4577 +// -----------------------------------------------------------------------------------------------------------
  1.4578 +template <> size_t GenericFill<IfcStairFlight>(const DB& db, const LIST& params, IfcStairFlight* in)
  1.4579 +{
  1.4580 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4581 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4582 +	return base;
  1.4583 +}
  1.4584 +// -----------------------------------------------------------------------------------------------------------
  1.4585 +template <> size_t GenericFill<IfcElectricalElement>(const DB& db, const LIST& params, IfcElectricalElement* in)
  1.4586 +{
  1.4587 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.4588 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4589 +	return base;
  1.4590 +}
  1.4591 +// -----------------------------------------------------------------------------------------------------------
  1.4592 +template <> size_t GenericFill<IfcSurfaceStyleWithTextures>(const DB& db, const LIST& params, IfcSurfaceStyleWithTextures* in)
  1.4593 +{
  1.4594 +	size_t base = 0;
  1.4595 +	if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcSurfaceStyleWithTextures"); }    do { // convert the 'Textures' argument
  1.4596 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4597 +        try { GenericConvert( in->Textures, arg, db ); break; } 
  1.4598 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSurfaceStyleWithTextures to be a `LIST [1:?] OF IfcSurfaceTexture`")); }
  1.4599 +    } while(0);
  1.4600 +	return base;
  1.4601 +}
  1.4602 +// -----------------------------------------------------------------------------------------------------------
  1.4603 +template <> size_t GenericFill<IfcBoundingBox>(const DB& db, const LIST& params, IfcBoundingBox* in)
  1.4604 +{
  1.4605 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4606 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcBoundingBox"); }    do { // convert the 'Corner' argument
  1.4607 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4608 +        try { GenericConvert( in->Corner, arg, db ); break; } 
  1.4609 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBoundingBox to be a `IfcCartesianPoint`")); }
  1.4610 +    } while(0);
  1.4611 +    do { // convert the 'XDim' argument
  1.4612 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4613 +        try { GenericConvert( in->XDim, arg, db ); break; } 
  1.4614 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
  1.4615 +    } while(0);
  1.4616 +    do { // convert the 'YDim' argument
  1.4617 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4618 +        try { GenericConvert( in->YDim, arg, db ); break; } 
  1.4619 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
  1.4620 +    } while(0);
  1.4621 +    do { // convert the 'ZDim' argument
  1.4622 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4623 +        try { GenericConvert( in->ZDim, arg, db ); break; } 
  1.4624 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
  1.4625 +    } while(0);
  1.4626 +	return base;
  1.4627 +}
  1.4628 +// -----------------------------------------------------------------------------------------------------------
  1.4629 +template <> size_t GenericFill<IfcWallType>(const DB& db, const LIST& params, IfcWallType* in)
  1.4630 +{
  1.4631 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.4632 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4633 +	return base;
  1.4634 +}
  1.4635 +// -----------------------------------------------------------------------------------------------------------
  1.4636 +template <> size_t GenericFill<IfcMove>(const DB& db, const LIST& params, IfcMove* in)
  1.4637 +{
  1.4638 +	size_t base = GenericFill(db,params,static_cast<IfcTask*>(in));
  1.4639 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4640 +	return base;
  1.4641 +}
  1.4642 +// -----------------------------------------------------------------------------------------------------------
  1.4643 +template <> size_t GenericFill<IfcCircle>(const DB& db, const LIST& params, IfcCircle* in)
  1.4644 +{
  1.4645 +	size_t base = GenericFill(db,params,static_cast<IfcConic*>(in));
  1.4646 +	if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcCircle"); }    do { // convert the 'Radius' argument
  1.4647 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4648 +        try { GenericConvert( in->Radius, arg, db ); break; } 
  1.4649 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCircle to be a `IfcPositiveLengthMeasure`")); }
  1.4650 +    } while(0);
  1.4651 +	return base;
  1.4652 +}
  1.4653 +// -----------------------------------------------------------------------------------------------------------
  1.4654 +template <> size_t GenericFill<IfcOffsetCurve2D>(const DB& db, const LIST& params, IfcOffsetCurve2D* in)
  1.4655 +{
  1.4656 +	size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
  1.4657 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4658 +	return base;
  1.4659 +}
  1.4660 +// -----------------------------------------------------------------------------------------------------------
  1.4661 +template <> size_t GenericFill<IfcPointOnCurve>(const DB& db, const LIST& params, IfcPointOnCurve* in)
  1.4662 +{
  1.4663 +	size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
  1.4664 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4665 +	return base;
  1.4666 +}
  1.4667 +// -----------------------------------------------------------------------------------------------------------
  1.4668 +template <> size_t GenericFill<IfcStructuralResultGroup>(const DB& db, const LIST& params, IfcStructuralResultGroup* in)
  1.4669 +{
  1.4670 +	size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
  1.4671 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4672 +	return base;
  1.4673 +}
  1.4674 +// -----------------------------------------------------------------------------------------------------------
  1.4675 +template <> size_t GenericFill<IfcSectionedSpine>(const DB& db, const LIST& params, IfcSectionedSpine* in)
  1.4676 +{
  1.4677 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4678 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4679 +	return base;
  1.4680 +}
  1.4681 +// -----------------------------------------------------------------------------------------------------------
  1.4682 +template <> size_t GenericFill<IfcSlab>(const DB& db, const LIST& params, IfcSlab* in)
  1.4683 +{
  1.4684 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
  1.4685 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4686 +	return base;
  1.4687 +}
  1.4688 +// -----------------------------------------------------------------------------------------------------------
  1.4689 +template <> size_t GenericFill<IfcVertex>(const DB& db, const LIST& params, IfcVertex* in)
  1.4690 +{
  1.4691 +	size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
  1.4692 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4693 +	return base;
  1.4694 +}
  1.4695 +// -----------------------------------------------------------------------------------------------------------
  1.4696 +template <> size_t GenericFill<IfcVertexPoint>(const DB& db, const LIST& params, IfcVertexPoint* in)
  1.4697 +{
  1.4698 +	size_t base = GenericFill(db,params,static_cast<IfcVertex*>(in));
  1.4699 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4700 +	return base;
  1.4701 +}
  1.4702 +// -----------------------------------------------------------------------------------------------------------
  1.4703 +template <> size_t GenericFill<IfcStructuralLinearAction>(const DB& db, const LIST& params, IfcStructuralLinearAction* in)
  1.4704 +{
  1.4705 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
  1.4706 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4707 +	return base;
  1.4708 +}
  1.4709 +// -----------------------------------------------------------------------------------------------------------
  1.4710 +template <> size_t GenericFill<IfcStructuralLinearActionVarying>(const DB& db, const LIST& params, IfcStructuralLinearActionVarying* in)
  1.4711 +{
  1.4712 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralLinearAction*>(in));
  1.4713 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4714 +	return base;
  1.4715 +}
  1.4716 +// -----------------------------------------------------------------------------------------------------------
  1.4717 +template <> size_t GenericFill<IfcBuildingElementProxyType>(const DB& db, const LIST& params, IfcBuildingElementProxyType* in)
  1.4718 +{
  1.4719 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.4720 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4721 +	return base;
  1.4722 +}
  1.4723 +// -----------------------------------------------------------------------------------------------------------
  1.4724 +template <> size_t GenericFill<IfcProjectionElement>(const DB& db, const LIST& params, IfcProjectionElement* in)
  1.4725 +{
  1.4726 +	size_t base = GenericFill(db,params,static_cast<IfcFeatureElementAddition*>(in));
  1.4727 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4728 +	return base;
  1.4729 +}
  1.4730 +// -----------------------------------------------------------------------------------------------------------
  1.4731 +template <> size_t GenericFill<IfcConversionBasedUnit>(const DB& db, const LIST& params, IfcConversionBasedUnit* in)
  1.4732 +{
  1.4733 +	size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
  1.4734 +	if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcConversionBasedUnit"); }    do { // convert the 'Name' argument
  1.4735 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4736 +        try { GenericConvert( in->Name, arg, db ); break; } 
  1.4737 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcConversionBasedUnit to be a `IfcLabel`")); }
  1.4738 +    } while(0);
  1.4739 +    do { // convert the 'ConversionFactor' argument
  1.4740 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4741 +        try { GenericConvert( in->ConversionFactor, arg, db ); break; } 
  1.4742 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcConversionBasedUnit to be a `IfcMeasureWithUnit`")); }
  1.4743 +    } while(0);
  1.4744 +	return base;
  1.4745 +}
  1.4746 +// -----------------------------------------------------------------------------------------------------------
  1.4747 +template <> size_t GenericFill<IfcGeometricRepresentationSubContext>(const DB& db, const LIST& params, IfcGeometricRepresentationSubContext* in)
  1.4748 +{
  1.4749 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationContext*>(in));
  1.4750 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4751 +	return base;
  1.4752 +}
  1.4753 +// -----------------------------------------------------------------------------------------------------------
  1.4754 +template <> size_t GenericFill<IfcAnnotationSurfaceOccurrence>(const DB& db, const LIST& params, IfcAnnotationSurfaceOccurrence* in)
  1.4755 +{
  1.4756 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1.4757 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4758 +	return base;
  1.4759 +}
  1.4760 +// -----------------------------------------------------------------------------------------------------------
  1.4761 +template <> size_t GenericFill<IfcRoundedEdgeFeature>(const DB& db, const LIST& params, IfcRoundedEdgeFeature* in)
  1.4762 +{
  1.4763 +	size_t base = GenericFill(db,params,static_cast<IfcEdgeFeature*>(in));
  1.4764 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4765 +	return base;
  1.4766 +}
  1.4767 +// -----------------------------------------------------------------------------------------------------------
  1.4768 +template <> size_t GenericFill<IfcElectricDistributionPoint>(const DB& db, const LIST& params, IfcElectricDistributionPoint* in)
  1.4769 +{
  1.4770 +	size_t base = GenericFill(db,params,static_cast<IfcFlowController*>(in));
  1.4771 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4772 +	return base;
  1.4773 +}
  1.4774 +// -----------------------------------------------------------------------------------------------------------
  1.4775 +template <> size_t GenericFill<IfcCableCarrierSegmentType>(const DB& db, const LIST& params, IfcCableCarrierSegmentType* in)
  1.4776 +{
  1.4777 +	size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  1.4778 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4779 +	return base;
  1.4780 +}
  1.4781 +// -----------------------------------------------------------------------------------------------------------
  1.4782 +template <> size_t GenericFill<IfcWallStandardCase>(const DB& db, const LIST& params, IfcWallStandardCase* in)
  1.4783 +{
  1.4784 +	size_t base = GenericFill(db,params,static_cast<IfcWall*>(in));
  1.4785 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4786 +	return base;
  1.4787 +}
  1.4788 +// -----------------------------------------------------------------------------------------------------------
  1.4789 +template <> size_t GenericFill<IfcCsgSolid>(const DB& db, const LIST& params, IfcCsgSolid* in)
  1.4790 +{
  1.4791 +	size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
  1.4792 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4793 +	return base;
  1.4794 +}
  1.4795 +// -----------------------------------------------------------------------------------------------------------
  1.4796 +template <> size_t GenericFill<IfcBeamType>(const DB& db, const LIST& params, IfcBeamType* in)
  1.4797 +{
  1.4798 +	size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
  1.4799 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4800 +	return base;
  1.4801 +}
  1.4802 +// -----------------------------------------------------------------------------------------------------------
  1.4803 +template <> size_t GenericFill<IfcAnnotationFillArea>(const DB& db, const LIST& params, IfcAnnotationFillArea* in)
  1.4804 +{
  1.4805 +	size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
  1.4806 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4807 +	return base;
  1.4808 +}
  1.4809 +// -----------------------------------------------------------------------------------------------------------
  1.4810 +template <> size_t GenericFill<IfcStructuralCurveMemberVarying>(const DB& db, const LIST& params, IfcStructuralCurveMemberVarying* in)
  1.4811 +{
  1.4812 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralCurveMember*>(in));
  1.4813 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4814 +	return base;
  1.4815 +}
  1.4816 +// -----------------------------------------------------------------------------------------------------------
  1.4817 +template <> size_t GenericFill<IfcPointOnSurface>(const DB& db, const LIST& params, IfcPointOnSurface* in)
  1.4818 +{
  1.4819 +	size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
  1.4820 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4821 +	return base;
  1.4822 +}
  1.4823 +// -----------------------------------------------------------------------------------------------------------
  1.4824 +template <> size_t GenericFill<IfcOrderAction>(const DB& db, const LIST& params, IfcOrderAction* in)
  1.4825 +{
  1.4826 +	size_t base = GenericFill(db,params,static_cast<IfcTask*>(in));
  1.4827 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4828 +	return base;
  1.4829 +}
  1.4830 +// -----------------------------------------------------------------------------------------------------------
  1.4831 +template <> size_t GenericFill<IfcEdgeLoop>(const DB& db, const LIST& params, IfcEdgeLoop* in)
  1.4832 +{
  1.4833 +	size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
  1.4834 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4835 +	return base;
  1.4836 +}
  1.4837 +// -----------------------------------------------------------------------------------------------------------
  1.4838 +template <> size_t GenericFill<IfcAnnotationFillAreaOccurrence>(const DB& db, const LIST& params, IfcAnnotationFillAreaOccurrence* in)
  1.4839 +{
  1.4840 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1.4841 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4842 +	return base;
  1.4843 +}
  1.4844 +// -----------------------------------------------------------------------------------------------------------
  1.4845 +template <> size_t GenericFill<IfcWorkPlan>(const DB& db, const LIST& params, IfcWorkPlan* in)
  1.4846 +{
  1.4847 +	size_t base = GenericFill(db,params,static_cast<IfcWorkControl*>(in));
  1.4848 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4849 +	return base;
  1.4850 +}
  1.4851 +// -----------------------------------------------------------------------------------------------------------
  1.4852 +template <> size_t GenericFill<IfcEllipse>(const DB& db, const LIST& params, IfcEllipse* in)
  1.4853 +{
  1.4854 +	size_t base = GenericFill(db,params,static_cast<IfcConic*>(in));
  1.4855 +	if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcEllipse"); }    do { // convert the 'SemiAxis1' argument
  1.4856 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4857 +        try { GenericConvert( in->SemiAxis1, arg, db ); break; } 
  1.4858 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcEllipse to be a `IfcPositiveLengthMeasure`")); }
  1.4859 +    } while(0);
  1.4860 +    do { // convert the 'SemiAxis2' argument
  1.4861 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4862 +        try { GenericConvert( in->SemiAxis2, arg, db ); break; } 
  1.4863 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcEllipse to be a `IfcPositiveLengthMeasure`")); }
  1.4864 +    } while(0);
  1.4865 +	return base;
  1.4866 +}
  1.4867 +// -----------------------------------------------------------------------------------------------------------
  1.4868 +template <> size_t GenericFill<IfcProductDefinitionShape>(const DB& db, const LIST& params, IfcProductDefinitionShape* in)
  1.4869 +{
  1.4870 +	size_t base = GenericFill(db,params,static_cast<IfcProductRepresentation*>(in));
  1.4871 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4872 +	return base;
  1.4873 +}
  1.4874 +// -----------------------------------------------------------------------------------------------------------
  1.4875 +template <> size_t GenericFill<IfcProjectionCurve>(const DB& db, const LIST& params, IfcProjectionCurve* in)
  1.4876 +{
  1.4877 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationCurveOccurrence*>(in));
  1.4878 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4879 +	return base;
  1.4880 +}
  1.4881 +// -----------------------------------------------------------------------------------------------------------
  1.4882 +template <> size_t GenericFill<IfcElectricalCircuit>(const DB& db, const LIST& params, IfcElectricalCircuit* in)
  1.4883 +{
  1.4884 +	size_t base = GenericFill(db,params,static_cast<IfcSystem*>(in));
  1.4885 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4886 +	return base;
  1.4887 +}
  1.4888 +// -----------------------------------------------------------------------------------------------------------
  1.4889 +template <> size_t GenericFill<IfcRationalBezierCurve>(const DB& db, const LIST& params, IfcRationalBezierCurve* in)
  1.4890 +{
  1.4891 +	size_t base = GenericFill(db,params,static_cast<IfcBezierCurve*>(in));
  1.4892 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4893 +	return base;
  1.4894 +}
  1.4895 +// -----------------------------------------------------------------------------------------------------------
  1.4896 +template <> size_t GenericFill<IfcStructuralPointAction>(const DB& db, const LIST& params, IfcStructuralPointAction* in)
  1.4897 +{
  1.4898 +	size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
  1.4899 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4900 +	return base;
  1.4901 +}
  1.4902 +// -----------------------------------------------------------------------------------------------------------
  1.4903 +template <> size_t GenericFill<IfcPipeSegmentType>(const DB& db, const LIST& params, IfcPipeSegmentType* in)
  1.4904 +{
  1.4905 +	size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
  1.4906 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4907 +	return base;
  1.4908 +}
  1.4909 +// -----------------------------------------------------------------------------------------------------------
  1.4910 +template <> size_t GenericFill<IfcTwoDirectionRepeatFactor>(const DB& db, const LIST& params, IfcTwoDirectionRepeatFactor* in)
  1.4911 +{
  1.4912 +	size_t base = GenericFill(db,params,static_cast<IfcOneDirectionRepeatFactor*>(in));
  1.4913 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4914 +	return base;
  1.4915 +}
  1.4916 +// -----------------------------------------------------------------------------------------------------------
  1.4917 +template <> size_t GenericFill<IfcShapeRepresentation>(const DB& db, const LIST& params, IfcShapeRepresentation* in)
  1.4918 +{
  1.4919 +	size_t base = GenericFill(db,params,static_cast<IfcShapeModel*>(in));
  1.4920 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4921 +	return base;
  1.4922 +}
  1.4923 +// -----------------------------------------------------------------------------------------------------------
  1.4924 +template <> size_t GenericFill<IfcPropertySet>(const DB& db, const LIST& params, IfcPropertySet* in)
  1.4925 +{
  1.4926 +	size_t base = GenericFill(db,params,static_cast<IfcPropertySetDefinition*>(in));
  1.4927 +	if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcPropertySet"); }    do { // convert the 'HasProperties' argument
  1.4928 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4929 +        try { GenericConvert( in->HasProperties, arg, db ); break; } 
  1.4930 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcPropertySet to be a `SET [1:?] OF IfcProperty`")); }
  1.4931 +    } while(0);
  1.4932 +	return base;
  1.4933 +}
  1.4934 +// -----------------------------------------------------------------------------------------------------------
  1.4935 +template <> size_t GenericFill<IfcSurfaceStyleRendering>(const DB& db, const LIST& params, IfcSurfaceStyleRendering* in)
  1.4936 +{
  1.4937 +	size_t base = GenericFill(db,params,static_cast<IfcSurfaceStyleShading*>(in));
  1.4938 +	if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcSurfaceStyleRendering"); }    do { // convert the 'Transparency' argument
  1.4939 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4940 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4941 +        try { GenericConvert( in->Transparency, arg, db ); break; } 
  1.4942 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSurfaceStyleRendering to be a `IfcNormalisedRatioMeasure`")); }
  1.4943 +    } while(0);
  1.4944 +    do { // convert the 'DiffuseColour' argument
  1.4945 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4946 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4947 +        try { GenericConvert( in->DiffuseColour, arg, db ); break; } 
  1.4948 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1.4949 +    } while(0);
  1.4950 +    do { // convert the 'TransmissionColour' argument
  1.4951 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4952 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4953 +        try { GenericConvert( in->TransmissionColour, arg, db ); break; } 
  1.4954 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1.4955 +    } while(0);
  1.4956 +    do { // convert the 'DiffuseTransmissionColour' argument
  1.4957 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4958 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4959 +        try { GenericConvert( in->DiffuseTransmissionColour, arg, db ); break; } 
  1.4960 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1.4961 +    } while(0);
  1.4962 +    do { // convert the 'ReflectionColour' argument
  1.4963 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4964 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4965 +        try { GenericConvert( in->ReflectionColour, arg, db ); break; } 
  1.4966 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1.4967 +    } while(0);
  1.4968 +    do { // convert the 'SpecularColour' argument
  1.4969 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4970 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4971 +        try { GenericConvert( in->SpecularColour, arg, db ); break; } 
  1.4972 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
  1.4973 +    } while(0);
  1.4974 +    do { // convert the 'SpecularHighlight' argument
  1.4975 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4976 +        if (dynamic_cast<const UNSET*>(&*arg)) break;
  1.4977 +        try { GenericConvert( in->SpecularHighlight, arg, db ); break; } 
  1.4978 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcSurfaceStyleRendering to be a `IfcSpecularHighlightSelect`")); }
  1.4979 +    } while(0);
  1.4980 +    do { // convert the 'ReflectanceMethod' argument
  1.4981 +        boost::shared_ptr<const DataType> arg = params[base++];
  1.4982 +        try { GenericConvert( in->ReflectanceMethod, arg, db ); break; } 
  1.4983 +        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcSurfaceStyleRendering to be a `IfcReflectanceMethodEnum`")); }
  1.4984 +    } while(0);
  1.4985 +	return base;
  1.4986 +}
  1.4987 +// -----------------------------------------------------------------------------------------------------------
  1.4988 +template <> size_t GenericFill<IfcDistributionPort>(const DB& db, const LIST& params, IfcDistributionPort* in)
  1.4989 +{
  1.4990 +	size_t base = GenericFill(db,params,static_cast<IfcPort*>(in));
  1.4991 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4992 +	return base;
  1.4993 +}
  1.4994 +// -----------------------------------------------------------------------------------------------------------
  1.4995 +template <> size_t GenericFill<IfcPipeFittingType>(const DB& db, const LIST& params, IfcPipeFittingType* in)
  1.4996 +{
  1.4997 +	size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
  1.4998 +// this data structure is not used yet, so there is no code generated to fill its members
  1.4999 +	return base;
  1.5000 +}
  1.5001 +// -----------------------------------------------------------------------------------------------------------
  1.5002 +template <> size_t GenericFill<IfcTransportElement>(const DB& db, const LIST& params, IfcTransportElement* in)
  1.5003 +{
  1.5004 +	size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
  1.5005 +// this data structure is not used yet, so there is no code generated to fill its members
  1.5006 +	return base;
  1.5007 +}
  1.5008 +// -----------------------------------------------------------------------------------------------------------
  1.5009 +template <> size_t GenericFill<IfcAnnotationTextOccurrence>(const DB& db, const LIST& params, IfcAnnotationTextOccurrence* in)
  1.5010 +{
  1.5011 +	size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
  1.5012 +// this data structure is not used yet, so there is no code generated to fill its members
  1.5013 +	return base;
  1.5014 +}
  1.5015 +// -----------------------------------------------------------------------------------------------------------
  1.5016 +template <> size_t GenericFill<IfcStructuralAnalysisModel>(const DB& db, const LIST& params, IfcStructuralAnalysisModel* in)
  1.5017 +{
  1.5018 +	size_t base = GenericFill(db,params,static_cast<IfcSystem*>(in));
  1.5019 +// this data structure is not used yet, so there is no code generated to fill its members
  1.5020 +	return base;
  1.5021 +}
  1.5022 +// -----------------------------------------------------------------------------------------------------------
  1.5023 +template <> size_t GenericFill<IfcConditionCriterion>(const DB& db, const LIST& params, IfcConditionCriterion* in)
  1.5024 +{
  1.5025 +	size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
  1.5026 +// this data structure is not used yet, so there is no code generated to fill its members
  1.5027 +	return base;
  1.5028 +}
  1.5029 +
  1.5030 +} // ! STEP
  1.5031 +} // ! Assimp
  1.5032 +
  1.5033 +#endif