From 8895368ae3a9c9162958f8b403de1962dbbdc782 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 31 Dec 2012 14:29:18 +0000 Subject: [PATCH] Fix some errors and warnings --- src/ifcexpressparser/IfcExpressParser.py | 14 +- src/ifcgeom/IfcRegisterConvertShape.h | 2 +- src/ifcparse/Ifc2x3.cpp | 2884 ++++++------ src/ifcparse/Ifc2x3.h | 5176 +++++++++++----------- src/ifcparse/IfcUtil.cpp | 2 +- src/ifcparse/IfcUtil.h | 4 +- 6 files changed, 4041 insertions(+), 4041 deletions(-) diff --git a/src/ifcexpressparser/IfcExpressParser.py b/src/ifcexpressparser/IfcExpressParser.py index 80a7649e86..576399ebcf 100644 --- a/src/ifcexpressparser/IfcExpressParser.py +++ b/src/ifcexpressparser/IfcExpressParser.py @@ -122,11 +122,11 @@ class ArrayType: self.lower = l[1] def __str__(self): if self.type in entity_names: - return "SHARED_PTR< IfcTemplatedEntityList<%s> >"%self.type + return "SHARED_PTR< IfcTemplatedEntityList< %s > >"%self.type elif self.type in selections: - return "SHARED_PTR< IfcTemplatedEntityList >" + return "SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > >" else: - return "std::vector<%(type)s> /*[%(lower)s:%(upper)s]*/"%self.__dict__ + return "std::vector< %(type)s > /*[%(lower)s:%(upper)s]*/"%self.__dict__ def type_enum(self): if self.type in simple_types: t = simple_types[self.type].type_enum() @@ -167,7 +167,7 @@ class EnumType: elif generator_mode == 'SOURCE_TO': return '{ "%s" }'%'","'.join([v1 for v1,v2 in self.v]) elif generator_mode == 'SOURCE_FROM': - return "".join([' if(s=="%s"%s) return %s::%s;\n'%(v1.upper()," "*(self.maxlen-len(v1)),"%(name)s",v2) for v1,v2 in self.v]) + return "".join([' if(s=="%s"%s) return ::%s::%s::%s;\n'%(v1.upper()," "*(self.maxlen-len(v1)),schema_version,"%(name)s",v2) for v1,v2 in self.v]) def __len__(self): return len(self.v) def type_enum(self): return "Argument_ENUMERATION" @@ -292,7 +292,7 @@ class InverseList: s = "" for i in self.l: if generator_mode == 'HEADER': - s += "\n SHARED_PTR< IfcTemplatedEntityList<%s> > %s(); // INVERSE %s::%s"%(i.type.type,i.name,i.type.type,i.reference) + s += "\n SHARED_PTR< IfcTemplatedEntityList< %s > > %s(); // INVERSE %s::%s"%(i.type.type,i.name,i.type.type,i.reference) elif generator_mode == 'SOURCE': s += "\n%s::list %s::%s() { RETURN_INVERSE(%s) }"%(i.type.type,"%(class_name)s",i.name,i.type.type) return s @@ -317,8 +317,8 @@ class Classdef: "\n static Type::Enum Class();"+ "\n %(class_name)s (IfcAbstractEntityPtr e = IfcAbstractEntityPtr());"+ "\n typedef %(class_name)s* ptr;"+ - "\n typedef SHARED_PTR< IfcTemplatedEntityList<%(class_name)s> > list;"+ - "\n typedef IfcTemplatedEntityList<%(class_name)s>::it it;")%self.__dict__ + "\n typedef SHARED_PTR< IfcTemplatedEntityList< %(class_name)s > > list;"+ + "\n typedef IfcTemplatedEntityList< %(class_name)s >::it it;")%self.__dict__ ) elif generator_mode == 'SOURCE': self.arguments.argstart = argument_start(self.class_name) diff --git a/src/ifcgeom/IfcRegisterConvertShape.h b/src/ifcgeom/IfcRegisterConvertShape.h index c84f5fa19d..67c381ac93 100644 --- a/src/ifcgeom/IfcRegisterConvertShape.h +++ b/src/ifcgeom/IfcRegisterConvertShape.h @@ -8,7 +8,7 @@ } \ } catch(...) { } \ Logger::Message(Logger::LOG_ERROR,"Failed to convert:",l->entity); \ - return false; \ + return 0; \ } #include "IfcRegisterDef.h" diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index ac8893e084..42903a2bba 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -2128,33 +2128,33 @@ std::string IfcActionSourceTypeEnum::ToString(IfcActionSourceTypeEnum v) { return names[v]; } IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcActionSourceTypeEnum::FromString(const std::string& s) { - if(s=="DEAD_LOAD_G") return IfcActionSourceTypeEnum::IfcActionSourceType_DEAD_LOAD_G; - if(s=="COMPLETION_G1") return IfcActionSourceTypeEnum::IfcActionSourceType_COMPLETION_G1; - if(s=="LIVE_LOAD_Q") return IfcActionSourceTypeEnum::IfcActionSourceType_LIVE_LOAD_Q; - if(s=="SNOW_S") return IfcActionSourceTypeEnum::IfcActionSourceType_SNOW_S; - if(s=="WIND_W") return IfcActionSourceTypeEnum::IfcActionSourceType_WIND_W; - if(s=="PRESTRESSING_P") return IfcActionSourceTypeEnum::IfcActionSourceType_PRESTRESSING_P; - if(s=="SETTLEMENT_U") return IfcActionSourceTypeEnum::IfcActionSourceType_SETTLEMENT_U; - if(s=="TEMPERATURE_T") return IfcActionSourceTypeEnum::IfcActionSourceType_TEMPERATURE_T; - if(s=="EARTHQUAKE_E") return IfcActionSourceTypeEnum::IfcActionSourceType_EARTHQUAKE_E; - if(s=="FIRE") return IfcActionSourceTypeEnum::IfcActionSourceType_FIRE; - if(s=="IMPULSE") return IfcActionSourceTypeEnum::IfcActionSourceType_IMPULSE; - if(s=="IMPACT") return IfcActionSourceTypeEnum::IfcActionSourceType_IMPACT; - if(s=="TRANSPORT") return IfcActionSourceTypeEnum::IfcActionSourceType_TRANSPORT; - if(s=="ERECTION") return IfcActionSourceTypeEnum::IfcActionSourceType_ERECTION; - if(s=="PROPPING") return IfcActionSourceTypeEnum::IfcActionSourceType_PROPPING; - if(s=="SYSTEM_IMPERFECTION") return IfcActionSourceTypeEnum::IfcActionSourceType_SYSTEM_IMPERFECTION; - if(s=="SHRINKAGE") return IfcActionSourceTypeEnum::IfcActionSourceType_SHRINKAGE; - if(s=="CREEP") return IfcActionSourceTypeEnum::IfcActionSourceType_CREEP; - if(s=="LACK_OF_FIT") return IfcActionSourceTypeEnum::IfcActionSourceType_LACK_OF_FIT; - if(s=="BUOYANCY") return IfcActionSourceTypeEnum::IfcActionSourceType_BUOYANCY; - if(s=="ICE") return IfcActionSourceTypeEnum::IfcActionSourceType_ICE; - if(s=="CURRENT") return IfcActionSourceTypeEnum::IfcActionSourceType_CURRENT; - if(s=="WAVE") return IfcActionSourceTypeEnum::IfcActionSourceType_WAVE; - if(s=="RAIN") return IfcActionSourceTypeEnum::IfcActionSourceType_RAIN; - if(s=="BRAKES") return IfcActionSourceTypeEnum::IfcActionSourceType_BRAKES; - if(s=="USERDEFINED") return IfcActionSourceTypeEnum::IfcActionSourceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcActionSourceTypeEnum::IfcActionSourceType_NOTDEFINED; + if(s=="DEAD_LOAD_G") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_DEAD_LOAD_G; + if(s=="COMPLETION_G1") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_COMPLETION_G1; + if(s=="LIVE_LOAD_Q") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_LIVE_LOAD_Q; + if(s=="SNOW_S") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_SNOW_S; + if(s=="WIND_W") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_WIND_W; + if(s=="PRESTRESSING_P") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_PRESTRESSING_P; + if(s=="SETTLEMENT_U") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_SETTLEMENT_U; + if(s=="TEMPERATURE_T") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_TEMPERATURE_T; + if(s=="EARTHQUAKE_E") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_EARTHQUAKE_E; + if(s=="FIRE") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_FIRE; + if(s=="IMPULSE") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_IMPULSE; + if(s=="IMPACT") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_IMPACT; + if(s=="TRANSPORT") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_TRANSPORT; + if(s=="ERECTION") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_ERECTION; + if(s=="PROPPING") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_PROPPING; + if(s=="SYSTEM_IMPERFECTION") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_SYSTEM_IMPERFECTION; + if(s=="SHRINKAGE") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_SHRINKAGE; + if(s=="CREEP") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_CREEP; + if(s=="LACK_OF_FIT") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_LACK_OF_FIT; + if(s=="BUOYANCY") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_BUOYANCY; + if(s=="ICE") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_ICE; + if(s=="CURRENT") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_CURRENT; + if(s=="WAVE") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_WAVE; + if(s=="RAIN") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_RAIN; + if(s=="BRAKES") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_BRAKES; + if(s=="USERDEFINED") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcActionSourceTypeEnum::IfcActionSourceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcActionTypeEnum::ToString(IfcActionTypeEnum v) { @@ -2163,11 +2163,11 @@ std::string IfcActionTypeEnum::ToString(IfcActionTypeEnum v) { return names[v]; } IfcActionTypeEnum::IfcActionTypeEnum IfcActionTypeEnum::FromString(const std::string& s) { - if(s=="PERMANENT_G") return IfcActionTypeEnum::IfcActionType_PERMANENT_G; - if(s=="VARIABLE_Q") return IfcActionTypeEnum::IfcActionType_VARIABLE_Q; - if(s=="EXTRAORDINARY_A") return IfcActionTypeEnum::IfcActionType_EXTRAORDINARY_A; - if(s=="USERDEFINED") return IfcActionTypeEnum::IfcActionType_USERDEFINED; - if(s=="NOTDEFINED") return IfcActionTypeEnum::IfcActionType_NOTDEFINED; + if(s=="PERMANENT_G") return ::Ifc2x3::IfcActionTypeEnum::IfcActionType_PERMANENT_G; + if(s=="VARIABLE_Q") return ::Ifc2x3::IfcActionTypeEnum::IfcActionType_VARIABLE_Q; + if(s=="EXTRAORDINARY_A") return ::Ifc2x3::IfcActionTypeEnum::IfcActionType_EXTRAORDINARY_A; + if(s=="USERDEFINED") return ::Ifc2x3::IfcActionTypeEnum::IfcActionType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcActionTypeEnum::IfcActionType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcActuatorTypeEnum::ToString(IfcActuatorTypeEnum v) { @@ -2176,13 +2176,13 @@ std::string IfcActuatorTypeEnum::ToString(IfcActuatorTypeEnum v) { return names[v]; } IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorTypeEnum::FromString(const std::string& s) { - if(s=="ELECTRICACTUATOR") return IfcActuatorTypeEnum::IfcActuatorType_ELECTRICACTUATOR; - if(s=="HANDOPERATEDACTUATOR") return IfcActuatorTypeEnum::IfcActuatorType_HANDOPERATEDACTUATOR; - if(s=="HYDRAULICACTUATOR") return IfcActuatorTypeEnum::IfcActuatorType_HYDRAULICACTUATOR; - if(s=="PNEUMATICACTUATOR") return IfcActuatorTypeEnum::IfcActuatorType_PNEUMATICACTUATOR; - if(s=="THERMOSTATICACTUATOR") return IfcActuatorTypeEnum::IfcActuatorType_THERMOSTATICACTUATOR; - if(s=="USERDEFINED") return IfcActuatorTypeEnum::IfcActuatorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcActuatorTypeEnum::IfcActuatorType_NOTDEFINED; + if(s=="ELECTRICACTUATOR") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_ELECTRICACTUATOR; + if(s=="HANDOPERATEDACTUATOR") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_HANDOPERATEDACTUATOR; + if(s=="HYDRAULICACTUATOR") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_HYDRAULICACTUATOR; + if(s=="PNEUMATICACTUATOR") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_PNEUMATICACTUATOR; + if(s=="THERMOSTATICACTUATOR") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_THERMOSTATICACTUATOR; + if(s=="USERDEFINED") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcActuatorTypeEnum::IfcActuatorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAddressTypeEnum::ToString(IfcAddressTypeEnum v) { @@ -2191,11 +2191,11 @@ std::string IfcAddressTypeEnum::ToString(IfcAddressTypeEnum v) { return names[v]; } IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddressTypeEnum::FromString(const std::string& s) { - if(s=="OFFICE") return IfcAddressTypeEnum::IfcAddressType_OFFICE; - if(s=="SITE") return IfcAddressTypeEnum::IfcAddressType_SITE; - if(s=="HOME") return IfcAddressTypeEnum::IfcAddressType_HOME; - if(s=="DISTRIBUTIONPOINT") return IfcAddressTypeEnum::IfcAddressType_DISTRIBUTIONPOINT; - if(s=="USERDEFINED") return IfcAddressTypeEnum::IfcAddressType_USERDEFINED; + if(s=="OFFICE") return ::Ifc2x3::IfcAddressTypeEnum::IfcAddressType_OFFICE; + if(s=="SITE") return ::Ifc2x3::IfcAddressTypeEnum::IfcAddressType_SITE; + if(s=="HOME") return ::Ifc2x3::IfcAddressTypeEnum::IfcAddressType_HOME; + if(s=="DISTRIBUTIONPOINT") return ::Ifc2x3::IfcAddressTypeEnum::IfcAddressType_DISTRIBUTIONPOINT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAddressTypeEnum::IfcAddressType_USERDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAheadOrBehind::ToString(IfcAheadOrBehind v) { @@ -2204,8 +2204,8 @@ std::string IfcAheadOrBehind::ToString(IfcAheadOrBehind v) { return names[v]; } IfcAheadOrBehind::IfcAheadOrBehind IfcAheadOrBehind::FromString(const std::string& s) { - if(s=="AHEAD") return IfcAheadOrBehind::IfcAheadOrBehind_AHEAD; - if(s=="BEHIND") return IfcAheadOrBehind::IfcAheadOrBehind_BEHIND; + if(s=="AHEAD") return ::Ifc2x3::IfcAheadOrBehind::IfcAheadOrBehind_AHEAD; + if(s=="BEHIND") return ::Ifc2x3::IfcAheadOrBehind::IfcAheadOrBehind_BEHIND; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAirTerminalBoxTypeEnum::ToString(IfcAirTerminalBoxTypeEnum v) { @@ -2214,11 +2214,11 @@ std::string IfcAirTerminalBoxTypeEnum::ToString(IfcAirTerminalBoxTypeEnum v) { return names[v]; } IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxTypeEnum::FromString(const std::string& s) { - if(s=="CONSTANTFLOW") return IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_CONSTANTFLOW; - if(s=="VARIABLEFLOWPRESSUREDEPENDANT") return IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT; - if(s=="VARIABLEFLOWPRESSUREINDEPENDANT") return IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT; - if(s=="USERDEFINED") return IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_USERDEFINED; - if(s=="NOTDEFINED") return IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_NOTDEFINED; + if(s=="CONSTANTFLOW") return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_CONSTANTFLOW; + if(s=="VARIABLEFLOWPRESSUREDEPENDANT") return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT; + if(s=="VARIABLEFLOWPRESSUREINDEPENDANT") return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAirTerminalTypeEnum::ToString(IfcAirTerminalTypeEnum v) { @@ -2227,15 +2227,15 @@ std::string IfcAirTerminalTypeEnum::ToString(IfcAirTerminalTypeEnum v) { return names[v]; } IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalTypeEnum::FromString(const std::string& s) { - if(s=="GRILLE") return IfcAirTerminalTypeEnum::IfcAirTerminalType_GRILLE; - if(s=="REGISTER") return IfcAirTerminalTypeEnum::IfcAirTerminalType_REGISTER; - if(s=="DIFFUSER") return IfcAirTerminalTypeEnum::IfcAirTerminalType_DIFFUSER; - if(s=="EYEBALL") return IfcAirTerminalTypeEnum::IfcAirTerminalType_EYEBALL; - if(s=="IRIS") return IfcAirTerminalTypeEnum::IfcAirTerminalType_IRIS; - if(s=="LINEARGRILLE") return IfcAirTerminalTypeEnum::IfcAirTerminalType_LINEARGRILLE; - if(s=="LINEARDIFFUSER") return IfcAirTerminalTypeEnum::IfcAirTerminalType_LINEARDIFFUSER; - if(s=="USERDEFINED") return IfcAirTerminalTypeEnum::IfcAirTerminalType_USERDEFINED; - if(s=="NOTDEFINED") return IfcAirTerminalTypeEnum::IfcAirTerminalType_NOTDEFINED; + if(s=="GRILLE") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_GRILLE; + if(s=="REGISTER") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_REGISTER; + if(s=="DIFFUSER") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_DIFFUSER; + if(s=="EYEBALL") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_EYEBALL; + if(s=="IRIS") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_IRIS; + if(s=="LINEARGRILLE") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_LINEARGRILLE; + if(s=="LINEARDIFFUSER") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_LINEARDIFFUSER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAirTerminalTypeEnum::IfcAirTerminalType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAirToAirHeatRecoveryTypeEnum::ToString(IfcAirToAirHeatRecoveryTypeEnum v) { @@ -2244,17 +2244,17 @@ std::string IfcAirToAirHeatRecoveryTypeEnum::ToString(IfcAirToAirHeatRecoveryTyp return names[v]; } IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryTypeEnum::FromString(const std::string& s) { - if(s=="FIXEDPLATECOUNTERFLOWEXCHANGER") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER; - if(s=="FIXEDPLATECROSSFLOWEXCHANGER") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER; - if(s=="FIXEDPLATEPARALLELFLOWEXCHANGER") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER; - if(s=="ROTARYWHEEL") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_ROTARYWHEEL; - if(s=="RUNAROUNDCOILLOOP") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP; - if(s=="HEATPIPE") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_HEATPIPE; - if(s=="TWINTOWERENTHALPYRECOVERYLOOPS") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS; - if(s=="THERMOSIPHONSEALEDTUBEHEATEXCHANGERS") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS; - if(s=="THERMOSIPHONCOILTYPEHEATEXCHANGERS") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS; - if(s=="USERDEFINED") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_USERDEFINED; - if(s=="NOTDEFINED") return IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_NOTDEFINED; + if(s=="FIXEDPLATECOUNTERFLOWEXCHANGER") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER; + if(s=="FIXEDPLATECROSSFLOWEXCHANGER") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER; + if(s=="FIXEDPLATEPARALLELFLOWEXCHANGER") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER; + if(s=="ROTARYWHEEL") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_ROTARYWHEEL; + if(s=="RUNAROUNDCOILLOOP") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP; + if(s=="HEATPIPE") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_HEATPIPE; + if(s=="TWINTOWERENTHALPYRECOVERYLOOPS") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS; + if(s=="THERMOSIPHONSEALEDTUBEHEATEXCHANGERS") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS; + if(s=="THERMOSIPHONCOILTYPEHEATEXCHANGERS") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAlarmTypeEnum::ToString(IfcAlarmTypeEnum v) { @@ -2263,14 +2263,14 @@ std::string IfcAlarmTypeEnum::ToString(IfcAlarmTypeEnum v) { return names[v]; } IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmTypeEnum::FromString(const std::string& s) { - if(s=="BELL") return IfcAlarmTypeEnum::IfcAlarmType_BELL; - if(s=="BREAKGLASSBUTTON") return IfcAlarmTypeEnum::IfcAlarmType_BREAKGLASSBUTTON; - if(s=="LIGHT") return IfcAlarmTypeEnum::IfcAlarmType_LIGHT; - if(s=="MANUALPULLBOX") return IfcAlarmTypeEnum::IfcAlarmType_MANUALPULLBOX; - if(s=="SIREN") return IfcAlarmTypeEnum::IfcAlarmType_SIREN; - if(s=="WHISTLE") return IfcAlarmTypeEnum::IfcAlarmType_WHISTLE; - if(s=="USERDEFINED") return IfcAlarmTypeEnum::IfcAlarmType_USERDEFINED; - if(s=="NOTDEFINED") return IfcAlarmTypeEnum::IfcAlarmType_NOTDEFINED; + if(s=="BELL") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_BELL; + if(s=="BREAKGLASSBUTTON") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_BREAKGLASSBUTTON; + if(s=="LIGHT") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_LIGHT; + if(s=="MANUALPULLBOX") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_MANUALPULLBOX; + if(s=="SIREN") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_SIREN; + if(s=="WHISTLE") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_WHISTLE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAlarmTypeEnum::IfcAlarmType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAnalysisModelTypeEnum::ToString(IfcAnalysisModelTypeEnum v) { @@ -2279,11 +2279,11 @@ std::string IfcAnalysisModelTypeEnum::ToString(IfcAnalysisModelTypeEnum v) { return names[v]; } IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcAnalysisModelTypeEnum::FromString(const std::string& s) { - if(s=="IN_PLANE_LOADING_2D") return IfcAnalysisModelTypeEnum::IfcAnalysisModelType_IN_PLANE_LOADING_2D; - if(s=="OUT_PLANE_LOADING_2D") return IfcAnalysisModelTypeEnum::IfcAnalysisModelType_OUT_PLANE_LOADING_2D; - if(s=="LOADING_3D") return IfcAnalysisModelTypeEnum::IfcAnalysisModelType_LOADING_3D; - if(s=="USERDEFINED") return IfcAnalysisModelTypeEnum::IfcAnalysisModelType_USERDEFINED; - if(s=="NOTDEFINED") return IfcAnalysisModelTypeEnum::IfcAnalysisModelType_NOTDEFINED; + if(s=="IN_PLANE_LOADING_2D") return ::Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_IN_PLANE_LOADING_2D; + if(s=="OUT_PLANE_LOADING_2D") return ::Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_OUT_PLANE_LOADING_2D; + if(s=="LOADING_3D") return ::Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_LOADING_3D; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAnalysisTheoryTypeEnum::ToString(IfcAnalysisTheoryTypeEnum v) { @@ -2292,12 +2292,12 @@ std::string IfcAnalysisTheoryTypeEnum::ToString(IfcAnalysisTheoryTypeEnum v) { return names[v]; } IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcAnalysisTheoryTypeEnum::FromString(const std::string& s) { - if(s=="FIRST_ORDER_THEORY") return IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_FIRST_ORDER_THEORY; - if(s=="SECOND_ORDER_THEORY") return IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_SECOND_ORDER_THEORY; - if(s=="THIRD_ORDER_THEORY") return IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_THIRD_ORDER_THEORY; - if(s=="FULL_NONLINEAR_THEORY") return IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY; - if(s=="USERDEFINED") return IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_USERDEFINED; - if(s=="NOTDEFINED") return IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_NOTDEFINED; + if(s=="FIRST_ORDER_THEORY") return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_FIRST_ORDER_THEORY; + if(s=="SECOND_ORDER_THEORY") return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_SECOND_ORDER_THEORY; + if(s=="THIRD_ORDER_THEORY") return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_THIRD_ORDER_THEORY; + if(s=="FULL_NONLINEAR_THEORY") return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcArithmeticOperatorEnum::ToString(IfcArithmeticOperatorEnum v) { @@ -2306,10 +2306,10 @@ std::string IfcArithmeticOperatorEnum::ToString(IfcArithmeticOperatorEnum v) { return names[v]; } IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcArithmeticOperatorEnum::FromString(const std::string& s) { - if(s=="ADD") return IfcArithmeticOperatorEnum::IfcArithmeticOperator_ADD; - if(s=="DIVIDE") return IfcArithmeticOperatorEnum::IfcArithmeticOperator_DIVIDE; - if(s=="MULTIPLY") return IfcArithmeticOperatorEnum::IfcArithmeticOperator_MULTIPLY; - if(s=="SUBTRACT") return IfcArithmeticOperatorEnum::IfcArithmeticOperator_SUBTRACT; + if(s=="ADD") return ::Ifc2x3::IfcArithmeticOperatorEnum::IfcArithmeticOperator_ADD; + if(s=="DIVIDE") return ::Ifc2x3::IfcArithmeticOperatorEnum::IfcArithmeticOperator_DIVIDE; + if(s=="MULTIPLY") return ::Ifc2x3::IfcArithmeticOperatorEnum::IfcArithmeticOperator_MULTIPLY; + if(s=="SUBTRACT") return ::Ifc2x3::IfcArithmeticOperatorEnum::IfcArithmeticOperator_SUBTRACT; throw IfcException("Unable to find find keyword in schema"); } std::string IfcAssemblyPlaceEnum::ToString(IfcAssemblyPlaceEnum v) { @@ -2318,9 +2318,9 @@ std::string IfcAssemblyPlaceEnum::ToString(IfcAssemblyPlaceEnum v) { return names[v]; } IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcAssemblyPlaceEnum::FromString(const std::string& s) { - if(s=="SITE") return IfcAssemblyPlaceEnum::IfcAssemblyPlace_SITE; - if(s=="FACTORY") return IfcAssemblyPlaceEnum::IfcAssemblyPlace_FACTORY; - if(s=="NOTDEFINED") return IfcAssemblyPlaceEnum::IfcAssemblyPlace_NOTDEFINED; + if(s=="SITE") return ::Ifc2x3::IfcAssemblyPlaceEnum::IfcAssemblyPlace_SITE; + if(s=="FACTORY") return ::Ifc2x3::IfcAssemblyPlaceEnum::IfcAssemblyPlace_FACTORY; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcAssemblyPlaceEnum::IfcAssemblyPlace_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcBSplineCurveForm::ToString(IfcBSplineCurveForm v) { @@ -2329,12 +2329,12 @@ std::string IfcBSplineCurveForm::ToString(IfcBSplineCurveForm v) { return names[v]; } IfcBSplineCurveForm::IfcBSplineCurveForm IfcBSplineCurveForm::FromString(const std::string& s) { - if(s=="POLYLINE_FORM") return IfcBSplineCurveForm::IfcBSplineCurveForm_POLYLINE_FORM; - if(s=="CIRCULAR_ARC") return IfcBSplineCurveForm::IfcBSplineCurveForm_CIRCULAR_ARC; - if(s=="ELLIPTIC_ARC") return IfcBSplineCurveForm::IfcBSplineCurveForm_ELLIPTIC_ARC; - if(s=="PARABOLIC_ARC") return IfcBSplineCurveForm::IfcBSplineCurveForm_PARABOLIC_ARC; - if(s=="HYPERBOLIC_ARC") return IfcBSplineCurveForm::IfcBSplineCurveForm_HYPERBOLIC_ARC; - if(s=="UNSPECIFIED") return IfcBSplineCurveForm::IfcBSplineCurveForm_UNSPECIFIED; + if(s=="POLYLINE_FORM") return ::Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm_POLYLINE_FORM; + if(s=="CIRCULAR_ARC") return ::Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm_CIRCULAR_ARC; + if(s=="ELLIPTIC_ARC") return ::Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm_ELLIPTIC_ARC; + if(s=="PARABOLIC_ARC") return ::Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm_PARABOLIC_ARC; + if(s=="HYPERBOLIC_ARC") return ::Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm_HYPERBOLIC_ARC; + if(s=="UNSPECIFIED") return ::Ifc2x3::IfcBSplineCurveForm::IfcBSplineCurveForm_UNSPECIFIED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcBeamTypeEnum::ToString(IfcBeamTypeEnum v) { @@ -2343,12 +2343,12 @@ std::string IfcBeamTypeEnum::ToString(IfcBeamTypeEnum v) { return names[v]; } IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamTypeEnum::FromString(const std::string& s) { - if(s=="BEAM") return IfcBeamTypeEnum::IfcBeamType_BEAM; - if(s=="JOIST") return IfcBeamTypeEnum::IfcBeamType_JOIST; - if(s=="LINTEL") return IfcBeamTypeEnum::IfcBeamType_LINTEL; - if(s=="T_BEAM") return IfcBeamTypeEnum::IfcBeamType_T_BEAM; - if(s=="USERDEFINED") return IfcBeamTypeEnum::IfcBeamType_USERDEFINED; - if(s=="NOTDEFINED") return IfcBeamTypeEnum::IfcBeamType_NOTDEFINED; + if(s=="BEAM") return ::Ifc2x3::IfcBeamTypeEnum::IfcBeamType_BEAM; + if(s=="JOIST") return ::Ifc2x3::IfcBeamTypeEnum::IfcBeamType_JOIST; + if(s=="LINTEL") return ::Ifc2x3::IfcBeamTypeEnum::IfcBeamType_LINTEL; + if(s=="T_BEAM") return ::Ifc2x3::IfcBeamTypeEnum::IfcBeamType_T_BEAM; + if(s=="USERDEFINED") return ::Ifc2x3::IfcBeamTypeEnum::IfcBeamType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcBeamTypeEnum::IfcBeamType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcBenchmarkEnum::ToString(IfcBenchmarkEnum v) { @@ -2357,12 +2357,12 @@ std::string IfcBenchmarkEnum::ToString(IfcBenchmarkEnum v) { return names[v]; } IfcBenchmarkEnum::IfcBenchmarkEnum IfcBenchmarkEnum::FromString(const std::string& s) { - if(s=="GREATERTHAN") return IfcBenchmarkEnum::IfcBenchmark_GREATERTHAN; - if(s=="GREATERTHANOREQUALTO") return IfcBenchmarkEnum::IfcBenchmark_GREATERTHANOREQUALTO; - if(s=="LESSTHAN") return IfcBenchmarkEnum::IfcBenchmark_LESSTHAN; - if(s=="LESSTHANOREQUALTO") return IfcBenchmarkEnum::IfcBenchmark_LESSTHANOREQUALTO; - if(s=="EQUALTO") return IfcBenchmarkEnum::IfcBenchmark_EQUALTO; - if(s=="NOTEQUALTO") return IfcBenchmarkEnum::IfcBenchmark_NOTEQUALTO; + if(s=="GREATERTHAN") return ::Ifc2x3::IfcBenchmarkEnum::IfcBenchmark_GREATERTHAN; + if(s=="GREATERTHANOREQUALTO") return ::Ifc2x3::IfcBenchmarkEnum::IfcBenchmark_GREATERTHANOREQUALTO; + if(s=="LESSTHAN") return ::Ifc2x3::IfcBenchmarkEnum::IfcBenchmark_LESSTHAN; + if(s=="LESSTHANOREQUALTO") return ::Ifc2x3::IfcBenchmarkEnum::IfcBenchmark_LESSTHANOREQUALTO; + if(s=="EQUALTO") return ::Ifc2x3::IfcBenchmarkEnum::IfcBenchmark_EQUALTO; + if(s=="NOTEQUALTO") return ::Ifc2x3::IfcBenchmarkEnum::IfcBenchmark_NOTEQUALTO; throw IfcException("Unable to find find keyword in schema"); } std::string IfcBoilerTypeEnum::ToString(IfcBoilerTypeEnum v) { @@ -2371,10 +2371,10 @@ std::string IfcBoilerTypeEnum::ToString(IfcBoilerTypeEnum v) { return names[v]; } IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerTypeEnum::FromString(const std::string& s) { - if(s=="WATER") return IfcBoilerTypeEnum::IfcBoilerType_WATER; - if(s=="STEAM") return IfcBoilerTypeEnum::IfcBoilerType_STEAM; - if(s=="USERDEFINED") return IfcBoilerTypeEnum::IfcBoilerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcBoilerTypeEnum::IfcBoilerType_NOTDEFINED; + if(s=="WATER") return ::Ifc2x3::IfcBoilerTypeEnum::IfcBoilerType_WATER; + if(s=="STEAM") return ::Ifc2x3::IfcBoilerTypeEnum::IfcBoilerType_STEAM; + if(s=="USERDEFINED") return ::Ifc2x3::IfcBoilerTypeEnum::IfcBoilerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcBoilerTypeEnum::IfcBoilerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcBooleanOperator::ToString(IfcBooleanOperator v) { @@ -2383,9 +2383,9 @@ std::string IfcBooleanOperator::ToString(IfcBooleanOperator v) { return names[v]; } IfcBooleanOperator::IfcBooleanOperator IfcBooleanOperator::FromString(const std::string& s) { - if(s=="UNION") return IfcBooleanOperator::IfcBooleanOperator_UNION; - if(s=="INTERSECTION") return IfcBooleanOperator::IfcBooleanOperator_INTERSECTION; - if(s=="DIFFERENCE") return IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE; + if(s=="UNION") return ::Ifc2x3::IfcBooleanOperator::IfcBooleanOperator_UNION; + if(s=="INTERSECTION") return ::Ifc2x3::IfcBooleanOperator::IfcBooleanOperator_INTERSECTION; + if(s=="DIFFERENCE") return ::Ifc2x3::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE; throw IfcException("Unable to find find keyword in schema"); } std::string IfcBuildingElementProxyTypeEnum::ToString(IfcBuildingElementProxyTypeEnum v) { @@ -2394,8 +2394,8 @@ std::string IfcBuildingElementProxyTypeEnum::ToString(IfcBuildingElementProxyTyp return names[v]; } IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyTypeEnum::FromString(const std::string& s) { - if(s=="USERDEFINED") return IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_USERDEFINED; - if(s=="NOTDEFINED") return IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_NOTDEFINED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCableCarrierFittingTypeEnum::ToString(IfcCableCarrierFittingTypeEnum v) { @@ -2404,12 +2404,12 @@ std::string IfcCableCarrierFittingTypeEnum::ToString(IfcCableCarrierFittingTypeE return names[v]; } IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingTypeEnum::FromString(const std::string& s) { - if(s=="BEND") return IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_BEND; - if(s=="CROSS") return IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_CROSS; - if(s=="REDUCER") return IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_REDUCER; - if(s=="TEE") return IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_TEE; - if(s=="USERDEFINED") return IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_NOTDEFINED; + if(s=="BEND") return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_BEND; + if(s=="CROSS") return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_CROSS; + if(s=="REDUCER") return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_REDUCER; + if(s=="TEE") return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_TEE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCableCarrierSegmentTypeEnum::ToString(IfcCableCarrierSegmentTypeEnum v) { @@ -2418,12 +2418,12 @@ std::string IfcCableCarrierSegmentTypeEnum::ToString(IfcCableCarrierSegmentTypeE return names[v]; } IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentTypeEnum::FromString(const std::string& s) { - if(s=="CABLELADDERSEGMENT") return IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLELADDERSEGMENT; - if(s=="CABLETRAYSEGMENT") return IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLETRAYSEGMENT; - if(s=="CABLETRUNKINGSEGMENT") return IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT; - if(s=="CONDUITSEGMENT") return IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CONDUITSEGMENT; - if(s=="USERDEFINED") return IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_NOTDEFINED; + if(s=="CABLELADDERSEGMENT") return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLELADDERSEGMENT; + if(s=="CABLETRAYSEGMENT") return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLETRAYSEGMENT; + if(s=="CABLETRUNKINGSEGMENT") return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT; + if(s=="CONDUITSEGMENT") return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CONDUITSEGMENT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCableSegmentTypeEnum::ToString(IfcCableSegmentTypeEnum v) { @@ -2432,10 +2432,10 @@ std::string IfcCableSegmentTypeEnum::ToString(IfcCableSegmentTypeEnum v) { return names[v]; } IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentTypeEnum::FromString(const std::string& s) { - if(s=="CABLESEGMENT") return IfcCableSegmentTypeEnum::IfcCableSegmentType_CABLESEGMENT; - if(s=="CONDUCTORSEGMENT") return IfcCableSegmentTypeEnum::IfcCableSegmentType_CONDUCTORSEGMENT; - if(s=="USERDEFINED") return IfcCableSegmentTypeEnum::IfcCableSegmentType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCableSegmentTypeEnum::IfcCableSegmentType_NOTDEFINED; + if(s=="CABLESEGMENT") return ::Ifc2x3::IfcCableSegmentTypeEnum::IfcCableSegmentType_CABLESEGMENT; + if(s=="CONDUCTORSEGMENT") return ::Ifc2x3::IfcCableSegmentTypeEnum::IfcCableSegmentType_CONDUCTORSEGMENT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCableSegmentTypeEnum::IfcCableSegmentType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCableSegmentTypeEnum::IfcCableSegmentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcChangeActionEnum::ToString(IfcChangeActionEnum v) { @@ -2444,12 +2444,12 @@ std::string IfcChangeActionEnum::ToString(IfcChangeActionEnum v) { return names[v]; } IfcChangeActionEnum::IfcChangeActionEnum IfcChangeActionEnum::FromString(const std::string& s) { - if(s=="NOCHANGE") return IfcChangeActionEnum::IfcChangeAction_NOCHANGE; - if(s=="MODIFIED") return IfcChangeActionEnum::IfcChangeAction_MODIFIED; - if(s=="ADDED") return IfcChangeActionEnum::IfcChangeAction_ADDED; - if(s=="DELETED") return IfcChangeActionEnum::IfcChangeAction_DELETED; - if(s=="MODIFIEDADDED") return IfcChangeActionEnum::IfcChangeAction_MODIFIEDADDED; - if(s=="MODIFIEDDELETED") return IfcChangeActionEnum::IfcChangeAction_MODIFIEDDELETED; + if(s=="NOCHANGE") return ::Ifc2x3::IfcChangeActionEnum::IfcChangeAction_NOCHANGE; + if(s=="MODIFIED") return ::Ifc2x3::IfcChangeActionEnum::IfcChangeAction_MODIFIED; + if(s=="ADDED") return ::Ifc2x3::IfcChangeActionEnum::IfcChangeAction_ADDED; + if(s=="DELETED") return ::Ifc2x3::IfcChangeActionEnum::IfcChangeAction_DELETED; + if(s=="MODIFIEDADDED") return ::Ifc2x3::IfcChangeActionEnum::IfcChangeAction_MODIFIEDADDED; + if(s=="MODIFIEDDELETED") return ::Ifc2x3::IfcChangeActionEnum::IfcChangeAction_MODIFIEDDELETED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcChillerTypeEnum::ToString(IfcChillerTypeEnum v) { @@ -2458,11 +2458,11 @@ std::string IfcChillerTypeEnum::ToString(IfcChillerTypeEnum v) { return names[v]; } IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerTypeEnum::FromString(const std::string& s) { - if(s=="AIRCOOLED") return IfcChillerTypeEnum::IfcChillerType_AIRCOOLED; - if(s=="WATERCOOLED") return IfcChillerTypeEnum::IfcChillerType_WATERCOOLED; - if(s=="HEATRECOVERY") return IfcChillerTypeEnum::IfcChillerType_HEATRECOVERY; - if(s=="USERDEFINED") return IfcChillerTypeEnum::IfcChillerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcChillerTypeEnum::IfcChillerType_NOTDEFINED; + if(s=="AIRCOOLED") return ::Ifc2x3::IfcChillerTypeEnum::IfcChillerType_AIRCOOLED; + if(s=="WATERCOOLED") return ::Ifc2x3::IfcChillerTypeEnum::IfcChillerType_WATERCOOLED; + if(s=="HEATRECOVERY") return ::Ifc2x3::IfcChillerTypeEnum::IfcChillerType_HEATRECOVERY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcChillerTypeEnum::IfcChillerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcChillerTypeEnum::IfcChillerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCoilTypeEnum::ToString(IfcCoilTypeEnum v) { @@ -2471,14 +2471,14 @@ std::string IfcCoilTypeEnum::ToString(IfcCoilTypeEnum v) { return names[v]; } IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoilTypeEnum::FromString(const std::string& s) { - if(s=="DXCOOLINGCOIL") return IfcCoilTypeEnum::IfcCoilType_DXCOOLINGCOIL; - if(s=="WATERCOOLINGCOIL") return IfcCoilTypeEnum::IfcCoilType_WATERCOOLINGCOIL; - if(s=="STEAMHEATINGCOIL") return IfcCoilTypeEnum::IfcCoilType_STEAMHEATINGCOIL; - if(s=="WATERHEATINGCOIL") return IfcCoilTypeEnum::IfcCoilType_WATERHEATINGCOIL; - if(s=="ELECTRICHEATINGCOIL") return IfcCoilTypeEnum::IfcCoilType_ELECTRICHEATINGCOIL; - if(s=="GASHEATINGCOIL") return IfcCoilTypeEnum::IfcCoilType_GASHEATINGCOIL; - if(s=="USERDEFINED") return IfcCoilTypeEnum::IfcCoilType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCoilTypeEnum::IfcCoilType_NOTDEFINED; + if(s=="DXCOOLINGCOIL") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_DXCOOLINGCOIL; + if(s=="WATERCOOLINGCOIL") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_WATERCOOLINGCOIL; + if(s=="STEAMHEATINGCOIL") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_STEAMHEATINGCOIL; + if(s=="WATERHEATINGCOIL") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_WATERHEATINGCOIL; + if(s=="ELECTRICHEATINGCOIL") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_ELECTRICHEATINGCOIL; + if(s=="GASHEATINGCOIL") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_GASHEATINGCOIL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCoilTypeEnum::IfcCoilType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcColumnTypeEnum::ToString(IfcColumnTypeEnum v) { @@ -2487,9 +2487,9 @@ std::string IfcColumnTypeEnum::ToString(IfcColumnTypeEnum v) { return names[v]; } IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnTypeEnum::FromString(const std::string& s) { - if(s=="COLUMN") return IfcColumnTypeEnum::IfcColumnType_COLUMN; - if(s=="USERDEFINED") return IfcColumnTypeEnum::IfcColumnType_USERDEFINED; - if(s=="NOTDEFINED") return IfcColumnTypeEnum::IfcColumnType_NOTDEFINED; + if(s=="COLUMN") return ::Ifc2x3::IfcColumnTypeEnum::IfcColumnType_COLUMN; + if(s=="USERDEFINED") return ::Ifc2x3::IfcColumnTypeEnum::IfcColumnType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcColumnTypeEnum::IfcColumnType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCompressorTypeEnum::ToString(IfcCompressorTypeEnum v) { @@ -2498,23 +2498,23 @@ std::string IfcCompressorTypeEnum::ToString(IfcCompressorTypeEnum v) { return names[v]; } IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorTypeEnum::FromString(const std::string& s) { - if(s=="DYNAMIC") return IfcCompressorTypeEnum::IfcCompressorType_DYNAMIC; - if(s=="RECIPROCATING") return IfcCompressorTypeEnum::IfcCompressorType_RECIPROCATING; - if(s=="ROTARY") return IfcCompressorTypeEnum::IfcCompressorType_ROTARY; - if(s=="SCROLL") return IfcCompressorTypeEnum::IfcCompressorType_SCROLL; - if(s=="TROCHOIDAL") return IfcCompressorTypeEnum::IfcCompressorType_TROCHOIDAL; - if(s=="SINGLESTAGE") return IfcCompressorTypeEnum::IfcCompressorType_SINGLESTAGE; - if(s=="BOOSTER") return IfcCompressorTypeEnum::IfcCompressorType_BOOSTER; - if(s=="OPENTYPE") return IfcCompressorTypeEnum::IfcCompressorType_OPENTYPE; - if(s=="HERMETIC") return IfcCompressorTypeEnum::IfcCompressorType_HERMETIC; - if(s=="SEMIHERMETIC") return IfcCompressorTypeEnum::IfcCompressorType_SEMIHERMETIC; - if(s=="WELDEDSHELLHERMETIC") return IfcCompressorTypeEnum::IfcCompressorType_WELDEDSHELLHERMETIC; - if(s=="ROLLINGPISTON") return IfcCompressorTypeEnum::IfcCompressorType_ROLLINGPISTON; - if(s=="ROTARYVANE") return IfcCompressorTypeEnum::IfcCompressorType_ROTARYVANE; - if(s=="SINGLESCREW") return IfcCompressorTypeEnum::IfcCompressorType_SINGLESCREW; - if(s=="TWINSCREW") return IfcCompressorTypeEnum::IfcCompressorType_TWINSCREW; - if(s=="USERDEFINED") return IfcCompressorTypeEnum::IfcCompressorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCompressorTypeEnum::IfcCompressorType_NOTDEFINED; + if(s=="DYNAMIC") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_DYNAMIC; + if(s=="RECIPROCATING") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_RECIPROCATING; + if(s=="ROTARY") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_ROTARY; + if(s=="SCROLL") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_SCROLL; + if(s=="TROCHOIDAL") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_TROCHOIDAL; + if(s=="SINGLESTAGE") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_SINGLESTAGE; + if(s=="BOOSTER") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_BOOSTER; + if(s=="OPENTYPE") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_OPENTYPE; + if(s=="HERMETIC") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_HERMETIC; + if(s=="SEMIHERMETIC") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_SEMIHERMETIC; + if(s=="WELDEDSHELLHERMETIC") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_WELDEDSHELLHERMETIC; + if(s=="ROLLINGPISTON") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_ROLLINGPISTON; + if(s=="ROTARYVANE") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_ROTARYVANE; + if(s=="SINGLESCREW") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_SINGLESCREW; + if(s=="TWINSCREW") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_TWINSCREW; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCompressorTypeEnum::IfcCompressorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCondenserTypeEnum::ToString(IfcCondenserTypeEnum v) { @@ -2523,14 +2523,14 @@ std::string IfcCondenserTypeEnum::ToString(IfcCondenserTypeEnum v) { return names[v]; } IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserTypeEnum::FromString(const std::string& s) { - if(s=="WATERCOOLEDSHELLTUBE") return IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDSHELLTUBE; - if(s=="WATERCOOLEDSHELLCOIL") return IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDSHELLCOIL; - if(s=="WATERCOOLEDTUBEINTUBE") return IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDTUBEINTUBE; - if(s=="WATERCOOLEDBRAZEDPLATE") return IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDBRAZEDPLATE; - if(s=="AIRCOOLED") return IfcCondenserTypeEnum::IfcCondenserType_AIRCOOLED; - if(s=="EVAPORATIVECOOLED") return IfcCondenserTypeEnum::IfcCondenserType_EVAPORATIVECOOLED; - if(s=="USERDEFINED") return IfcCondenserTypeEnum::IfcCondenserType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCondenserTypeEnum::IfcCondenserType_NOTDEFINED; + if(s=="WATERCOOLEDSHELLTUBE") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDSHELLTUBE; + if(s=="WATERCOOLEDSHELLCOIL") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDSHELLCOIL; + if(s=="WATERCOOLEDTUBEINTUBE") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDTUBEINTUBE; + if(s=="WATERCOOLEDBRAZEDPLATE") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDBRAZEDPLATE; + if(s=="AIRCOOLED") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_AIRCOOLED; + if(s=="EVAPORATIVECOOLED") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_EVAPORATIVECOOLED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCondenserTypeEnum::IfcCondenserType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcConnectionTypeEnum::ToString(IfcConnectionTypeEnum v) { @@ -2539,10 +2539,10 @@ std::string IfcConnectionTypeEnum::ToString(IfcConnectionTypeEnum v) { return names[v]; } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcConnectionTypeEnum::FromString(const std::string& s) { - if(s=="ATPATH") return IfcConnectionTypeEnum::IfcConnectionType_ATPATH; - if(s=="ATSTART") return IfcConnectionTypeEnum::IfcConnectionType_ATSTART; - if(s=="ATEND") return IfcConnectionTypeEnum::IfcConnectionType_ATEND; - if(s=="NOTDEFINED") return IfcConnectionTypeEnum::IfcConnectionType_NOTDEFINED; + if(s=="ATPATH") return ::Ifc2x3::IfcConnectionTypeEnum::IfcConnectionType_ATPATH; + if(s=="ATSTART") return ::Ifc2x3::IfcConnectionTypeEnum::IfcConnectionType_ATSTART; + if(s=="ATEND") return ::Ifc2x3::IfcConnectionTypeEnum::IfcConnectionType_ATEND; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcConnectionTypeEnum::IfcConnectionType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcConstraintEnum::ToString(IfcConstraintEnum v) { @@ -2551,11 +2551,11 @@ std::string IfcConstraintEnum::ToString(IfcConstraintEnum v) { return names[v]; } IfcConstraintEnum::IfcConstraintEnum IfcConstraintEnum::FromString(const std::string& s) { - if(s=="HARD") return IfcConstraintEnum::IfcConstraint_HARD; - if(s=="SOFT") return IfcConstraintEnum::IfcConstraint_SOFT; - if(s=="ADVISORY") return IfcConstraintEnum::IfcConstraint_ADVISORY; - if(s=="USERDEFINED") return IfcConstraintEnum::IfcConstraint_USERDEFINED; - if(s=="NOTDEFINED") return IfcConstraintEnum::IfcConstraint_NOTDEFINED; + if(s=="HARD") return ::Ifc2x3::IfcConstraintEnum::IfcConstraint_HARD; + if(s=="SOFT") return ::Ifc2x3::IfcConstraintEnum::IfcConstraint_SOFT; + if(s=="ADVISORY") return ::Ifc2x3::IfcConstraintEnum::IfcConstraint_ADVISORY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcConstraintEnum::IfcConstraint_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcConstraintEnum::IfcConstraint_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcControllerTypeEnum::ToString(IfcControllerTypeEnum v) { @@ -2564,14 +2564,14 @@ std::string IfcControllerTypeEnum::ToString(IfcControllerTypeEnum v) { return names[v]; } IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerTypeEnum::FromString(const std::string& s) { - if(s=="FLOATING") return IfcControllerTypeEnum::IfcControllerType_FLOATING; - if(s=="PROPORTIONAL") return IfcControllerTypeEnum::IfcControllerType_PROPORTIONAL; - if(s=="PROPORTIONALINTEGRAL") return IfcControllerTypeEnum::IfcControllerType_PROPORTIONALINTEGRAL; - if(s=="PROPORTIONALINTEGRALDERIVATIVE") return IfcControllerTypeEnum::IfcControllerType_PROPORTIONALINTEGRALDERIVATIVE; - if(s=="TIMEDTWOPOSITION") return IfcControllerTypeEnum::IfcControllerType_TIMEDTWOPOSITION; - if(s=="TWOPOSITION") return IfcControllerTypeEnum::IfcControllerType_TWOPOSITION; - if(s=="USERDEFINED") return IfcControllerTypeEnum::IfcControllerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcControllerTypeEnum::IfcControllerType_NOTDEFINED; + if(s=="FLOATING") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_FLOATING; + if(s=="PROPORTIONAL") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_PROPORTIONAL; + if(s=="PROPORTIONALINTEGRAL") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_PROPORTIONALINTEGRAL; + if(s=="PROPORTIONALINTEGRALDERIVATIVE") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_PROPORTIONALINTEGRALDERIVATIVE; + if(s=="TIMEDTWOPOSITION") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_TIMEDTWOPOSITION; + if(s=="TWOPOSITION") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_TWOPOSITION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcControllerTypeEnum::IfcControllerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCooledBeamTypeEnum::ToString(IfcCooledBeamTypeEnum v) { @@ -2580,10 +2580,10 @@ std::string IfcCooledBeamTypeEnum::ToString(IfcCooledBeamTypeEnum v) { return names[v]; } IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamTypeEnum::FromString(const std::string& s) { - if(s=="ACTIVE") return IfcCooledBeamTypeEnum::IfcCooledBeamType_ACTIVE; - if(s=="PASSIVE") return IfcCooledBeamTypeEnum::IfcCooledBeamType_PASSIVE; - if(s=="USERDEFINED") return IfcCooledBeamTypeEnum::IfcCooledBeamType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCooledBeamTypeEnum::IfcCooledBeamType_NOTDEFINED; + if(s=="ACTIVE") return ::Ifc2x3::IfcCooledBeamTypeEnum::IfcCooledBeamType_ACTIVE; + if(s=="PASSIVE") return ::Ifc2x3::IfcCooledBeamTypeEnum::IfcCooledBeamType_PASSIVE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCooledBeamTypeEnum::IfcCooledBeamType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCooledBeamTypeEnum::IfcCooledBeamType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCoolingTowerTypeEnum::ToString(IfcCoolingTowerTypeEnum v) { @@ -2592,11 +2592,11 @@ std::string IfcCoolingTowerTypeEnum::ToString(IfcCoolingTowerTypeEnum v) { return names[v]; } IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerTypeEnum::FromString(const std::string& s) { - if(s=="NATURALDRAFT") return IfcCoolingTowerTypeEnum::IfcCoolingTowerType_NATURALDRAFT; - if(s=="MECHANICALINDUCEDDRAFT") return IfcCoolingTowerTypeEnum::IfcCoolingTowerType_MECHANICALINDUCEDDRAFT; - if(s=="MECHANICALFORCEDDRAFT") return IfcCoolingTowerTypeEnum::IfcCoolingTowerType_MECHANICALFORCEDDRAFT; - if(s=="USERDEFINED") return IfcCoolingTowerTypeEnum::IfcCoolingTowerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCoolingTowerTypeEnum::IfcCoolingTowerType_NOTDEFINED; + if(s=="NATURALDRAFT") return ::Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_NATURALDRAFT; + if(s=="MECHANICALINDUCEDDRAFT") return ::Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_MECHANICALINDUCEDDRAFT; + if(s=="MECHANICALFORCEDDRAFT") return ::Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_MECHANICALFORCEDDRAFT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCostScheduleTypeEnum::ToString(IfcCostScheduleTypeEnum v) { @@ -2605,15 +2605,15 @@ std::string IfcCostScheduleTypeEnum::ToString(IfcCostScheduleTypeEnum v) { return names[v]; } IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostScheduleTypeEnum::FromString(const std::string& s) { - if(s=="BUDGET") return IfcCostScheduleTypeEnum::IfcCostScheduleType_BUDGET; - if(s=="COSTPLAN") return IfcCostScheduleTypeEnum::IfcCostScheduleType_COSTPLAN; - if(s=="ESTIMATE") return IfcCostScheduleTypeEnum::IfcCostScheduleType_ESTIMATE; - if(s=="TENDER") return IfcCostScheduleTypeEnum::IfcCostScheduleType_TENDER; - if(s=="PRICEDBILLOFQUANTITIES") return IfcCostScheduleTypeEnum::IfcCostScheduleType_PRICEDBILLOFQUANTITIES; - if(s=="UNPRICEDBILLOFQUANTITIES") return IfcCostScheduleTypeEnum::IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES; - if(s=="SCHEDULEOFRATES") return IfcCostScheduleTypeEnum::IfcCostScheduleType_SCHEDULEOFRATES; - if(s=="USERDEFINED") return IfcCostScheduleTypeEnum::IfcCostScheduleType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCostScheduleTypeEnum::IfcCostScheduleType_NOTDEFINED; + if(s=="BUDGET") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_BUDGET; + if(s=="COSTPLAN") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_COSTPLAN; + if(s=="ESTIMATE") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_ESTIMATE; + if(s=="TENDER") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_TENDER; + if(s=="PRICEDBILLOFQUANTITIES") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_PRICEDBILLOFQUANTITIES; + if(s=="UNPRICEDBILLOFQUANTITIES") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES; + if(s=="SCHEDULEOFRATES") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_SCHEDULEOFRATES; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCostScheduleTypeEnum::IfcCostScheduleType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCoveringTypeEnum::ToString(IfcCoveringTypeEnum v) { @@ -2622,16 +2622,16 @@ std::string IfcCoveringTypeEnum::ToString(IfcCoveringTypeEnum v) { return names[v]; } IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringTypeEnum::FromString(const std::string& s) { - if(s=="CEILING") return IfcCoveringTypeEnum::IfcCoveringType_CEILING; - if(s=="FLOORING") return IfcCoveringTypeEnum::IfcCoveringType_FLOORING; - if(s=="CLADDING") return IfcCoveringTypeEnum::IfcCoveringType_CLADDING; - if(s=="ROOFING") return IfcCoveringTypeEnum::IfcCoveringType_ROOFING; - if(s=="INSULATION") return IfcCoveringTypeEnum::IfcCoveringType_INSULATION; - if(s=="MEMBRANE") return IfcCoveringTypeEnum::IfcCoveringType_MEMBRANE; - if(s=="SLEEVING") return IfcCoveringTypeEnum::IfcCoveringType_SLEEVING; - if(s=="WRAPPING") return IfcCoveringTypeEnum::IfcCoveringType_WRAPPING; - if(s=="USERDEFINED") return IfcCoveringTypeEnum::IfcCoveringType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCoveringTypeEnum::IfcCoveringType_NOTDEFINED; + if(s=="CEILING") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_CEILING; + if(s=="FLOORING") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_FLOORING; + if(s=="CLADDING") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_CLADDING; + if(s=="ROOFING") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_ROOFING; + if(s=="INSULATION") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_INSULATION; + if(s=="MEMBRANE") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_MEMBRANE; + if(s=="SLEEVING") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_SLEEVING; + if(s=="WRAPPING") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_WRAPPING; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCoveringTypeEnum::IfcCoveringType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCurrencyEnum::ToString(IfcCurrencyEnum v) { @@ -2640,89 +2640,89 @@ std::string IfcCurrencyEnum::ToString(IfcCurrencyEnum v) { return names[v]; } IfcCurrencyEnum::IfcCurrencyEnum IfcCurrencyEnum::FromString(const std::string& s) { - if(s=="AED") return IfcCurrencyEnum::IfcCurrency_AED; - if(s=="AES") return IfcCurrencyEnum::IfcCurrency_AES; - if(s=="ATS") return IfcCurrencyEnum::IfcCurrency_ATS; - if(s=="AUD") return IfcCurrencyEnum::IfcCurrency_AUD; - if(s=="BBD") return IfcCurrencyEnum::IfcCurrency_BBD; - if(s=="BEG") return IfcCurrencyEnum::IfcCurrency_BEG; - if(s=="BGL") return IfcCurrencyEnum::IfcCurrency_BGL; - if(s=="BHD") return IfcCurrencyEnum::IfcCurrency_BHD; - if(s=="BMD") return IfcCurrencyEnum::IfcCurrency_BMD; - if(s=="BND") return IfcCurrencyEnum::IfcCurrency_BND; - if(s=="BRL") return IfcCurrencyEnum::IfcCurrency_BRL; - if(s=="BSD") return IfcCurrencyEnum::IfcCurrency_BSD; - if(s=="BWP") return IfcCurrencyEnum::IfcCurrency_BWP; - if(s=="BZD") return IfcCurrencyEnum::IfcCurrency_BZD; - if(s=="CAD") return IfcCurrencyEnum::IfcCurrency_CAD; - if(s=="CBD") return IfcCurrencyEnum::IfcCurrency_CBD; - if(s=="CHF") return IfcCurrencyEnum::IfcCurrency_CHF; - if(s=="CLP") return IfcCurrencyEnum::IfcCurrency_CLP; - if(s=="CNY") return IfcCurrencyEnum::IfcCurrency_CNY; - if(s=="CYS") return IfcCurrencyEnum::IfcCurrency_CYS; - if(s=="CZK") return IfcCurrencyEnum::IfcCurrency_CZK; - if(s=="DDP") return IfcCurrencyEnum::IfcCurrency_DDP; - if(s=="DEM") return IfcCurrencyEnum::IfcCurrency_DEM; - if(s=="DKK") return IfcCurrencyEnum::IfcCurrency_DKK; - if(s=="EGL") return IfcCurrencyEnum::IfcCurrency_EGL; - if(s=="EST") return IfcCurrencyEnum::IfcCurrency_EST; - if(s=="EUR") return IfcCurrencyEnum::IfcCurrency_EUR; - if(s=="FAK") return IfcCurrencyEnum::IfcCurrency_FAK; - if(s=="FIM") return IfcCurrencyEnum::IfcCurrency_FIM; - if(s=="FJD") return IfcCurrencyEnum::IfcCurrency_FJD; - if(s=="FKP") return IfcCurrencyEnum::IfcCurrency_FKP; - if(s=="FRF") return IfcCurrencyEnum::IfcCurrency_FRF; - if(s=="GBP") return IfcCurrencyEnum::IfcCurrency_GBP; - if(s=="GIP") return IfcCurrencyEnum::IfcCurrency_GIP; - if(s=="GMD") return IfcCurrencyEnum::IfcCurrency_GMD; - if(s=="GRX") return IfcCurrencyEnum::IfcCurrency_GRX; - if(s=="HKD") return IfcCurrencyEnum::IfcCurrency_HKD; - if(s=="HUF") return IfcCurrencyEnum::IfcCurrency_HUF; - if(s=="ICK") return IfcCurrencyEnum::IfcCurrency_ICK; - if(s=="IDR") return IfcCurrencyEnum::IfcCurrency_IDR; - if(s=="ILS") return IfcCurrencyEnum::IfcCurrency_ILS; - if(s=="INR") return IfcCurrencyEnum::IfcCurrency_INR; - if(s=="IRP") return IfcCurrencyEnum::IfcCurrency_IRP; - if(s=="ITL") return IfcCurrencyEnum::IfcCurrency_ITL; - if(s=="JMD") return IfcCurrencyEnum::IfcCurrency_JMD; - if(s=="JOD") return IfcCurrencyEnum::IfcCurrency_JOD; - if(s=="JPY") return IfcCurrencyEnum::IfcCurrency_JPY; - if(s=="KES") return IfcCurrencyEnum::IfcCurrency_KES; - if(s=="KRW") return IfcCurrencyEnum::IfcCurrency_KRW; - if(s=="KWD") return IfcCurrencyEnum::IfcCurrency_KWD; - if(s=="KYD") return IfcCurrencyEnum::IfcCurrency_KYD; - if(s=="LKR") return IfcCurrencyEnum::IfcCurrency_LKR; - if(s=="LUF") return IfcCurrencyEnum::IfcCurrency_LUF; - if(s=="MTL") return IfcCurrencyEnum::IfcCurrency_MTL; - if(s=="MUR") return IfcCurrencyEnum::IfcCurrency_MUR; - if(s=="MXN") return IfcCurrencyEnum::IfcCurrency_MXN; - if(s=="MYR") return IfcCurrencyEnum::IfcCurrency_MYR; - if(s=="NLG") return IfcCurrencyEnum::IfcCurrency_NLG; - if(s=="NZD") return IfcCurrencyEnum::IfcCurrency_NZD; - if(s=="OMR") return IfcCurrencyEnum::IfcCurrency_OMR; - if(s=="PGK") return IfcCurrencyEnum::IfcCurrency_PGK; - if(s=="PHP") return IfcCurrencyEnum::IfcCurrency_PHP; - if(s=="PKR") return IfcCurrencyEnum::IfcCurrency_PKR; - if(s=="PLN") return IfcCurrencyEnum::IfcCurrency_PLN; - if(s=="PTN") return IfcCurrencyEnum::IfcCurrency_PTN; - if(s=="QAR") return IfcCurrencyEnum::IfcCurrency_QAR; - if(s=="RUR") return IfcCurrencyEnum::IfcCurrency_RUR; - if(s=="SAR") return IfcCurrencyEnum::IfcCurrency_SAR; - if(s=="SCR") return IfcCurrencyEnum::IfcCurrency_SCR; - if(s=="SEK") return IfcCurrencyEnum::IfcCurrency_SEK; - if(s=="SGD") return IfcCurrencyEnum::IfcCurrency_SGD; - if(s=="SKP") return IfcCurrencyEnum::IfcCurrency_SKP; - if(s=="THB") return IfcCurrencyEnum::IfcCurrency_THB; - if(s=="TRL") return IfcCurrencyEnum::IfcCurrency_TRL; - if(s=="TTD") return IfcCurrencyEnum::IfcCurrency_TTD; - if(s=="TWD") return IfcCurrencyEnum::IfcCurrency_TWD; - if(s=="USD") return IfcCurrencyEnum::IfcCurrency_USD; - if(s=="VEB") return IfcCurrencyEnum::IfcCurrency_VEB; - if(s=="VND") return IfcCurrencyEnum::IfcCurrency_VND; - if(s=="XEU") return IfcCurrencyEnum::IfcCurrency_XEU; - if(s=="ZAR") return IfcCurrencyEnum::IfcCurrency_ZAR; - if(s=="ZWD") return IfcCurrencyEnum::IfcCurrency_ZWD; - if(s=="NOK") return IfcCurrencyEnum::IfcCurrency_NOK; + if(s=="AED") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_AED; + if(s=="AES") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_AES; + if(s=="ATS") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_ATS; + if(s=="AUD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_AUD; + if(s=="BBD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BBD; + if(s=="BEG") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BEG; + if(s=="BGL") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BGL; + if(s=="BHD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BHD; + if(s=="BMD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BMD; + if(s=="BND") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BND; + if(s=="BRL") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BRL; + if(s=="BSD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BSD; + if(s=="BWP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BWP; + if(s=="BZD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_BZD; + if(s=="CAD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CAD; + if(s=="CBD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CBD; + if(s=="CHF") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CHF; + if(s=="CLP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CLP; + if(s=="CNY") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CNY; + if(s=="CYS") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CYS; + if(s=="CZK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_CZK; + if(s=="DDP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_DDP; + if(s=="DEM") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_DEM; + if(s=="DKK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_DKK; + if(s=="EGL") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_EGL; + if(s=="EST") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_EST; + if(s=="EUR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_EUR; + if(s=="FAK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_FAK; + if(s=="FIM") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_FIM; + if(s=="FJD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_FJD; + if(s=="FKP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_FKP; + if(s=="FRF") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_FRF; + if(s=="GBP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_GBP; + if(s=="GIP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_GIP; + if(s=="GMD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_GMD; + if(s=="GRX") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_GRX; + if(s=="HKD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_HKD; + if(s=="HUF") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_HUF; + if(s=="ICK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_ICK; + if(s=="IDR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_IDR; + if(s=="ILS") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_ILS; + if(s=="INR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_INR; + if(s=="IRP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_IRP; + if(s=="ITL") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_ITL; + if(s=="JMD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_JMD; + if(s=="JOD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_JOD; + if(s=="JPY") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_JPY; + if(s=="KES") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_KES; + if(s=="KRW") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_KRW; + if(s=="KWD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_KWD; + if(s=="KYD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_KYD; + if(s=="LKR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_LKR; + if(s=="LUF") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_LUF; + if(s=="MTL") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_MTL; + if(s=="MUR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_MUR; + if(s=="MXN") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_MXN; + if(s=="MYR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_MYR; + if(s=="NLG") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_NLG; + if(s=="NZD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_NZD; + if(s=="OMR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_OMR; + if(s=="PGK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_PGK; + if(s=="PHP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_PHP; + if(s=="PKR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_PKR; + if(s=="PLN") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_PLN; + if(s=="PTN") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_PTN; + if(s=="QAR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_QAR; + if(s=="RUR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_RUR; + if(s=="SAR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_SAR; + if(s=="SCR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_SCR; + if(s=="SEK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_SEK; + if(s=="SGD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_SGD; + if(s=="SKP") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_SKP; + if(s=="THB") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_THB; + if(s=="TRL") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_TRL; + if(s=="TTD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_TTD; + if(s=="TWD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_TWD; + if(s=="USD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_USD; + if(s=="VEB") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_VEB; + if(s=="VND") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_VND; + if(s=="XEU") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_XEU; + if(s=="ZAR") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_ZAR; + if(s=="ZWD") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_ZWD; + if(s=="NOK") return ::Ifc2x3::IfcCurrencyEnum::IfcCurrency_NOK; throw IfcException("Unable to find find keyword in schema"); } std::string IfcCurtainWallTypeEnum::ToString(IfcCurtainWallTypeEnum v) { @@ -2731,8 +2731,8 @@ std::string IfcCurtainWallTypeEnum::ToString(IfcCurtainWallTypeEnum v) { return names[v]; } IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallTypeEnum::FromString(const std::string& s) { - if(s=="USERDEFINED") return IfcCurtainWallTypeEnum::IfcCurtainWallType_USERDEFINED; - if(s=="NOTDEFINED") return IfcCurtainWallTypeEnum::IfcCurtainWallType_NOTDEFINED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcCurtainWallTypeEnum::IfcCurtainWallType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcCurtainWallTypeEnum::IfcCurtainWallType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDamperTypeEnum::ToString(IfcDamperTypeEnum v) { @@ -2741,19 +2741,19 @@ std::string IfcDamperTypeEnum::ToString(IfcDamperTypeEnum v) { return names[v]; } IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperTypeEnum::FromString(const std::string& s) { - if(s=="CONTROLDAMPER") return IfcDamperTypeEnum::IfcDamperType_CONTROLDAMPER; - if(s=="FIREDAMPER") return IfcDamperTypeEnum::IfcDamperType_FIREDAMPER; - if(s=="SMOKEDAMPER") return IfcDamperTypeEnum::IfcDamperType_SMOKEDAMPER; - if(s=="FIRESMOKEDAMPER") return IfcDamperTypeEnum::IfcDamperType_FIRESMOKEDAMPER; - if(s=="BACKDRAFTDAMPER") return IfcDamperTypeEnum::IfcDamperType_BACKDRAFTDAMPER; - if(s=="RELIEFDAMPER") return IfcDamperTypeEnum::IfcDamperType_RELIEFDAMPER; - if(s=="BLASTDAMPER") return IfcDamperTypeEnum::IfcDamperType_BLASTDAMPER; - if(s=="GRAVITYDAMPER") return IfcDamperTypeEnum::IfcDamperType_GRAVITYDAMPER; - if(s=="GRAVITYRELIEFDAMPER") return IfcDamperTypeEnum::IfcDamperType_GRAVITYRELIEFDAMPER; - if(s=="BALANCINGDAMPER") return IfcDamperTypeEnum::IfcDamperType_BALANCINGDAMPER; - if(s=="FUMEHOODEXHAUST") return IfcDamperTypeEnum::IfcDamperType_FUMEHOODEXHAUST; - if(s=="USERDEFINED") return IfcDamperTypeEnum::IfcDamperType_USERDEFINED; - if(s=="NOTDEFINED") return IfcDamperTypeEnum::IfcDamperType_NOTDEFINED; + if(s=="CONTROLDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_CONTROLDAMPER; + if(s=="FIREDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_FIREDAMPER; + if(s=="SMOKEDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_SMOKEDAMPER; + if(s=="FIRESMOKEDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_FIRESMOKEDAMPER; + if(s=="BACKDRAFTDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_BACKDRAFTDAMPER; + if(s=="RELIEFDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_RELIEFDAMPER; + if(s=="BLASTDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_BLASTDAMPER; + if(s=="GRAVITYDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_GRAVITYDAMPER; + if(s=="GRAVITYRELIEFDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_GRAVITYRELIEFDAMPER; + if(s=="BALANCINGDAMPER") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_BALANCINGDAMPER; + if(s=="FUMEHOODEXHAUST") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_FUMEHOODEXHAUST; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDamperTypeEnum::IfcDamperType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDataOriginEnum::ToString(IfcDataOriginEnum v) { @@ -2762,11 +2762,11 @@ std::string IfcDataOriginEnum::ToString(IfcDataOriginEnum v) { return names[v]; } IfcDataOriginEnum::IfcDataOriginEnum IfcDataOriginEnum::FromString(const std::string& s) { - if(s=="MEASURED") return IfcDataOriginEnum::IfcDataOrigin_MEASURED; - if(s=="PREDICTED") return IfcDataOriginEnum::IfcDataOrigin_PREDICTED; - if(s=="SIMULATED") return IfcDataOriginEnum::IfcDataOrigin_SIMULATED; - if(s=="USERDEFINED") return IfcDataOriginEnum::IfcDataOrigin_USERDEFINED; - if(s=="NOTDEFINED") return IfcDataOriginEnum::IfcDataOrigin_NOTDEFINED; + if(s=="MEASURED") return ::Ifc2x3::IfcDataOriginEnum::IfcDataOrigin_MEASURED; + if(s=="PREDICTED") return ::Ifc2x3::IfcDataOriginEnum::IfcDataOrigin_PREDICTED; + if(s=="SIMULATED") return ::Ifc2x3::IfcDataOriginEnum::IfcDataOrigin_SIMULATED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDataOriginEnum::IfcDataOrigin_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDataOriginEnum::IfcDataOrigin_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDerivedUnitEnum::ToString(IfcDerivedUnitEnum v) { @@ -2775,55 +2775,55 @@ std::string IfcDerivedUnitEnum::ToString(IfcDerivedUnitEnum v) { return names[v]; } IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnitEnum::FromString(const std::string& s) { - if(s=="ANGULARVELOCITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_ANGULARVELOCITYUNIT; - if(s=="COMPOUNDPLANEANGLEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT; - if(s=="DYNAMICVISCOSITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_DYNAMICVISCOSITYUNIT; - if(s=="HEATFLUXDENSITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_HEATFLUXDENSITYUNIT; - if(s=="INTEGERCOUNTRATEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_INTEGERCOUNTRATEUNIT; - if(s=="ISOTHERMALMOISTURECAPACITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT; - if(s=="KINEMATICVISCOSITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_KINEMATICVISCOSITYUNIT; - if(s=="LINEARVELOCITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_LINEARVELOCITYUNIT; - if(s=="MASSDENSITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MASSDENSITYUNIT; - if(s=="MASSFLOWRATEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MASSFLOWRATEUNIT; - if(s=="MOISTUREDIFFUSIVITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT; - if(s=="MOLECULARWEIGHTUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MOLECULARWEIGHTUNIT; - if(s=="SPECIFICHEATCAPACITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT; - if(s=="THERMALADMITTANCEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_THERMALADMITTANCEUNIT; - if(s=="THERMALCONDUCTANCEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_THERMALCONDUCTANCEUNIT; - if(s=="THERMALRESISTANCEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_THERMALRESISTANCEUNIT; - if(s=="THERMALTRANSMITTANCEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_THERMALTRANSMITTANCEUNIT; - if(s=="VAPORPERMEABILITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_VAPORPERMEABILITYUNIT; - if(s=="VOLUMETRICFLOWRATEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT; - if(s=="ROTATIONALFREQUENCYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALFREQUENCYUNIT; - if(s=="TORQUEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_TORQUEUNIT; - if(s=="MOMENTOFINERTIAUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MOMENTOFINERTIAUNIT; - if(s=="LINEARMOMENTUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_LINEARMOMENTUNIT; - if(s=="LINEARFORCEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_LINEARFORCEUNIT; - if(s=="PLANARFORCEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_PLANARFORCEUNIT; - if(s=="MODULUSOFELASTICITYUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFELASTICITYUNIT; - if(s=="SHEARMODULUSUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_SHEARMODULUSUNIT; - if(s=="LINEARSTIFFNESSUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_LINEARSTIFFNESSUNIT; - if(s=="ROTATIONALSTIFFNESSUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT; - if(s=="MODULUSOFSUBGRADEREACTIONUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT; - if(s=="ACCELERATIONUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_ACCELERATIONUNIT; - if(s=="CURVATUREUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_CURVATUREUNIT; - if(s=="HEATINGVALUEUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_HEATINGVALUEUNIT; - if(s=="IONCONCENTRATIONUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_IONCONCENTRATIONUNIT; - if(s=="LUMINOUSINTENSITYDISTRIBUTIONUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT; - if(s=="MASSPERLENGTHUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MASSPERLENGTHUNIT; - if(s=="MODULUSOFLINEARSUBGRADEREACTIONUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT; - if(s=="MODULUSOFROTATIONALSUBGRADEREACTIONUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT; - if(s=="PHUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_PHUNIT; - if(s=="ROTATIONALMASSUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALMASSUNIT; - if(s=="SECTIONAREAINTEGRALUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_SECTIONAREAINTEGRALUNIT; - if(s=="SECTIONMODULUSUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_SECTIONMODULUSUNIT; - if(s=="SOUNDPOWERUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPOWERUNIT; - if(s=="SOUNDPRESSUREUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPRESSUREUNIT; - if(s=="TEMPERATUREGRADIENTUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_TEMPERATUREGRADIENTUNIT; - if(s=="THERMALEXPANSIONCOEFFICIENTUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT; - if(s=="WARPINGCONSTANTUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_WARPINGCONSTANTUNIT; - if(s=="WARPINGMOMENTUNIT") return IfcDerivedUnitEnum::IfcDerivedUnit_WARPINGMOMENTUNIT; - if(s=="USERDEFINED") return IfcDerivedUnitEnum::IfcDerivedUnit_USERDEFINED; + if(s=="ANGULARVELOCITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_ANGULARVELOCITYUNIT; + if(s=="COMPOUNDPLANEANGLEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT; + if(s=="DYNAMICVISCOSITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_DYNAMICVISCOSITYUNIT; + if(s=="HEATFLUXDENSITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_HEATFLUXDENSITYUNIT; + if(s=="INTEGERCOUNTRATEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_INTEGERCOUNTRATEUNIT; + if(s=="ISOTHERMALMOISTURECAPACITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT; + if(s=="KINEMATICVISCOSITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_KINEMATICVISCOSITYUNIT; + if(s=="LINEARVELOCITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARVELOCITYUNIT; + if(s=="MASSDENSITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MASSDENSITYUNIT; + if(s=="MASSFLOWRATEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MASSFLOWRATEUNIT; + if(s=="MOISTUREDIFFUSIVITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT; + if(s=="MOLECULARWEIGHTUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MOLECULARWEIGHTUNIT; + if(s=="SPECIFICHEATCAPACITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT; + if(s=="THERMALADMITTANCEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALADMITTANCEUNIT; + if(s=="THERMALCONDUCTANCEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALCONDUCTANCEUNIT; + if(s=="THERMALRESISTANCEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALRESISTANCEUNIT; + if(s=="THERMALTRANSMITTANCEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALTRANSMITTANCEUNIT; + if(s=="VAPORPERMEABILITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_VAPORPERMEABILITYUNIT; + if(s=="VOLUMETRICFLOWRATEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT; + if(s=="ROTATIONALFREQUENCYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALFREQUENCYUNIT; + if(s=="TORQUEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_TORQUEUNIT; + if(s=="MOMENTOFINERTIAUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MOMENTOFINERTIAUNIT; + if(s=="LINEARMOMENTUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARMOMENTUNIT; + if(s=="LINEARFORCEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARFORCEUNIT; + if(s=="PLANARFORCEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_PLANARFORCEUNIT; + if(s=="MODULUSOFELASTICITYUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFELASTICITYUNIT; + if(s=="SHEARMODULUSUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_SHEARMODULUSUNIT; + if(s=="LINEARSTIFFNESSUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARSTIFFNESSUNIT; + if(s=="ROTATIONALSTIFFNESSUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT; + if(s=="MODULUSOFSUBGRADEREACTIONUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT; + if(s=="ACCELERATIONUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_ACCELERATIONUNIT; + if(s=="CURVATUREUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_CURVATUREUNIT; + if(s=="HEATINGVALUEUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_HEATINGVALUEUNIT; + if(s=="IONCONCENTRATIONUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_IONCONCENTRATIONUNIT; + if(s=="LUMINOUSINTENSITYDISTRIBUTIONUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT; + if(s=="MASSPERLENGTHUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MASSPERLENGTHUNIT; + if(s=="MODULUSOFLINEARSUBGRADEREACTIONUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT; + if(s=="MODULUSOFROTATIONALSUBGRADEREACTIONUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT; + if(s=="PHUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_PHUNIT; + if(s=="ROTATIONALMASSUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALMASSUNIT; + if(s=="SECTIONAREAINTEGRALUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_SECTIONAREAINTEGRALUNIT; + if(s=="SECTIONMODULUSUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_SECTIONMODULUSUNIT; + if(s=="SOUNDPOWERUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPOWERUNIT; + if(s=="SOUNDPRESSUREUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPRESSUREUNIT; + if(s=="TEMPERATUREGRADIENTUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_TEMPERATUREGRADIENTUNIT; + if(s=="THERMALEXPANSIONCOEFFICIENTUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT; + if(s=="WARPINGCONSTANTUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_WARPINGCONSTANTUNIT; + if(s=="WARPINGMOMENTUNIT") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_WARPINGMOMENTUNIT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDerivedUnitEnum::IfcDerivedUnit_USERDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDimensionExtentUsage::ToString(IfcDimensionExtentUsage v) { @@ -2832,8 +2832,8 @@ std::string IfcDimensionExtentUsage::ToString(IfcDimensionExtentUsage v) { return names[v]; } IfcDimensionExtentUsage::IfcDimensionExtentUsage IfcDimensionExtentUsage::FromString(const std::string& s) { - if(s=="ORIGIN") return IfcDimensionExtentUsage::IfcDimensionExtentUsage_ORIGIN; - if(s=="TARGET") return IfcDimensionExtentUsage::IfcDimensionExtentUsage_TARGET; + if(s=="ORIGIN") return ::Ifc2x3::IfcDimensionExtentUsage::IfcDimensionExtentUsage_ORIGIN; + if(s=="TARGET") return ::Ifc2x3::IfcDimensionExtentUsage::IfcDimensionExtentUsage_TARGET; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDirectionSenseEnum::ToString(IfcDirectionSenseEnum v) { @@ -2842,8 +2842,8 @@ std::string IfcDirectionSenseEnum::ToString(IfcDirectionSenseEnum v) { return names[v]; } IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcDirectionSenseEnum::FromString(const std::string& s) { - if(s=="POSITIVE") return IfcDirectionSenseEnum::IfcDirectionSense_POSITIVE; - if(s=="NEGATIVE") return IfcDirectionSenseEnum::IfcDirectionSense_NEGATIVE; + if(s=="POSITIVE") return ::Ifc2x3::IfcDirectionSenseEnum::IfcDirectionSense_POSITIVE; + if(s=="NEGATIVE") return ::Ifc2x3::IfcDirectionSenseEnum::IfcDirectionSense_NEGATIVE; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDistributionChamberElementTypeEnum::ToString(IfcDistributionChamberElementTypeEnum v) { @@ -2852,16 +2852,16 @@ std::string IfcDistributionChamberElementTypeEnum::ToString(IfcDistributionChamb return names[v]; } IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementTypeEnum::FromString(const std::string& s) { - if(s=="FORMEDDUCT") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_FORMEDDUCT; - if(s=="INSPECTIONCHAMBER") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_INSPECTIONCHAMBER; - if(s=="INSPECTIONPIT") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_INSPECTIONPIT; - if(s=="MANHOLE") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_MANHOLE; - if(s=="METERCHAMBER") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_METERCHAMBER; - if(s=="SUMP") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_SUMP; - if(s=="TRENCH") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_TRENCH; - if(s=="VALVECHAMBER") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_VALVECHAMBER; - if(s=="USERDEFINED") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_USERDEFINED; - if(s=="NOTDEFINED") return IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_NOTDEFINED; + if(s=="FORMEDDUCT") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_FORMEDDUCT; + if(s=="INSPECTIONCHAMBER") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_INSPECTIONCHAMBER; + if(s=="INSPECTIONPIT") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_INSPECTIONPIT; + if(s=="MANHOLE") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_MANHOLE; + if(s=="METERCHAMBER") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_METERCHAMBER; + if(s=="SUMP") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_SUMP; + if(s=="TRENCH") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_TRENCH; + if(s=="VALVECHAMBER") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_VALVECHAMBER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDocumentConfidentialityEnum::ToString(IfcDocumentConfidentialityEnum v) { @@ -2870,12 +2870,12 @@ std::string IfcDocumentConfidentialityEnum::ToString(IfcDocumentConfidentialityE return names[v]; } IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum IfcDocumentConfidentialityEnum::FromString(const std::string& s) { - if(s=="PUBLIC") return IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_PUBLIC; - if(s=="RESTRICTED") return IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_RESTRICTED; - if(s=="CONFIDENTIAL") return IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_CONFIDENTIAL; - if(s=="PERSONAL") return IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_PERSONAL; - if(s=="USERDEFINED") return IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_USERDEFINED; - if(s=="NOTDEFINED") return IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_NOTDEFINED; + if(s=="PUBLIC") return ::Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_PUBLIC; + if(s=="RESTRICTED") return ::Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_RESTRICTED; + if(s=="CONFIDENTIAL") return ::Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_CONFIDENTIAL; + if(s=="PERSONAL") return ::Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_PERSONAL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDocumentStatusEnum::ToString(IfcDocumentStatusEnum v) { @@ -2884,11 +2884,11 @@ std::string IfcDocumentStatusEnum::ToString(IfcDocumentStatusEnum v) { return names[v]; } IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentStatusEnum::FromString(const std::string& s) { - if(s=="DRAFT") return IfcDocumentStatusEnum::IfcDocumentStatus_DRAFT; - if(s=="FINALDRAFT") return IfcDocumentStatusEnum::IfcDocumentStatus_FINALDRAFT; - if(s=="FINAL") return IfcDocumentStatusEnum::IfcDocumentStatus_FINAL; - if(s=="REVISION") return IfcDocumentStatusEnum::IfcDocumentStatus_REVISION; - if(s=="NOTDEFINED") return IfcDocumentStatusEnum::IfcDocumentStatus_NOTDEFINED; + if(s=="DRAFT") return ::Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatus_DRAFT; + if(s=="FINALDRAFT") return ::Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatus_FINALDRAFT; + if(s=="FINAL") return ::Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatus_FINAL; + if(s=="REVISION") return ::Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatus_REVISION; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDocumentStatusEnum::IfcDocumentStatus_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDoorPanelOperationEnum::ToString(IfcDoorPanelOperationEnum v) { @@ -2897,14 +2897,14 @@ std::string IfcDoorPanelOperationEnum::ToString(IfcDoorPanelOperationEnum v) { return names[v]; } IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelOperationEnum::FromString(const std::string& s) { - if(s=="SWINGING") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_SWINGING; - if(s=="DOUBLE_ACTING") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_DOUBLE_ACTING; - if(s=="SLIDING") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_SLIDING; - if(s=="FOLDING") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_FOLDING; - if(s=="REVOLVING") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_REVOLVING; - if(s=="ROLLINGUP") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_ROLLINGUP; - if(s=="USERDEFINED") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_USERDEFINED; - if(s=="NOTDEFINED") return IfcDoorPanelOperationEnum::IfcDoorPanelOperation_NOTDEFINED; + if(s=="SWINGING") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_SWINGING; + if(s=="DOUBLE_ACTING") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_DOUBLE_ACTING; + if(s=="SLIDING") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_SLIDING; + if(s=="FOLDING") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_FOLDING; + if(s=="REVOLVING") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_REVOLVING; + if(s=="ROLLINGUP") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_ROLLINGUP; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDoorPanelPositionEnum::ToString(IfcDoorPanelPositionEnum v) { @@ -2913,10 +2913,10 @@ std::string IfcDoorPanelPositionEnum::ToString(IfcDoorPanelPositionEnum v) { return names[v]; } IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelPositionEnum::FromString(const std::string& s) { - if(s=="LEFT") return IfcDoorPanelPositionEnum::IfcDoorPanelPosition_LEFT; - if(s=="MIDDLE") return IfcDoorPanelPositionEnum::IfcDoorPanelPosition_MIDDLE; - if(s=="RIGHT") return IfcDoorPanelPositionEnum::IfcDoorPanelPosition_RIGHT; - if(s=="NOTDEFINED") return IfcDoorPanelPositionEnum::IfcDoorPanelPosition_NOTDEFINED; + if(s=="LEFT") return ::Ifc2x3::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_LEFT; + if(s=="MIDDLE") return ::Ifc2x3::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_MIDDLE; + if(s=="RIGHT") return ::Ifc2x3::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_RIGHT; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDoorStyleConstructionEnum::ToString(IfcDoorStyleConstructionEnum v) { @@ -2925,15 +2925,15 @@ std::string IfcDoorStyleConstructionEnum::ToString(IfcDoorStyleConstructionEnum return names[v]; } IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum IfcDoorStyleConstructionEnum::FromString(const std::string& s) { - if(s=="ALUMINIUM") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM; - if(s=="HIGH_GRADE_STEEL") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_HIGH_GRADE_STEEL; - if(s=="STEEL") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_STEEL; - if(s=="WOOD") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_WOOD; - if(s=="ALUMINIUM_WOOD") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM_WOOD; - if(s=="ALUMINIUM_PLASTIC") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM_PLASTIC; - if(s=="PLASTIC") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_PLASTIC; - if(s=="USERDEFINED") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_USERDEFINED; - if(s=="NOTDEFINED") return IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_NOTDEFINED; + if(s=="ALUMINIUM") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM; + if(s=="HIGH_GRADE_STEEL") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_HIGH_GRADE_STEEL; + if(s=="STEEL") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_STEEL; + if(s=="WOOD") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_WOOD; + if(s=="ALUMINIUM_WOOD") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM_WOOD; + if(s=="ALUMINIUM_PLASTIC") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM_PLASTIC; + if(s=="PLASTIC") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_PLASTIC; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDoorStyleOperationEnum::ToString(IfcDoorStyleOperationEnum v) { @@ -2942,24 +2942,24 @@ std::string IfcDoorStyleOperationEnum::ToString(IfcDoorStyleOperationEnum v) { return names[v]; } IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyleOperationEnum::FromString(const std::string& s) { - if(s=="SINGLE_SWING_LEFT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SINGLE_SWING_LEFT; - if(s=="SINGLE_SWING_RIGHT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SINGLE_SWING_RIGHT; - if(s=="DOUBLE_DOOR_SINGLE_SWING") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING; - if(s=="DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT; - if(s=="DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT; - if(s=="DOUBLE_SWING_LEFT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_SWING_LEFT; - if(s=="DOUBLE_SWING_RIGHT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_SWING_RIGHT; - if(s=="DOUBLE_DOOR_DOUBLE_SWING") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING; - if(s=="SLIDING_TO_LEFT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SLIDING_TO_LEFT; - if(s=="SLIDING_TO_RIGHT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SLIDING_TO_RIGHT; - if(s=="DOUBLE_DOOR_SLIDING") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING; - if(s=="FOLDING_TO_LEFT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_FOLDING_TO_LEFT; - if(s=="FOLDING_TO_RIGHT") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_FOLDING_TO_RIGHT; - if(s=="DOUBLE_DOOR_FOLDING") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING; - if(s=="REVOLVING") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_REVOLVING; - if(s=="ROLLINGUP") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_ROLLINGUP; - if(s=="USERDEFINED") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_USERDEFINED; - if(s=="NOTDEFINED") return IfcDoorStyleOperationEnum::IfcDoorStyleOperation_NOTDEFINED; + if(s=="SINGLE_SWING_LEFT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SINGLE_SWING_LEFT; + if(s=="SINGLE_SWING_RIGHT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SINGLE_SWING_RIGHT; + if(s=="DOUBLE_DOOR_SINGLE_SWING") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING; + if(s=="DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT; + if(s=="DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT; + if(s=="DOUBLE_SWING_LEFT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_SWING_LEFT; + if(s=="DOUBLE_SWING_RIGHT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_SWING_RIGHT; + if(s=="DOUBLE_DOOR_DOUBLE_SWING") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING; + if(s=="SLIDING_TO_LEFT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SLIDING_TO_LEFT; + if(s=="SLIDING_TO_RIGHT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SLIDING_TO_RIGHT; + if(s=="DOUBLE_DOOR_SLIDING") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING; + if(s=="FOLDING_TO_LEFT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_FOLDING_TO_LEFT; + if(s=="FOLDING_TO_RIGHT") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_FOLDING_TO_RIGHT; + if(s=="DOUBLE_DOOR_FOLDING") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING; + if(s=="REVOLVING") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_REVOLVING; + if(s=="ROLLINGUP") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_ROLLINGUP; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDuctFittingTypeEnum::ToString(IfcDuctFittingTypeEnum v) { @@ -2968,15 +2968,15 @@ std::string IfcDuctFittingTypeEnum::ToString(IfcDuctFittingTypeEnum v) { return names[v]; } IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingTypeEnum::FromString(const std::string& s) { - if(s=="BEND") return IfcDuctFittingTypeEnum::IfcDuctFittingType_BEND; - if(s=="CONNECTOR") return IfcDuctFittingTypeEnum::IfcDuctFittingType_CONNECTOR; - if(s=="ENTRY") return IfcDuctFittingTypeEnum::IfcDuctFittingType_ENTRY; - if(s=="EXIT") return IfcDuctFittingTypeEnum::IfcDuctFittingType_EXIT; - if(s=="JUNCTION") return IfcDuctFittingTypeEnum::IfcDuctFittingType_JUNCTION; - if(s=="OBSTRUCTION") return IfcDuctFittingTypeEnum::IfcDuctFittingType_OBSTRUCTION; - if(s=="TRANSITION") return IfcDuctFittingTypeEnum::IfcDuctFittingType_TRANSITION; - if(s=="USERDEFINED") return IfcDuctFittingTypeEnum::IfcDuctFittingType_USERDEFINED; - if(s=="NOTDEFINED") return IfcDuctFittingTypeEnum::IfcDuctFittingType_NOTDEFINED; + if(s=="BEND") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_BEND; + if(s=="CONNECTOR") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_CONNECTOR; + if(s=="ENTRY") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_ENTRY; + if(s=="EXIT") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_EXIT; + if(s=="JUNCTION") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_JUNCTION; + if(s=="OBSTRUCTION") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_OBSTRUCTION; + if(s=="TRANSITION") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_TRANSITION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDuctFittingTypeEnum::IfcDuctFittingType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDuctSegmentTypeEnum::ToString(IfcDuctSegmentTypeEnum v) { @@ -2985,10 +2985,10 @@ std::string IfcDuctSegmentTypeEnum::ToString(IfcDuctSegmentTypeEnum v) { return names[v]; } IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentTypeEnum::FromString(const std::string& s) { - if(s=="RIGIDSEGMENT") return IfcDuctSegmentTypeEnum::IfcDuctSegmentType_RIGIDSEGMENT; - if(s=="FLEXIBLESEGMENT") return IfcDuctSegmentTypeEnum::IfcDuctSegmentType_FLEXIBLESEGMENT; - if(s=="USERDEFINED") return IfcDuctSegmentTypeEnum::IfcDuctSegmentType_USERDEFINED; - if(s=="NOTDEFINED") return IfcDuctSegmentTypeEnum::IfcDuctSegmentType_NOTDEFINED; + if(s=="RIGIDSEGMENT") return ::Ifc2x3::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_RIGIDSEGMENT; + if(s=="FLEXIBLESEGMENT") return ::Ifc2x3::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_FLEXIBLESEGMENT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcDuctSilencerTypeEnum::ToString(IfcDuctSilencerTypeEnum v) { @@ -2997,11 +2997,11 @@ std::string IfcDuctSilencerTypeEnum::ToString(IfcDuctSilencerTypeEnum v) { return names[v]; } IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerTypeEnum::FromString(const std::string& s) { - if(s=="FLATOVAL") return IfcDuctSilencerTypeEnum::IfcDuctSilencerType_FLATOVAL; - if(s=="RECTANGULAR") return IfcDuctSilencerTypeEnum::IfcDuctSilencerType_RECTANGULAR; - if(s=="ROUND") return IfcDuctSilencerTypeEnum::IfcDuctSilencerType_ROUND; - if(s=="USERDEFINED") return IfcDuctSilencerTypeEnum::IfcDuctSilencerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcDuctSilencerTypeEnum::IfcDuctSilencerType_NOTDEFINED; + if(s=="FLATOVAL") return ::Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_FLATOVAL; + if(s=="RECTANGULAR") return ::Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_RECTANGULAR; + if(s=="ROUND") return ::Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_ROUND; + if(s=="USERDEFINED") return ::Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricApplianceTypeEnum::ToString(IfcElectricApplianceTypeEnum v) { @@ -3010,32 +3010,32 @@ std::string IfcElectricApplianceTypeEnum::ToString(IfcElectricApplianceTypeEnum return names[v]; } IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricApplianceTypeEnum::FromString(const std::string& s) { - if(s=="COMPUTER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_COMPUTER; - if(s=="DIRECTWATERHEATER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_DIRECTWATERHEATER; - if(s=="DISHWASHER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_DISHWASHER; - if(s=="ELECTRICCOOKER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_ELECTRICCOOKER; - if(s=="ELECTRICHEATER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_ELECTRICHEATER; - if(s=="FACSIMILE") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FACSIMILE; - if(s=="FREESTANDINGFAN") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREESTANDINGFAN; - if(s=="FREEZER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREEZER; - if(s=="FRIDGE_FREEZER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FRIDGE_FREEZER; - if(s=="HANDDRYER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_HANDDRYER; - if(s=="INDIRECTWATERHEATER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_INDIRECTWATERHEATER; - if(s=="MICROWAVE") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_MICROWAVE; - if(s=="PHOTOCOPIER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_PHOTOCOPIER; - if(s=="PRINTER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_PRINTER; - if(s=="REFRIGERATOR") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_REFRIGERATOR; - if(s=="RADIANTHEATER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_RADIANTHEATER; - if(s=="SCANNER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_SCANNER; - if(s=="TELEPHONE") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TELEPHONE; - if(s=="TUMBLEDRYER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TUMBLEDRYER; - if(s=="TV") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TV; - if(s=="VENDINGMACHINE") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_VENDINGMACHINE; - if(s=="WASHINGMACHINE") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WASHINGMACHINE; - if(s=="WATERHEATER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WATERHEATER; - if(s=="WATERCOOLER") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WATERCOOLER; - if(s=="USERDEFINED") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricApplianceTypeEnum::IfcElectricApplianceType_NOTDEFINED; + if(s=="COMPUTER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_COMPUTER; + if(s=="DIRECTWATERHEATER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_DIRECTWATERHEATER; + if(s=="DISHWASHER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_DISHWASHER; + if(s=="ELECTRICCOOKER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_ELECTRICCOOKER; + if(s=="ELECTRICHEATER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_ELECTRICHEATER; + if(s=="FACSIMILE") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FACSIMILE; + if(s=="FREESTANDINGFAN") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREESTANDINGFAN; + if(s=="FREEZER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREEZER; + if(s=="FRIDGE_FREEZER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FRIDGE_FREEZER; + if(s=="HANDDRYER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_HANDDRYER; + if(s=="INDIRECTWATERHEATER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_INDIRECTWATERHEATER; + if(s=="MICROWAVE") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_MICROWAVE; + if(s=="PHOTOCOPIER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_PHOTOCOPIER; + if(s=="PRINTER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_PRINTER; + if(s=="REFRIGERATOR") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_REFRIGERATOR; + if(s=="RADIANTHEATER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_RADIANTHEATER; + if(s=="SCANNER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_SCANNER; + if(s=="TELEPHONE") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TELEPHONE; + if(s=="TUMBLEDRYER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TUMBLEDRYER; + if(s=="TV") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TV; + if(s=="VENDINGMACHINE") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_VENDINGMACHINE; + if(s=="WASHINGMACHINE") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WASHINGMACHINE; + if(s=="WATERHEATER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WATERHEATER; + if(s=="WATERCOOLER") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WATERCOOLER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricCurrentEnum::ToString(IfcElectricCurrentEnum v) { @@ -3044,9 +3044,9 @@ std::string IfcElectricCurrentEnum::ToString(IfcElectricCurrentEnum v) { return names[v]; } IfcElectricCurrentEnum::IfcElectricCurrentEnum IfcElectricCurrentEnum::FromString(const std::string& s) { - if(s=="ALTERNATING") return IfcElectricCurrentEnum::IfcElectricCurrent_ALTERNATING; - if(s=="DIRECT") return IfcElectricCurrentEnum::IfcElectricCurrent_DIRECT; - if(s=="NOTDEFINED") return IfcElectricCurrentEnum::IfcElectricCurrent_NOTDEFINED; + if(s=="ALTERNATING") return ::Ifc2x3::IfcElectricCurrentEnum::IfcElectricCurrent_ALTERNATING; + if(s=="DIRECT") return ::Ifc2x3::IfcElectricCurrentEnum::IfcElectricCurrent_DIRECT; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricCurrentEnum::IfcElectricCurrent_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricDistributionPointFunctionEnum::ToString(IfcElectricDistributionPointFunctionEnum v) { @@ -3055,17 +3055,17 @@ std::string IfcElectricDistributionPointFunctionEnum::ToString(IfcElectricDistri return names[v]; } IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum IfcElectricDistributionPointFunctionEnum::FromString(const std::string& s) { - if(s=="ALARMPANEL") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_ALARMPANEL; - if(s=="CONSUMERUNIT") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_CONSUMERUNIT; - if(s=="CONTROLPANEL") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_CONTROLPANEL; - if(s=="DISTRIBUTIONBOARD") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_DISTRIBUTIONBOARD; - if(s=="GASDETECTORPANEL") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_GASDETECTORPANEL; - if(s=="INDICATORPANEL") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_INDICATORPANEL; - if(s=="MIMICPANEL") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_MIMICPANEL; - if(s=="MOTORCONTROLCENTRE") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_MOTORCONTROLCENTRE; - if(s=="SWITCHBOARD") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_SWITCHBOARD; - if(s=="USERDEFINED") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_NOTDEFINED; + if(s=="ALARMPANEL") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_ALARMPANEL; + if(s=="CONSUMERUNIT") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_CONSUMERUNIT; + if(s=="CONTROLPANEL") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_CONTROLPANEL; + if(s=="DISTRIBUTIONBOARD") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_DISTRIBUTIONBOARD; + if(s=="GASDETECTORPANEL") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_GASDETECTORPANEL; + if(s=="INDICATORPANEL") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_INDICATORPANEL; + if(s=="MIMICPANEL") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_MIMICPANEL; + if(s=="MOTORCONTROLCENTRE") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_MOTORCONTROLCENTRE; + if(s=="SWITCHBOARD") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_SWITCHBOARD; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunction_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricFlowStorageDeviceTypeEnum::ToString(IfcElectricFlowStorageDeviceTypeEnum v) { @@ -3074,13 +3074,13 @@ std::string IfcElectricFlowStorageDeviceTypeEnum::ToString(IfcElectricFlowStorag return names[v]; } IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceTypeEnum::FromString(const std::string& s) { - if(s=="BATTERY") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_BATTERY; - if(s=="CAPACITORBANK") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_CAPACITORBANK; - if(s=="HARMONICFILTER") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_HARMONICFILTER; - if(s=="INDUCTORBANK") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_INDUCTORBANK; - if(s=="UPS") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_UPS; - if(s=="USERDEFINED") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_NOTDEFINED; + if(s=="BATTERY") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_BATTERY; + if(s=="CAPACITORBANK") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_CAPACITORBANK; + if(s=="HARMONICFILTER") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_HARMONICFILTER; + if(s=="INDUCTORBANK") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_INDUCTORBANK; + if(s=="UPS") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_UPS; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricGeneratorTypeEnum::ToString(IfcElectricGeneratorTypeEnum v) { @@ -3089,8 +3089,8 @@ std::string IfcElectricGeneratorTypeEnum::ToString(IfcElectricGeneratorTypeEnum return names[v]; } IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorTypeEnum::FromString(const std::string& s) { - if(s=="USERDEFINED") return IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_NOTDEFINED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricHeaterTypeEnum::ToString(IfcElectricHeaterTypeEnum v) { @@ -3099,11 +3099,11 @@ std::string IfcElectricHeaterTypeEnum::ToString(IfcElectricHeaterTypeEnum v) { return names[v]; } IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum IfcElectricHeaterTypeEnum::FromString(const std::string& s) { - if(s=="ELECTRICPOINTHEATER") return IfcElectricHeaterTypeEnum::IfcElectricHeaterType_ELECTRICPOINTHEATER; - if(s=="ELECTRICCABLEHEATER") return IfcElectricHeaterTypeEnum::IfcElectricHeaterType_ELECTRICCABLEHEATER; - if(s=="ELECTRICMATHEATER") return IfcElectricHeaterTypeEnum::IfcElectricHeaterType_ELECTRICMATHEATER; - if(s=="USERDEFINED") return IfcElectricHeaterTypeEnum::IfcElectricHeaterType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricHeaterTypeEnum::IfcElectricHeaterType_NOTDEFINED; + if(s=="ELECTRICPOINTHEATER") return ::Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterType_ELECTRICPOINTHEATER; + if(s=="ELECTRICCABLEHEATER") return ::Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterType_ELECTRICCABLEHEATER; + if(s=="ELECTRICMATHEATER") return ::Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterType_ELECTRICMATHEATER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricHeaterTypeEnum::IfcElectricHeaterType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricMotorTypeEnum::ToString(IfcElectricMotorTypeEnum v) { @@ -3112,13 +3112,13 @@ std::string IfcElectricMotorTypeEnum::ToString(IfcElectricMotorTypeEnum v) { return names[v]; } IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorTypeEnum::FromString(const std::string& s) { - if(s=="DC") return IfcElectricMotorTypeEnum::IfcElectricMotorType_DC; - if(s=="INDUCTION") return IfcElectricMotorTypeEnum::IfcElectricMotorType_INDUCTION; - if(s=="POLYPHASE") return IfcElectricMotorTypeEnum::IfcElectricMotorType_POLYPHASE; - if(s=="RELUCTANCESYNCHRONOUS") return IfcElectricMotorTypeEnum::IfcElectricMotorType_RELUCTANCESYNCHRONOUS; - if(s=="SYNCHRONOUS") return IfcElectricMotorTypeEnum::IfcElectricMotorType_SYNCHRONOUS; - if(s=="USERDEFINED") return IfcElectricMotorTypeEnum::IfcElectricMotorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricMotorTypeEnum::IfcElectricMotorType_NOTDEFINED; + if(s=="DC") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_DC; + if(s=="INDUCTION") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_INDUCTION; + if(s=="POLYPHASE") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_POLYPHASE; + if(s=="RELUCTANCESYNCHRONOUS") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_RELUCTANCESYNCHRONOUS; + if(s=="SYNCHRONOUS") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_SYNCHRONOUS; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricMotorTypeEnum::IfcElectricMotorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElectricTimeControlTypeEnum::ToString(IfcElectricTimeControlTypeEnum v) { @@ -3127,11 +3127,11 @@ std::string IfcElectricTimeControlTypeEnum::ToString(IfcElectricTimeControlTypeE return names[v]; } IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlTypeEnum::FromString(const std::string& s) { - if(s=="TIMECLOCK") return IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_TIMECLOCK; - if(s=="TIMEDELAY") return IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_TIMEDELAY; - if(s=="RELAY") return IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_RELAY; - if(s=="USERDEFINED") return IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_NOTDEFINED; + if(s=="TIMECLOCK") return ::Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_TIMECLOCK; + if(s=="TIMEDELAY") return ::Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_TIMEDELAY; + if(s=="RELAY") return ::Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_RELAY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElementAssemblyTypeEnum::ToString(IfcElementAssemblyTypeEnum v) { @@ -3140,17 +3140,17 @@ std::string IfcElementAssemblyTypeEnum::ToString(IfcElementAssemblyTypeEnum v) { return names[v]; } IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssemblyTypeEnum::FromString(const std::string& s) { - if(s=="ACCESSORY_ASSEMBLY") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_ACCESSORY_ASSEMBLY; - if(s=="ARCH") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_ARCH; - if(s=="BEAM_GRID") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_BEAM_GRID; - if(s=="BRACED_FRAME") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_BRACED_FRAME; - if(s=="GIRDER") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_GIRDER; - if(s=="REINFORCEMENT_UNIT") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_REINFORCEMENT_UNIT; - if(s=="RIGID_FRAME") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_RIGID_FRAME; - if(s=="SLAB_FIELD") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_SLAB_FIELD; - if(s=="TRUSS") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_TRUSS; - if(s=="USERDEFINED") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_USERDEFINED; - if(s=="NOTDEFINED") return IfcElementAssemblyTypeEnum::IfcElementAssemblyType_NOTDEFINED; + if(s=="ACCESSORY_ASSEMBLY") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_ACCESSORY_ASSEMBLY; + if(s=="ARCH") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_ARCH; + if(s=="BEAM_GRID") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_BEAM_GRID; + if(s=="BRACED_FRAME") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_BRACED_FRAME; + if(s=="GIRDER") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_GIRDER; + if(s=="REINFORCEMENT_UNIT") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_REINFORCEMENT_UNIT; + if(s=="RIGID_FRAME") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_RIGID_FRAME; + if(s=="SLAB_FIELD") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_SLAB_FIELD; + if(s=="TRUSS") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_TRUSS; + if(s=="USERDEFINED") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcElementCompositionEnum::ToString(IfcElementCompositionEnum v) { @@ -3159,9 +3159,9 @@ std::string IfcElementCompositionEnum::ToString(IfcElementCompositionEnum v) { return names[v]; } IfcElementCompositionEnum::IfcElementCompositionEnum IfcElementCompositionEnum::FromString(const std::string& s) { - if(s=="COMPLEX") return IfcElementCompositionEnum::IfcElementComposition_COMPLEX; - if(s=="ELEMENT") return IfcElementCompositionEnum::IfcElementComposition_ELEMENT; - if(s=="PARTIAL") return IfcElementCompositionEnum::IfcElementComposition_PARTIAL; + if(s=="COMPLEX") return ::Ifc2x3::IfcElementCompositionEnum::IfcElementComposition_COMPLEX; + if(s=="ELEMENT") return ::Ifc2x3::IfcElementCompositionEnum::IfcElementComposition_ELEMENT; + if(s=="PARTIAL") return ::Ifc2x3::IfcElementCompositionEnum::IfcElementComposition_PARTIAL; throw IfcException("Unable to find find keyword in schema"); } std::string IfcEnergySequenceEnum::ToString(IfcEnergySequenceEnum v) { @@ -3170,12 +3170,12 @@ std::string IfcEnergySequenceEnum::ToString(IfcEnergySequenceEnum v) { return names[v]; } IfcEnergySequenceEnum::IfcEnergySequenceEnum IfcEnergySequenceEnum::FromString(const std::string& s) { - if(s=="PRIMARY") return IfcEnergySequenceEnum::IfcEnergySequence_PRIMARY; - if(s=="SECONDARY") return IfcEnergySequenceEnum::IfcEnergySequence_SECONDARY; - if(s=="TERTIARY") return IfcEnergySequenceEnum::IfcEnergySequence_TERTIARY; - if(s=="AUXILIARY") return IfcEnergySequenceEnum::IfcEnergySequence_AUXILIARY; - if(s=="USERDEFINED") return IfcEnergySequenceEnum::IfcEnergySequence_USERDEFINED; - if(s=="NOTDEFINED") return IfcEnergySequenceEnum::IfcEnergySequence_NOTDEFINED; + if(s=="PRIMARY") return ::Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequence_PRIMARY; + if(s=="SECONDARY") return ::Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequence_SECONDARY; + if(s=="TERTIARY") return ::Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequence_TERTIARY; + if(s=="AUXILIARY") return ::Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequence_AUXILIARY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequence_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcEnergySequenceEnum::IfcEnergySequence_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcEnvironmentalImpactCategoryEnum::ToString(IfcEnvironmentalImpactCategoryEnum v) { @@ -3184,14 +3184,14 @@ std::string IfcEnvironmentalImpactCategoryEnum::ToString(IfcEnvironmentalImpactC return names[v]; } IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum IfcEnvironmentalImpactCategoryEnum::FromString(const std::string& s) { - if(s=="COMBINEDVALUE") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_COMBINEDVALUE; - if(s=="DISPOSAL") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_DISPOSAL; - if(s=="EXTRACTION") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_EXTRACTION; - if(s=="INSTALLATION") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_INSTALLATION; - if(s=="MANUFACTURE") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_MANUFACTURE; - if(s=="TRANSPORTATION") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_TRANSPORTATION; - if(s=="USERDEFINED") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_USERDEFINED; - if(s=="NOTDEFINED") return IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_NOTDEFINED; + if(s=="COMBINEDVALUE") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_COMBINEDVALUE; + if(s=="DISPOSAL") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_DISPOSAL; + if(s=="EXTRACTION") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_EXTRACTION; + if(s=="INSTALLATION") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_INSTALLATION; + if(s=="MANUFACTURE") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_MANUFACTURE; + if(s=="TRANSPORTATION") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_TRANSPORTATION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategory_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcEvaporativeCoolerTypeEnum::ToString(IfcEvaporativeCoolerTypeEnum v) { @@ -3200,17 +3200,17 @@ std::string IfcEvaporativeCoolerTypeEnum::ToString(IfcEvaporativeCoolerTypeEnum return names[v]; } IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerTypeEnum::FromString(const std::string& s) { - if(s=="DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER; - if(s=="DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER; - if(s=="DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER; - if(s=="DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER; - if(s=="DIRECTEVAPORATIVEAIRWASHER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER; - if(s=="INDIRECTEVAPORATIVEPACKAGEAIRCOOLER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER; - if(s=="INDIRECTEVAPORATIVEWETCOIL") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL; - if(s=="INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER; - if(s=="INDIRECTDIRECTCOMBINATION") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION; - if(s=="USERDEFINED") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_NOTDEFINED; + if(s=="DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER; + if(s=="DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER; + if(s=="DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER; + if(s=="DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER; + if(s=="DIRECTEVAPORATIVEAIRWASHER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER; + if(s=="INDIRECTEVAPORATIVEPACKAGEAIRCOOLER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER; + if(s=="INDIRECTEVAPORATIVEWETCOIL") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL; + if(s=="INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER; + if(s=="INDIRECTDIRECTCOMBINATION") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcEvaporatorTypeEnum::ToString(IfcEvaporatorTypeEnum v) { @@ -3219,13 +3219,13 @@ std::string IfcEvaporatorTypeEnum::ToString(IfcEvaporatorTypeEnum v) { return names[v]; } IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorTypeEnum::FromString(const std::string& s) { - if(s=="DIRECTEXPANSIONSHELLANDTUBE") return IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE; - if(s=="DIRECTEXPANSIONTUBEINTUBE") return IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE; - if(s=="DIRECTEXPANSIONBRAZEDPLATE") return IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE; - if(s=="FLOODEDSHELLANDTUBE") return IfcEvaporatorTypeEnum::IfcEvaporatorType_FLOODEDSHELLANDTUBE; - if(s=="SHELLANDCOIL") return IfcEvaporatorTypeEnum::IfcEvaporatorType_SHELLANDCOIL; - if(s=="USERDEFINED") return IfcEvaporatorTypeEnum::IfcEvaporatorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcEvaporatorTypeEnum::IfcEvaporatorType_NOTDEFINED; + if(s=="DIRECTEXPANSIONSHELLANDTUBE") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE; + if(s=="DIRECTEXPANSIONTUBEINTUBE") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE; + if(s=="DIRECTEXPANSIONBRAZEDPLATE") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE; + if(s=="FLOODEDSHELLANDTUBE") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_FLOODEDSHELLANDTUBE; + if(s=="SHELLANDCOIL") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_SHELLANDCOIL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcEvaporatorTypeEnum::IfcEvaporatorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFanTypeEnum::ToString(IfcFanTypeEnum v) { @@ -3234,15 +3234,15 @@ std::string IfcFanTypeEnum::ToString(IfcFanTypeEnum v) { return names[v]; } IfcFanTypeEnum::IfcFanTypeEnum IfcFanTypeEnum::FromString(const std::string& s) { - if(s=="CENTRIFUGALFORWARDCURVED") return IfcFanTypeEnum::IfcFanType_CENTRIFUGALFORWARDCURVED; - if(s=="CENTRIFUGALRADIAL") return IfcFanTypeEnum::IfcFanType_CENTRIFUGALRADIAL; - if(s=="CENTRIFUGALBACKWARDINCLINEDCURVED") return IfcFanTypeEnum::IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED; - if(s=="CENTRIFUGALAIRFOIL") return IfcFanTypeEnum::IfcFanType_CENTRIFUGALAIRFOIL; - if(s=="TUBEAXIAL") return IfcFanTypeEnum::IfcFanType_TUBEAXIAL; - if(s=="VANEAXIAL") return IfcFanTypeEnum::IfcFanType_VANEAXIAL; - if(s=="PROPELLORAXIAL") return IfcFanTypeEnum::IfcFanType_PROPELLORAXIAL; - if(s=="USERDEFINED") return IfcFanTypeEnum::IfcFanType_USERDEFINED; - if(s=="NOTDEFINED") return IfcFanTypeEnum::IfcFanType_NOTDEFINED; + if(s=="CENTRIFUGALFORWARDCURVED") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_CENTRIFUGALFORWARDCURVED; + if(s=="CENTRIFUGALRADIAL") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_CENTRIFUGALRADIAL; + if(s=="CENTRIFUGALBACKWARDINCLINEDCURVED") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED; + if(s=="CENTRIFUGALAIRFOIL") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_CENTRIFUGALAIRFOIL; + if(s=="TUBEAXIAL") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_TUBEAXIAL; + if(s=="VANEAXIAL") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_VANEAXIAL; + if(s=="PROPELLORAXIAL") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_PROPELLORAXIAL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFanTypeEnum::IfcFanType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFilterTypeEnum::ToString(IfcFilterTypeEnum v) { @@ -3251,13 +3251,13 @@ std::string IfcFilterTypeEnum::ToString(IfcFilterTypeEnum v) { return names[v]; } IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterTypeEnum::FromString(const std::string& s) { - if(s=="AIRPARTICLEFILTER") return IfcFilterTypeEnum::IfcFilterType_AIRPARTICLEFILTER; - if(s=="ODORFILTER") return IfcFilterTypeEnum::IfcFilterType_ODORFILTER; - if(s=="OILFILTER") return IfcFilterTypeEnum::IfcFilterType_OILFILTER; - if(s=="STRAINER") return IfcFilterTypeEnum::IfcFilterType_STRAINER; - if(s=="WATERFILTER") return IfcFilterTypeEnum::IfcFilterType_WATERFILTER; - if(s=="USERDEFINED") return IfcFilterTypeEnum::IfcFilterType_USERDEFINED; - if(s=="NOTDEFINED") return IfcFilterTypeEnum::IfcFilterType_NOTDEFINED; + if(s=="AIRPARTICLEFILTER") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_AIRPARTICLEFILTER; + if(s=="ODORFILTER") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_ODORFILTER; + if(s=="OILFILTER") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_OILFILTER; + if(s=="STRAINER") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_STRAINER; + if(s=="WATERFILTER") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_WATERFILTER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFilterTypeEnum::IfcFilterType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFireSuppressionTerminalTypeEnum::ToString(IfcFireSuppressionTerminalTypeEnum v) { @@ -3266,13 +3266,13 @@ std::string IfcFireSuppressionTerminalTypeEnum::ToString(IfcFireSuppressionTermi return names[v]; } IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalTypeEnum::FromString(const std::string& s) { - if(s=="BREECHINGINLET") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_BREECHINGINLET; - if(s=="FIREHYDRANT") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_FIREHYDRANT; - if(s=="HOSEREEL") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_HOSEREEL; - if(s=="SPRINKLER") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_SPRINKLER; - if(s=="SPRINKLERDEFLECTOR") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR; - if(s=="USERDEFINED") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_USERDEFINED; - if(s=="NOTDEFINED") return IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_NOTDEFINED; + if(s=="BREECHINGINLET") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_BREECHINGINLET; + if(s=="FIREHYDRANT") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_FIREHYDRANT; + if(s=="HOSEREEL") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_HOSEREEL; + if(s=="SPRINKLER") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_SPRINKLER; + if(s=="SPRINKLERDEFLECTOR") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR; + if(s=="USERDEFINED") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFlowDirectionEnum::ToString(IfcFlowDirectionEnum v) { @@ -3281,10 +3281,10 @@ std::string IfcFlowDirectionEnum::ToString(IfcFlowDirectionEnum v) { return names[v]; } IfcFlowDirectionEnum::IfcFlowDirectionEnum IfcFlowDirectionEnum::FromString(const std::string& s) { - if(s=="SOURCE") return IfcFlowDirectionEnum::IfcFlowDirection_SOURCE; - if(s=="SINK") return IfcFlowDirectionEnum::IfcFlowDirection_SINK; - if(s=="SOURCEANDSINK") return IfcFlowDirectionEnum::IfcFlowDirection_SOURCEANDSINK; - if(s=="NOTDEFINED") return IfcFlowDirectionEnum::IfcFlowDirection_NOTDEFINED; + if(s=="SOURCE") return ::Ifc2x3::IfcFlowDirectionEnum::IfcFlowDirection_SOURCE; + if(s=="SINK") return ::Ifc2x3::IfcFlowDirectionEnum::IfcFlowDirection_SINK; + if(s=="SOURCEANDSINK") return ::Ifc2x3::IfcFlowDirectionEnum::IfcFlowDirection_SOURCEANDSINK; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFlowDirectionEnum::IfcFlowDirection_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFlowInstrumentTypeEnum::ToString(IfcFlowInstrumentTypeEnum v) { @@ -3293,16 +3293,16 @@ std::string IfcFlowInstrumentTypeEnum::ToString(IfcFlowInstrumentTypeEnum v) { return names[v]; } IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentTypeEnum::FromString(const std::string& s) { - if(s=="PRESSUREGAUGE") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_PRESSUREGAUGE; - if(s=="THERMOMETER") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_THERMOMETER; - if(s=="AMMETER") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_AMMETER; - if(s=="FREQUENCYMETER") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_FREQUENCYMETER; - if(s=="POWERFACTORMETER") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_POWERFACTORMETER; - if(s=="PHASEANGLEMETER") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_PHASEANGLEMETER; - if(s=="VOLTMETER_PEAK") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_VOLTMETER_PEAK; - if(s=="VOLTMETER_RMS") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_VOLTMETER_RMS; - if(s=="USERDEFINED") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_USERDEFINED; - if(s=="NOTDEFINED") return IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_NOTDEFINED; + if(s=="PRESSUREGAUGE") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_PRESSUREGAUGE; + if(s=="THERMOMETER") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_THERMOMETER; + if(s=="AMMETER") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_AMMETER; + if(s=="FREQUENCYMETER") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_FREQUENCYMETER; + if(s=="POWERFACTORMETER") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_POWERFACTORMETER; + if(s=="PHASEANGLEMETER") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_PHASEANGLEMETER; + if(s=="VOLTMETER_PEAK") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_VOLTMETER_PEAK; + if(s=="VOLTMETER_RMS") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_VOLTMETER_RMS; + if(s=="USERDEFINED") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFlowMeterTypeEnum::ToString(IfcFlowMeterTypeEnum v) { @@ -3311,14 +3311,14 @@ std::string IfcFlowMeterTypeEnum::ToString(IfcFlowMeterTypeEnum v) { return names[v]; } IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterTypeEnum::FromString(const std::string& s) { - if(s=="ELECTRICMETER") return IfcFlowMeterTypeEnum::IfcFlowMeterType_ELECTRICMETER; - if(s=="ENERGYMETER") return IfcFlowMeterTypeEnum::IfcFlowMeterType_ENERGYMETER; - if(s=="FLOWMETER") return IfcFlowMeterTypeEnum::IfcFlowMeterType_FLOWMETER; - if(s=="GASMETER") return IfcFlowMeterTypeEnum::IfcFlowMeterType_GASMETER; - if(s=="OILMETER") return IfcFlowMeterTypeEnum::IfcFlowMeterType_OILMETER; - if(s=="WATERMETER") return IfcFlowMeterTypeEnum::IfcFlowMeterType_WATERMETER; - if(s=="USERDEFINED") return IfcFlowMeterTypeEnum::IfcFlowMeterType_USERDEFINED; - if(s=="NOTDEFINED") return IfcFlowMeterTypeEnum::IfcFlowMeterType_NOTDEFINED; + if(s=="ELECTRICMETER") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_ELECTRICMETER; + if(s=="ENERGYMETER") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_ENERGYMETER; + if(s=="FLOWMETER") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_FLOWMETER; + if(s=="GASMETER") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_GASMETER; + if(s=="OILMETER") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_OILMETER; + if(s=="WATERMETER") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_WATERMETER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFlowMeterTypeEnum::IfcFlowMeterType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcFootingTypeEnum::ToString(IfcFootingTypeEnum v) { @@ -3327,12 +3327,12 @@ std::string IfcFootingTypeEnum::ToString(IfcFootingTypeEnum v) { return names[v]; } IfcFootingTypeEnum::IfcFootingTypeEnum IfcFootingTypeEnum::FromString(const std::string& s) { - if(s=="FOOTING_BEAM") return IfcFootingTypeEnum::IfcFootingType_FOOTING_BEAM; - if(s=="PAD_FOOTING") return IfcFootingTypeEnum::IfcFootingType_PAD_FOOTING; - if(s=="PILE_CAP") return IfcFootingTypeEnum::IfcFootingType_PILE_CAP; - if(s=="STRIP_FOOTING") return IfcFootingTypeEnum::IfcFootingType_STRIP_FOOTING; - if(s=="USERDEFINED") return IfcFootingTypeEnum::IfcFootingType_USERDEFINED; - if(s=="NOTDEFINED") return IfcFootingTypeEnum::IfcFootingType_NOTDEFINED; + if(s=="FOOTING_BEAM") return ::Ifc2x3::IfcFootingTypeEnum::IfcFootingType_FOOTING_BEAM; + if(s=="PAD_FOOTING") return ::Ifc2x3::IfcFootingTypeEnum::IfcFootingType_PAD_FOOTING; + if(s=="PILE_CAP") return ::Ifc2x3::IfcFootingTypeEnum::IfcFootingType_PILE_CAP; + if(s=="STRIP_FOOTING") return ::Ifc2x3::IfcFootingTypeEnum::IfcFootingType_STRIP_FOOTING; + if(s=="USERDEFINED") return ::Ifc2x3::IfcFootingTypeEnum::IfcFootingType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcFootingTypeEnum::IfcFootingType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcGasTerminalTypeEnum::ToString(IfcGasTerminalTypeEnum v) { @@ -3341,11 +3341,11 @@ std::string IfcGasTerminalTypeEnum::ToString(IfcGasTerminalTypeEnum v) { return names[v]; } IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum IfcGasTerminalTypeEnum::FromString(const std::string& s) { - if(s=="GASAPPLIANCE") return IfcGasTerminalTypeEnum::IfcGasTerminalType_GASAPPLIANCE; - if(s=="GASBOOSTER") return IfcGasTerminalTypeEnum::IfcGasTerminalType_GASBOOSTER; - if(s=="GASBURNER") return IfcGasTerminalTypeEnum::IfcGasTerminalType_GASBURNER; - if(s=="USERDEFINED") return IfcGasTerminalTypeEnum::IfcGasTerminalType_USERDEFINED; - if(s=="NOTDEFINED") return IfcGasTerminalTypeEnum::IfcGasTerminalType_NOTDEFINED; + if(s=="GASAPPLIANCE") return ::Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalType_GASAPPLIANCE; + if(s=="GASBOOSTER") return ::Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalType_GASBOOSTER; + if(s=="GASBURNER") return ::Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalType_GASBURNER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcGasTerminalTypeEnum::IfcGasTerminalType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcGeometricProjectionEnum::ToString(IfcGeometricProjectionEnum v) { @@ -3354,15 +3354,15 @@ std::string IfcGeometricProjectionEnum::ToString(IfcGeometricProjectionEnum v) { return names[v]; } IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricProjectionEnum::FromString(const std::string& s) { - if(s=="GRAPH_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_GRAPH_VIEW; - if(s=="SKETCH_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_SKETCH_VIEW; - if(s=="MODEL_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_MODEL_VIEW; - if(s=="PLAN_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_PLAN_VIEW; - if(s=="REFLECTED_PLAN_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_REFLECTED_PLAN_VIEW; - if(s=="SECTION_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_SECTION_VIEW; - if(s=="ELEVATION_VIEW") return IfcGeometricProjectionEnum::IfcGeometricProjection_ELEVATION_VIEW; - if(s=="USERDEFINED") return IfcGeometricProjectionEnum::IfcGeometricProjection_USERDEFINED; - if(s=="NOTDEFINED") return IfcGeometricProjectionEnum::IfcGeometricProjection_NOTDEFINED; + if(s=="GRAPH_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_GRAPH_VIEW; + if(s=="SKETCH_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_SKETCH_VIEW; + if(s=="MODEL_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_MODEL_VIEW; + if(s=="PLAN_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_PLAN_VIEW; + if(s=="REFLECTED_PLAN_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_REFLECTED_PLAN_VIEW; + if(s=="SECTION_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_SECTION_VIEW; + if(s=="ELEVATION_VIEW") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_ELEVATION_VIEW; + if(s=="USERDEFINED") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcGeometricProjectionEnum::IfcGeometricProjection_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcGlobalOrLocalEnum::ToString(IfcGlobalOrLocalEnum v) { @@ -3371,8 +3371,8 @@ std::string IfcGlobalOrLocalEnum::ToString(IfcGlobalOrLocalEnum v) { return names[v]; } IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcGlobalOrLocalEnum::FromString(const std::string& s) { - if(s=="GLOBAL_COORDS") return IfcGlobalOrLocalEnum::IfcGlobalOrLocal_GLOBAL_COORDS; - if(s=="LOCAL_COORDS") return IfcGlobalOrLocalEnum::IfcGlobalOrLocal_LOCAL_COORDS; + if(s=="GLOBAL_COORDS") return ::Ifc2x3::IfcGlobalOrLocalEnum::IfcGlobalOrLocal_GLOBAL_COORDS; + if(s=="LOCAL_COORDS") return ::Ifc2x3::IfcGlobalOrLocalEnum::IfcGlobalOrLocal_LOCAL_COORDS; throw IfcException("Unable to find find keyword in schema"); } std::string IfcHeatExchangerTypeEnum::ToString(IfcHeatExchangerTypeEnum v) { @@ -3381,10 +3381,10 @@ std::string IfcHeatExchangerTypeEnum::ToString(IfcHeatExchangerTypeEnum v) { return names[v]; } IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchangerTypeEnum::FromString(const std::string& s) { - if(s=="PLATE") return IfcHeatExchangerTypeEnum::IfcHeatExchangerType_PLATE; - if(s=="SHELLANDTUBE") return IfcHeatExchangerTypeEnum::IfcHeatExchangerType_SHELLANDTUBE; - if(s=="USERDEFINED") return IfcHeatExchangerTypeEnum::IfcHeatExchangerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcHeatExchangerTypeEnum::IfcHeatExchangerType_NOTDEFINED; + if(s=="PLATE") return ::Ifc2x3::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_PLATE; + if(s=="SHELLANDTUBE") return ::Ifc2x3::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_SHELLANDTUBE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcHumidifierTypeEnum::ToString(IfcHumidifierTypeEnum v) { @@ -3393,21 +3393,21 @@ std::string IfcHumidifierTypeEnum::ToString(IfcHumidifierTypeEnum v) { return names[v]; } IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierTypeEnum::FromString(const std::string& s) { - if(s=="STEAMINJECTION") return IfcHumidifierTypeEnum::IfcHumidifierType_STEAMINJECTION; - if(s=="ADIABATICAIRWASHER") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICAIRWASHER; - if(s=="ADIABATICPAN") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICPAN; - if(s=="ADIABATICWETTEDELEMENT") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICWETTEDELEMENT; - if(s=="ADIABATICATOMIZING") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICATOMIZING; - if(s=="ADIABATICULTRASONIC") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICULTRASONIC; - if(s=="ADIABATICRIGIDMEDIA") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICRIGIDMEDIA; - if(s=="ADIABATICCOMPRESSEDAIRNOZZLE") return IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE; - if(s=="ASSISTEDELECTRIC") return IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDELECTRIC; - if(s=="ASSISTEDNATURALGAS") return IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDNATURALGAS; - if(s=="ASSISTEDPROPANE") return IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDPROPANE; - if(s=="ASSISTEDBUTANE") return IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDBUTANE; - if(s=="ASSISTEDSTEAM") return IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDSTEAM; - if(s=="USERDEFINED") return IfcHumidifierTypeEnum::IfcHumidifierType_USERDEFINED; - if(s=="NOTDEFINED") return IfcHumidifierTypeEnum::IfcHumidifierType_NOTDEFINED; + if(s=="STEAMINJECTION") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_STEAMINJECTION; + if(s=="ADIABATICAIRWASHER") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICAIRWASHER; + if(s=="ADIABATICPAN") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICPAN; + if(s=="ADIABATICWETTEDELEMENT") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICWETTEDELEMENT; + if(s=="ADIABATICATOMIZING") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICATOMIZING; + if(s=="ADIABATICULTRASONIC") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICULTRASONIC; + if(s=="ADIABATICRIGIDMEDIA") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICRIGIDMEDIA; + if(s=="ADIABATICCOMPRESSEDAIRNOZZLE") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE; + if(s=="ASSISTEDELECTRIC") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDELECTRIC; + if(s=="ASSISTEDNATURALGAS") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDNATURALGAS; + if(s=="ASSISTEDPROPANE") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDPROPANE; + if(s=="ASSISTEDBUTANE") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDBUTANE; + if(s=="ASSISTEDSTEAM") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDSTEAM; + if(s=="USERDEFINED") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcHumidifierTypeEnum::IfcHumidifierType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcInternalOrExternalEnum::ToString(IfcInternalOrExternalEnum v) { @@ -3416,9 +3416,9 @@ std::string IfcInternalOrExternalEnum::ToString(IfcInternalOrExternalEnum v) { return names[v]; } IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcInternalOrExternalEnum::FromString(const std::string& s) { - if(s=="INTERNAL") return IfcInternalOrExternalEnum::IfcInternalOrExternal_INTERNAL; - if(s=="EXTERNAL") return IfcInternalOrExternalEnum::IfcInternalOrExternal_EXTERNAL; - if(s=="NOTDEFINED") return IfcInternalOrExternalEnum::IfcInternalOrExternal_NOTDEFINED; + if(s=="INTERNAL") return ::Ifc2x3::IfcInternalOrExternalEnum::IfcInternalOrExternal_INTERNAL; + if(s=="EXTERNAL") return ::Ifc2x3::IfcInternalOrExternalEnum::IfcInternalOrExternal_EXTERNAL; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcInternalOrExternalEnum::IfcInternalOrExternal_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcInventoryTypeEnum::ToString(IfcInventoryTypeEnum v) { @@ -3427,11 +3427,11 @@ std::string IfcInventoryTypeEnum::ToString(IfcInventoryTypeEnum v) { return names[v]; } IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventoryTypeEnum::FromString(const std::string& s) { - if(s=="ASSETINVENTORY") return IfcInventoryTypeEnum::IfcInventoryType_ASSETINVENTORY; - if(s=="SPACEINVENTORY") return IfcInventoryTypeEnum::IfcInventoryType_SPACEINVENTORY; - if(s=="FURNITUREINVENTORY") return IfcInventoryTypeEnum::IfcInventoryType_FURNITUREINVENTORY; - if(s=="USERDEFINED") return IfcInventoryTypeEnum::IfcInventoryType_USERDEFINED; - if(s=="NOTDEFINED") return IfcInventoryTypeEnum::IfcInventoryType_NOTDEFINED; + if(s=="ASSETINVENTORY") return ::Ifc2x3::IfcInventoryTypeEnum::IfcInventoryType_ASSETINVENTORY; + if(s=="SPACEINVENTORY") return ::Ifc2x3::IfcInventoryTypeEnum::IfcInventoryType_SPACEINVENTORY; + if(s=="FURNITUREINVENTORY") return ::Ifc2x3::IfcInventoryTypeEnum::IfcInventoryType_FURNITUREINVENTORY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcInventoryTypeEnum::IfcInventoryType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcInventoryTypeEnum::IfcInventoryType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcJunctionBoxTypeEnum::ToString(IfcJunctionBoxTypeEnum v) { @@ -3440,8 +3440,8 @@ std::string IfcJunctionBoxTypeEnum::ToString(IfcJunctionBoxTypeEnum v) { return names[v]; } IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxTypeEnum::FromString(const std::string& s) { - if(s=="USERDEFINED") return IfcJunctionBoxTypeEnum::IfcJunctionBoxType_USERDEFINED; - if(s=="NOTDEFINED") return IfcJunctionBoxTypeEnum::IfcJunctionBoxType_NOTDEFINED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcJunctionBoxTypeEnum::IfcJunctionBoxType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcJunctionBoxTypeEnum::IfcJunctionBoxType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLampTypeEnum::ToString(IfcLampTypeEnum v) { @@ -3450,14 +3450,14 @@ std::string IfcLampTypeEnum::ToString(IfcLampTypeEnum v) { return names[v]; } IfcLampTypeEnum::IfcLampTypeEnum IfcLampTypeEnum::FromString(const std::string& s) { - if(s=="COMPACTFLUORESCENT") return IfcLampTypeEnum::IfcLampType_COMPACTFLUORESCENT; - if(s=="FLUORESCENT") return IfcLampTypeEnum::IfcLampType_FLUORESCENT; - if(s=="HIGHPRESSUREMERCURY") return IfcLampTypeEnum::IfcLampType_HIGHPRESSUREMERCURY; - if(s=="HIGHPRESSURESODIUM") return IfcLampTypeEnum::IfcLampType_HIGHPRESSURESODIUM; - if(s=="METALHALIDE") return IfcLampTypeEnum::IfcLampType_METALHALIDE; - if(s=="TUNGSTENFILAMENT") return IfcLampTypeEnum::IfcLampType_TUNGSTENFILAMENT; - if(s=="USERDEFINED") return IfcLampTypeEnum::IfcLampType_USERDEFINED; - if(s=="NOTDEFINED") return IfcLampTypeEnum::IfcLampType_NOTDEFINED; + if(s=="COMPACTFLUORESCENT") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_COMPACTFLUORESCENT; + if(s=="FLUORESCENT") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_FLUORESCENT; + if(s=="HIGHPRESSUREMERCURY") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_HIGHPRESSUREMERCURY; + if(s=="HIGHPRESSURESODIUM") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_HIGHPRESSURESODIUM; + if(s=="METALHALIDE") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_METALHALIDE; + if(s=="TUNGSTENFILAMENT") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_TUNGSTENFILAMENT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcLampTypeEnum::IfcLampType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLayerSetDirectionEnum::ToString(IfcLayerSetDirectionEnum v) { @@ -3466,9 +3466,9 @@ std::string IfcLayerSetDirectionEnum::ToString(IfcLayerSetDirectionEnum v) { return names[v]; } IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcLayerSetDirectionEnum::FromString(const std::string& s) { - if(s=="AXIS1") return IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS1; - if(s=="AXIS2") return IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS2; - if(s=="AXIS3") return IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS3; + if(s=="AXIS1") return ::Ifc2x3::IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS1; + if(s=="AXIS2") return ::Ifc2x3::IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS2; + if(s=="AXIS3") return ::Ifc2x3::IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS3; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLightDistributionCurveEnum::ToString(IfcLightDistributionCurveEnum v) { @@ -3477,10 +3477,10 @@ std::string IfcLightDistributionCurveEnum::ToString(IfcLightDistributionCurveEnu return names[v]; } IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightDistributionCurveEnum::FromString(const std::string& s) { - if(s=="TYPE_A") return IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_A; - if(s=="TYPE_B") return IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_B; - if(s=="TYPE_C") return IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_C; - if(s=="NOTDEFINED") return IfcLightDistributionCurveEnum::IfcLightDistributionCurve_NOTDEFINED; + if(s=="TYPE_A") return ::Ifc2x3::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_A; + if(s=="TYPE_B") return ::Ifc2x3::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_B; + if(s=="TYPE_C") return ::Ifc2x3::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_C; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLightEmissionSourceEnum::ToString(IfcLightEmissionSourceEnum v) { @@ -3489,17 +3489,17 @@ std::string IfcLightEmissionSourceEnum::ToString(IfcLightEmissionSourceEnum v) { return names[v]; } IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightEmissionSourceEnum::FromString(const std::string& s) { - if(s=="COMPACTFLUORESCENT") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_COMPACTFLUORESCENT; - if(s=="FLUORESCENT") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_FLUORESCENT; - if(s=="HIGHPRESSUREMERCURY") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_HIGHPRESSUREMERCURY; - if(s=="HIGHPRESSURESODIUM") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_HIGHPRESSURESODIUM; - if(s=="LIGHTEMITTINGDIODE") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_LIGHTEMITTINGDIODE; - if(s=="LOWPRESSURESODIUM") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_LOWPRESSURESODIUM; - if(s=="LOWVOLTAGEHALOGEN") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_LOWVOLTAGEHALOGEN; - if(s=="MAINVOLTAGEHALOGEN") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_MAINVOLTAGEHALOGEN; - if(s=="METALHALIDE") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_METALHALIDE; - if(s=="TUNGSTENFILAMENT") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_TUNGSTENFILAMENT; - if(s=="NOTDEFINED") return IfcLightEmissionSourceEnum::IfcLightEmissionSource_NOTDEFINED; + if(s=="COMPACTFLUORESCENT") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_COMPACTFLUORESCENT; + if(s=="FLUORESCENT") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_FLUORESCENT; + if(s=="HIGHPRESSUREMERCURY") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_HIGHPRESSUREMERCURY; + if(s=="HIGHPRESSURESODIUM") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_HIGHPRESSURESODIUM; + if(s=="LIGHTEMITTINGDIODE") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_LIGHTEMITTINGDIODE; + if(s=="LOWPRESSURESODIUM") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_LOWPRESSURESODIUM; + if(s=="LOWVOLTAGEHALOGEN") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_LOWVOLTAGEHALOGEN; + if(s=="MAINVOLTAGEHALOGEN") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_MAINVOLTAGEHALOGEN; + if(s=="METALHALIDE") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_METALHALIDE; + if(s=="TUNGSTENFILAMENT") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_TUNGSTENFILAMENT; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcLightEmissionSourceEnum::IfcLightEmissionSource_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLightFixtureTypeEnum::ToString(IfcLightFixtureTypeEnum v) { @@ -3508,10 +3508,10 @@ std::string IfcLightFixtureTypeEnum::ToString(IfcLightFixtureTypeEnum v) { return names[v]; } IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureTypeEnum::FromString(const std::string& s) { - if(s=="POINTSOURCE") return IfcLightFixtureTypeEnum::IfcLightFixtureType_POINTSOURCE; - if(s=="DIRECTIONSOURCE") return IfcLightFixtureTypeEnum::IfcLightFixtureType_DIRECTIONSOURCE; - if(s=="USERDEFINED") return IfcLightFixtureTypeEnum::IfcLightFixtureType_USERDEFINED; - if(s=="NOTDEFINED") return IfcLightFixtureTypeEnum::IfcLightFixtureType_NOTDEFINED; + if(s=="POINTSOURCE") return ::Ifc2x3::IfcLightFixtureTypeEnum::IfcLightFixtureType_POINTSOURCE; + if(s=="DIRECTIONSOURCE") return ::Ifc2x3::IfcLightFixtureTypeEnum::IfcLightFixtureType_DIRECTIONSOURCE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcLightFixtureTypeEnum::IfcLightFixtureType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcLightFixtureTypeEnum::IfcLightFixtureType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLoadGroupTypeEnum::ToString(IfcLoadGroupTypeEnum v) { @@ -3520,12 +3520,12 @@ std::string IfcLoadGroupTypeEnum::ToString(IfcLoadGroupTypeEnum v) { return names[v]; } IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcLoadGroupTypeEnum::FromString(const std::string& s) { - if(s=="LOAD_GROUP") return IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_GROUP; - if(s=="LOAD_CASE") return IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_CASE; - if(s=="LOAD_COMBINATION_GROUP") return IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_COMBINATION_GROUP; - if(s=="LOAD_COMBINATION") return IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_COMBINATION; - if(s=="USERDEFINED") return IfcLoadGroupTypeEnum::IfcLoadGroupType_USERDEFINED; - if(s=="NOTDEFINED") return IfcLoadGroupTypeEnum::IfcLoadGroupType_NOTDEFINED; + if(s=="LOAD_GROUP") return ::Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_GROUP; + if(s=="LOAD_CASE") return ::Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_CASE; + if(s=="LOAD_COMBINATION_GROUP") return ::Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_COMBINATION_GROUP; + if(s=="LOAD_COMBINATION") return ::Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_COMBINATION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcLoadGroupTypeEnum::IfcLoadGroupType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcLogicalOperatorEnum::ToString(IfcLogicalOperatorEnum v) { @@ -3534,8 +3534,8 @@ std::string IfcLogicalOperatorEnum::ToString(IfcLogicalOperatorEnum v) { return names[v]; } IfcLogicalOperatorEnum::IfcLogicalOperatorEnum IfcLogicalOperatorEnum::FromString(const std::string& s) { - if(s=="LOGICALAND") return IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALAND; - if(s=="LOGICALOR") return IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALOR; + if(s=="LOGICALAND") return ::Ifc2x3::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALAND; + if(s=="LOGICALOR") return ::Ifc2x3::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALOR; throw IfcException("Unable to find find keyword in schema"); } std::string IfcMemberTypeEnum::ToString(IfcMemberTypeEnum v) { @@ -3544,20 +3544,20 @@ std::string IfcMemberTypeEnum::ToString(IfcMemberTypeEnum v) { return names[v]; } IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberTypeEnum::FromString(const std::string& s) { - if(s=="BRACE") return IfcMemberTypeEnum::IfcMemberType_BRACE; - if(s=="CHORD") return IfcMemberTypeEnum::IfcMemberType_CHORD; - if(s=="COLLAR") return IfcMemberTypeEnum::IfcMemberType_COLLAR; - if(s=="MEMBER") return IfcMemberTypeEnum::IfcMemberType_MEMBER; - if(s=="MULLION") return IfcMemberTypeEnum::IfcMemberType_MULLION; - if(s=="PLATE") return IfcMemberTypeEnum::IfcMemberType_PLATE; - if(s=="POST") return IfcMemberTypeEnum::IfcMemberType_POST; - if(s=="PURLIN") return IfcMemberTypeEnum::IfcMemberType_PURLIN; - if(s=="RAFTER") return IfcMemberTypeEnum::IfcMemberType_RAFTER; - if(s=="STRINGER") return IfcMemberTypeEnum::IfcMemberType_STRINGER; - if(s=="STRUT") return IfcMemberTypeEnum::IfcMemberType_STRUT; - if(s=="STUD") return IfcMemberTypeEnum::IfcMemberType_STUD; - if(s=="USERDEFINED") return IfcMemberTypeEnum::IfcMemberType_USERDEFINED; - if(s=="NOTDEFINED") return IfcMemberTypeEnum::IfcMemberType_NOTDEFINED; + if(s=="BRACE") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_BRACE; + if(s=="CHORD") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_CHORD; + if(s=="COLLAR") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_COLLAR; + if(s=="MEMBER") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_MEMBER; + if(s=="MULLION") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_MULLION; + if(s=="PLATE") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_PLATE; + if(s=="POST") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_POST; + if(s=="PURLIN") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_PURLIN; + if(s=="RAFTER") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_RAFTER; + if(s=="STRINGER") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_STRINGER; + if(s=="STRUT") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_STRUT; + if(s=="STUD") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_STUD; + if(s=="USERDEFINED") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcMemberTypeEnum::IfcMemberType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcMotorConnectionTypeEnum::ToString(IfcMotorConnectionTypeEnum v) { @@ -3566,11 +3566,11 @@ std::string IfcMotorConnectionTypeEnum::ToString(IfcMotorConnectionTypeEnum v) { return names[v]; } IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnectionTypeEnum::FromString(const std::string& s) { - if(s=="BELTDRIVE") return IfcMotorConnectionTypeEnum::IfcMotorConnectionType_BELTDRIVE; - if(s=="COUPLING") return IfcMotorConnectionTypeEnum::IfcMotorConnectionType_COUPLING; - if(s=="DIRECTDRIVE") return IfcMotorConnectionTypeEnum::IfcMotorConnectionType_DIRECTDRIVE; - if(s=="USERDEFINED") return IfcMotorConnectionTypeEnum::IfcMotorConnectionType_USERDEFINED; - if(s=="NOTDEFINED") return IfcMotorConnectionTypeEnum::IfcMotorConnectionType_NOTDEFINED; + if(s=="BELTDRIVE") return ::Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_BELTDRIVE; + if(s=="COUPLING") return ::Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_COUPLING; + if(s=="DIRECTDRIVE") return ::Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_DIRECTDRIVE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcNullStyle::ToString(IfcNullStyle v) { @@ -3579,7 +3579,7 @@ std::string IfcNullStyle::ToString(IfcNullStyle v) { return names[v]; } IfcNullStyle::IfcNullStyle IfcNullStyle::FromString(const std::string& s) { - if(s=="NULL") return IfcNullStyle::IfcNullStyle_NULL; + if(s=="NULL") return ::Ifc2x3::IfcNullStyle::IfcNullStyle_NULL; throw IfcException("Unable to find find keyword in schema"); } std::string IfcObjectTypeEnum::ToString(IfcObjectTypeEnum v) { @@ -3588,14 +3588,14 @@ std::string IfcObjectTypeEnum::ToString(IfcObjectTypeEnum v) { return names[v]; } IfcObjectTypeEnum::IfcObjectTypeEnum IfcObjectTypeEnum::FromString(const std::string& s) { - if(s=="PRODUCT") return IfcObjectTypeEnum::IfcObjectType_PRODUCT; - if(s=="PROCESS") return IfcObjectTypeEnum::IfcObjectType_PROCESS; - if(s=="CONTROL") return IfcObjectTypeEnum::IfcObjectType_CONTROL; - if(s=="RESOURCE") return IfcObjectTypeEnum::IfcObjectType_RESOURCE; - if(s=="ACTOR") return IfcObjectTypeEnum::IfcObjectType_ACTOR; - if(s=="GROUP") return IfcObjectTypeEnum::IfcObjectType_GROUP; - if(s=="PROJECT") return IfcObjectTypeEnum::IfcObjectType_PROJECT; - if(s=="NOTDEFINED") return IfcObjectTypeEnum::IfcObjectType_NOTDEFINED; + if(s=="PRODUCT") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_PRODUCT; + if(s=="PROCESS") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_PROCESS; + if(s=="CONTROL") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_CONTROL; + if(s=="RESOURCE") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_RESOURCE; + if(s=="ACTOR") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_ACTOR; + if(s=="GROUP") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_GROUP; + if(s=="PROJECT") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_PROJECT; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcObjectTypeEnum::IfcObjectType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcObjectiveEnum::ToString(IfcObjectiveEnum v) { @@ -3604,14 +3604,14 @@ std::string IfcObjectiveEnum::ToString(IfcObjectiveEnum v) { return names[v]; } IfcObjectiveEnum::IfcObjectiveEnum IfcObjectiveEnum::FromString(const std::string& s) { - if(s=="CODECOMPLIANCE") return IfcObjectiveEnum::IfcObjective_CODECOMPLIANCE; - if(s=="DESIGNINTENT") return IfcObjectiveEnum::IfcObjective_DESIGNINTENT; - if(s=="HEALTHANDSAFETY") return IfcObjectiveEnum::IfcObjective_HEALTHANDSAFETY; - if(s=="REQUIREMENT") return IfcObjectiveEnum::IfcObjective_REQUIREMENT; - if(s=="SPECIFICATION") return IfcObjectiveEnum::IfcObjective_SPECIFICATION; - if(s=="TRIGGERCONDITION") return IfcObjectiveEnum::IfcObjective_TRIGGERCONDITION; - if(s=="USERDEFINED") return IfcObjectiveEnum::IfcObjective_USERDEFINED; - if(s=="NOTDEFINED") return IfcObjectiveEnum::IfcObjective_NOTDEFINED; + if(s=="CODECOMPLIANCE") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_CODECOMPLIANCE; + if(s=="DESIGNINTENT") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_DESIGNINTENT; + if(s=="HEALTHANDSAFETY") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_HEALTHANDSAFETY; + if(s=="REQUIREMENT") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_REQUIREMENT; + if(s=="SPECIFICATION") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_SPECIFICATION; + if(s=="TRIGGERCONDITION") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_TRIGGERCONDITION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcObjectiveEnum::IfcObjective_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcOccupantTypeEnum::ToString(IfcOccupantTypeEnum v) { @@ -3620,15 +3620,15 @@ std::string IfcOccupantTypeEnum::ToString(IfcOccupantTypeEnum v) { return names[v]; } IfcOccupantTypeEnum::IfcOccupantTypeEnum IfcOccupantTypeEnum::FromString(const std::string& s) { - if(s=="ASSIGNEE") return IfcOccupantTypeEnum::IfcOccupantType_ASSIGNEE; - if(s=="ASSIGNOR") return IfcOccupantTypeEnum::IfcOccupantType_ASSIGNOR; - if(s=="LESSEE") return IfcOccupantTypeEnum::IfcOccupantType_LESSEE; - if(s=="LESSOR") return IfcOccupantTypeEnum::IfcOccupantType_LESSOR; - if(s=="LETTINGAGENT") return IfcOccupantTypeEnum::IfcOccupantType_LETTINGAGENT; - if(s=="OWNER") return IfcOccupantTypeEnum::IfcOccupantType_OWNER; - if(s=="TENANT") return IfcOccupantTypeEnum::IfcOccupantType_TENANT; - if(s=="USERDEFINED") return IfcOccupantTypeEnum::IfcOccupantType_USERDEFINED; - if(s=="NOTDEFINED") return IfcOccupantTypeEnum::IfcOccupantType_NOTDEFINED; + if(s=="ASSIGNEE") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_ASSIGNEE; + if(s=="ASSIGNOR") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_ASSIGNOR; + if(s=="LESSEE") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_LESSEE; + if(s=="LESSOR") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_LESSOR; + if(s=="LETTINGAGENT") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_LETTINGAGENT; + if(s=="OWNER") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_OWNER; + if(s=="TENANT") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_TENANT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcOccupantTypeEnum::IfcOccupantType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcOutletTypeEnum::ToString(IfcOutletTypeEnum v) { @@ -3637,11 +3637,11 @@ std::string IfcOutletTypeEnum::ToString(IfcOutletTypeEnum v) { return names[v]; } IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutletTypeEnum::FromString(const std::string& s) { - if(s=="AUDIOVISUALOUTLET") return IfcOutletTypeEnum::IfcOutletType_AUDIOVISUALOUTLET; - if(s=="COMMUNICATIONSOUTLET") return IfcOutletTypeEnum::IfcOutletType_COMMUNICATIONSOUTLET; - if(s=="POWEROUTLET") return IfcOutletTypeEnum::IfcOutletType_POWEROUTLET; - if(s=="USERDEFINED") return IfcOutletTypeEnum::IfcOutletType_USERDEFINED; - if(s=="NOTDEFINED") return IfcOutletTypeEnum::IfcOutletType_NOTDEFINED; + if(s=="AUDIOVISUALOUTLET") return ::Ifc2x3::IfcOutletTypeEnum::IfcOutletType_AUDIOVISUALOUTLET; + if(s=="COMMUNICATIONSOUTLET") return ::Ifc2x3::IfcOutletTypeEnum::IfcOutletType_COMMUNICATIONSOUTLET; + if(s=="POWEROUTLET") return ::Ifc2x3::IfcOutletTypeEnum::IfcOutletType_POWEROUTLET; + if(s=="USERDEFINED") return ::Ifc2x3::IfcOutletTypeEnum::IfcOutletType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcOutletTypeEnum::IfcOutletType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPermeableCoveringOperationEnum::ToString(IfcPermeableCoveringOperationEnum v) { @@ -3650,11 +3650,11 @@ std::string IfcPermeableCoveringOperationEnum::ToString(IfcPermeableCoveringOper return names[v]; } IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringOperationEnum::FromString(const std::string& s) { - if(s=="GRILL") return IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_GRILL; - if(s=="LOUVER") return IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_LOUVER; - if(s=="SCREEN") return IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_SCREEN; - if(s=="USERDEFINED") return IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_USERDEFINED; - if(s=="NOTDEFINED") return IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_NOTDEFINED; + if(s=="GRILL") return ::Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_GRILL; + if(s=="LOUVER") return ::Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_LOUVER; + if(s=="SCREEN") return ::Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_SCREEN; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPhysicalOrVirtualEnum::ToString(IfcPhysicalOrVirtualEnum v) { @@ -3663,9 +3663,9 @@ std::string IfcPhysicalOrVirtualEnum::ToString(IfcPhysicalOrVirtualEnum v) { return names[v]; } IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum IfcPhysicalOrVirtualEnum::FromString(const std::string& s) { - if(s=="PHYSICAL") return IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_PHYSICAL; - if(s=="VIRTUAL") return IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_VIRTUAL; - if(s=="NOTDEFINED") return IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_NOTDEFINED; + if(s=="PHYSICAL") return ::Ifc2x3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_PHYSICAL; + if(s=="VIRTUAL") return ::Ifc2x3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_VIRTUAL; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPileConstructionEnum::ToString(IfcPileConstructionEnum v) { @@ -3674,12 +3674,12 @@ std::string IfcPileConstructionEnum::ToString(IfcPileConstructionEnum v) { return names[v]; } IfcPileConstructionEnum::IfcPileConstructionEnum IfcPileConstructionEnum::FromString(const std::string& s) { - if(s=="CAST_IN_PLACE") return IfcPileConstructionEnum::IfcPileConstruction_CAST_IN_PLACE; - if(s=="COMPOSITE") return IfcPileConstructionEnum::IfcPileConstruction_COMPOSITE; - if(s=="PRECAST_CONCRETE") return IfcPileConstructionEnum::IfcPileConstruction_PRECAST_CONCRETE; - if(s=="PREFAB_STEEL") return IfcPileConstructionEnum::IfcPileConstruction_PREFAB_STEEL; - if(s=="USERDEFINED") return IfcPileConstructionEnum::IfcPileConstruction_USERDEFINED; - if(s=="NOTDEFINED") return IfcPileConstructionEnum::IfcPileConstruction_NOTDEFINED; + if(s=="CAST_IN_PLACE") return ::Ifc2x3::IfcPileConstructionEnum::IfcPileConstruction_CAST_IN_PLACE; + if(s=="COMPOSITE") return ::Ifc2x3::IfcPileConstructionEnum::IfcPileConstruction_COMPOSITE; + if(s=="PRECAST_CONCRETE") return ::Ifc2x3::IfcPileConstructionEnum::IfcPileConstruction_PRECAST_CONCRETE; + if(s=="PREFAB_STEEL") return ::Ifc2x3::IfcPileConstructionEnum::IfcPileConstruction_PREFAB_STEEL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPileConstructionEnum::IfcPileConstruction_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPileConstructionEnum::IfcPileConstruction_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPileTypeEnum::ToString(IfcPileTypeEnum v) { @@ -3688,11 +3688,11 @@ std::string IfcPileTypeEnum::ToString(IfcPileTypeEnum v) { return names[v]; } IfcPileTypeEnum::IfcPileTypeEnum IfcPileTypeEnum::FromString(const std::string& s) { - if(s=="COHESION") return IfcPileTypeEnum::IfcPileType_COHESION; - if(s=="FRICTION") return IfcPileTypeEnum::IfcPileType_FRICTION; - if(s=="SUPPORT") return IfcPileTypeEnum::IfcPileType_SUPPORT; - if(s=="USERDEFINED") return IfcPileTypeEnum::IfcPileType_USERDEFINED; - if(s=="NOTDEFINED") return IfcPileTypeEnum::IfcPileType_NOTDEFINED; + if(s=="COHESION") return ::Ifc2x3::IfcPileTypeEnum::IfcPileType_COHESION; + if(s=="FRICTION") return ::Ifc2x3::IfcPileTypeEnum::IfcPileType_FRICTION; + if(s=="SUPPORT") return ::Ifc2x3::IfcPileTypeEnum::IfcPileType_SUPPORT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPileTypeEnum::IfcPileType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPileTypeEnum::IfcPileType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPipeFittingTypeEnum::ToString(IfcPipeFittingTypeEnum v) { @@ -3701,15 +3701,15 @@ std::string IfcPipeFittingTypeEnum::ToString(IfcPipeFittingTypeEnum v) { return names[v]; } IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingTypeEnum::FromString(const std::string& s) { - if(s=="BEND") return IfcPipeFittingTypeEnum::IfcPipeFittingType_BEND; - if(s=="CONNECTOR") return IfcPipeFittingTypeEnum::IfcPipeFittingType_CONNECTOR; - if(s=="ENTRY") return IfcPipeFittingTypeEnum::IfcPipeFittingType_ENTRY; - if(s=="EXIT") return IfcPipeFittingTypeEnum::IfcPipeFittingType_EXIT; - if(s=="JUNCTION") return IfcPipeFittingTypeEnum::IfcPipeFittingType_JUNCTION; - if(s=="OBSTRUCTION") return IfcPipeFittingTypeEnum::IfcPipeFittingType_OBSTRUCTION; - if(s=="TRANSITION") return IfcPipeFittingTypeEnum::IfcPipeFittingType_TRANSITION; - if(s=="USERDEFINED") return IfcPipeFittingTypeEnum::IfcPipeFittingType_USERDEFINED; - if(s=="NOTDEFINED") return IfcPipeFittingTypeEnum::IfcPipeFittingType_NOTDEFINED; + if(s=="BEND") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_BEND; + if(s=="CONNECTOR") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_CONNECTOR; + if(s=="ENTRY") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_ENTRY; + if(s=="EXIT") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_EXIT; + if(s=="JUNCTION") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_JUNCTION; + if(s=="OBSTRUCTION") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_OBSTRUCTION; + if(s=="TRANSITION") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_TRANSITION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPipeFittingTypeEnum::IfcPipeFittingType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPipeSegmentTypeEnum::ToString(IfcPipeSegmentTypeEnum v) { @@ -3718,12 +3718,12 @@ std::string IfcPipeSegmentTypeEnum::ToString(IfcPipeSegmentTypeEnum v) { return names[v]; } IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentTypeEnum::FromString(const std::string& s) { - if(s=="FLEXIBLESEGMENT") return IfcPipeSegmentTypeEnum::IfcPipeSegmentType_FLEXIBLESEGMENT; - if(s=="RIGIDSEGMENT") return IfcPipeSegmentTypeEnum::IfcPipeSegmentType_RIGIDSEGMENT; - if(s=="GUTTER") return IfcPipeSegmentTypeEnum::IfcPipeSegmentType_GUTTER; - if(s=="SPOOL") return IfcPipeSegmentTypeEnum::IfcPipeSegmentType_SPOOL; - if(s=="USERDEFINED") return IfcPipeSegmentTypeEnum::IfcPipeSegmentType_USERDEFINED; - if(s=="NOTDEFINED") return IfcPipeSegmentTypeEnum::IfcPipeSegmentType_NOTDEFINED; + if(s=="FLEXIBLESEGMENT") return ::Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_FLEXIBLESEGMENT; + if(s=="RIGIDSEGMENT") return ::Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_RIGIDSEGMENT; + if(s=="GUTTER") return ::Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_GUTTER; + if(s=="SPOOL") return ::Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_SPOOL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPlateTypeEnum::ToString(IfcPlateTypeEnum v) { @@ -3732,10 +3732,10 @@ std::string IfcPlateTypeEnum::ToString(IfcPlateTypeEnum v) { return names[v]; } IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateTypeEnum::FromString(const std::string& s) { - if(s=="CURTAIN_PANEL") return IfcPlateTypeEnum::IfcPlateType_CURTAIN_PANEL; - if(s=="SHEET") return IfcPlateTypeEnum::IfcPlateType_SHEET; - if(s=="USERDEFINED") return IfcPlateTypeEnum::IfcPlateType_USERDEFINED; - if(s=="NOTDEFINED") return IfcPlateTypeEnum::IfcPlateType_NOTDEFINED; + if(s=="CURTAIN_PANEL") return ::Ifc2x3::IfcPlateTypeEnum::IfcPlateType_CURTAIN_PANEL; + if(s=="SHEET") return ::Ifc2x3::IfcPlateTypeEnum::IfcPlateType_SHEET; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPlateTypeEnum::IfcPlateType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPlateTypeEnum::IfcPlateType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcProcedureTypeEnum::ToString(IfcProcedureTypeEnum v) { @@ -3744,15 +3744,15 @@ std::string IfcProcedureTypeEnum::ToString(IfcProcedureTypeEnum v) { return names[v]; } IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedureTypeEnum::FromString(const std::string& s) { - if(s=="ADVICE_CAUTION") return IfcProcedureTypeEnum::IfcProcedureType_ADVICE_CAUTION; - if(s=="ADVICE_NOTE") return IfcProcedureTypeEnum::IfcProcedureType_ADVICE_NOTE; - if(s=="ADVICE_WARNING") return IfcProcedureTypeEnum::IfcProcedureType_ADVICE_WARNING; - if(s=="CALIBRATION") return IfcProcedureTypeEnum::IfcProcedureType_CALIBRATION; - if(s=="DIAGNOSTIC") return IfcProcedureTypeEnum::IfcProcedureType_DIAGNOSTIC; - if(s=="SHUTDOWN") return IfcProcedureTypeEnum::IfcProcedureType_SHUTDOWN; - if(s=="STARTUP") return IfcProcedureTypeEnum::IfcProcedureType_STARTUP; - if(s=="USERDEFINED") return IfcProcedureTypeEnum::IfcProcedureType_USERDEFINED; - if(s=="NOTDEFINED") return IfcProcedureTypeEnum::IfcProcedureType_NOTDEFINED; + if(s=="ADVICE_CAUTION") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_ADVICE_CAUTION; + if(s=="ADVICE_NOTE") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_ADVICE_NOTE; + if(s=="ADVICE_WARNING") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_ADVICE_WARNING; + if(s=="CALIBRATION") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_CALIBRATION; + if(s=="DIAGNOSTIC") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_DIAGNOSTIC; + if(s=="SHUTDOWN") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_SHUTDOWN; + if(s=="STARTUP") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_STARTUP; + if(s=="USERDEFINED") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcProcedureTypeEnum::IfcProcedureType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcProfileTypeEnum::ToString(IfcProfileTypeEnum v) { @@ -3761,8 +3761,8 @@ std::string IfcProfileTypeEnum::ToString(IfcProfileTypeEnum v) { return names[v]; } IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileTypeEnum::FromString(const std::string& s) { - if(s=="CURVE") return IfcProfileTypeEnum::IfcProfileType_CURVE; - if(s=="AREA") return IfcProfileTypeEnum::IfcProfileType_AREA; + if(s=="CURVE") return ::Ifc2x3::IfcProfileTypeEnum::IfcProfileType_CURVE; + if(s=="AREA") return ::Ifc2x3::IfcProfileTypeEnum::IfcProfileType_AREA; throw IfcException("Unable to find find keyword in schema"); } std::string IfcProjectOrderRecordTypeEnum::ToString(IfcProjectOrderRecordTypeEnum v) { @@ -3771,13 +3771,13 @@ std::string IfcProjectOrderRecordTypeEnum::ToString(IfcProjectOrderRecordTypeEnu return names[v]; } IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum IfcProjectOrderRecordTypeEnum::FromString(const std::string& s) { - if(s=="CHANGE") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_CHANGE; - if(s=="MAINTENANCE") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_MAINTENANCE; - if(s=="MOVE") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_MOVE; - if(s=="PURCHASE") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_PURCHASE; - if(s=="WORK") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_WORK; - if(s=="USERDEFINED") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_USERDEFINED; - if(s=="NOTDEFINED") return IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_NOTDEFINED; + if(s=="CHANGE") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_CHANGE; + if(s=="MAINTENANCE") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_MAINTENANCE; + if(s=="MOVE") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_MOVE; + if(s=="PURCHASE") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_PURCHASE; + if(s=="WORK") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_WORK; + if(s=="USERDEFINED") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcProjectOrderTypeEnum::ToString(IfcProjectOrderTypeEnum v) { @@ -3786,13 +3786,13 @@ std::string IfcProjectOrderTypeEnum::ToString(IfcProjectOrderTypeEnum v) { return names[v]; } IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrderTypeEnum::FromString(const std::string& s) { - if(s=="CHANGEORDER") return IfcProjectOrderTypeEnum::IfcProjectOrderType_CHANGEORDER; - if(s=="MAINTENANCEWORKORDER") return IfcProjectOrderTypeEnum::IfcProjectOrderType_MAINTENANCEWORKORDER; - if(s=="MOVEORDER") return IfcProjectOrderTypeEnum::IfcProjectOrderType_MOVEORDER; - if(s=="PURCHASEORDER") return IfcProjectOrderTypeEnum::IfcProjectOrderType_PURCHASEORDER; - if(s=="WORKORDER") return IfcProjectOrderTypeEnum::IfcProjectOrderType_WORKORDER; - if(s=="USERDEFINED") return IfcProjectOrderTypeEnum::IfcProjectOrderType_USERDEFINED; - if(s=="NOTDEFINED") return IfcProjectOrderTypeEnum::IfcProjectOrderType_NOTDEFINED; + if(s=="CHANGEORDER") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_CHANGEORDER; + if(s=="MAINTENANCEWORKORDER") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_MAINTENANCEWORKORDER; + if(s=="MOVEORDER") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_MOVEORDER; + if(s=="PURCHASEORDER") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_PURCHASEORDER; + if(s=="WORKORDER") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_WORKORDER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcProjectOrderTypeEnum::IfcProjectOrderType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcProjectedOrTrueLengthEnum::ToString(IfcProjectedOrTrueLengthEnum v) { @@ -3801,8 +3801,8 @@ std::string IfcProjectedOrTrueLengthEnum::ToString(IfcProjectedOrTrueLengthEnum return names[v]; } IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcProjectedOrTrueLengthEnum::FromString(const std::string& s) { - if(s=="PROJECTED_LENGTH") return IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLength_PROJECTED_LENGTH; - if(s=="TRUE_LENGTH") return IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLength_TRUE_LENGTH; + if(s=="PROJECTED_LENGTH") return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLength_PROJECTED_LENGTH; + if(s=="TRUE_LENGTH") return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLength_TRUE_LENGTH; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPropertySourceEnum::ToString(IfcPropertySourceEnum v) { @@ -3811,15 +3811,15 @@ std::string IfcPropertySourceEnum::ToString(IfcPropertySourceEnum v) { return names[v]; } IfcPropertySourceEnum::IfcPropertySourceEnum IfcPropertySourceEnum::FromString(const std::string& s) { - if(s=="DESIGN") return IfcPropertySourceEnum::IfcPropertySource_DESIGN; - if(s=="DESIGNMAXIMUM") return IfcPropertySourceEnum::IfcPropertySource_DESIGNMAXIMUM; - if(s=="DESIGNMINIMUM") return IfcPropertySourceEnum::IfcPropertySource_DESIGNMINIMUM; - if(s=="SIMULATED") return IfcPropertySourceEnum::IfcPropertySource_SIMULATED; - if(s=="ASBUILT") return IfcPropertySourceEnum::IfcPropertySource_ASBUILT; - if(s=="COMMISSIONING") return IfcPropertySourceEnum::IfcPropertySource_COMMISSIONING; - if(s=="MEASURED") return IfcPropertySourceEnum::IfcPropertySource_MEASURED; - if(s=="USERDEFINED") return IfcPropertySourceEnum::IfcPropertySource_USERDEFINED; - if(s=="NOTKNOWN") return IfcPropertySourceEnum::IfcPropertySource_NOTKNOWN; + if(s=="DESIGN") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_DESIGN; + if(s=="DESIGNMAXIMUM") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_DESIGNMAXIMUM; + if(s=="DESIGNMINIMUM") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_DESIGNMINIMUM; + if(s=="SIMULATED") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_SIMULATED; + if(s=="ASBUILT") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_ASBUILT; + if(s=="COMMISSIONING") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_COMMISSIONING; + if(s=="MEASURED") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_MEASURED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_USERDEFINED; + if(s=="NOTKNOWN") return ::Ifc2x3::IfcPropertySourceEnum::IfcPropertySource_NOTKNOWN; throw IfcException("Unable to find find keyword in schema"); } std::string IfcProtectiveDeviceTypeEnum::ToString(IfcProtectiveDeviceTypeEnum v) { @@ -3828,14 +3828,14 @@ std::string IfcProtectiveDeviceTypeEnum::ToString(IfcProtectiveDeviceTypeEnum v) return names[v]; } IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceTypeEnum::FromString(const std::string& s) { - if(s=="FUSEDISCONNECTOR") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_FUSEDISCONNECTOR; - if(s=="CIRCUITBREAKER") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_CIRCUITBREAKER; - if(s=="EARTHFAILUREDEVICE") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_EARTHFAILUREDEVICE; - if(s=="RESIDUALCURRENTCIRCUITBREAKER") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER; - if(s=="RESIDUALCURRENTSWITCH") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH; - if(s=="VARISTOR") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_VARISTOR; - if(s=="USERDEFINED") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_NOTDEFINED; + if(s=="FUSEDISCONNECTOR") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_FUSEDISCONNECTOR; + if(s=="CIRCUITBREAKER") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_CIRCUITBREAKER; + if(s=="EARTHFAILUREDEVICE") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_EARTHFAILUREDEVICE; + if(s=="RESIDUALCURRENTCIRCUITBREAKER") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER; + if(s=="RESIDUALCURRENTSWITCH") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH; + if(s=="VARISTOR") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_VARISTOR; + if(s=="USERDEFINED") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcPumpTypeEnum::ToString(IfcPumpTypeEnum v) { @@ -3844,13 +3844,13 @@ std::string IfcPumpTypeEnum::ToString(IfcPumpTypeEnum v) { return names[v]; } IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpTypeEnum::FromString(const std::string& s) { - if(s=="CIRCULATOR") return IfcPumpTypeEnum::IfcPumpType_CIRCULATOR; - if(s=="ENDSUCTION") return IfcPumpTypeEnum::IfcPumpType_ENDSUCTION; - if(s=="SPLITCASE") return IfcPumpTypeEnum::IfcPumpType_SPLITCASE; - if(s=="VERTICALINLINE") return IfcPumpTypeEnum::IfcPumpType_VERTICALINLINE; - if(s=="VERTICALTURBINE") return IfcPumpTypeEnum::IfcPumpType_VERTICALTURBINE; - if(s=="USERDEFINED") return IfcPumpTypeEnum::IfcPumpType_USERDEFINED; - if(s=="NOTDEFINED") return IfcPumpTypeEnum::IfcPumpType_NOTDEFINED; + if(s=="CIRCULATOR") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_CIRCULATOR; + if(s=="ENDSUCTION") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_ENDSUCTION; + if(s=="SPLITCASE") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_SPLITCASE; + if(s=="VERTICALINLINE") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_VERTICALINLINE; + if(s=="VERTICALTURBINE") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_VERTICALTURBINE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcPumpTypeEnum::IfcPumpType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcRailingTypeEnum::ToString(IfcRailingTypeEnum v) { @@ -3859,11 +3859,11 @@ std::string IfcRailingTypeEnum::ToString(IfcRailingTypeEnum v) { return names[v]; } IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingTypeEnum::FromString(const std::string& s) { - if(s=="HANDRAIL") return IfcRailingTypeEnum::IfcRailingType_HANDRAIL; - if(s=="GUARDRAIL") return IfcRailingTypeEnum::IfcRailingType_GUARDRAIL; - if(s=="BALUSTRADE") return IfcRailingTypeEnum::IfcRailingType_BALUSTRADE; - if(s=="USERDEFINED") return IfcRailingTypeEnum::IfcRailingType_USERDEFINED; - if(s=="NOTDEFINED") return IfcRailingTypeEnum::IfcRailingType_NOTDEFINED; + if(s=="HANDRAIL") return ::Ifc2x3::IfcRailingTypeEnum::IfcRailingType_HANDRAIL; + if(s=="GUARDRAIL") return ::Ifc2x3::IfcRailingTypeEnum::IfcRailingType_GUARDRAIL; + if(s=="BALUSTRADE") return ::Ifc2x3::IfcRailingTypeEnum::IfcRailingType_BALUSTRADE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcRailingTypeEnum::IfcRailingType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcRailingTypeEnum::IfcRailingType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcRampFlightTypeEnum::ToString(IfcRampFlightTypeEnum v) { @@ -3872,10 +3872,10 @@ std::string IfcRampFlightTypeEnum::ToString(IfcRampFlightTypeEnum v) { return names[v]; } IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightTypeEnum::FromString(const std::string& s) { - if(s=="STRAIGHT") return IfcRampFlightTypeEnum::IfcRampFlightType_STRAIGHT; - if(s=="SPIRAL") return IfcRampFlightTypeEnum::IfcRampFlightType_SPIRAL; - if(s=="USERDEFINED") return IfcRampFlightTypeEnum::IfcRampFlightType_USERDEFINED; - if(s=="NOTDEFINED") return IfcRampFlightTypeEnum::IfcRampFlightType_NOTDEFINED; + if(s=="STRAIGHT") return ::Ifc2x3::IfcRampFlightTypeEnum::IfcRampFlightType_STRAIGHT; + if(s=="SPIRAL") return ::Ifc2x3::IfcRampFlightTypeEnum::IfcRampFlightType_SPIRAL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcRampFlightTypeEnum::IfcRampFlightType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcRampFlightTypeEnum::IfcRampFlightType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcRampTypeEnum::ToString(IfcRampTypeEnum v) { @@ -3884,14 +3884,14 @@ std::string IfcRampTypeEnum::ToString(IfcRampTypeEnum v) { return names[v]; } IfcRampTypeEnum::IfcRampTypeEnum IfcRampTypeEnum::FromString(const std::string& s) { - if(s=="STRAIGHT_RUN_RAMP") return IfcRampTypeEnum::IfcRampType_STRAIGHT_RUN_RAMP; - if(s=="TWO_STRAIGHT_RUN_RAMP") return IfcRampTypeEnum::IfcRampType_TWO_STRAIGHT_RUN_RAMP; - if(s=="QUARTER_TURN_RAMP") return IfcRampTypeEnum::IfcRampType_QUARTER_TURN_RAMP; - if(s=="TWO_QUARTER_TURN_RAMP") return IfcRampTypeEnum::IfcRampType_TWO_QUARTER_TURN_RAMP; - if(s=="HALF_TURN_RAMP") return IfcRampTypeEnum::IfcRampType_HALF_TURN_RAMP; - if(s=="SPIRAL_RAMP") return IfcRampTypeEnum::IfcRampType_SPIRAL_RAMP; - if(s=="USERDEFINED") return IfcRampTypeEnum::IfcRampType_USERDEFINED; - if(s=="NOTDEFINED") return IfcRampTypeEnum::IfcRampType_NOTDEFINED; + if(s=="STRAIGHT_RUN_RAMP") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_STRAIGHT_RUN_RAMP; + if(s=="TWO_STRAIGHT_RUN_RAMP") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_TWO_STRAIGHT_RUN_RAMP; + if(s=="QUARTER_TURN_RAMP") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_QUARTER_TURN_RAMP; + if(s=="TWO_QUARTER_TURN_RAMP") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_TWO_QUARTER_TURN_RAMP; + if(s=="HALF_TURN_RAMP") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_HALF_TURN_RAMP; + if(s=="SPIRAL_RAMP") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_SPIRAL_RAMP; + if(s=="USERDEFINED") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcRampTypeEnum::IfcRampType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcReflectanceMethodEnum::ToString(IfcReflectanceMethodEnum v) { @@ -3900,16 +3900,16 @@ std::string IfcReflectanceMethodEnum::ToString(IfcReflectanceMethodEnum v) { return names[v]; } IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcReflectanceMethodEnum::FromString(const std::string& s) { - if(s=="BLINN") return IfcReflectanceMethodEnum::IfcReflectanceMethod_BLINN; - if(s=="FLAT") return IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT; - if(s=="GLASS") return IfcReflectanceMethodEnum::IfcReflectanceMethod_GLASS; - if(s=="MATT") return IfcReflectanceMethodEnum::IfcReflectanceMethod_MATT; - if(s=="METAL") return IfcReflectanceMethodEnum::IfcReflectanceMethod_METAL; - if(s=="MIRROR") return IfcReflectanceMethodEnum::IfcReflectanceMethod_MIRROR; - if(s=="PHONG") return IfcReflectanceMethodEnum::IfcReflectanceMethod_PHONG; - if(s=="PLASTIC") return IfcReflectanceMethodEnum::IfcReflectanceMethod_PLASTIC; - if(s=="STRAUSS") return IfcReflectanceMethodEnum::IfcReflectanceMethod_STRAUSS; - if(s=="NOTDEFINED") return IfcReflectanceMethodEnum::IfcReflectanceMethod_NOTDEFINED; + if(s=="BLINN") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_BLINN; + if(s=="FLAT") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT; + if(s=="GLASS") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_GLASS; + if(s=="MATT") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_MATT; + if(s=="METAL") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_METAL; + if(s=="MIRROR") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_MIRROR; + if(s=="PHONG") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_PHONG; + if(s=="PLASTIC") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_PLASTIC; + if(s=="STRAUSS") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_STRAUSS; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcReflectanceMethodEnum::IfcReflectanceMethod_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcReinforcingBarRoleEnum::ToString(IfcReinforcingBarRoleEnum v) { @@ -3918,15 +3918,15 @@ std::string IfcReinforcingBarRoleEnum::ToString(IfcReinforcingBarRoleEnum v) { return names[v]; } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcReinforcingBarRoleEnum::FromString(const std::string& s) { - if(s=="MAIN") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_MAIN; - if(s=="SHEAR") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_SHEAR; - if(s=="LIGATURE") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_LIGATURE; - if(s=="STUD") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_STUD; - if(s=="PUNCHING") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_PUNCHING; - if(s=="EDGE") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_EDGE; - if(s=="RING") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_RING; - if(s=="USERDEFINED") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_USERDEFINED; - if(s=="NOTDEFINED") return IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_NOTDEFINED; + if(s=="MAIN") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_MAIN; + if(s=="SHEAR") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_SHEAR; + if(s=="LIGATURE") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_LIGATURE; + if(s=="STUD") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_STUD; + if(s=="PUNCHING") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_PUNCHING; + if(s=="EDGE") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_EDGE; + if(s=="RING") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_RING; + if(s=="USERDEFINED") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcReinforcingBarSurfaceEnum::ToString(IfcReinforcingBarSurfaceEnum v) { @@ -3935,8 +3935,8 @@ std::string IfcReinforcingBarSurfaceEnum::ToString(IfcReinforcingBarSurfaceEnum return names[v]; } IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBarSurfaceEnum::FromString(const std::string& s) { - if(s=="PLAIN") return IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurface_PLAIN; - if(s=="TEXTURED") return IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurface_TEXTURED; + if(s=="PLAIN") return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurface_PLAIN; + if(s=="TEXTURED") return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurface_TEXTURED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcResourceConsumptionEnum::ToString(IfcResourceConsumptionEnum v) { @@ -3945,14 +3945,14 @@ std::string IfcResourceConsumptionEnum::ToString(IfcResourceConsumptionEnum v) { return names[v]; } IfcResourceConsumptionEnum::IfcResourceConsumptionEnum IfcResourceConsumptionEnum::FromString(const std::string& s) { - if(s=="CONSUMED") return IfcResourceConsumptionEnum::IfcResourceConsumption_CONSUMED; - if(s=="PARTIALLYCONSUMED") return IfcResourceConsumptionEnum::IfcResourceConsumption_PARTIALLYCONSUMED; - if(s=="NOTCONSUMED") return IfcResourceConsumptionEnum::IfcResourceConsumption_NOTCONSUMED; - if(s=="OCCUPIED") return IfcResourceConsumptionEnum::IfcResourceConsumption_OCCUPIED; - if(s=="PARTIALLYOCCUPIED") return IfcResourceConsumptionEnum::IfcResourceConsumption_PARTIALLYOCCUPIED; - if(s=="NOTOCCUPIED") return IfcResourceConsumptionEnum::IfcResourceConsumption_NOTOCCUPIED; - if(s=="USERDEFINED") return IfcResourceConsumptionEnum::IfcResourceConsumption_USERDEFINED; - if(s=="NOTDEFINED") return IfcResourceConsumptionEnum::IfcResourceConsumption_NOTDEFINED; + if(s=="CONSUMED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_CONSUMED; + if(s=="PARTIALLYCONSUMED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_PARTIALLYCONSUMED; + if(s=="NOTCONSUMED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_NOTCONSUMED; + if(s=="OCCUPIED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_OCCUPIED; + if(s=="PARTIALLYOCCUPIED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_PARTIALLYOCCUPIED; + if(s=="NOTOCCUPIED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_NOTOCCUPIED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcResourceConsumptionEnum::IfcResourceConsumption_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcRibPlateDirectionEnum::ToString(IfcRibPlateDirectionEnum v) { @@ -3961,8 +3961,8 @@ std::string IfcRibPlateDirectionEnum::ToString(IfcRibPlateDirectionEnum v) { return names[v]; } IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum IfcRibPlateDirectionEnum::FromString(const std::string& s) { - if(s=="DIRECTION_X") return IfcRibPlateDirectionEnum::IfcRibPlateDirection_DIRECTION_X; - if(s=="DIRECTION_Y") return IfcRibPlateDirectionEnum::IfcRibPlateDirection_DIRECTION_Y; + if(s=="DIRECTION_X") return ::Ifc2x3::IfcRibPlateDirectionEnum::IfcRibPlateDirection_DIRECTION_X; + if(s=="DIRECTION_Y") return ::Ifc2x3::IfcRibPlateDirectionEnum::IfcRibPlateDirection_DIRECTION_Y; throw IfcException("Unable to find find keyword in schema"); } std::string IfcRoleEnum::ToString(IfcRoleEnum v) { @@ -3971,29 +3971,29 @@ std::string IfcRoleEnum::ToString(IfcRoleEnum v) { return names[v]; } IfcRoleEnum::IfcRoleEnum IfcRoleEnum::FromString(const std::string& s) { - if(s=="SUPPLIER") return IfcRoleEnum::IfcRole_SUPPLIER; - if(s=="MANUFACTURER") return IfcRoleEnum::IfcRole_MANUFACTURER; - if(s=="CONTRACTOR") return IfcRoleEnum::IfcRole_CONTRACTOR; - if(s=="SUBCONTRACTOR") return IfcRoleEnum::IfcRole_SUBCONTRACTOR; - if(s=="ARCHITECT") return IfcRoleEnum::IfcRole_ARCHITECT; - if(s=="STRUCTURALENGINEER") return IfcRoleEnum::IfcRole_STRUCTURALENGINEER; - if(s=="COSTENGINEER") return IfcRoleEnum::IfcRole_COSTENGINEER; - if(s=="CLIENT") return IfcRoleEnum::IfcRole_CLIENT; - if(s=="BUILDINGOWNER") return IfcRoleEnum::IfcRole_BUILDINGOWNER; - if(s=="BUILDINGOPERATOR") return IfcRoleEnum::IfcRole_BUILDINGOPERATOR; - if(s=="MECHANICALENGINEER") return IfcRoleEnum::IfcRole_MECHANICALENGINEER; - if(s=="ELECTRICALENGINEER") return IfcRoleEnum::IfcRole_ELECTRICALENGINEER; - if(s=="PROJECTMANAGER") return IfcRoleEnum::IfcRole_PROJECTMANAGER; - if(s=="FACILITIESMANAGER") return IfcRoleEnum::IfcRole_FACILITIESMANAGER; - if(s=="CIVILENGINEER") return IfcRoleEnum::IfcRole_CIVILENGINEER; - if(s=="COMISSIONINGENGINEER") return IfcRoleEnum::IfcRole_COMISSIONINGENGINEER; - if(s=="ENGINEER") return IfcRoleEnum::IfcRole_ENGINEER; - if(s=="OWNER") return IfcRoleEnum::IfcRole_OWNER; - if(s=="CONSULTANT") return IfcRoleEnum::IfcRole_CONSULTANT; - if(s=="CONSTRUCTIONMANAGER") return IfcRoleEnum::IfcRole_CONSTRUCTIONMANAGER; - if(s=="FIELDCONSTRUCTIONMANAGER") return IfcRoleEnum::IfcRole_FIELDCONSTRUCTIONMANAGER; - if(s=="RESELLER") return IfcRoleEnum::IfcRole_RESELLER; - if(s=="USERDEFINED") return IfcRoleEnum::IfcRole_USERDEFINED; + if(s=="SUPPLIER") return ::Ifc2x3::IfcRoleEnum::IfcRole_SUPPLIER; + if(s=="MANUFACTURER") return ::Ifc2x3::IfcRoleEnum::IfcRole_MANUFACTURER; + if(s=="CONTRACTOR") return ::Ifc2x3::IfcRoleEnum::IfcRole_CONTRACTOR; + if(s=="SUBCONTRACTOR") return ::Ifc2x3::IfcRoleEnum::IfcRole_SUBCONTRACTOR; + if(s=="ARCHITECT") return ::Ifc2x3::IfcRoleEnum::IfcRole_ARCHITECT; + if(s=="STRUCTURALENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_STRUCTURALENGINEER; + if(s=="COSTENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_COSTENGINEER; + if(s=="CLIENT") return ::Ifc2x3::IfcRoleEnum::IfcRole_CLIENT; + if(s=="BUILDINGOWNER") return ::Ifc2x3::IfcRoleEnum::IfcRole_BUILDINGOWNER; + if(s=="BUILDINGOPERATOR") return ::Ifc2x3::IfcRoleEnum::IfcRole_BUILDINGOPERATOR; + if(s=="MECHANICALENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_MECHANICALENGINEER; + if(s=="ELECTRICALENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_ELECTRICALENGINEER; + if(s=="PROJECTMANAGER") return ::Ifc2x3::IfcRoleEnum::IfcRole_PROJECTMANAGER; + if(s=="FACILITIESMANAGER") return ::Ifc2x3::IfcRoleEnum::IfcRole_FACILITIESMANAGER; + if(s=="CIVILENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_CIVILENGINEER; + if(s=="COMISSIONINGENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_COMISSIONINGENGINEER; + if(s=="ENGINEER") return ::Ifc2x3::IfcRoleEnum::IfcRole_ENGINEER; + if(s=="OWNER") return ::Ifc2x3::IfcRoleEnum::IfcRole_OWNER; + if(s=="CONSULTANT") return ::Ifc2x3::IfcRoleEnum::IfcRole_CONSULTANT; + if(s=="CONSTRUCTIONMANAGER") return ::Ifc2x3::IfcRoleEnum::IfcRole_CONSTRUCTIONMANAGER; + if(s=="FIELDCONSTRUCTIONMANAGER") return ::Ifc2x3::IfcRoleEnum::IfcRole_FIELDCONSTRUCTIONMANAGER; + if(s=="RESELLER") return ::Ifc2x3::IfcRoleEnum::IfcRole_RESELLER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcRoleEnum::IfcRole_USERDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcRoofTypeEnum::ToString(IfcRoofTypeEnum v) { @@ -4002,20 +4002,20 @@ std::string IfcRoofTypeEnum::ToString(IfcRoofTypeEnum v) { return names[v]; } IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoofTypeEnum::FromString(const std::string& s) { - if(s=="FLAT_ROOF") return IfcRoofTypeEnum::IfcRoofType_FLAT_ROOF; - if(s=="SHED_ROOF") return IfcRoofTypeEnum::IfcRoofType_SHED_ROOF; - if(s=="GABLE_ROOF") return IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF; - if(s=="HIP_ROOF") return IfcRoofTypeEnum::IfcRoofType_HIP_ROOF; - if(s=="HIPPED_GABLE_ROOF") return IfcRoofTypeEnum::IfcRoofType_HIPPED_GABLE_ROOF; - if(s=="GAMBREL_ROOF") return IfcRoofTypeEnum::IfcRoofType_GAMBREL_ROOF; - if(s=="MANSARD_ROOF") return IfcRoofTypeEnum::IfcRoofType_MANSARD_ROOF; - if(s=="BARREL_ROOF") return IfcRoofTypeEnum::IfcRoofType_BARREL_ROOF; - if(s=="RAINBOW_ROOF") return IfcRoofTypeEnum::IfcRoofType_RAINBOW_ROOF; - if(s=="BUTTERFLY_ROOF") return IfcRoofTypeEnum::IfcRoofType_BUTTERFLY_ROOF; - if(s=="PAVILION_ROOF") return IfcRoofTypeEnum::IfcRoofType_PAVILION_ROOF; - if(s=="DOME_ROOF") return IfcRoofTypeEnum::IfcRoofType_DOME_ROOF; - if(s=="FREEFORM") return IfcRoofTypeEnum::IfcRoofType_FREEFORM; - if(s=="NOTDEFINED") return IfcRoofTypeEnum::IfcRoofType_NOTDEFINED; + if(s=="FLAT_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_FLAT_ROOF; + if(s=="SHED_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_SHED_ROOF; + if(s=="GABLE_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF; + if(s=="HIP_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_HIP_ROOF; + if(s=="HIPPED_GABLE_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_HIPPED_GABLE_ROOF; + if(s=="GAMBREL_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_GAMBREL_ROOF; + if(s=="MANSARD_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_MANSARD_ROOF; + if(s=="BARREL_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_BARREL_ROOF; + if(s=="RAINBOW_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_RAINBOW_ROOF; + if(s=="BUTTERFLY_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_BUTTERFLY_ROOF; + if(s=="PAVILION_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_PAVILION_ROOF; + if(s=="DOME_ROOF") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_DOME_ROOF; + if(s=="FREEFORM") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_FREEFORM; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcRoofTypeEnum::IfcRoofType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSIPrefix::ToString(IfcSIPrefix v) { @@ -4024,22 +4024,22 @@ std::string IfcSIPrefix::ToString(IfcSIPrefix v) { return names[v]; } IfcSIPrefix::IfcSIPrefix IfcSIPrefix::FromString(const std::string& s) { - if(s=="EXA") return IfcSIPrefix::IfcSIPrefix_EXA; - if(s=="PETA") return IfcSIPrefix::IfcSIPrefix_PETA; - if(s=="TERA") return IfcSIPrefix::IfcSIPrefix_TERA; - if(s=="GIGA") return IfcSIPrefix::IfcSIPrefix_GIGA; - if(s=="MEGA") return IfcSIPrefix::IfcSIPrefix_MEGA; - if(s=="KILO") return IfcSIPrefix::IfcSIPrefix_KILO; - if(s=="HECTO") return IfcSIPrefix::IfcSIPrefix_HECTO; - if(s=="DECA") return IfcSIPrefix::IfcSIPrefix_DECA; - if(s=="DECI") return IfcSIPrefix::IfcSIPrefix_DECI; - if(s=="CENTI") return IfcSIPrefix::IfcSIPrefix_CENTI; - if(s=="MILLI") return IfcSIPrefix::IfcSIPrefix_MILLI; - if(s=="MICRO") return IfcSIPrefix::IfcSIPrefix_MICRO; - if(s=="NANO") return IfcSIPrefix::IfcSIPrefix_NANO; - if(s=="PICO") return IfcSIPrefix::IfcSIPrefix_PICO; - if(s=="FEMTO") return IfcSIPrefix::IfcSIPrefix_FEMTO; - if(s=="ATTO") return IfcSIPrefix::IfcSIPrefix_ATTO; + if(s=="EXA") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_EXA; + if(s=="PETA") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_PETA; + if(s=="TERA") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_TERA; + if(s=="GIGA") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_GIGA; + if(s=="MEGA") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_MEGA; + if(s=="KILO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_KILO; + if(s=="HECTO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_HECTO; + if(s=="DECA") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_DECA; + if(s=="DECI") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_DECI; + if(s=="CENTI") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_CENTI; + if(s=="MILLI") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_MILLI; + if(s=="MICRO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_MICRO; + if(s=="NANO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_NANO; + if(s=="PICO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_PICO; + if(s=="FEMTO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_FEMTO; + if(s=="ATTO") return ::Ifc2x3::IfcSIPrefix::IfcSIPrefix_ATTO; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSIUnitName::ToString(IfcSIUnitName v) { @@ -4048,36 +4048,36 @@ std::string IfcSIUnitName::ToString(IfcSIUnitName v) { return names[v]; } IfcSIUnitName::IfcSIUnitName IfcSIUnitName::FromString(const std::string& s) { - if(s=="AMPERE") return IfcSIUnitName::IfcSIUnitName_AMPERE; - if(s=="BECQUEREL") return IfcSIUnitName::IfcSIUnitName_BECQUEREL; - if(s=="CANDELA") return IfcSIUnitName::IfcSIUnitName_CANDELA; - if(s=="COULOMB") return IfcSIUnitName::IfcSIUnitName_COULOMB; - if(s=="CUBIC_METRE") return IfcSIUnitName::IfcSIUnitName_CUBIC_METRE; - if(s=="DEGREE_CELSIUS") return IfcSIUnitName::IfcSIUnitName_DEGREE_CELSIUS; - if(s=="FARAD") return IfcSIUnitName::IfcSIUnitName_FARAD; - if(s=="GRAM") return IfcSIUnitName::IfcSIUnitName_GRAM; - if(s=="GRAY") return IfcSIUnitName::IfcSIUnitName_GRAY; - if(s=="HENRY") return IfcSIUnitName::IfcSIUnitName_HENRY; - if(s=="HERTZ") return IfcSIUnitName::IfcSIUnitName_HERTZ; - if(s=="JOULE") return IfcSIUnitName::IfcSIUnitName_JOULE; - if(s=="KELVIN") return IfcSIUnitName::IfcSIUnitName_KELVIN; - if(s=="LUMEN") return IfcSIUnitName::IfcSIUnitName_LUMEN; - if(s=="LUX") return IfcSIUnitName::IfcSIUnitName_LUX; - if(s=="METRE") return IfcSIUnitName::IfcSIUnitName_METRE; - if(s=="MOLE") return IfcSIUnitName::IfcSIUnitName_MOLE; - if(s=="NEWTON") return IfcSIUnitName::IfcSIUnitName_NEWTON; - if(s=="OHM") return IfcSIUnitName::IfcSIUnitName_OHM; - if(s=="PASCAL") return IfcSIUnitName::IfcSIUnitName_PASCAL; - if(s=="RADIAN") return IfcSIUnitName::IfcSIUnitName_RADIAN; - if(s=="SECOND") return IfcSIUnitName::IfcSIUnitName_SECOND; - if(s=="SIEMENS") return IfcSIUnitName::IfcSIUnitName_SIEMENS; - if(s=="SIEVERT") return IfcSIUnitName::IfcSIUnitName_SIEVERT; - if(s=="SQUARE_METRE") return IfcSIUnitName::IfcSIUnitName_SQUARE_METRE; - if(s=="STERADIAN") return IfcSIUnitName::IfcSIUnitName_STERADIAN; - if(s=="TESLA") return IfcSIUnitName::IfcSIUnitName_TESLA; - if(s=="VOLT") return IfcSIUnitName::IfcSIUnitName_VOLT; - if(s=="WATT") return IfcSIUnitName::IfcSIUnitName_WATT; - if(s=="WEBER") return IfcSIUnitName::IfcSIUnitName_WEBER; + if(s=="AMPERE") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_AMPERE; + if(s=="BECQUEREL") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_BECQUEREL; + if(s=="CANDELA") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_CANDELA; + if(s=="COULOMB") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_COULOMB; + if(s=="CUBIC_METRE") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_CUBIC_METRE; + if(s=="DEGREE_CELSIUS") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_DEGREE_CELSIUS; + if(s=="FARAD") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_FARAD; + if(s=="GRAM") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_GRAM; + if(s=="GRAY") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_GRAY; + if(s=="HENRY") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_HENRY; + if(s=="HERTZ") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_HERTZ; + if(s=="JOULE") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_JOULE; + if(s=="KELVIN") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_KELVIN; + if(s=="LUMEN") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_LUMEN; + if(s=="LUX") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_LUX; + if(s=="METRE") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_METRE; + if(s=="MOLE") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_MOLE; + if(s=="NEWTON") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_NEWTON; + if(s=="OHM") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_OHM; + if(s=="PASCAL") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_PASCAL; + if(s=="RADIAN") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_RADIAN; + if(s=="SECOND") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_SECOND; + if(s=="SIEMENS") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_SIEMENS; + if(s=="SIEVERT") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_SIEVERT; + if(s=="SQUARE_METRE") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_SQUARE_METRE; + if(s=="STERADIAN") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_STERADIAN; + if(s=="TESLA") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_TESLA; + if(s=="VOLT") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_VOLT; + if(s=="WATT") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_WATT; + if(s=="WEBER") return ::Ifc2x3::IfcSIUnitName::IfcSIUnitName_WEBER; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSanitaryTerminalTypeEnum::ToString(IfcSanitaryTerminalTypeEnum v) { @@ -4086,18 +4086,18 @@ std::string IfcSanitaryTerminalTypeEnum::ToString(IfcSanitaryTerminalTypeEnum v) return names[v]; } IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminalTypeEnum::FromString(const std::string& s) { - if(s=="BATH") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_BATH; - if(s=="BIDET") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_BIDET; - if(s=="CISTERN") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_CISTERN; - if(s=="SHOWER") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SHOWER; - if(s=="SINK") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SINK; - if(s=="SANITARYFOUNTAIN") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SANITARYFOUNTAIN; - if(s=="TOILETPAN") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_TOILETPAN; - if(s=="URINAL") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_URINAL; - if(s=="WASHHANDBASIN") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_WASHHANDBASIN; - if(s=="WCSEAT") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_WCSEAT; - if(s=="USERDEFINED") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_USERDEFINED; - if(s=="NOTDEFINED") return IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_NOTDEFINED; + if(s=="BATH") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_BATH; + if(s=="BIDET") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_BIDET; + if(s=="CISTERN") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_CISTERN; + if(s=="SHOWER") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SHOWER; + if(s=="SINK") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SINK; + if(s=="SANITARYFOUNTAIN") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SANITARYFOUNTAIN; + if(s=="TOILETPAN") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_TOILETPAN; + if(s=="URINAL") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_URINAL; + if(s=="WASHHANDBASIN") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_WASHHANDBASIN; + if(s=="WCSEAT") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_WCSEAT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSectionTypeEnum::ToString(IfcSectionTypeEnum v) { @@ -4106,8 +4106,8 @@ std::string IfcSectionTypeEnum::ToString(IfcSectionTypeEnum v) { return names[v]; } IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionTypeEnum::FromString(const std::string& s) { - if(s=="UNIFORM") return IfcSectionTypeEnum::IfcSectionType_UNIFORM; - if(s=="TAPERED") return IfcSectionTypeEnum::IfcSectionType_TAPERED; + if(s=="UNIFORM") return ::Ifc2x3::IfcSectionTypeEnum::IfcSectionType_UNIFORM; + if(s=="TAPERED") return ::Ifc2x3::IfcSectionTypeEnum::IfcSectionType_TAPERED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSensorTypeEnum::ToString(IfcSensorTypeEnum v) { @@ -4116,21 +4116,21 @@ std::string IfcSensorTypeEnum::ToString(IfcSensorTypeEnum v) { return names[v]; } IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorTypeEnum::FromString(const std::string& s) { - if(s=="CO2SENSOR") return IfcSensorTypeEnum::IfcSensorType_CO2SENSOR; - if(s=="FIRESENSOR") return IfcSensorTypeEnum::IfcSensorType_FIRESENSOR; - if(s=="FLOWSENSOR") return IfcSensorTypeEnum::IfcSensorType_FLOWSENSOR; - if(s=="GASSENSOR") return IfcSensorTypeEnum::IfcSensorType_GASSENSOR; - if(s=="HEATSENSOR") return IfcSensorTypeEnum::IfcSensorType_HEATSENSOR; - if(s=="HUMIDITYSENSOR") return IfcSensorTypeEnum::IfcSensorType_HUMIDITYSENSOR; - if(s=="LIGHTSENSOR") return IfcSensorTypeEnum::IfcSensorType_LIGHTSENSOR; - if(s=="MOISTURESENSOR") return IfcSensorTypeEnum::IfcSensorType_MOISTURESENSOR; - if(s=="MOVEMENTSENSOR") return IfcSensorTypeEnum::IfcSensorType_MOVEMENTSENSOR; - if(s=="PRESSURESENSOR") return IfcSensorTypeEnum::IfcSensorType_PRESSURESENSOR; - if(s=="SMOKESENSOR") return IfcSensorTypeEnum::IfcSensorType_SMOKESENSOR; - if(s=="SOUNDSENSOR") return IfcSensorTypeEnum::IfcSensorType_SOUNDSENSOR; - if(s=="TEMPERATURESENSOR") return IfcSensorTypeEnum::IfcSensorType_TEMPERATURESENSOR; - if(s=="USERDEFINED") return IfcSensorTypeEnum::IfcSensorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcSensorTypeEnum::IfcSensorType_NOTDEFINED; + if(s=="CO2SENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_CO2SENSOR; + if(s=="FIRESENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_FIRESENSOR; + if(s=="FLOWSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_FLOWSENSOR; + if(s=="GASSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_GASSENSOR; + if(s=="HEATSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_HEATSENSOR; + if(s=="HUMIDITYSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_HUMIDITYSENSOR; + if(s=="LIGHTSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_LIGHTSENSOR; + if(s=="MOISTURESENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_MOISTURESENSOR; + if(s=="MOVEMENTSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_MOVEMENTSENSOR; + if(s=="PRESSURESENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_PRESSURESENSOR; + if(s=="SMOKESENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_SMOKESENSOR; + if(s=="SOUNDSENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_SOUNDSENSOR; + if(s=="TEMPERATURESENSOR") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_TEMPERATURESENSOR; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSensorTypeEnum::IfcSensorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSequenceEnum::ToString(IfcSequenceEnum v) { @@ -4139,11 +4139,11 @@ std::string IfcSequenceEnum::ToString(IfcSequenceEnum v) { return names[v]; } IfcSequenceEnum::IfcSequenceEnum IfcSequenceEnum::FromString(const std::string& s) { - if(s=="START_START") return IfcSequenceEnum::IfcSequence_START_START; - if(s=="START_FINISH") return IfcSequenceEnum::IfcSequence_START_FINISH; - if(s=="FINISH_START") return IfcSequenceEnum::IfcSequence_FINISH_START; - if(s=="FINISH_FINISH") return IfcSequenceEnum::IfcSequence_FINISH_FINISH; - if(s=="NOTDEFINED") return IfcSequenceEnum::IfcSequence_NOTDEFINED; + if(s=="START_START") return ::Ifc2x3::IfcSequenceEnum::IfcSequence_START_START; + if(s=="START_FINISH") return ::Ifc2x3::IfcSequenceEnum::IfcSequence_START_FINISH; + if(s=="FINISH_START") return ::Ifc2x3::IfcSequenceEnum::IfcSequence_FINISH_START; + if(s=="FINISH_FINISH") return ::Ifc2x3::IfcSequenceEnum::IfcSequence_FINISH_FINISH; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSequenceEnum::IfcSequence_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcServiceLifeFactorTypeEnum::ToString(IfcServiceLifeFactorTypeEnum v) { @@ -4152,15 +4152,15 @@ std::string IfcServiceLifeFactorTypeEnum::ToString(IfcServiceLifeFactorTypeEnum return names[v]; } IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum IfcServiceLifeFactorTypeEnum::FromString(const std::string& s) { - if(s=="A_QUALITYOFCOMPONENTS") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_A_QUALITYOFCOMPONENTS; - if(s=="B_DESIGNLEVEL") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_B_DESIGNLEVEL; - if(s=="C_WORKEXECUTIONLEVEL") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_C_WORKEXECUTIONLEVEL; - if(s=="D_INDOORENVIRONMENT") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_D_INDOORENVIRONMENT; - if(s=="E_OUTDOORENVIRONMENT") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_E_OUTDOORENVIRONMENT; - if(s=="F_INUSECONDITIONS") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_F_INUSECONDITIONS; - if(s=="G_MAINTENANCELEVEL") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_G_MAINTENANCELEVEL; - if(s=="USERDEFINED") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_NOTDEFINED; + if(s=="A_QUALITYOFCOMPONENTS") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_A_QUALITYOFCOMPONENTS; + if(s=="B_DESIGNLEVEL") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_B_DESIGNLEVEL; + if(s=="C_WORKEXECUTIONLEVEL") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_C_WORKEXECUTIONLEVEL; + if(s=="D_INDOORENVIRONMENT") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_D_INDOORENVIRONMENT; + if(s=="E_OUTDOORENVIRONMENT") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_E_OUTDOORENVIRONMENT; + if(s=="F_INUSECONDITIONS") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_F_INUSECONDITIONS; + if(s=="G_MAINTENANCELEVEL") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_G_MAINTENANCELEVEL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcServiceLifeTypeEnum::ToString(IfcServiceLifeTypeEnum v) { @@ -4169,11 +4169,11 @@ std::string IfcServiceLifeTypeEnum::ToString(IfcServiceLifeTypeEnum v) { return names[v]; } IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum IfcServiceLifeTypeEnum::FromString(const std::string& s) { - if(s=="ACTUALSERVICELIFE") return IfcServiceLifeTypeEnum::IfcServiceLifeType_ACTUALSERVICELIFE; - if(s=="EXPECTEDSERVICELIFE") return IfcServiceLifeTypeEnum::IfcServiceLifeType_EXPECTEDSERVICELIFE; - if(s=="OPTIMISTICREFERENCESERVICELIFE") return IfcServiceLifeTypeEnum::IfcServiceLifeType_OPTIMISTICREFERENCESERVICELIFE; - if(s=="PESSIMISTICREFERENCESERVICELIFE") return IfcServiceLifeTypeEnum::IfcServiceLifeType_PESSIMISTICREFERENCESERVICELIFE; - if(s=="REFERENCESERVICELIFE") return IfcServiceLifeTypeEnum::IfcServiceLifeType_REFERENCESERVICELIFE; + if(s=="ACTUALSERVICELIFE") return ::Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeType_ACTUALSERVICELIFE; + if(s=="EXPECTEDSERVICELIFE") return ::Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeType_EXPECTEDSERVICELIFE; + if(s=="OPTIMISTICREFERENCESERVICELIFE") return ::Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeType_OPTIMISTICREFERENCESERVICELIFE; + if(s=="PESSIMISTICREFERENCESERVICELIFE") return ::Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeType_PESSIMISTICREFERENCESERVICELIFE; + if(s=="REFERENCESERVICELIFE") return ::Ifc2x3::IfcServiceLifeTypeEnum::IfcServiceLifeType_REFERENCESERVICELIFE; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSlabTypeEnum::ToString(IfcSlabTypeEnum v) { @@ -4182,12 +4182,12 @@ std::string IfcSlabTypeEnum::ToString(IfcSlabTypeEnum v) { return names[v]; } IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabTypeEnum::FromString(const std::string& s) { - if(s=="FLOOR") return IfcSlabTypeEnum::IfcSlabType_FLOOR; - if(s=="ROOF") return IfcSlabTypeEnum::IfcSlabType_ROOF; - if(s=="LANDING") return IfcSlabTypeEnum::IfcSlabType_LANDING; - if(s=="BASESLAB") return IfcSlabTypeEnum::IfcSlabType_BASESLAB; - if(s=="USERDEFINED") return IfcSlabTypeEnum::IfcSlabType_USERDEFINED; - if(s=="NOTDEFINED") return IfcSlabTypeEnum::IfcSlabType_NOTDEFINED; + if(s=="FLOOR") return ::Ifc2x3::IfcSlabTypeEnum::IfcSlabType_FLOOR; + if(s=="ROOF") return ::Ifc2x3::IfcSlabTypeEnum::IfcSlabType_ROOF; + if(s=="LANDING") return ::Ifc2x3::IfcSlabTypeEnum::IfcSlabType_LANDING; + if(s=="BASESLAB") return ::Ifc2x3::IfcSlabTypeEnum::IfcSlabType_BASESLAB; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSlabTypeEnum::IfcSlabType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSlabTypeEnum::IfcSlabType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSoundScaleEnum::ToString(IfcSoundScaleEnum v) { @@ -4196,13 +4196,13 @@ std::string IfcSoundScaleEnum::ToString(IfcSoundScaleEnum v) { return names[v]; } IfcSoundScaleEnum::IfcSoundScaleEnum IfcSoundScaleEnum::FromString(const std::string& s) { - if(s=="DBA") return IfcSoundScaleEnum::IfcSoundScale_DBA; - if(s=="DBB") return IfcSoundScaleEnum::IfcSoundScale_DBB; - if(s=="DBC") return IfcSoundScaleEnum::IfcSoundScale_DBC; - if(s=="NC") return IfcSoundScaleEnum::IfcSoundScale_NC; - if(s=="NR") return IfcSoundScaleEnum::IfcSoundScale_NR; - if(s=="USERDEFINED") return IfcSoundScaleEnum::IfcSoundScale_USERDEFINED; - if(s=="NOTDEFINED") return IfcSoundScaleEnum::IfcSoundScale_NOTDEFINED; + if(s=="DBA") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_DBA; + if(s=="DBB") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_DBB; + if(s=="DBC") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_DBC; + if(s=="NC") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_NC; + if(s=="NR") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_NR; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSoundScaleEnum::IfcSoundScale_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSpaceHeaterTypeEnum::ToString(IfcSpaceHeaterTypeEnum v) { @@ -4211,15 +4211,15 @@ std::string IfcSpaceHeaterTypeEnum::ToString(IfcSpaceHeaterTypeEnum v) { return names[v]; } IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterTypeEnum::FromString(const std::string& s) { - if(s=="SECTIONALRADIATOR") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_SECTIONALRADIATOR; - if(s=="PANELRADIATOR") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_PANELRADIATOR; - if(s=="TUBULARRADIATOR") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_TUBULARRADIATOR; - if(s=="CONVECTOR") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_CONVECTOR; - if(s=="BASEBOARDHEATER") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_BASEBOARDHEATER; - if(s=="FINNEDTUBEUNIT") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_FINNEDTUBEUNIT; - if(s=="UNITHEATER") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_UNITHEATER; - if(s=="USERDEFINED") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_USERDEFINED; - if(s=="NOTDEFINED") return IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_NOTDEFINED; + if(s=="SECTIONALRADIATOR") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_SECTIONALRADIATOR; + if(s=="PANELRADIATOR") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_PANELRADIATOR; + if(s=="TUBULARRADIATOR") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_TUBULARRADIATOR; + if(s=="CONVECTOR") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_CONVECTOR; + if(s=="BASEBOARDHEATER") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_BASEBOARDHEATER; + if(s=="FINNEDTUBEUNIT") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_FINNEDTUBEUNIT; + if(s=="UNITHEATER") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_UNITHEATER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSpaceTypeEnum::ToString(IfcSpaceTypeEnum v) { @@ -4228,8 +4228,8 @@ std::string IfcSpaceTypeEnum::ToString(IfcSpaceTypeEnum v) { return names[v]; } IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceTypeEnum::FromString(const std::string& s) { - if(s=="USERDEFINED") return IfcSpaceTypeEnum::IfcSpaceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcSpaceTypeEnum::IfcSpaceType_NOTDEFINED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSpaceTypeEnum::IfcSpaceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSpaceTypeEnum::IfcSpaceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcStackTerminalTypeEnum::ToString(IfcStackTerminalTypeEnum v) { @@ -4238,11 +4238,11 @@ std::string IfcStackTerminalTypeEnum::ToString(IfcStackTerminalTypeEnum v) { return names[v]; } IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalTypeEnum::FromString(const std::string& s) { - if(s=="BIRDCAGE") return IfcStackTerminalTypeEnum::IfcStackTerminalType_BIRDCAGE; - if(s=="COWL") return IfcStackTerminalTypeEnum::IfcStackTerminalType_COWL; - if(s=="RAINWATERHOPPER") return IfcStackTerminalTypeEnum::IfcStackTerminalType_RAINWATERHOPPER; - if(s=="USERDEFINED") return IfcStackTerminalTypeEnum::IfcStackTerminalType_USERDEFINED; - if(s=="NOTDEFINED") return IfcStackTerminalTypeEnum::IfcStackTerminalType_NOTDEFINED; + if(s=="BIRDCAGE") return ::Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalType_BIRDCAGE; + if(s=="COWL") return ::Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalType_COWL; + if(s=="RAINWATERHOPPER") return ::Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalType_RAINWATERHOPPER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcStackTerminalTypeEnum::IfcStackTerminalType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcStairFlightTypeEnum::ToString(IfcStairFlightTypeEnum v) { @@ -4251,13 +4251,13 @@ std::string IfcStairFlightTypeEnum::ToString(IfcStairFlightTypeEnum v) { return names[v]; } IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightTypeEnum::FromString(const std::string& s) { - if(s=="STRAIGHT") return IfcStairFlightTypeEnum::IfcStairFlightType_STRAIGHT; - if(s=="WINDER") return IfcStairFlightTypeEnum::IfcStairFlightType_WINDER; - if(s=="SPIRAL") return IfcStairFlightTypeEnum::IfcStairFlightType_SPIRAL; - if(s=="CURVED") return IfcStairFlightTypeEnum::IfcStairFlightType_CURVED; - if(s=="FREEFORM") return IfcStairFlightTypeEnum::IfcStairFlightType_FREEFORM; - if(s=="USERDEFINED") return IfcStairFlightTypeEnum::IfcStairFlightType_USERDEFINED; - if(s=="NOTDEFINED") return IfcStairFlightTypeEnum::IfcStairFlightType_NOTDEFINED; + if(s=="STRAIGHT") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_STRAIGHT; + if(s=="WINDER") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_WINDER; + if(s=="SPIRAL") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_SPIRAL; + if(s=="CURVED") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_CURVED; + if(s=="FREEFORM") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_FREEFORM; + if(s=="USERDEFINED") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcStairFlightTypeEnum::IfcStairFlightType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcStairTypeEnum::ToString(IfcStairTypeEnum v) { @@ -4266,22 +4266,22 @@ std::string IfcStairTypeEnum::ToString(IfcStairTypeEnum v) { return names[v]; } IfcStairTypeEnum::IfcStairTypeEnum IfcStairTypeEnum::FromString(const std::string& s) { - if(s=="STRAIGHT_RUN_STAIR") return IfcStairTypeEnum::IfcStairType_STRAIGHT_RUN_STAIR; - if(s=="TWO_STRAIGHT_RUN_STAIR") return IfcStairTypeEnum::IfcStairType_TWO_STRAIGHT_RUN_STAIR; - if(s=="QUARTER_WINDING_STAIR") return IfcStairTypeEnum::IfcStairType_QUARTER_WINDING_STAIR; - if(s=="QUARTER_TURN_STAIR") return IfcStairTypeEnum::IfcStairType_QUARTER_TURN_STAIR; - if(s=="HALF_WINDING_STAIR") return IfcStairTypeEnum::IfcStairType_HALF_WINDING_STAIR; - if(s=="HALF_TURN_STAIR") return IfcStairTypeEnum::IfcStairType_HALF_TURN_STAIR; - if(s=="TWO_QUARTER_WINDING_STAIR") return IfcStairTypeEnum::IfcStairType_TWO_QUARTER_WINDING_STAIR; - if(s=="TWO_QUARTER_TURN_STAIR") return IfcStairTypeEnum::IfcStairType_TWO_QUARTER_TURN_STAIR; - if(s=="THREE_QUARTER_WINDING_STAIR") return IfcStairTypeEnum::IfcStairType_THREE_QUARTER_WINDING_STAIR; - if(s=="THREE_QUARTER_TURN_STAIR") return IfcStairTypeEnum::IfcStairType_THREE_QUARTER_TURN_STAIR; - if(s=="SPIRAL_STAIR") return IfcStairTypeEnum::IfcStairType_SPIRAL_STAIR; - if(s=="DOUBLE_RETURN_STAIR") return IfcStairTypeEnum::IfcStairType_DOUBLE_RETURN_STAIR; - if(s=="CURVED_RUN_STAIR") return IfcStairTypeEnum::IfcStairType_CURVED_RUN_STAIR; - if(s=="TWO_CURVED_RUN_STAIR") return IfcStairTypeEnum::IfcStairType_TWO_CURVED_RUN_STAIR; - if(s=="USERDEFINED") return IfcStairTypeEnum::IfcStairType_USERDEFINED; - if(s=="NOTDEFINED") return IfcStairTypeEnum::IfcStairType_NOTDEFINED; + if(s=="STRAIGHT_RUN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_STRAIGHT_RUN_STAIR; + if(s=="TWO_STRAIGHT_RUN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_TWO_STRAIGHT_RUN_STAIR; + if(s=="QUARTER_WINDING_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_QUARTER_WINDING_STAIR; + if(s=="QUARTER_TURN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_QUARTER_TURN_STAIR; + if(s=="HALF_WINDING_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_HALF_WINDING_STAIR; + if(s=="HALF_TURN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_HALF_TURN_STAIR; + if(s=="TWO_QUARTER_WINDING_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_TWO_QUARTER_WINDING_STAIR; + if(s=="TWO_QUARTER_TURN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_TWO_QUARTER_TURN_STAIR; + if(s=="THREE_QUARTER_WINDING_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_THREE_QUARTER_WINDING_STAIR; + if(s=="THREE_QUARTER_TURN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_THREE_QUARTER_TURN_STAIR; + if(s=="SPIRAL_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_SPIRAL_STAIR; + if(s=="DOUBLE_RETURN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_DOUBLE_RETURN_STAIR; + if(s=="CURVED_RUN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_CURVED_RUN_STAIR; + if(s=="TWO_CURVED_RUN_STAIR") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_TWO_CURVED_RUN_STAIR; + if(s=="USERDEFINED") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcStairTypeEnum::IfcStairType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcStateEnum::ToString(IfcStateEnum v) { @@ -4290,11 +4290,11 @@ std::string IfcStateEnum::ToString(IfcStateEnum v) { return names[v]; } IfcStateEnum::IfcStateEnum IfcStateEnum::FromString(const std::string& s) { - if(s=="READWRITE") return IfcStateEnum::IfcState_READWRITE; - if(s=="READONLY") return IfcStateEnum::IfcState_READONLY; - if(s=="LOCKED") return IfcStateEnum::IfcState_LOCKED; - if(s=="READWRITELOCKED") return IfcStateEnum::IfcState_READWRITELOCKED; - if(s=="READONLYLOCKED") return IfcStateEnum::IfcState_READONLYLOCKED; + if(s=="READWRITE") return ::Ifc2x3::IfcStateEnum::IfcState_READWRITE; + if(s=="READONLY") return ::Ifc2x3::IfcStateEnum::IfcState_READONLY; + if(s=="LOCKED") return ::Ifc2x3::IfcStateEnum::IfcState_LOCKED; + if(s=="READWRITELOCKED") return ::Ifc2x3::IfcStateEnum::IfcState_READWRITELOCKED; + if(s=="READONLYLOCKED") return ::Ifc2x3::IfcStateEnum::IfcState_READONLYLOCKED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcStructuralCurveTypeEnum::ToString(IfcStructuralCurveTypeEnum v) { @@ -4303,13 +4303,13 @@ std::string IfcStructuralCurveTypeEnum::ToString(IfcStructuralCurveTypeEnum v) { return names[v]; } IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum IfcStructuralCurveTypeEnum::FromString(const std::string& s) { - if(s=="RIGID_JOINED_MEMBER") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_RIGID_JOINED_MEMBER; - if(s=="PIN_JOINED_MEMBER") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_PIN_JOINED_MEMBER; - if(s=="CABLE") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_CABLE; - if(s=="TENSION_MEMBER") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_TENSION_MEMBER; - if(s=="COMPRESSION_MEMBER") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_COMPRESSION_MEMBER; - if(s=="USERDEFINED") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_USERDEFINED; - if(s=="NOTDEFINED") return IfcStructuralCurveTypeEnum::IfcStructuralCurveType_NOTDEFINED; + if(s=="RIGID_JOINED_MEMBER") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_RIGID_JOINED_MEMBER; + if(s=="PIN_JOINED_MEMBER") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_PIN_JOINED_MEMBER; + if(s=="CABLE") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_CABLE; + if(s=="TENSION_MEMBER") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_TENSION_MEMBER; + if(s=="COMPRESSION_MEMBER") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_COMPRESSION_MEMBER; + if(s=="USERDEFINED") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcStructuralCurveTypeEnum::IfcStructuralCurveType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcStructuralSurfaceTypeEnum::ToString(IfcStructuralSurfaceTypeEnum v) { @@ -4318,11 +4318,11 @@ std::string IfcStructuralSurfaceTypeEnum::ToString(IfcStructuralSurfaceTypeEnum return names[v]; } IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum IfcStructuralSurfaceTypeEnum::FromString(const std::string& s) { - if(s=="BENDING_ELEMENT") return IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_BENDING_ELEMENT; - if(s=="MEMBRANE_ELEMENT") return IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_MEMBRANE_ELEMENT; - if(s=="SHELL") return IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_SHELL; - if(s=="USERDEFINED") return IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_NOTDEFINED; + if(s=="BENDING_ELEMENT") return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_BENDING_ELEMENT; + if(s=="MEMBRANE_ELEMENT") return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_MEMBRANE_ELEMENT; + if(s=="SHELL") return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_SHELL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSurfaceSide::ToString(IfcSurfaceSide v) { @@ -4331,9 +4331,9 @@ std::string IfcSurfaceSide::ToString(IfcSurfaceSide v) { return names[v]; } IfcSurfaceSide::IfcSurfaceSide IfcSurfaceSide::FromString(const std::string& s) { - if(s=="POSITIVE") return IfcSurfaceSide::IfcSurfaceSide_POSITIVE; - if(s=="NEGATIVE") return IfcSurfaceSide::IfcSurfaceSide_NEGATIVE; - if(s=="BOTH") return IfcSurfaceSide::IfcSurfaceSide_BOTH; + if(s=="POSITIVE") return ::Ifc2x3::IfcSurfaceSide::IfcSurfaceSide_POSITIVE; + if(s=="NEGATIVE") return ::Ifc2x3::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE; + if(s=="BOTH") return ::Ifc2x3::IfcSurfaceSide::IfcSurfaceSide_BOTH; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSurfaceTextureEnum::ToString(IfcSurfaceTextureEnum v) { @@ -4342,15 +4342,15 @@ std::string IfcSurfaceTextureEnum::ToString(IfcSurfaceTextureEnum v) { return names[v]; } IfcSurfaceTextureEnum::IfcSurfaceTextureEnum IfcSurfaceTextureEnum::FromString(const std::string& s) { - if(s=="BUMP") return IfcSurfaceTextureEnum::IfcSurfaceTexture_BUMP; - if(s=="OPACITY") return IfcSurfaceTextureEnum::IfcSurfaceTexture_OPACITY; - if(s=="REFLECTION") return IfcSurfaceTextureEnum::IfcSurfaceTexture_REFLECTION; - if(s=="SELFILLUMINATION") return IfcSurfaceTextureEnum::IfcSurfaceTexture_SELFILLUMINATION; - if(s=="SHININESS") return IfcSurfaceTextureEnum::IfcSurfaceTexture_SHININESS; - if(s=="SPECULAR") return IfcSurfaceTextureEnum::IfcSurfaceTexture_SPECULAR; - if(s=="TEXTURE") return IfcSurfaceTextureEnum::IfcSurfaceTexture_TEXTURE; - if(s=="TRANSPARENCYMAP") return IfcSurfaceTextureEnum::IfcSurfaceTexture_TRANSPARENCYMAP; - if(s=="NOTDEFINED") return IfcSurfaceTextureEnum::IfcSurfaceTexture_NOTDEFINED; + if(s=="BUMP") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_BUMP; + if(s=="OPACITY") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_OPACITY; + if(s=="REFLECTION") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_REFLECTION; + if(s=="SELFILLUMINATION") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_SELFILLUMINATION; + if(s=="SHININESS") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_SHININESS; + if(s=="SPECULAR") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_SPECULAR; + if(s=="TEXTURE") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_TEXTURE; + if(s=="TRANSPARENCYMAP") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_TRANSPARENCYMAP; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSurfaceTextureEnum::IfcSurfaceTexture_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcSwitchingDeviceTypeEnum::ToString(IfcSwitchingDeviceTypeEnum v) { @@ -4359,13 +4359,13 @@ std::string IfcSwitchingDeviceTypeEnum::ToString(IfcSwitchingDeviceTypeEnum v) { return names[v]; } IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDeviceTypeEnum::FromString(const std::string& s) { - if(s=="CONTACTOR") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_CONTACTOR; - if(s=="EMERGENCYSTOP") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_EMERGENCYSTOP; - if(s=="STARTER") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_STARTER; - if(s=="SWITCHDISCONNECTOR") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_SWITCHDISCONNECTOR; - if(s=="TOGGLESWITCH") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_TOGGLESWITCH; - if(s=="USERDEFINED") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_USERDEFINED; - if(s=="NOTDEFINED") return IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_NOTDEFINED; + if(s=="CONTACTOR") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_CONTACTOR; + if(s=="EMERGENCYSTOP") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_EMERGENCYSTOP; + if(s=="STARTER") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_STARTER; + if(s=="SWITCHDISCONNECTOR") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_SWITCHDISCONNECTOR; + if(s=="TOGGLESWITCH") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_TOGGLESWITCH; + if(s=="USERDEFINED") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTankTypeEnum::ToString(IfcTankTypeEnum v) { @@ -4374,12 +4374,12 @@ std::string IfcTankTypeEnum::ToString(IfcTankTypeEnum v) { return names[v]; } IfcTankTypeEnum::IfcTankTypeEnum IfcTankTypeEnum::FromString(const std::string& s) { - if(s=="PREFORMED") return IfcTankTypeEnum::IfcTankType_PREFORMED; - if(s=="SECTIONAL") return IfcTankTypeEnum::IfcTankType_SECTIONAL; - if(s=="EXPANSION") return IfcTankTypeEnum::IfcTankType_EXPANSION; - if(s=="PRESSUREVESSEL") return IfcTankTypeEnum::IfcTankType_PRESSUREVESSEL; - if(s=="USERDEFINED") return IfcTankTypeEnum::IfcTankType_USERDEFINED; - if(s=="NOTDEFINED") return IfcTankTypeEnum::IfcTankType_NOTDEFINED; + if(s=="PREFORMED") return ::Ifc2x3::IfcTankTypeEnum::IfcTankType_PREFORMED; + if(s=="SECTIONAL") return ::Ifc2x3::IfcTankTypeEnum::IfcTankType_SECTIONAL; + if(s=="EXPANSION") return ::Ifc2x3::IfcTankTypeEnum::IfcTankType_EXPANSION; + if(s=="PRESSUREVESSEL") return ::Ifc2x3::IfcTankTypeEnum::IfcTankType_PRESSUREVESSEL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcTankTypeEnum::IfcTankType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTankTypeEnum::IfcTankType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTendonTypeEnum::ToString(IfcTendonTypeEnum v) { @@ -4388,12 +4388,12 @@ std::string IfcTendonTypeEnum::ToString(IfcTendonTypeEnum v) { return names[v]; } IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendonTypeEnum::FromString(const std::string& s) { - if(s=="STRAND") return IfcTendonTypeEnum::IfcTendonType_STRAND; - if(s=="WIRE") return IfcTendonTypeEnum::IfcTendonType_WIRE; - if(s=="BAR") return IfcTendonTypeEnum::IfcTendonType_BAR; - if(s=="COATED") return IfcTendonTypeEnum::IfcTendonType_COATED; - if(s=="USERDEFINED") return IfcTendonTypeEnum::IfcTendonType_USERDEFINED; - if(s=="NOTDEFINED") return IfcTendonTypeEnum::IfcTendonType_NOTDEFINED; + if(s=="STRAND") return ::Ifc2x3::IfcTendonTypeEnum::IfcTendonType_STRAND; + if(s=="WIRE") return ::Ifc2x3::IfcTendonTypeEnum::IfcTendonType_WIRE; + if(s=="BAR") return ::Ifc2x3::IfcTendonTypeEnum::IfcTendonType_BAR; + if(s=="COATED") return ::Ifc2x3::IfcTendonTypeEnum::IfcTendonType_COATED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcTendonTypeEnum::IfcTendonType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTendonTypeEnum::IfcTendonType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTextPath::ToString(IfcTextPath v) { @@ -4402,10 +4402,10 @@ std::string IfcTextPath::ToString(IfcTextPath v) { return names[v]; } IfcTextPath::IfcTextPath IfcTextPath::FromString(const std::string& s) { - if(s=="LEFT") return IfcTextPath::IfcTextPath_LEFT; - if(s=="RIGHT") return IfcTextPath::IfcTextPath_RIGHT; - if(s=="UP") return IfcTextPath::IfcTextPath_UP; - if(s=="DOWN") return IfcTextPath::IfcTextPath_DOWN; + if(s=="LEFT") return ::Ifc2x3::IfcTextPath::IfcTextPath_LEFT; + if(s=="RIGHT") return ::Ifc2x3::IfcTextPath::IfcTextPath_RIGHT; + if(s=="UP") return ::Ifc2x3::IfcTextPath::IfcTextPath_UP; + if(s=="DOWN") return ::Ifc2x3::IfcTextPath::IfcTextPath_DOWN; throw IfcException("Unable to find find keyword in schema"); } std::string IfcThermalLoadSourceEnum::ToString(IfcThermalLoadSourceEnum v) { @@ -4414,19 +4414,19 @@ std::string IfcThermalLoadSourceEnum::ToString(IfcThermalLoadSourceEnum v) { return names[v]; } IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum IfcThermalLoadSourceEnum::FromString(const std::string& s) { - if(s=="PEOPLE") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_PEOPLE; - if(s=="LIGHTING") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_LIGHTING; - if(s=="EQUIPMENT") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_EQUIPMENT; - if(s=="VENTILATIONINDOORAIR") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_VENTILATIONINDOORAIR; - if(s=="VENTILATIONOUTSIDEAIR") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_VENTILATIONOUTSIDEAIR; - if(s=="RECIRCULATEDAIR") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_RECIRCULATEDAIR; - if(s=="EXHAUSTAIR") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_EXHAUSTAIR; - if(s=="AIREXCHANGERATE") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_AIREXCHANGERATE; - if(s=="DRYBULBTEMPERATURE") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_DRYBULBTEMPERATURE; - if(s=="RELATIVEHUMIDITY") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_RELATIVEHUMIDITY; - if(s=="INFILTRATION") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_INFILTRATION; - if(s=="USERDEFINED") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_USERDEFINED; - if(s=="NOTDEFINED") return IfcThermalLoadSourceEnum::IfcThermalLoadSource_NOTDEFINED; + if(s=="PEOPLE") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_PEOPLE; + if(s=="LIGHTING") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_LIGHTING; + if(s=="EQUIPMENT") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_EQUIPMENT; + if(s=="VENTILATIONINDOORAIR") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_VENTILATIONINDOORAIR; + if(s=="VENTILATIONOUTSIDEAIR") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_VENTILATIONOUTSIDEAIR; + if(s=="RECIRCULATEDAIR") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_RECIRCULATEDAIR; + if(s=="EXHAUSTAIR") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_EXHAUSTAIR; + if(s=="AIREXCHANGERATE") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_AIREXCHANGERATE; + if(s=="DRYBULBTEMPERATURE") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_DRYBULBTEMPERATURE; + if(s=="RELATIVEHUMIDITY") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_RELATIVEHUMIDITY; + if(s=="INFILTRATION") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_INFILTRATION; + if(s=="USERDEFINED") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcThermalLoadSourceEnum::IfcThermalLoadSource_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcThermalLoadTypeEnum::ToString(IfcThermalLoadTypeEnum v) { @@ -4435,10 +4435,10 @@ std::string IfcThermalLoadTypeEnum::ToString(IfcThermalLoadTypeEnum v) { return names[v]; } IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum IfcThermalLoadTypeEnum::FromString(const std::string& s) { - if(s=="SENSIBLE") return IfcThermalLoadTypeEnum::IfcThermalLoadType_SENSIBLE; - if(s=="LATENT") return IfcThermalLoadTypeEnum::IfcThermalLoadType_LATENT; - if(s=="RADIANT") return IfcThermalLoadTypeEnum::IfcThermalLoadType_RADIANT; - if(s=="NOTDEFINED") return IfcThermalLoadTypeEnum::IfcThermalLoadType_NOTDEFINED; + if(s=="SENSIBLE") return ::Ifc2x3::IfcThermalLoadTypeEnum::IfcThermalLoadType_SENSIBLE; + if(s=="LATENT") return ::Ifc2x3::IfcThermalLoadTypeEnum::IfcThermalLoadType_LATENT; + if(s=="RADIANT") return ::Ifc2x3::IfcThermalLoadTypeEnum::IfcThermalLoadType_RADIANT; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcThermalLoadTypeEnum::IfcThermalLoadType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTimeSeriesDataTypeEnum::ToString(IfcTimeSeriesDataTypeEnum v) { @@ -4447,13 +4447,13 @@ std::string IfcTimeSeriesDataTypeEnum::ToString(IfcTimeSeriesDataTypeEnum v) { return names[v]; } IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeriesDataTypeEnum::FromString(const std::string& s) { - if(s=="CONTINUOUS") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_CONTINUOUS; - if(s=="DISCRETE") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_DISCRETE; - if(s=="DISCRETEBINARY") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_DISCRETEBINARY; - if(s=="PIECEWISEBINARY") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISEBINARY; - if(s=="PIECEWISECONSTANT") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISECONSTANT; - if(s=="PIECEWISECONTINUOUS") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISECONTINUOUS; - if(s=="NOTDEFINED") return IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_NOTDEFINED; + if(s=="CONTINUOUS") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_CONTINUOUS; + if(s=="DISCRETE") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_DISCRETE; + if(s=="DISCRETEBINARY") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_DISCRETEBINARY; + if(s=="PIECEWISEBINARY") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISEBINARY; + if(s=="PIECEWISECONSTANT") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISECONSTANT; + if(s=="PIECEWISECONTINUOUS") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISECONTINUOUS; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTimeSeriesScheduleTypeEnum::ToString(IfcTimeSeriesScheduleTypeEnum v) { @@ -4462,12 +4462,12 @@ std::string IfcTimeSeriesScheduleTypeEnum::ToString(IfcTimeSeriesScheduleTypeEnu return names[v]; } IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum IfcTimeSeriesScheduleTypeEnum::FromString(const std::string& s) { - if(s=="ANNUAL") return IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_ANNUAL; - if(s=="MONTHLY") return IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_MONTHLY; - if(s=="WEEKLY") return IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_WEEKLY; - if(s=="DAILY") return IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_DAILY; - if(s=="USERDEFINED") return IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_USERDEFINED; - if(s=="NOTDEFINED") return IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_NOTDEFINED; + if(s=="ANNUAL") return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_ANNUAL; + if(s=="MONTHLY") return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_MONTHLY; + if(s=="WEEKLY") return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_WEEKLY; + if(s=="DAILY") return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_DAILY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTransformerTypeEnum::ToString(IfcTransformerTypeEnum v) { @@ -4476,11 +4476,11 @@ std::string IfcTransformerTypeEnum::ToString(IfcTransformerTypeEnum v) { return names[v]; } IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerTypeEnum::FromString(const std::string& s) { - if(s=="CURRENT") return IfcTransformerTypeEnum::IfcTransformerType_CURRENT; - if(s=="FREQUENCY") return IfcTransformerTypeEnum::IfcTransformerType_FREQUENCY; - if(s=="VOLTAGE") return IfcTransformerTypeEnum::IfcTransformerType_VOLTAGE; - if(s=="USERDEFINED") return IfcTransformerTypeEnum::IfcTransformerType_USERDEFINED; - if(s=="NOTDEFINED") return IfcTransformerTypeEnum::IfcTransformerType_NOTDEFINED; + if(s=="CURRENT") return ::Ifc2x3::IfcTransformerTypeEnum::IfcTransformerType_CURRENT; + if(s=="FREQUENCY") return ::Ifc2x3::IfcTransformerTypeEnum::IfcTransformerType_FREQUENCY; + if(s=="VOLTAGE") return ::Ifc2x3::IfcTransformerTypeEnum::IfcTransformerType_VOLTAGE; + if(s=="USERDEFINED") return ::Ifc2x3::IfcTransformerTypeEnum::IfcTransformerType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTransformerTypeEnum::IfcTransformerType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTransitionCode::ToString(IfcTransitionCode v) { @@ -4489,10 +4489,10 @@ std::string IfcTransitionCode::ToString(IfcTransitionCode v) { return names[v]; } IfcTransitionCode::IfcTransitionCode IfcTransitionCode::FromString(const std::string& s) { - if(s=="DISCONTINUOUS") return IfcTransitionCode::IfcTransitionCode_DISCONTINUOUS; - if(s=="CONTINUOUS") return IfcTransitionCode::IfcTransitionCode_CONTINUOUS; - if(s=="CONTSAMEGRADIENT") return IfcTransitionCode::IfcTransitionCode_CONTSAMEGRADIENT; - if(s=="CONTSAMEGRADIENTSAMECURVATURE") return IfcTransitionCode::IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE; + if(s=="DISCONTINUOUS") return ::Ifc2x3::IfcTransitionCode::IfcTransitionCode_DISCONTINUOUS; + if(s=="CONTINUOUS") return ::Ifc2x3::IfcTransitionCode::IfcTransitionCode_CONTINUOUS; + if(s=="CONTSAMEGRADIENT") return ::Ifc2x3::IfcTransitionCode::IfcTransitionCode_CONTSAMEGRADIENT; + if(s=="CONTSAMEGRADIENTSAMECURVATURE") return ::Ifc2x3::IfcTransitionCode::IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTransportElementTypeEnum::ToString(IfcTransportElementTypeEnum v) { @@ -4501,11 +4501,11 @@ std::string IfcTransportElementTypeEnum::ToString(IfcTransportElementTypeEnum v) return names[v]; } IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementTypeEnum::FromString(const std::string& s) { - if(s=="ELEVATOR") return IfcTransportElementTypeEnum::IfcTransportElementType_ELEVATOR; - if(s=="ESCALATOR") return IfcTransportElementTypeEnum::IfcTransportElementType_ESCALATOR; - if(s=="MOVINGWALKWAY") return IfcTransportElementTypeEnum::IfcTransportElementType_MOVINGWALKWAY; - if(s=="USERDEFINED") return IfcTransportElementTypeEnum::IfcTransportElementType_USERDEFINED; - if(s=="NOTDEFINED") return IfcTransportElementTypeEnum::IfcTransportElementType_NOTDEFINED; + if(s=="ELEVATOR") return ::Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementType_ELEVATOR; + if(s=="ESCALATOR") return ::Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementType_ESCALATOR; + if(s=="MOVINGWALKWAY") return ::Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementType_MOVINGWALKWAY; + if(s=="USERDEFINED") return ::Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTransportElementTypeEnum::IfcTransportElementType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTrimmingPreference::ToString(IfcTrimmingPreference v) { @@ -4514,9 +4514,9 @@ std::string IfcTrimmingPreference::ToString(IfcTrimmingPreference v) { return names[v]; } IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmingPreference::FromString(const std::string& s) { - if(s=="CARTESIAN") return IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN; - if(s=="PARAMETER") return IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER; - if(s=="UNSPECIFIED") return IfcTrimmingPreference::IfcTrimmingPreference_UNSPECIFIED; + if(s=="CARTESIAN") return ::Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN; + if(s=="PARAMETER") return ::Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER; + if(s=="UNSPECIFIED") return ::Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_UNSPECIFIED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcTubeBundleTypeEnum::ToString(IfcTubeBundleTypeEnum v) { @@ -4525,9 +4525,9 @@ std::string IfcTubeBundleTypeEnum::ToString(IfcTubeBundleTypeEnum v) { return names[v]; } IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundleTypeEnum::FromString(const std::string& s) { - if(s=="FINNED") return IfcTubeBundleTypeEnum::IfcTubeBundleType_FINNED; - if(s=="USERDEFINED") return IfcTubeBundleTypeEnum::IfcTubeBundleType_USERDEFINED; - if(s=="NOTDEFINED") return IfcTubeBundleTypeEnum::IfcTubeBundleType_NOTDEFINED; + if(s=="FINNED") return ::Ifc2x3::IfcTubeBundleTypeEnum::IfcTubeBundleType_FINNED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcTubeBundleTypeEnum::IfcTubeBundleType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcTubeBundleTypeEnum::IfcTubeBundleType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcUnitEnum::ToString(IfcUnitEnum v) { @@ -4536,36 +4536,36 @@ std::string IfcUnitEnum::ToString(IfcUnitEnum v) { return names[v]; } IfcUnitEnum::IfcUnitEnum IfcUnitEnum::FromString(const std::string& s) { - if(s=="ABSORBEDDOSEUNIT") return IfcUnitEnum::IfcUnit_ABSORBEDDOSEUNIT; - if(s=="AMOUNTOFSUBSTANCEUNIT") return IfcUnitEnum::IfcUnit_AMOUNTOFSUBSTANCEUNIT; - if(s=="AREAUNIT") return IfcUnitEnum::IfcUnit_AREAUNIT; - if(s=="DOSEEQUIVALENTUNIT") return IfcUnitEnum::IfcUnit_DOSEEQUIVALENTUNIT; - if(s=="ELECTRICCAPACITANCEUNIT") return IfcUnitEnum::IfcUnit_ELECTRICCAPACITANCEUNIT; - if(s=="ELECTRICCHARGEUNIT") return IfcUnitEnum::IfcUnit_ELECTRICCHARGEUNIT; - if(s=="ELECTRICCONDUCTANCEUNIT") return IfcUnitEnum::IfcUnit_ELECTRICCONDUCTANCEUNIT; - if(s=="ELECTRICCURRENTUNIT") return IfcUnitEnum::IfcUnit_ELECTRICCURRENTUNIT; - if(s=="ELECTRICRESISTANCEUNIT") return IfcUnitEnum::IfcUnit_ELECTRICRESISTANCEUNIT; - if(s=="ELECTRICVOLTAGEUNIT") return IfcUnitEnum::IfcUnit_ELECTRICVOLTAGEUNIT; - if(s=="ENERGYUNIT") return IfcUnitEnum::IfcUnit_ENERGYUNIT; - if(s=="FORCEUNIT") return IfcUnitEnum::IfcUnit_FORCEUNIT; - if(s=="FREQUENCYUNIT") return IfcUnitEnum::IfcUnit_FREQUENCYUNIT; - if(s=="ILLUMINANCEUNIT") return IfcUnitEnum::IfcUnit_ILLUMINANCEUNIT; - if(s=="INDUCTANCEUNIT") return IfcUnitEnum::IfcUnit_INDUCTANCEUNIT; - if(s=="LENGTHUNIT") return IfcUnitEnum::IfcUnit_LENGTHUNIT; - if(s=="LUMINOUSFLUXUNIT") return IfcUnitEnum::IfcUnit_LUMINOUSFLUXUNIT; - if(s=="LUMINOUSINTENSITYUNIT") return IfcUnitEnum::IfcUnit_LUMINOUSINTENSITYUNIT; - if(s=="MAGNETICFLUXDENSITYUNIT") return IfcUnitEnum::IfcUnit_MAGNETICFLUXDENSITYUNIT; - if(s=="MAGNETICFLUXUNIT") return IfcUnitEnum::IfcUnit_MAGNETICFLUXUNIT; - if(s=="MASSUNIT") return IfcUnitEnum::IfcUnit_MASSUNIT; - if(s=="PLANEANGLEUNIT") return IfcUnitEnum::IfcUnit_PLANEANGLEUNIT; - if(s=="POWERUNIT") return IfcUnitEnum::IfcUnit_POWERUNIT; - if(s=="PRESSUREUNIT") return IfcUnitEnum::IfcUnit_PRESSUREUNIT; - if(s=="RADIOACTIVITYUNIT") return IfcUnitEnum::IfcUnit_RADIOACTIVITYUNIT; - if(s=="SOLIDANGLEUNIT") return IfcUnitEnum::IfcUnit_SOLIDANGLEUNIT; - if(s=="THERMODYNAMICTEMPERATUREUNIT") return IfcUnitEnum::IfcUnit_THERMODYNAMICTEMPERATUREUNIT; - if(s=="TIMEUNIT") return IfcUnitEnum::IfcUnit_TIMEUNIT; - if(s=="VOLUMEUNIT") return IfcUnitEnum::IfcUnit_VOLUMEUNIT; - if(s=="USERDEFINED") return IfcUnitEnum::IfcUnit_USERDEFINED; + if(s=="ABSORBEDDOSEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ABSORBEDDOSEUNIT; + if(s=="AMOUNTOFSUBSTANCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_AMOUNTOFSUBSTANCEUNIT; + if(s=="AREAUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_AREAUNIT; + if(s=="DOSEEQUIVALENTUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_DOSEEQUIVALENTUNIT; + if(s=="ELECTRICCAPACITANCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ELECTRICCAPACITANCEUNIT; + if(s=="ELECTRICCHARGEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ELECTRICCHARGEUNIT; + if(s=="ELECTRICCONDUCTANCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ELECTRICCONDUCTANCEUNIT; + if(s=="ELECTRICCURRENTUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ELECTRICCURRENTUNIT; + if(s=="ELECTRICRESISTANCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ELECTRICRESISTANCEUNIT; + if(s=="ELECTRICVOLTAGEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ELECTRICVOLTAGEUNIT; + if(s=="ENERGYUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ENERGYUNIT; + if(s=="FORCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_FORCEUNIT; + if(s=="FREQUENCYUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_FREQUENCYUNIT; + if(s=="ILLUMINANCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_ILLUMINANCEUNIT; + if(s=="INDUCTANCEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_INDUCTANCEUNIT; + if(s=="LENGTHUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_LENGTHUNIT; + if(s=="LUMINOUSFLUXUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_LUMINOUSFLUXUNIT; + if(s=="LUMINOUSINTENSITYUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_LUMINOUSINTENSITYUNIT; + if(s=="MAGNETICFLUXDENSITYUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_MAGNETICFLUXDENSITYUNIT; + if(s=="MAGNETICFLUXUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_MAGNETICFLUXUNIT; + if(s=="MASSUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_MASSUNIT; + if(s=="PLANEANGLEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_PLANEANGLEUNIT; + if(s=="POWERUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_POWERUNIT; + if(s=="PRESSUREUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_PRESSUREUNIT; + if(s=="RADIOACTIVITYUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_RADIOACTIVITYUNIT; + if(s=="SOLIDANGLEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_SOLIDANGLEUNIT; + if(s=="THERMODYNAMICTEMPERATUREUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_THERMODYNAMICTEMPERATUREUNIT; + if(s=="TIMEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_TIMEUNIT; + if(s=="VOLUMEUNIT") return ::Ifc2x3::IfcUnitEnum::IfcUnit_VOLUMEUNIT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcUnitEnum::IfcUnit_USERDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcUnitaryEquipmentTypeEnum::ToString(IfcUnitaryEquipmentTypeEnum v) { @@ -4574,12 +4574,12 @@ std::string IfcUnitaryEquipmentTypeEnum::ToString(IfcUnitaryEquipmentTypeEnum v) return names[v]; } IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipmentTypeEnum::FromString(const std::string& s) { - if(s=="AIRHANDLER") return IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_AIRHANDLER; - if(s=="AIRCONDITIONINGUNIT") return IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT; - if(s=="SPLITSYSTEM") return IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_SPLITSYSTEM; - if(s=="ROOFTOPUNIT") return IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_ROOFTOPUNIT; - if(s=="USERDEFINED") return IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_USERDEFINED; - if(s=="NOTDEFINED") return IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_NOTDEFINED; + if(s=="AIRHANDLER") return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_AIRHANDLER; + if(s=="AIRCONDITIONINGUNIT") return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT; + if(s=="SPLITSYSTEM") return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_SPLITSYSTEM; + if(s=="ROOFTOPUNIT") return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_ROOFTOPUNIT; + if(s=="USERDEFINED") return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcValveTypeEnum::ToString(IfcValveTypeEnum v) { @@ -4588,29 +4588,29 @@ std::string IfcValveTypeEnum::ToString(IfcValveTypeEnum v) { return names[v]; } IfcValveTypeEnum::IfcValveTypeEnum IfcValveTypeEnum::FromString(const std::string& s) { - if(s=="AIRRELEASE") return IfcValveTypeEnum::IfcValveType_AIRRELEASE; - if(s=="ANTIVACUUM") return IfcValveTypeEnum::IfcValveType_ANTIVACUUM; - if(s=="CHANGEOVER") return IfcValveTypeEnum::IfcValveType_CHANGEOVER; - if(s=="CHECK") return IfcValveTypeEnum::IfcValveType_CHECK; - if(s=="COMMISSIONING") return IfcValveTypeEnum::IfcValveType_COMMISSIONING; - if(s=="DIVERTING") return IfcValveTypeEnum::IfcValveType_DIVERTING; - if(s=="DRAWOFFCOCK") return IfcValveTypeEnum::IfcValveType_DRAWOFFCOCK; - if(s=="DOUBLECHECK") return IfcValveTypeEnum::IfcValveType_DOUBLECHECK; - if(s=="DOUBLEREGULATING") return IfcValveTypeEnum::IfcValveType_DOUBLEREGULATING; - if(s=="FAUCET") return IfcValveTypeEnum::IfcValveType_FAUCET; - if(s=="FLUSHING") return IfcValveTypeEnum::IfcValveType_FLUSHING; - if(s=="GASCOCK") return IfcValveTypeEnum::IfcValveType_GASCOCK; - if(s=="GASTAP") return IfcValveTypeEnum::IfcValveType_GASTAP; - if(s=="ISOLATING") return IfcValveTypeEnum::IfcValveType_ISOLATING; - if(s=="MIXING") return IfcValveTypeEnum::IfcValveType_MIXING; - if(s=="PRESSUREREDUCING") return IfcValveTypeEnum::IfcValveType_PRESSUREREDUCING; - if(s=="PRESSURERELIEF") return IfcValveTypeEnum::IfcValveType_PRESSURERELIEF; - if(s=="REGULATING") return IfcValveTypeEnum::IfcValveType_REGULATING; - if(s=="SAFETYCUTOFF") return IfcValveTypeEnum::IfcValveType_SAFETYCUTOFF; - if(s=="STEAMTRAP") return IfcValveTypeEnum::IfcValveType_STEAMTRAP; - if(s=="STOPCOCK") return IfcValveTypeEnum::IfcValveType_STOPCOCK; - if(s=="USERDEFINED") return IfcValveTypeEnum::IfcValveType_USERDEFINED; - if(s=="NOTDEFINED") return IfcValveTypeEnum::IfcValveType_NOTDEFINED; + if(s=="AIRRELEASE") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_AIRRELEASE; + if(s=="ANTIVACUUM") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_ANTIVACUUM; + if(s=="CHANGEOVER") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_CHANGEOVER; + if(s=="CHECK") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_CHECK; + if(s=="COMMISSIONING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_COMMISSIONING; + if(s=="DIVERTING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_DIVERTING; + if(s=="DRAWOFFCOCK") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_DRAWOFFCOCK; + if(s=="DOUBLECHECK") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_DOUBLECHECK; + if(s=="DOUBLEREGULATING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_DOUBLEREGULATING; + if(s=="FAUCET") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_FAUCET; + if(s=="FLUSHING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_FLUSHING; + if(s=="GASCOCK") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_GASCOCK; + if(s=="GASTAP") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_GASTAP; + if(s=="ISOLATING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_ISOLATING; + if(s=="MIXING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_MIXING; + if(s=="PRESSUREREDUCING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_PRESSUREREDUCING; + if(s=="PRESSURERELIEF") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_PRESSURERELIEF; + if(s=="REGULATING") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_REGULATING; + if(s=="SAFETYCUTOFF") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_SAFETYCUTOFF; + if(s=="STEAMTRAP") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_STEAMTRAP; + if(s=="STOPCOCK") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_STOPCOCK; + if(s=="USERDEFINED") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcValveTypeEnum::IfcValveType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcVibrationIsolatorTypeEnum::ToString(IfcVibrationIsolatorTypeEnum v) { @@ -4619,10 +4619,10 @@ std::string IfcVibrationIsolatorTypeEnum::ToString(IfcVibrationIsolatorTypeEnum return names[v]; } IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolatorTypeEnum::FromString(const std::string& s) { - if(s=="COMPRESSION") return IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_COMPRESSION; - if(s=="SPRING") return IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_SPRING; - if(s=="USERDEFINED") return IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_USERDEFINED; - if(s=="NOTDEFINED") return IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_NOTDEFINED; + if(s=="COMPRESSION") return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_COMPRESSION; + if(s=="SPRING") return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_SPRING; + if(s=="USERDEFINED") return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWallTypeEnum::ToString(IfcWallTypeEnum v) { @@ -4631,13 +4631,13 @@ std::string IfcWallTypeEnum::ToString(IfcWallTypeEnum v) { return names[v]; } IfcWallTypeEnum::IfcWallTypeEnum IfcWallTypeEnum::FromString(const std::string& s) { - if(s=="STANDARD") return IfcWallTypeEnum::IfcWallType_STANDARD; - if(s=="POLYGONAL") return IfcWallTypeEnum::IfcWallType_POLYGONAL; - if(s=="SHEAR") return IfcWallTypeEnum::IfcWallType_SHEAR; - if(s=="ELEMENTEDWALL") return IfcWallTypeEnum::IfcWallType_ELEMENTEDWALL; - if(s=="PLUMBINGWALL") return IfcWallTypeEnum::IfcWallType_PLUMBINGWALL; - if(s=="USERDEFINED") return IfcWallTypeEnum::IfcWallType_USERDEFINED; - if(s=="NOTDEFINED") return IfcWallTypeEnum::IfcWallType_NOTDEFINED; + if(s=="STANDARD") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_STANDARD; + if(s=="POLYGONAL") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_POLYGONAL; + if(s=="SHEAR") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_SHEAR; + if(s=="ELEMENTEDWALL") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_ELEMENTEDWALL; + if(s=="PLUMBINGWALL") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_PLUMBINGWALL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWallTypeEnum::IfcWallType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWasteTerminalTypeEnum::ToString(IfcWasteTerminalTypeEnum v) { @@ -4646,18 +4646,18 @@ std::string IfcWasteTerminalTypeEnum::ToString(IfcWasteTerminalTypeEnum v) { return names[v]; } IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalTypeEnum::FromString(const std::string& s) { - if(s=="FLOORTRAP") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_FLOORTRAP; - if(s=="FLOORWASTE") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_FLOORWASTE; - if(s=="GULLYSUMP") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GULLYSUMP; - if(s=="GULLYTRAP") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GULLYTRAP; - if(s=="GREASEINTERCEPTOR") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GREASEINTERCEPTOR; - if(s=="OILINTERCEPTOR") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_OILINTERCEPTOR; - if(s=="PETROLINTERCEPTOR") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_PETROLINTERCEPTOR; - if(s=="ROOFDRAIN") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_ROOFDRAIN; - if(s=="WASTEDISPOSALUNIT") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_WASTEDISPOSALUNIT; - if(s=="WASTETRAP") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_WASTETRAP; - if(s=="USERDEFINED") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_USERDEFINED; - if(s=="NOTDEFINED") return IfcWasteTerminalTypeEnum::IfcWasteTerminalType_NOTDEFINED; + if(s=="FLOORTRAP") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_FLOORTRAP; + if(s=="FLOORWASTE") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_FLOORWASTE; + if(s=="GULLYSUMP") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GULLYSUMP; + if(s=="GULLYTRAP") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GULLYTRAP; + if(s=="GREASEINTERCEPTOR") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GREASEINTERCEPTOR; + if(s=="OILINTERCEPTOR") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_OILINTERCEPTOR; + if(s=="PETROLINTERCEPTOR") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_PETROLINTERCEPTOR; + if(s=="ROOFDRAIN") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_ROOFDRAIN; + if(s=="WASTEDISPOSALUNIT") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_WASTEDISPOSALUNIT; + if(s=="WASTETRAP") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_WASTETRAP; + if(s=="USERDEFINED") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWindowPanelOperationEnum::ToString(IfcWindowPanelOperationEnum v) { @@ -4666,20 +4666,20 @@ std::string IfcWindowPanelOperationEnum::ToString(IfcWindowPanelOperationEnum v) return names[v]; } IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelOperationEnum::FromString(const std::string& s) { - if(s=="SIDEHUNGRIGHTHAND") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SIDEHUNGRIGHTHAND; - if(s=="SIDEHUNGLEFTHAND") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SIDEHUNGLEFTHAND; - if(s=="TILTANDTURNRIGHTHAND") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TILTANDTURNRIGHTHAND; - if(s=="TILTANDTURNLEFTHAND") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TILTANDTURNLEFTHAND; - if(s=="TOPHUNG") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TOPHUNG; - if(s=="BOTTOMHUNG") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_BOTTOMHUNG; - if(s=="PIVOTHORIZONTAL") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_PIVOTHORIZONTAL; - if(s=="PIVOTVERTICAL") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_PIVOTVERTICAL; - if(s=="SLIDINGHORIZONTAL") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SLIDINGHORIZONTAL; - if(s=="SLIDINGVERTICAL") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SLIDINGVERTICAL; - if(s=="REMOVABLECASEMENT") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_REMOVABLECASEMENT; - if(s=="FIXEDCASEMENT") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_FIXEDCASEMENT; - if(s=="OTHEROPERATION") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_OTHEROPERATION; - if(s=="NOTDEFINED") return IfcWindowPanelOperationEnum::IfcWindowPanelOperation_NOTDEFINED; + if(s=="SIDEHUNGRIGHTHAND") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SIDEHUNGRIGHTHAND; + if(s=="SIDEHUNGLEFTHAND") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SIDEHUNGLEFTHAND; + if(s=="TILTANDTURNRIGHTHAND") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TILTANDTURNRIGHTHAND; + if(s=="TILTANDTURNLEFTHAND") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TILTANDTURNLEFTHAND; + if(s=="TOPHUNG") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TOPHUNG; + if(s=="BOTTOMHUNG") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_BOTTOMHUNG; + if(s=="PIVOTHORIZONTAL") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_PIVOTHORIZONTAL; + if(s=="PIVOTVERTICAL") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_PIVOTVERTICAL; + if(s=="SLIDINGHORIZONTAL") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SLIDINGHORIZONTAL; + if(s=="SLIDINGVERTICAL") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SLIDINGVERTICAL; + if(s=="REMOVABLECASEMENT") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_REMOVABLECASEMENT; + if(s=="FIXEDCASEMENT") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_FIXEDCASEMENT; + if(s=="OTHEROPERATION") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_OTHEROPERATION; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWindowPanelPositionEnum::ToString(IfcWindowPanelPositionEnum v) { @@ -4688,12 +4688,12 @@ std::string IfcWindowPanelPositionEnum::ToString(IfcWindowPanelPositionEnum v) { return names[v]; } IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelPositionEnum::FromString(const std::string& s) { - if(s=="LEFT") return IfcWindowPanelPositionEnum::IfcWindowPanelPosition_LEFT; - if(s=="MIDDLE") return IfcWindowPanelPositionEnum::IfcWindowPanelPosition_MIDDLE; - if(s=="RIGHT") return IfcWindowPanelPositionEnum::IfcWindowPanelPosition_RIGHT; - if(s=="BOTTOM") return IfcWindowPanelPositionEnum::IfcWindowPanelPosition_BOTTOM; - if(s=="TOP") return IfcWindowPanelPositionEnum::IfcWindowPanelPosition_TOP; - if(s=="NOTDEFINED") return IfcWindowPanelPositionEnum::IfcWindowPanelPosition_NOTDEFINED; + if(s=="LEFT") return ::Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_LEFT; + if(s=="MIDDLE") return ::Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_MIDDLE; + if(s=="RIGHT") return ::Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_RIGHT; + if(s=="BOTTOM") return ::Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_BOTTOM; + if(s=="TOP") return ::Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_TOP; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWindowStyleConstructionEnum::ToString(IfcWindowStyleConstructionEnum v) { @@ -4702,14 +4702,14 @@ std::string IfcWindowStyleConstructionEnum::ToString(IfcWindowStyleConstructionE return names[v]; } IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyleConstructionEnum::FromString(const std::string& s) { - if(s=="ALUMINIUM") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_ALUMINIUM; - if(s=="HIGH_GRADE_STEEL") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_HIGH_GRADE_STEEL; - if(s=="STEEL") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_STEEL; - if(s=="WOOD") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_WOOD; - if(s=="ALUMINIUM_WOOD") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_ALUMINIUM_WOOD; - if(s=="PLASTIC") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_PLASTIC; - if(s=="OTHER_CONSTRUCTION") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_OTHER_CONSTRUCTION; - if(s=="NOTDEFINED") return IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_NOTDEFINED; + if(s=="ALUMINIUM") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_ALUMINIUM; + if(s=="HIGH_GRADE_STEEL") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_HIGH_GRADE_STEEL; + if(s=="STEEL") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_STEEL; + if(s=="WOOD") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_WOOD; + if(s=="ALUMINIUM_WOOD") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_ALUMINIUM_WOOD; + if(s=="PLASTIC") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_PLASTIC; + if(s=="OTHER_CONSTRUCTION") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_OTHER_CONSTRUCTION; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWindowStyleOperationEnum::ToString(IfcWindowStyleOperationEnum v) { @@ -4718,17 +4718,17 @@ std::string IfcWindowStyleOperationEnum::ToString(IfcWindowStyleOperationEnum v) return names[v]; } IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum IfcWindowStyleOperationEnum::FromString(const std::string& s) { - if(s=="SINGLE_PANEL") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_SINGLE_PANEL; - if(s=="DOUBLE_PANEL_VERTICAL") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL; - if(s=="DOUBLE_PANEL_HORIZONTAL") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL; - if(s=="TRIPLE_PANEL_VERTICAL") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL; - if(s=="TRIPLE_PANEL_BOTTOM") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM; - if(s=="TRIPLE_PANEL_TOP") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_TOP; - if(s=="TRIPLE_PANEL_LEFT") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_LEFT; - if(s=="TRIPLE_PANEL_RIGHT") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT; - if(s=="TRIPLE_PANEL_HORIZONTAL") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL; - if(s=="USERDEFINED") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_USERDEFINED; - if(s=="NOTDEFINED") return IfcWindowStyleOperationEnum::IfcWindowStyleOperation_NOTDEFINED; + if(s=="SINGLE_PANEL") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_SINGLE_PANEL; + if(s=="DOUBLE_PANEL_VERTICAL") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL; + if(s=="DOUBLE_PANEL_HORIZONTAL") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL; + if(s=="TRIPLE_PANEL_VERTICAL") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL; + if(s=="TRIPLE_PANEL_BOTTOM") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM; + if(s=="TRIPLE_PANEL_TOP") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_TOP; + if(s=="TRIPLE_PANEL_LEFT") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_LEFT; + if(s=="TRIPLE_PANEL_RIGHT") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT; + if(s=="TRIPLE_PANEL_HORIZONTAL") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL; + if(s=="USERDEFINED") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } std::string IfcWorkControlTypeEnum::ToString(IfcWorkControlTypeEnum v) { @@ -4737,11 +4737,11 @@ std::string IfcWorkControlTypeEnum::ToString(IfcWorkControlTypeEnum v) { return names[v]; } IfcWorkControlTypeEnum::IfcWorkControlTypeEnum IfcWorkControlTypeEnum::FromString(const std::string& s) { - if(s=="ACTUAL") return IfcWorkControlTypeEnum::IfcWorkControlType_ACTUAL; - if(s=="BASELINE") return IfcWorkControlTypeEnum::IfcWorkControlType_BASELINE; - if(s=="PLANNED") return IfcWorkControlTypeEnum::IfcWorkControlType_PLANNED; - if(s=="USERDEFINED") return IfcWorkControlTypeEnum::IfcWorkControlType_USERDEFINED; - if(s=="NOTDEFINED") return IfcWorkControlTypeEnum::IfcWorkControlType_NOTDEFINED; + if(s=="ACTUAL") return ::Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlType_ACTUAL; + if(s=="BASELINE") return ::Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlType_BASELINE; + if(s=="PLANNED") return ::Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlType_PLANNED; + if(s=="USERDEFINED") return ::Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlType_USERDEFINED; + if(s=="NOTDEFINED") return ::Ifc2x3::IfcWorkControlTypeEnum::IfcWorkControlType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } @@ -4835,7 +4835,7 @@ IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcAbstractEntityPtr // Function implementations for IfcAnnotationFillArea IfcCurve* IfcAnnotationFillArea::OuterBoundary() { return reinterpret_pointer_cast(*entity->getArgument(0)); } bool IfcAnnotationFillArea::hasInnerBoundaries() { return !entity->getArgument(1)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcAnnotationFillArea::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcAnnotationFillArea::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,1) } bool IfcAnnotationFillArea::is(Type::Enum v) const { return v == Type::IfcAnnotationFillArea || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcAnnotationFillArea::type() const { return Type::IfcAnnotationFillArea; } Type::Enum IfcAnnotationFillArea::Class() { return Type::IfcAnnotationFillArea; } @@ -4908,7 +4908,7 @@ Type::Enum IfcAppliedValue::Class() { return Type::IfcAppliedValue; } IfcAppliedValue::IfcAppliedValue(IfcAbstractEntityPtr e) { if (!is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcAppliedValueRelationship IfcAppliedValue* IfcAppliedValueRelationship::ComponentOfTotal() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcAppliedValueRelationship::Components() { RETURN_AS_LIST(IfcAppliedValue,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcAppliedValueRelationship::Components() { RETURN_AS_LIST(IfcAppliedValue,1) } IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValueRelationship::ArithmeticOperator() { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(2)); } bool IfcAppliedValueRelationship::hasName() { return !entity->getArgument(3)->isNull(); } IfcLabel IfcAppliedValueRelationship::Name() { return *entity->getArgument(3); } @@ -4946,7 +4946,7 @@ Type::Enum IfcApprovalActorRelationship::type() const { return Type::IfcApproval Type::Enum IfcApprovalActorRelationship::Class() { return Type::IfcApprovalActorRelationship; } IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcAbstractEntityPtr e) { if (!is(Type::IfcApprovalActorRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcApprovalPropertyRelationship -SHARED_PTR< IfcTemplatedEntityList > IfcApprovalPropertyRelationship::ApprovedProperties() { RETURN_AS_LIST(IfcProperty,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcApprovalPropertyRelationship::ApprovedProperties() { RETURN_AS_LIST(IfcProperty,0) } IfcApproval* IfcApprovalPropertyRelationship::Approval() { return reinterpret_pointer_cast(*entity->getArgument(1)); } bool IfcApprovalPropertyRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalPropertyRelationship; } Type::Enum IfcApprovalPropertyRelationship::type() const { return Type::IfcApprovalPropertyRelationship; } @@ -4975,7 +4975,7 @@ Type::Enum IfcArbitraryOpenProfileDef::type() const { return Type::IfcArbitraryO Type::Enum IfcArbitraryOpenProfileDef::Class() { return Type::IfcArbitraryOpenProfileDef; } IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntityPtr e) { if (!is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcArbitraryProfileDefWithVoids -SHARED_PTR< IfcTemplatedEntityList > IfcArbitraryProfileDefWithVoids::InnerCurves() { RETURN_AS_LIST(IfcCurve,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcArbitraryProfileDefWithVoids::InnerCurves() { RETURN_AS_LIST(IfcCurve,3) } bool IfcArbitraryProfileDefWithVoids::is(Type::Enum v) const { return v == Type::IfcArbitraryProfileDefWithVoids || IfcArbitraryClosedProfileDef::is(v); } Type::Enum IfcArbitraryProfileDefWithVoids::type() const { return Type::IfcArbitraryProfileDefWithVoids; } Type::Enum IfcArbitraryProfileDefWithVoids::Class() { return Type::IfcArbitraryProfileDefWithVoids; } @@ -5031,7 +5031,7 @@ Type::Enum IfcAxis2Placement3D::Class() { return Type::IfcAxis2Placement3D; } IfcAxis2Placement3D::IfcAxis2Placement3D(IfcAbstractEntityPtr e) { if (!is(Type::IfcAxis2Placement3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcBSplineCurve int IfcBSplineCurve::Degree() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcBSplineCurve::ControlPointsList() { RETURN_AS_LIST(IfcCartesianPoint,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcBSplineCurve::ControlPointsList() { RETURN_AS_LIST(IfcCartesianPoint,1) } IfcBSplineCurveForm::IfcBSplineCurveForm IfcBSplineCurve::CurveForm() { return IfcBSplineCurveForm::FromString(*entity->getArgument(2)); } bool IfcBSplineCurve::ClosedCurve() { return *entity->getArgument(3); } bool IfcBSplineCurve::SelfIntersect() { return *entity->getArgument(4); } @@ -5264,7 +5264,7 @@ Type::Enum IfcCalendarDate::type() const { return Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::Class() { return Type::IfcCalendarDate; } IfcCalendarDate::IfcCalendarDate(IfcAbstractEntityPtr e) { if (!is(Type::IfcCalendarDate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcCartesianPoint -std::vector /*[1:3]*/ IfcCartesianPoint::Coordinates() { return *entity->getArgument(0); } +std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() { return *entity->getArgument(0); } bool IfcCartesianPoint::is(Type::Enum v) const { return v == Type::IfcCartesianPoint || IfcPoint::is(v); } Type::Enum IfcCartesianPoint::type() const { return Type::IfcCartesianPoint; } Type::Enum IfcCartesianPoint::Class() { return Type::IfcCartesianPoint; } @@ -5372,13 +5372,13 @@ Type::Enum IfcClassificationItem::Class() { return Type::IfcClassificationItem; IfcClassificationItem::IfcClassificationItem(IfcAbstractEntityPtr e) { if (!is(Type::IfcClassificationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcClassificationItemRelationship IfcClassificationItem* IfcClassificationItemRelationship::RelatingItem() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcClassificationItemRelationship::RelatedItems() { RETURN_AS_LIST(IfcClassificationItem,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > IfcClassificationItemRelationship::RelatedItems() { RETURN_AS_LIST(IfcClassificationItem,1) } bool IfcClassificationItemRelationship::is(Type::Enum v) const { return v == Type::IfcClassificationItemRelationship; } Type::Enum IfcClassificationItemRelationship::type() const { return Type::IfcClassificationItemRelationship; } Type::Enum IfcClassificationItemRelationship::Class() { return Type::IfcClassificationItemRelationship; } IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcAbstractEntityPtr e) { if (!is(Type::IfcClassificationItemRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcClassificationNotation -SHARED_PTR< IfcTemplatedEntityList > IfcClassificationNotation::NotationFacets() { RETURN_AS_LIST(IfcClassificationNotationFacet,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > IfcClassificationNotation::NotationFacets() { RETURN_AS_LIST(IfcClassificationNotationFacet,0) } bool IfcClassificationNotation::is(Type::Enum v) const { return v == Type::IfcClassificationNotation; } Type::Enum IfcClassificationNotation::type() const { return Type::IfcClassificationNotation; } Type::Enum IfcClassificationNotation::Class() { return Type::IfcClassificationNotation; } @@ -5435,13 +5435,13 @@ Type::Enum IfcColumnType::Class() { return Type::IfcColumnType; } IfcColumnType::IfcColumnType(IfcAbstractEntityPtr e) { if (!is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcComplexProperty IfcIdentifier IfcComplexProperty::UsageName() { return *entity->getArgument(2); } -SHARED_PTR< IfcTemplatedEntityList > IfcComplexProperty::HasProperties() { RETURN_AS_LIST(IfcProperty,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcComplexProperty::HasProperties() { RETURN_AS_LIST(IfcProperty,3) } bool IfcComplexProperty::is(Type::Enum v) const { return v == Type::IfcComplexProperty || IfcProperty::is(v); } Type::Enum IfcComplexProperty::type() const { return Type::IfcComplexProperty; } Type::Enum IfcComplexProperty::Class() { return Type::IfcComplexProperty; } IfcComplexProperty::IfcComplexProperty(IfcAbstractEntityPtr e) { if (!is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcCompositeCurve -SHARED_PTR< IfcTemplatedEntityList > IfcCompositeCurve::Segments() { RETURN_AS_LIST(IfcCompositeCurveSegment,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > IfcCompositeCurve::Segments() { RETURN_AS_LIST(IfcCompositeCurveSegment,0) } bool IfcCompositeCurve::SelfIntersect() { return *entity->getArgument(1); } bool IfcCompositeCurve::is(Type::Enum v) const { return v == Type::IfcCompositeCurve || IfcBoundedCurve::is(v); } Type::Enum IfcCompositeCurve::type() const { return Type::IfcCompositeCurve; } @@ -5457,7 +5457,7 @@ Type::Enum IfcCompositeCurveSegment::type() const { return Type::IfcCompositeCur Type::Enum IfcCompositeCurveSegment::Class() { return Type::IfcCompositeCurveSegment; } IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcAbstractEntityPtr e) { if (!is(Type::IfcCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcCompositeProfileDef -SHARED_PTR< IfcTemplatedEntityList > IfcCompositeProfileDef::Profiles() { RETURN_AS_LIST(IfcProfileDef,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > IfcCompositeProfileDef::Profiles() { RETURN_AS_LIST(IfcProfileDef,2) } bool IfcCompositeProfileDef::hasLabel() { return !entity->getArgument(3)->isNull(); } IfcLabel IfcCompositeProfileDef::Label() { return *entity->getArgument(3); } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } @@ -5495,7 +5495,7 @@ Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } IfcConic::IfcConic(IfcAbstractEntityPtr e) { if (!is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcConnectedFaceSet -SHARED_PTR< IfcTemplatedEntityList > IfcConnectedFaceSet::CfsFaces() { RETURN_AS_LIST(IfcFace,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcFace > > IfcConnectedFaceSet::CfsFaces() { RETURN_AS_LIST(IfcFace,0) } bool IfcConnectedFaceSet::is(Type::Enum v) const { return v == Type::IfcConnectedFaceSet || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcConnectedFaceSet::type() const { return Type::IfcConnectedFaceSet; } Type::Enum IfcConnectedFaceSet::Class() { return Type::IfcConnectedFaceSet; } @@ -5578,7 +5578,7 @@ IfcLabel IfcConstraintAggregationRelationship::Name() { return *entity->getArgum bool IfcConstraintAggregationRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } IfcText IfcConstraintAggregationRelationship::Description() { return *entity->getArgument(1); } IfcConstraint* IfcConstraintAggregationRelationship::RelatingConstraint() { return reinterpret_pointer_cast(*entity->getArgument(2)); } -SHARED_PTR< IfcTemplatedEntityList > IfcConstraintAggregationRelationship::RelatedConstraints() { RETURN_AS_LIST(IfcConstraint,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > IfcConstraintAggregationRelationship::RelatedConstraints() { RETURN_AS_LIST(IfcConstraint,3) } IfcLogicalOperatorEnum::IfcLogicalOperatorEnum IfcConstraintAggregationRelationship::LogicalAggregator() { return IfcLogicalOperatorEnum::FromString(*entity->getArgument(4)); } bool IfcConstraintAggregationRelationship::is(Type::Enum v) const { return v == Type::IfcConstraintAggregationRelationship; } Type::Enum IfcConstraintAggregationRelationship::type() const { return Type::IfcConstraintAggregationRelationship; } @@ -5586,7 +5586,7 @@ Type::Enum IfcConstraintAggregationRelationship::Class() { return Type::IfcConst IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(IfcAbstractEntityPtr e) { if (!is(Type::IfcConstraintAggregationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcConstraintClassificationRelationship IfcConstraint* IfcConstraintClassificationRelationship::ClassifiedConstraint() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcConstraintClassificationRelationship::RelatedClassifications() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcConstraintClassificationRelationship::RelatedClassifications() { RETURN_AS_LIST(IfcAbstractSelect,1) } bool IfcConstraintClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcConstraintClassificationRelationship; } Type::Enum IfcConstraintClassificationRelationship::type() const { return Type::IfcConstraintClassificationRelationship; } Type::Enum IfcConstraintClassificationRelationship::Class() { return Type::IfcConstraintClassificationRelationship; } @@ -5597,7 +5597,7 @@ IfcLabel IfcConstraintRelationship::Name() { return *entity->getArgument(0); } bool IfcConstraintRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } IfcText IfcConstraintRelationship::Description() { return *entity->getArgument(1); } IfcConstraint* IfcConstraintRelationship::RelatingConstraint() { return reinterpret_pointer_cast(*entity->getArgument(2)); } -SHARED_PTR< IfcTemplatedEntityList > IfcConstraintRelationship::RelatedConstraints() { RETURN_AS_LIST(IfcConstraint,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > IfcConstraintRelationship::RelatedConstraints() { RETURN_AS_LIST(IfcConstraint,3) } bool IfcConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcConstraintRelationship; } Type::Enum IfcConstraintRelationship::type() const { return Type::IfcConstraintRelationship; } Type::Enum IfcConstraintRelationship::Class() { return Type::IfcConstraintRelationship; } @@ -5609,7 +5609,7 @@ Type::Enum IfcConstructionEquipmentResource::Class() { return Type::IfcConstruct IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcAbstractEntityPtr e) { if (!is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcConstructionMaterialResource bool IfcConstructionMaterialResource::hasSuppliers() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcConstructionMaterialResource::Suppliers() { RETURN_AS_LIST(IfcAbstractSelect,9) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcConstructionMaterialResource::Suppliers() { RETURN_AS_LIST(IfcAbstractSelect,9) } bool IfcConstructionMaterialResource::hasUsageRatio() { return !entity->getArgument(10)->isNull(); } IfcRatioMeasure IfcConstructionMaterialResource::UsageRatio() { return *entity->getArgument(10); } bool IfcConstructionMaterialResource::is(Type::Enum v) const { return v == Type::IfcConstructionMaterialResource || IfcConstructionResource::is(v); } @@ -5695,7 +5695,7 @@ IfcDateTimeSelect IfcCostSchedule::SubmittedOn() { return *entity->getArgument(7 bool IfcCostSchedule::hasStatus() { return !entity->getArgument(8)->isNull(); } IfcLabel IfcCostSchedule::Status() { return *entity->getArgument(8); } bool IfcCostSchedule::hasTargetUsers() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcCostSchedule::TargetUsers() { RETURN_AS_LIST(IfcAbstractSelect,9) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcCostSchedule::TargetUsers() { RETURN_AS_LIST(IfcAbstractSelect,9) } bool IfcCostSchedule::hasUpdateDate() { return !entity->getArgument(10)->isNull(); } IfcDateTimeSelect IfcCostSchedule::UpdateDate() { return *entity->getArgument(10); } IfcIdentifier IfcCostSchedule::ID() { return *entity->getArgument(11); } @@ -5809,7 +5809,7 @@ IfcCurve::IfcCurve(IfcAbstractEntityPtr e) { if (!is(Type::IfcCurve)) throw IfcE // Function implementations for IfcCurveBoundedPlane IfcPlane* IfcCurveBoundedPlane::BasisSurface() { return reinterpret_pointer_cast(*entity->getArgument(0)); } IfcCurve* IfcCurveBoundedPlane::OuterBoundary() { return reinterpret_pointer_cast(*entity->getArgument(1)); } -SHARED_PTR< IfcTemplatedEntityList > IfcCurveBoundedPlane::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcCurveBoundedPlane::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,2) } bool IfcCurveBoundedPlane::is(Type::Enum v) const { return v == Type::IfcCurveBoundedPlane || IfcBoundedSurface::is(v); } Type::Enum IfcCurveBoundedPlane::type() const { return Type::IfcCurveBoundedPlane; } Type::Enum IfcCurveBoundedPlane::Class() { return Type::IfcCurveBoundedPlane; } @@ -5828,7 +5828,7 @@ IfcCurveStyle::IfcCurveStyle(IfcAbstractEntityPtr e) { if (!is(Type::IfcCurveSty // Function implementations for IfcCurveStyleFont bool IfcCurveStyleFont::hasName() { return !entity->getArgument(0)->isNull(); } IfcLabel IfcCurveStyleFont::Name() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcCurveStyleFont::PatternList() { RETURN_AS_LIST(IfcCurveStyleFontPattern,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > IfcCurveStyleFont::PatternList() { RETURN_AS_LIST(IfcCurveStyleFontPattern,1) } bool IfcCurveStyleFont::is(Type::Enum v) const { return v == Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::type() const { return Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::Class() { return Type::IfcCurveStyleFont; } @@ -5879,7 +5879,7 @@ Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDe Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntityPtr e) { if (!is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcDerivedUnit -SHARED_PTR< IfcTemplatedEntityList > IfcDerivedUnit::Elements() { RETURN_AS_LIST(IfcDerivedUnitElement,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > IfcDerivedUnit::Elements() { RETURN_AS_LIST(IfcDerivedUnitElement,0) } IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } bool IfcDerivedUnit::hasUserDefinedType() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcDerivedUnit::UserDefinedType() { return *entity->getArgument(2); } @@ -5939,7 +5939,7 @@ Type::Enum IfcDimensionalExponents::type() const { return Type::IfcDimensionalEx Type::Enum IfcDimensionalExponents::Class() { return Type::IfcDimensionalExponents; } IfcDimensionalExponents::IfcDimensionalExponents(IfcAbstractEntityPtr e) { if (!is(Type::IfcDimensionalExponents)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcDirection -std::vector /*[2:3]*/ IfcDirection::DirectionRatios() { return *entity->getArgument(0); } +std::vector< double > /*[2:3]*/ IfcDirection::DirectionRatios() { return *entity->getArgument(0); } bool IfcDirection::is(Type::Enum v) const { return v == Type::IfcDirection || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDirection::type() const { return Type::IfcDirection; } Type::Enum IfcDirection::Class() { return Type::IfcDirection; } @@ -6023,7 +6023,7 @@ IfcLabel IfcDocumentInformation::Name() { return *entity->getArgument(1); } bool IfcDocumentInformation::hasDescription() { return !entity->getArgument(2)->isNull(); } IfcText IfcDocumentInformation::Description() { return *entity->getArgument(2); } bool IfcDocumentInformation::hasDocumentReferences() { return !entity->getArgument(3)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcDocumentInformation::DocumentReferences() { RETURN_AS_LIST(IfcDocumentReference,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > IfcDocumentInformation::DocumentReferences() { RETURN_AS_LIST(IfcDocumentReference,3) } bool IfcDocumentInformation::hasPurpose() { return !entity->getArgument(4)->isNull(); } IfcText IfcDocumentInformation::Purpose() { return *entity->getArgument(4); } bool IfcDocumentInformation::hasIntendedUse() { return !entity->getArgument(5)->isNull(); } @@ -6035,7 +6035,7 @@ IfcLabel IfcDocumentInformation::Revision() { return *entity->getArgument(7); } bool IfcDocumentInformation::hasDocumentOwner() { return !entity->getArgument(8)->isNull(); } IfcActorSelect IfcDocumentInformation::DocumentOwner() { return *entity->getArgument(8); } bool IfcDocumentInformation::hasEditors() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcDocumentInformation::Editors() { RETURN_AS_LIST(IfcAbstractSelect,9) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcDocumentInformation::Editors() { RETURN_AS_LIST(IfcAbstractSelect,9) } bool IfcDocumentInformation::hasCreationTime() { return !entity->getArgument(10)->isNull(); } IfcDateAndTime* IfcDocumentInformation::CreationTime() { return reinterpret_pointer_cast(*entity->getArgument(10)); } bool IfcDocumentInformation::hasLastRevisionTime() { return !entity->getArgument(11)->isNull(); } @@ -6058,7 +6058,7 @@ Type::Enum IfcDocumentInformation::Class() { return Type::IfcDocumentInformation IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntityPtr e) { if (!is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcDocumentInformationRelationship IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcDocumentInformationRelationship::RelatedDocuments() { RETURN_AS_LIST(IfcDocumentInformation,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > IfcDocumentInformationRelationship::RelatedDocuments() { RETURN_AS_LIST(IfcDocumentInformation,1) } bool IfcDocumentInformationRelationship::hasRelationshipType() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcDocumentInformationRelationship::RelationshipType() { return *entity->getArgument(2); } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship; } @@ -6130,7 +6130,7 @@ Type::Enum IfcDoorStyle::type() const { return Type::IfcDoorStyle; } Type::Enum IfcDoorStyle::Class() { return Type::IfcDoorStyle; } IfcDoorStyle::IfcDoorStyle(IfcAbstractEntityPtr e) { if (!is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcDraughtingCallout -SHARED_PTR< IfcTemplatedEntityList > IfcDraughtingCallout::Contents() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcDraughtingCallout::Contents() { RETURN_AS_LIST(IfcAbstractSelect,0) } IfcDraughtingCalloutRelationship::list IfcDraughtingCallout::IsRelatedFromCallout() { RETURN_INVERSE(IfcDraughtingCalloutRelationship) } IfcDraughtingCalloutRelationship::list IfcDraughtingCallout::IsRelatedToCallout() { RETURN_INVERSE(IfcDraughtingCalloutRelationship) } bool IfcDraughtingCallout::is(Type::Enum v) const { return v == Type::IfcDraughtingCallout || IfcGeometricRepresentationItem::is(v); } @@ -6203,7 +6203,7 @@ Type::Enum IfcEdgeFeature::type() const { return Type::IfcEdgeFeature; } Type::Enum IfcEdgeFeature::Class() { return Type::IfcEdgeFeature; } IfcEdgeFeature::IfcEdgeFeature(IfcAbstractEntityPtr e) { if (!is(Type::IfcEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcEdgeLoop -SHARED_PTR< IfcTemplatedEntityList > IfcEdgeLoop::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > IfcEdgeLoop::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } bool IfcEdgeLoop::is(Type::Enum v) const { return v == Type::IfcEdgeLoop || IfcLoop::is(v); } Type::Enum IfcEdgeLoop::type() const { return Type::IfcEdgeLoop; } Type::Enum IfcEdgeLoop::Class() { return Type::IfcEdgeLoop; } @@ -6320,7 +6320,7 @@ IfcElementComponentType::IfcElementComponentType(IfcAbstractEntityPtr e) { if (! // Function implementations for IfcElementQuantity bool IfcElementQuantity::hasMethodOfMeasurement() { return !entity->getArgument(4)->isNull(); } IfcLabel IfcElementQuantity::MethodOfMeasurement() { return *entity->getArgument(4); } -SHARED_PTR< IfcTemplatedEntityList > IfcElementQuantity::Quantities() { RETURN_AS_LIST(IfcPhysicalQuantity,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcElementQuantity::Quantities() { RETURN_AS_LIST(IfcPhysicalQuantity,5) } bool IfcElementQuantity::is(Type::Enum v) const { return v == Type::IfcElementQuantity || IfcPropertySetDefinition::is(v); } Type::Enum IfcElementQuantity::type() const { return Type::IfcElementQuantity; } Type::Enum IfcElementQuantity::Class() { return Type::IfcElementQuantity; } @@ -6403,7 +6403,7 @@ Type::Enum IfcEvaporatorType::type() const { return Type::IfcEvaporatorType; } Type::Enum IfcEvaporatorType::Class() { return Type::IfcEvaporatorType; } IfcEvaporatorType::IfcEvaporatorType(IfcAbstractEntityPtr e) { if (!is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcExtendedMaterialProperties -SHARED_PTR< IfcTemplatedEntityList > IfcExtendedMaterialProperties::ExtendedProperties() { RETURN_AS_LIST(IfcProperty,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcExtendedMaterialProperties::ExtendedProperties() { RETURN_AS_LIST(IfcProperty,1) } bool IfcExtendedMaterialProperties::hasDescription() { return !entity->getArgument(2)->isNull(); } IfcText IfcExtendedMaterialProperties::Description() { return *entity->getArgument(2); } IfcLabel IfcExtendedMaterialProperties::Name() { return *entity->getArgument(3); } @@ -6450,13 +6450,13 @@ Type::Enum IfcExtrudedAreaSolid::type() const { return Type::IfcExtrudedAreaSoli Type::Enum IfcExtrudedAreaSolid::Class() { return Type::IfcExtrudedAreaSolid; } IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcAbstractEntityPtr e) { if (!is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcFace -SHARED_PTR< IfcTemplatedEntityList > IfcFace::Bounds() { RETURN_AS_LIST(IfcFaceBound,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > IfcFace::Bounds() { RETURN_AS_LIST(IfcFaceBound,0) } bool IfcFace::is(Type::Enum v) const { return v == Type::IfcFace || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFace::type() const { return Type::IfcFace; } Type::Enum IfcFace::Class() { return Type::IfcFace; } IfcFace::IfcFace(IfcAbstractEntityPtr e) { if (!is(Type::IfcFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcFaceBasedSurfaceModel -SHARED_PTR< IfcTemplatedEntityList > IfcFaceBasedSurfaceModel::FbsmFaces() { RETURN_AS_LIST(IfcConnectedFaceSet,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > IfcFaceBasedSurfaceModel::FbsmFaces() { RETURN_AS_LIST(IfcConnectedFaceSet,0) } bool IfcFaceBasedSurfaceModel::is(Type::Enum v) const { return v == Type::IfcFaceBasedSurfaceModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFaceBasedSurfaceModel::type() const { return Type::IfcFaceBasedSurfaceModel; } Type::Enum IfcFaceBasedSurfaceModel::Class() { return Type::IfcFaceBasedSurfaceModel; } @@ -6486,7 +6486,7 @@ Type::Enum IfcFacetedBrep::type() const { return Type::IfcFacetedBrep; } Type::Enum IfcFacetedBrep::Class() { return Type::IfcFacetedBrep; } IfcFacetedBrep::IfcFacetedBrep(IfcAbstractEntityPtr e) { if (!is(Type::IfcFacetedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcFacetedBrepWithVoids -SHARED_PTR< IfcTemplatedEntityList > IfcFacetedBrepWithVoids::Voids() { RETURN_AS_LIST(IfcClosedShell,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > IfcFacetedBrepWithVoids::Voids() { RETURN_AS_LIST(IfcClosedShell,1) } bool IfcFacetedBrepWithVoids::is(Type::Enum v) const { return v == Type::IfcFacetedBrepWithVoids || IfcManifoldSolidBrep::is(v); } Type::Enum IfcFacetedBrepWithVoids::type() const { return Type::IfcFacetedBrepWithVoids; } Type::Enum IfcFacetedBrepWithVoids::Class() { return Type::IfcFacetedBrepWithVoids; } @@ -6542,7 +6542,7 @@ Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureE Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntityPtr e) { if (!is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcFillAreaStyle -SHARED_PTR< IfcTemplatedEntityList > IfcFillAreaStyle::FillStyles() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcFillAreaStyle::FillStyles() { RETURN_AS_LIST(IfcAbstractSelect,1) } bool IfcFillAreaStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaStyle || IfcPresentationStyle::is(v); } Type::Enum IfcFillAreaStyle::type() const { return Type::IfcFillAreaStyle; } Type::Enum IfcFillAreaStyle::Class() { return Type::IfcFillAreaStyle; } @@ -6567,7 +6567,7 @@ Type::Enum IfcFillAreaStyleTileSymbolWithStyle::Class() { return Type::IfcFillAr IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAbstractEntityPtr e) { if (!is(Type::IfcFillAreaStyleTileSymbolWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcFillAreaStyleTiles IfcOneDirectionRepeatFactor* IfcFillAreaStyleTiles::TilingPattern() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcFillAreaStyleTiles::Tiles() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcFillAreaStyleTiles::Tiles() { RETURN_AS_LIST(IfcAbstractSelect,1) } IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() { return *entity->getArgument(2); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } @@ -6806,16 +6806,16 @@ Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::Ifc Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntityPtr e) { if (!is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcGeometricSet -SHARED_PTR< IfcTemplatedEntityList > IfcGeometricSet::Elements() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcGeometricSet::Elements() { RETURN_AS_LIST(IfcAbstractSelect,0) } bool IfcGeometricSet::is(Type::Enum v) const { return v == Type::IfcGeometricSet || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcGeometricSet::type() const { return Type::IfcGeometricSet; } Type::Enum IfcGeometricSet::Class() { return Type::IfcGeometricSet; } IfcGeometricSet::IfcGeometricSet(IfcAbstractEntityPtr e) { if (!is(Type::IfcGeometricSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcGrid -SHARED_PTR< IfcTemplatedEntityList > IfcGrid::UAxes() { RETURN_AS_LIST(IfcGridAxis,7) } -SHARED_PTR< IfcTemplatedEntityList > IfcGrid::VAxes() { RETURN_AS_LIST(IfcGridAxis,8) } +SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::UAxes() { RETURN_AS_LIST(IfcGridAxis,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::VAxes() { RETURN_AS_LIST(IfcGridAxis,8) } bool IfcGrid::hasWAxes() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcGrid::WAxes() { RETURN_AS_LIST(IfcGridAxis,9) } +SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::WAxes() { RETURN_AS_LIST(IfcGridAxis,9) } IfcRelContainedInSpatialStructure::list IfcGrid::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } bool IfcGrid::is(Type::Enum v) const { return v == Type::IfcGrid || IfcProduct::is(v); } Type::Enum IfcGrid::type() const { return Type::IfcGrid; } @@ -6902,7 +6902,7 @@ IfcImageTexture::IfcImageTexture(IfcAbstractEntityPtr e) { if (!is(Type::IfcImag // Function implementations for IfcInventory IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::InventoryType() { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } IfcActorSelect IfcInventory::Jurisdiction() { return *entity->getArgument(6); } -SHARED_PTR< IfcTemplatedEntityList > IfcInventory::ResponsiblePersons() { RETURN_AS_LIST(IfcPerson,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > IfcInventory::ResponsiblePersons() { RETURN_AS_LIST(IfcPerson,7) } IfcCalendarDate* IfcInventory::LastUpdateDate() { return reinterpret_pointer_cast(*entity->getArgument(8)); } bool IfcInventory::hasCurrentValue() { return !entity->getArgument(9)->isNull(); } IfcCostValue* IfcInventory::CurrentValue() { return reinterpret_pointer_cast(*entity->getArgument(9)); } @@ -6913,14 +6913,14 @@ Type::Enum IfcInventory::type() const { return Type::IfcInventory; } Type::Enum IfcInventory::Class() { return Type::IfcInventory; } IfcInventory::IfcInventory(IfcAbstractEntityPtr e) { if (!is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcIrregularTimeSeries -SHARED_PTR< IfcTemplatedEntityList > IfcIrregularTimeSeries::Values() { RETURN_AS_LIST(IfcIrregularTimeSeriesValue,8) } +SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > IfcIrregularTimeSeries::Values() { RETURN_AS_LIST(IfcIrregularTimeSeriesValue,8) } bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntityPtr e) { if (!is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcIrregularTimeSeriesValue IfcDateTimeSelect IfcIrregularTimeSeriesValue::TimeStamp() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcIrregularTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcIrregularTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcAbstractSelect,1) } bool IfcIrregularTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::type() const { return Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::Class() { return Type::IfcIrregularTimeSeriesValue; } @@ -6972,7 +6972,7 @@ IfcOrganization* IfcLibraryInformation::Publisher() { return reinterpret_pointer bool IfcLibraryInformation::hasVersionDate() { return !entity->getArgument(3)->isNull(); } IfcCalendarDate* IfcLibraryInformation::VersionDate() { return reinterpret_pointer_cast(*entity->getArgument(3)); } bool IfcLibraryInformation::hasLibraryReference() { return !entity->getArgument(4)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcLibraryInformation::LibraryReference() { RETURN_AS_LIST(IfcLibraryReference,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > IfcLibraryInformation::LibraryReference() { RETURN_AS_LIST(IfcLibraryReference,4) } bool IfcLibraryInformation::is(Type::Enum v) const { return v == Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::type() const { return Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::Class() { return Type::IfcLibraryInformation; } @@ -6985,8 +6985,8 @@ Type::Enum IfcLibraryReference::Class() { return Type::IfcLibraryReference; } IfcLibraryReference::IfcLibraryReference(IfcAbstractEntityPtr e) { if (!is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcLightDistributionData IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() { return *entity->getArgument(0); } -std::vector /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() { return *entity->getArgument(1); } -std::vector /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() { return *entity->getArgument(2); } +std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() { return *entity->getArgument(1); } +std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() { return *entity->getArgument(2); } bool IfcLightDistributionData::is(Type::Enum v) const { return v == Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::type() const { return Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::Class() { return Type::IfcLightDistributionData; } @@ -6999,7 +6999,7 @@ Type::Enum IfcLightFixtureType::Class() { return Type::IfcLightFixtureType; } IfcLightFixtureType::IfcLightFixtureType(IfcAbstractEntityPtr e) { if (!is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcLightIntensityDistribution IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcLightIntensityDistribution::DistributionData() { RETURN_AS_LIST(IfcLightDistributionData,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > IfcLightIntensityDistribution::DistributionData() { RETURN_AS_LIST(IfcLightDistributionData,1) } bool IfcLightIntensityDistribution::is(Type::Enum v) const { return v == Type::IfcLightIntensityDistribution; } Type::Enum IfcLightIntensityDistribution::type() const { return Type::IfcLightIntensityDistribution; } Type::Enum IfcLightIntensityDistribution::Class() { return Type::IfcLightIntensityDistribution; } @@ -7120,7 +7120,7 @@ Type::Enum IfcMaterial::type() const { return Type::IfcMaterial; } Type::Enum IfcMaterial::Class() { return Type::IfcMaterial; } IfcMaterial::IfcMaterial(IfcAbstractEntityPtr e) { if (!is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcMaterialClassificationRelationship -SHARED_PTR< IfcTemplatedEntityList > IfcMaterialClassificationRelationship::MaterialClassifications() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcMaterialClassificationRelationship::MaterialClassifications() { RETURN_AS_LIST(IfcAbstractSelect,0) } IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() { return reinterpret_pointer_cast(*entity->getArgument(1)); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::type() const { return Type::IfcMaterialClassificationRelationship; } @@ -7144,7 +7144,7 @@ Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntityPtr e) { if (!is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcMaterialLayerSet -SHARED_PTR< IfcTemplatedEntityList > IfcMaterialLayerSet::MaterialLayers() { RETURN_AS_LIST(IfcMaterialLayer,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > IfcMaterialLayerSet::MaterialLayers() { RETURN_AS_LIST(IfcMaterialLayer,0) } bool IfcMaterialLayerSet::hasLayerSetName() { return !entity->getArgument(1)->isNull(); } IfcLabel IfcMaterialLayerSet::LayerSetName() { return *entity->getArgument(1); } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet; } @@ -7161,7 +7161,7 @@ Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLaye Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntityPtr e) { if (!is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcMaterialList -SHARED_PTR< IfcTemplatedEntityList > IfcMaterialList::Materials() { RETURN_AS_LIST(IfcMaterial,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > IfcMaterialList::Materials() { RETURN_AS_LIST(IfcMaterial,0) } bool IfcMaterialList::is(Type::Enum v) const { return v == Type::IfcMaterialList; } Type::Enum IfcMaterialList::type() const { return Type::IfcMaterialList; } Type::Enum IfcMaterialList::Class() { return Type::IfcMaterialList; } @@ -7239,7 +7239,7 @@ IfcPressureMeasure IfcMechanicalSteelMaterialProperties::ProportionalStress() { bool IfcMechanicalSteelMaterialProperties::hasPlasticStrain() { return !entity->getArgument(11)->isNull(); } IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::PlasticStrain() { return *entity->getArgument(11); } bool IfcMechanicalSteelMaterialProperties::hasRelaxations() { return !entity->getArgument(12)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcMechanicalSteelMaterialProperties::Relaxations() { RETURN_AS_LIST(IfcRelaxation,12) } +SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > IfcMechanicalSteelMaterialProperties::Relaxations() { RETURN_AS_LIST(IfcRelaxation,12) } bool IfcMechanicalSteelMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalSteelMaterialProperties || IfcMechanicalMaterialProperties::is(v); } Type::Enum IfcMechanicalSteelMaterialProperties::type() const { return Type::IfcMechanicalSteelMaterialProperties; } Type::Enum IfcMechanicalSteelMaterialProperties::Class() { return Type::IfcMechanicalSteelMaterialProperties; } @@ -7280,7 +7280,7 @@ IfcMotorConnectionType::IfcMotorConnectionType(IfcAbstractEntityPtr e) { if (!is IfcSpatialStructureElement* IfcMove::MoveFrom() { return reinterpret_pointer_cast(*entity->getArgument(10)); } IfcSpatialStructureElement* IfcMove::MoveTo() { return reinterpret_pointer_cast(*entity->getArgument(11)); } bool IfcMove::hasPunchList() { return !entity->getArgument(12)->isNull(); } -std::vector /*[1:?]*/ IfcMove::PunchList() { return *entity->getArgument(12); } +std::vector< IfcText > /*[1:?]*/ IfcMove::PunchList() { return *entity->getArgument(12); } bool IfcMove::is(Type::Enum v) const { return v == Type::IfcMove || IfcTask::is(v); } Type::Enum IfcMove::type() const { return Type::IfcMove; } Type::Enum IfcMove::Class() { return Type::IfcMove; } @@ -7404,9 +7404,9 @@ IfcLabel IfcOrganization::Name() { return *entity->getArgument(1); } bool IfcOrganization::hasDescription() { return !entity->getArgument(2)->isNull(); } IfcText IfcOrganization::Description() { return *entity->getArgument(2); } bool IfcOrganization::hasRoles() { return !entity->getArgument(3)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,3) } bool IfcOrganization::hasAddresses() { return !entity->getArgument(4)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcOrganization::Addresses() { RETURN_AS_LIST(IfcAddress,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > IfcOrganization::Addresses() { RETURN_AS_LIST(IfcAddress,4) } IfcOrganizationRelationship::list IfcOrganization::IsRelatedBy() { RETURN_INVERSE(IfcOrganizationRelationship) } IfcOrganizationRelationship::list IfcOrganization::Relates() { RETURN_INVERSE(IfcOrganizationRelationship) } IfcPersonAndOrganization::list IfcOrganization::Engages() { RETURN_INVERSE(IfcPersonAndOrganization) } @@ -7419,7 +7419,7 @@ IfcLabel IfcOrganizationRelationship::Name() { return *entity->getArgument(0); } bool IfcOrganizationRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } IfcText IfcOrganizationRelationship::Description() { return *entity->getArgument(1); } IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() { return reinterpret_pointer_cast(*entity->getArgument(2)); } -SHARED_PTR< IfcTemplatedEntityList > IfcOrganizationRelationship::RelatedOrganizations() { RETURN_AS_LIST(IfcOrganization,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > IfcOrganizationRelationship::RelatedOrganizations() { RETURN_AS_LIST(IfcOrganization,3) } bool IfcOrganizationRelationship::is(Type::Enum v) const { return v == Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::type() const { return Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::Class() { return Type::IfcOrganizationRelationship; } @@ -7461,7 +7461,7 @@ Type::Enum IfcParameterizedProfileDef::type() const { return Type::IfcParameteri Type::Enum IfcParameterizedProfileDef::Class() { return Type::IfcParameterizedProfileDef; } IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcAbstractEntityPtr e) { if (!is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPath -SHARED_PTR< IfcTemplatedEntityList > IfcPath::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > IfcPath::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } bool IfcPath::is(Type::Enum v) const { return v == Type::IfcPath || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcPath::type() const { return Type::IfcPath; } Type::Enum IfcPath::Class() { return Type::IfcPath; } @@ -7499,15 +7499,15 @@ IfcLabel IfcPerson::FamilyName() { return *entity->getArgument(1); } bool IfcPerson::hasGivenName() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcPerson::GivenName() { return *entity->getArgument(2); } bool IfcPerson::hasMiddleNames() { return !entity->getArgument(3)->isNull(); } -std::vector /*[1:?]*/ IfcPerson::MiddleNames() { return *entity->getArgument(3); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() { return *entity->getArgument(3); } bool IfcPerson::hasPrefixTitles() { return !entity->getArgument(4)->isNull(); } -std::vector /*[1:?]*/ IfcPerson::PrefixTitles() { return *entity->getArgument(4); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() { return *entity->getArgument(4); } bool IfcPerson::hasSuffixTitles() { return !entity->getArgument(5)->isNull(); } -std::vector /*[1:?]*/ IfcPerson::SuffixTitles() { return *entity->getArgument(5); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() { return *entity->getArgument(5); } bool IfcPerson::hasRoles() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcPerson::Roles() { RETURN_AS_LIST(IfcActorRole,6) } +SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcPerson::Roles() { RETURN_AS_LIST(IfcActorRole,6) } bool IfcPerson::hasAddresses() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcPerson::Addresses() { RETURN_AS_LIST(IfcAddress,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > IfcPerson::Addresses() { RETURN_AS_LIST(IfcAddress,7) } IfcPersonAndOrganization::list IfcPerson::EngagedIn() { RETURN_INVERSE(IfcPersonAndOrganization) } bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } @@ -7517,13 +7517,13 @@ IfcPerson::IfcPerson(IfcAbstractEntityPtr e) { if (!is(Type::IfcPerson)) throw I IfcPerson* IfcPersonAndOrganization::ThePerson() { return reinterpret_pointer_cast(*entity->getArgument(0)); } IfcOrganization* IfcPersonAndOrganization::TheOrganization() { return reinterpret_pointer_cast(*entity->getArgument(1)); } bool IfcPersonAndOrganization::hasRoles() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcPersonAndOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcPersonAndOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,2) } bool IfcPersonAndOrganization::is(Type::Enum v) const { return v == Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::type() const { return Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::Class() { return Type::IfcPersonAndOrganization; } IfcPersonAndOrganization::IfcPersonAndOrganization(IfcAbstractEntityPtr e) { if (!is(Type::IfcPersonAndOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPhysicalComplexQuantity -SHARED_PTR< IfcTemplatedEntityList > IfcPhysicalComplexQuantity::HasQuantities() { RETURN_AS_LIST(IfcPhysicalQuantity,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcPhysicalComplexQuantity::HasQuantities() { RETURN_AS_LIST(IfcPhysicalQuantity,2) } IfcLabel IfcPhysicalComplexQuantity::Discrimination() { return *entity->getArgument(3); } bool IfcPhysicalComplexQuantity::hasQuality() { return !entity->getArgument(4)->isNull(); } IfcLabel IfcPhysicalComplexQuantity::Quality() { return *entity->getArgument(4); } @@ -7573,7 +7573,7 @@ IfcPipeSegmentType::IfcPipeSegmentType(IfcAbstractEntityPtr e) { if (!is(Type::I IfcInteger IfcPixelTexture::Width() { return *entity->getArgument(4); } IfcInteger IfcPixelTexture::Height() { return *entity->getArgument(5); } IfcInteger IfcPixelTexture::ColourComponents() { return *entity->getArgument(6); } -std::vector /*[1:?]*/ IfcPixelTexture::Pixel() { throw; /* Not implemented argument 7 */ } +std::vector< char[32] > /*[1:?]*/ IfcPixelTexture::Pixel() { throw; /* Not implemented argument 7 */ } bool IfcPixelTexture::is(Type::Enum v) const { return v == Type::IfcPixelTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcPixelTexture::type() const { return Type::IfcPixelTexture; } Type::Enum IfcPixelTexture::Class() { return Type::IfcPixelTexture; } @@ -7634,7 +7634,7 @@ Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntityPtr e) { if (!is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPolyLoop -SHARED_PTR< IfcTemplatedEntityList > IfcPolyLoop::Polygon() { RETURN_AS_LIST(IfcCartesianPoint,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcPolyLoop::Polygon() { RETURN_AS_LIST(IfcCartesianPoint,0) } bool IfcPolyLoop::is(Type::Enum v) const { return v == Type::IfcPolyLoop || IfcLoop::is(v); } Type::Enum IfcPolyLoop::type() const { return Type::IfcPolyLoop; } Type::Enum IfcPolyLoop::Class() { return Type::IfcPolyLoop; } @@ -7647,7 +7647,7 @@ Type::Enum IfcPolygonalBoundedHalfSpace::type() const { return Type::IfcPolygona Type::Enum IfcPolygonalBoundedHalfSpace::Class() { return Type::IfcPolygonalBoundedHalfSpace; } IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcAbstractEntityPtr e) { if (!is(Type::IfcPolygonalBoundedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPolyline -SHARED_PTR< IfcTemplatedEntityList > IfcPolyline::Points() { RETURN_AS_LIST(IfcCartesianPoint,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcPolyline::Points() { RETURN_AS_LIST(IfcCartesianPoint,0) } bool IfcPolyline::is(Type::Enum v) const { return v == Type::IfcPolyline || IfcBoundedCurve::is(v); } Type::Enum IfcPolyline::type() const { return Type::IfcPolyline; } Type::Enum IfcPolyline::Class() { return Type::IfcPolyline; } @@ -7664,7 +7664,7 @@ IfcPort::IfcPort(IfcAbstractEntityPtr e) { if (!is(Type::IfcPort)) throw IfcExce bool IfcPostalAddress::hasInternalLocation() { return !entity->getArgument(3)->isNull(); } IfcLabel IfcPostalAddress::InternalLocation() { return *entity->getArgument(3); } bool IfcPostalAddress::hasAddressLines() { return !entity->getArgument(4)->isNull(); } -std::vector /*[1:?]*/ IfcPostalAddress::AddressLines() { return *entity->getArgument(4); } +std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() { return *entity->getArgument(4); } bool IfcPostalAddress::hasPostalBox() { return !entity->getArgument(5)->isNull(); } IfcLabel IfcPostalAddress::PostalBox() { return *entity->getArgument(5); } bool IfcPostalAddress::hasTown() { return !entity->getArgument(6)->isNull(); } @@ -7724,7 +7724,7 @@ IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntityPtr e) { if (!is(T IfcLabel IfcPresentationLayerAssignment::Name() { return *entity->getArgument(0); } bool IfcPresentationLayerAssignment::hasDescription() { return !entity->getArgument(1)->isNull(); } IfcText IfcPresentationLayerAssignment::Description() { return *entity->getArgument(1); } -SHARED_PTR< IfcTemplatedEntityList > IfcPresentationLayerAssignment::AssignedItems() { RETURN_AS_LIST(IfcAbstractSelect,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPresentationLayerAssignment::AssignedItems() { RETURN_AS_LIST(IfcAbstractSelect,2) } bool IfcPresentationLayerAssignment::hasIdentifier() { return !entity->getArgument(3)->isNull(); } IfcIdentifier IfcPresentationLayerAssignment::Identifier() { return *entity->getArgument(3); } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } @@ -7735,7 +7735,7 @@ IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntity bool IfcPresentationLayerWithStyle::LayerOn() { return *entity->getArgument(4); } bool IfcPresentationLayerWithStyle::LayerFrozen() { return *entity->getArgument(5); } bool IfcPresentationLayerWithStyle::LayerBlocked() { return *entity->getArgument(6); } -SHARED_PTR< IfcTemplatedEntityList > IfcPresentationLayerWithStyle::LayerStyles() { RETURN_AS_LIST(IfcAbstractSelect,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPresentationLayerWithStyle::LayerStyles() { RETURN_AS_LIST(IfcAbstractSelect,7) } bool IfcPresentationLayerWithStyle::is(Type::Enum v) const { return v == Type::IfcPresentationLayerWithStyle || IfcPresentationLayerAssignment::is(v); } Type::Enum IfcPresentationLayerWithStyle::type() const { return Type::IfcPresentationLayerWithStyle; } Type::Enum IfcPresentationLayerWithStyle::Class() { return Type::IfcPresentationLayerWithStyle; } @@ -7748,7 +7748,7 @@ Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyl Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntityPtr e) { if (!is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPresentationStyleAssignment -SHARED_PTR< IfcTemplatedEntityList > IfcPresentationStyleAssignment::Styles() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPresentationStyleAssignment::Styles() { RETURN_AS_LIST(IfcAbstractSelect,0) } bool IfcPresentationStyleAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationStyleAssignment; } Type::Enum IfcPresentationStyleAssignment::type() const { return Type::IfcPresentationStyleAssignment; } Type::Enum IfcPresentationStyleAssignment::Class() { return Type::IfcPresentationStyleAssignment; } @@ -7792,7 +7792,7 @@ bool IfcProductRepresentation::hasName() { return !entity->getArgument(0)->isNul IfcLabel IfcProductRepresentation::Name() { return *entity->getArgument(0); } bool IfcProductRepresentation::hasDescription() { return !entity->getArgument(1)->isNull(); } IfcText IfcProductRepresentation::Description() { return *entity->getArgument(1); } -SHARED_PTR< IfcTemplatedEntityList > IfcProductRepresentation::Representations() { RETURN_AS_LIST(IfcRepresentation,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > IfcProductRepresentation::Representations() { RETURN_AS_LIST(IfcRepresentation,2) } bool IfcProductRepresentation::is(Type::Enum v) const { return v == Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::type() const { return Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::Class() { return Type::IfcProductRepresentation; } @@ -7832,7 +7832,7 @@ bool IfcProject::hasLongName() { return !entity->getArgument(5)->isNull(); } IfcLabel IfcProject::LongName() { return *entity->getArgument(5); } bool IfcProject::hasPhase() { return !entity->getArgument(6)->isNull(); } IfcLabel IfcProject::Phase() { return *entity->getArgument(6); } -SHARED_PTR< IfcTemplatedEntityList > IfcProject::RepresentationContexts() { RETURN_AS_LIST(IfcRepresentationContext,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > IfcProject::RepresentationContexts() { RETURN_AS_LIST(IfcRepresentationContext,7) } IfcUnitAssignment* IfcProject::UnitsInContext() { return reinterpret_pointer_cast(*entity->getArgument(8)); } bool IfcProject::is(Type::Enum v) const { return v == Type::IfcProject || IfcObject::is(v); } Type::Enum IfcProject::type() const { return Type::IfcProject; } @@ -7848,7 +7848,7 @@ Type::Enum IfcProjectOrder::type() const { return Type::IfcProjectOrder; } Type::Enum IfcProjectOrder::Class() { return Type::IfcProjectOrder; } IfcProjectOrder::IfcProjectOrder(IfcAbstractEntityPtr e) { if (!is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcProjectOrderRecord -SHARED_PTR< IfcTemplatedEntityList > IfcProjectOrderRecord::Records() { RETURN_AS_LIST(IfcRelAssignsToProjectOrder,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > IfcProjectOrderRecord::Records() { RETURN_AS_LIST(IfcRelAssignsToProjectOrder,5) } IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum IfcProjectOrderRecord::PredefinedType() { return IfcProjectOrderRecordTypeEnum::FromString(*entity->getArgument(6)); } bool IfcProjectOrderRecord::is(Type::Enum v) const { return v == Type::IfcProjectOrderRecord || IfcControl::is(v); } Type::Enum IfcProjectOrderRecord::type() const { return Type::IfcProjectOrderRecord; } @@ -7888,7 +7888,7 @@ Type::Enum IfcPropertyBoundedValue::Class() { return Type::IfcPropertyBoundedVal IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntityPtr e) { if (!is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPropertyConstraintRelationship IfcConstraint* IfcPropertyConstraintRelationship::RelatingConstraint() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcPropertyConstraintRelationship::RelatedProperties() { RETURN_AS_LIST(IfcProperty,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcPropertyConstraintRelationship::RelatedProperties() { RETURN_AS_LIST(IfcProperty,1) } bool IfcPropertyConstraintRelationship::hasName() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcPropertyConstraintRelationship::Name() { return *entity->getArgument(2); } bool IfcPropertyConstraintRelationship::hasDescription() { return !entity->getArgument(3)->isNull(); } @@ -7917,7 +7917,7 @@ Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPro Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntityPtr e) { if (!is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPropertyEnumeratedValue -SHARED_PTR< IfcTemplatedEntityList > IfcPropertyEnumeratedValue::EnumerationValues() { RETURN_AS_LIST(IfcAbstractSelect,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPropertyEnumeratedValue::EnumerationValues() { RETURN_AS_LIST(IfcAbstractSelect,2) } bool IfcPropertyEnumeratedValue::hasEnumerationReference() { return !entity->getArgument(3)->isNull(); } IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() { return reinterpret_pointer_cast(*entity->getArgument(3)); } bool IfcPropertyEnumeratedValue::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeratedValue || IfcSimpleProperty::is(v); } @@ -7926,7 +7926,7 @@ Type::Enum IfcPropertyEnumeratedValue::Class() { return Type::IfcPropertyEnumera IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcAbstractEntityPtr e) { if (!is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPropertyEnumeration IfcLabel IfcPropertyEnumeration::Name() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcPropertyEnumeration::EnumerationValues() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPropertyEnumeration::EnumerationValues() { RETURN_AS_LIST(IfcAbstractSelect,1) } bool IfcPropertyEnumeration::hasUnit() { return !entity->getArgument(2)->isNull(); } IfcUnit IfcPropertyEnumeration::Unit() { return *entity->getArgument(2); } bool IfcPropertyEnumeration::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeration; } @@ -7934,7 +7934,7 @@ Type::Enum IfcPropertyEnumeration::type() const { return Type::IfcPropertyEnumer Type::Enum IfcPropertyEnumeration::Class() { return Type::IfcPropertyEnumeration; } IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntityPtr e) { if (!is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPropertyListValue -SHARED_PTR< IfcTemplatedEntityList > IfcPropertyListValue::ListValues() { RETURN_AS_LIST(IfcAbstractSelect,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPropertyListValue::ListValues() { RETURN_AS_LIST(IfcAbstractSelect,2) } bool IfcPropertyListValue::hasUnit() { return !entity->getArgument(3)->isNull(); } IfcUnit IfcPropertyListValue::Unit() { return *entity->getArgument(3); } bool IfcPropertyListValue::is(Type::Enum v) const { return v == Type::IfcPropertyListValue || IfcSimpleProperty::is(v); } @@ -7950,7 +7950,7 @@ Type::Enum IfcPropertyReferenceValue::type() const { return Type::IfcPropertyRef Type::Enum IfcPropertyReferenceValue::Class() { return Type::IfcPropertyReferenceValue; } IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcAbstractEntityPtr e) { if (!is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPropertySet -SHARED_PTR< IfcTemplatedEntityList > IfcPropertySet::HasProperties() { RETURN_AS_LIST(IfcProperty,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcPropertySet::HasProperties() { RETURN_AS_LIST(IfcProperty,4) } bool IfcPropertySet::is(Type::Enum v) const { return v == Type::IfcPropertySet || IfcPropertySetDefinition::is(v); } Type::Enum IfcPropertySet::type() const { return Type::IfcPropertySet; } Type::Enum IfcPropertySet::Class() { return Type::IfcPropertySet; } @@ -7972,8 +7972,8 @@ Type::Enum IfcPropertySingleValue::type() const { return Type::IfcPropertySingle Type::Enum IfcPropertySingleValue::Class() { return Type::IfcPropertySingleValue; } IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntityPtr e) { if (!is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcPropertyTableValue -SHARED_PTR< IfcTemplatedEntityList > IfcPropertyTableValue::DefiningValues() { RETURN_AS_LIST(IfcAbstractSelect,2) } -SHARED_PTR< IfcTemplatedEntityList > IfcPropertyTableValue::DefinedValues() { RETURN_AS_LIST(IfcAbstractSelect,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPropertyTableValue::DefiningValues() { RETURN_AS_LIST(IfcAbstractSelect,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcPropertyTableValue::DefinedValues() { RETURN_AS_LIST(IfcAbstractSelect,3) } bool IfcPropertyTableValue::hasExpression() { return !entity->getArgument(4)->isNull(); } IfcText IfcPropertyTableValue::Expression() { return *entity->getArgument(4); } bool IfcPropertyTableValue::hasDefiningUnit() { return !entity->getArgument(5)->isNull(); } @@ -8076,7 +8076,7 @@ Type::Enum IfcRampFlightType::type() const { return Type::IfcRampFlightType; } Type::Enum IfcRampFlightType::Class() { return Type::IfcRampFlightType; } IfcRampFlightType::IfcRampFlightType(IfcAbstractEntityPtr e) { if (!is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRationalBezierCurve -std::vector /*[2:?]*/ IfcRationalBezierCurve::WeightsData() { return *entity->getArgument(5); } +std::vector< double > /*[2:?]*/ IfcRationalBezierCurve::WeightsData() { return *entity->getArgument(5); } bool IfcRationalBezierCurve::is(Type::Enum v) const { return v == Type::IfcRationalBezierCurve || IfcBezierCurve::is(v); } Type::Enum IfcRationalBezierCurve::type() const { return Type::IfcRationalBezierCurve; } Type::Enum IfcRationalBezierCurve::Class() { return Type::IfcRationalBezierCurve; } @@ -8120,7 +8120,7 @@ Type::Enum IfcRectangularTrimmedSurface::Class() { return Type::IfcRectangularTr IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntityPtr e) { if (!is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcReferencesValueDocument IfcDocumentSelect IfcReferencesValueDocument::ReferencedDocument() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcReferencesValueDocument::ReferencingValues() { RETURN_AS_LIST(IfcAppliedValue,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcReferencesValueDocument::ReferencingValues() { RETURN_AS_LIST(IfcAppliedValue,1) } bool IfcReferencesValueDocument::hasName() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcReferencesValueDocument::Name() { return *entity->getArgument(2); } bool IfcReferencesValueDocument::hasDescription() { return !entity->getArgument(3)->isNull(); } @@ -8131,7 +8131,7 @@ Type::Enum IfcReferencesValueDocument::Class() { return Type::IfcReferencesValue IfcReferencesValueDocument::IfcReferencesValueDocument(IfcAbstractEntityPtr e) { if (!is(Type::IfcReferencesValueDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRegularTimeSeries IfcTimeMeasure IfcRegularTimeSeries::TimeStep() { return *entity->getArgument(8); } -SHARED_PTR< IfcTemplatedEntityList > IfcRegularTimeSeries::Values() { RETURN_AS_LIST(IfcTimeSeriesValue,9) } +SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > IfcRegularTimeSeries::Values() { RETURN_AS_LIST(IfcTimeSeriesValue,9) } bool IfcRegularTimeSeries::is(Type::Enum v) const { return v == Type::IfcRegularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcRegularTimeSeries::type() const { return Type::IfcRegularTimeSeries; } Type::Enum IfcRegularTimeSeries::Class() { return Type::IfcRegularTimeSeries; } @@ -8154,7 +8154,7 @@ IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntityPt // Function implementations for IfcReinforcementDefinitionProperties bool IfcReinforcementDefinitionProperties::hasDefinitionType() { return !entity->getArgument(4)->isNull(); } IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() { return *entity->getArgument(4); } -SHARED_PTR< IfcTemplatedEntityList > IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() { RETURN_AS_LIST(IfcSectionReinforcementProperties,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() { RETURN_AS_LIST(IfcSectionReinforcementProperties,5) } bool IfcReinforcementDefinitionProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementDefinitionProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcReinforcementDefinitionProperties::type() const { return Type::IfcReinforcementDefinitionProperties; } Type::Enum IfcReinforcementDefinitionProperties::Class() { return Type::IfcReinforcementDefinitionProperties; } @@ -8199,7 +8199,7 @@ Type::Enum IfcRelAggregates::type() const { return Type::IfcRelAggregates; } Type::Enum IfcRelAggregates::Class() { return Type::IfcRelAggregates; } IfcRelAggregates::IfcRelAggregates(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelAssigns -SHARED_PTR< IfcTemplatedEntityList > IfcRelAssigns::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelAssigns::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,4) } bool IfcRelAssigns::hasRelatedObjectsType() { return !entity->getArgument(5)->isNull(); } IfcObjectTypeEnum::IfcObjectTypeEnum IfcRelAssigns::RelatedObjectsType() { return IfcObjectTypeEnum::FromString(*entity->getArgument(5)); } bool IfcRelAssigns::is(Type::Enum v) const { return v == Type::IfcRelAssigns || IfcRelationship::is(v); } @@ -8259,7 +8259,7 @@ Type::Enum IfcRelAssignsToResource::type() const { return Type::IfcRelAssignsToR Type::Enum IfcRelAssignsToResource::Class() { return Type::IfcRelAssignsToResource; } IfcRelAssignsToResource::IfcRelAssignsToResource(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelAssociates -SHARED_PTR< IfcTemplatedEntityList > IfcRelAssociates::RelatedObjects() { RETURN_AS_LIST(IfcRoot,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > IfcRelAssociates::RelatedObjects() { RETURN_AS_LIST(IfcRoot,4) } bool IfcRelAssociates::is(Type::Enum v) const { return v == Type::IfcRelAssociates || IfcRelationship::is(v); } Type::Enum IfcRelAssociates::type() const { return Type::IfcRelAssociates; } Type::Enum IfcRelAssociates::Class() { return Type::IfcRelAssociates; } @@ -8332,8 +8332,8 @@ Type::Enum IfcRelConnectsElements::type() const { return Type::IfcRelConnectsEle Type::Enum IfcRelConnectsElements::Class() { return Type::IfcRelConnectsElements; } IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelConnectsPathElements -std::vector /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() { return *entity->getArgument(7); } -std::vector /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() { return *entity->getArgument(8); } +std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() { return *entity->getArgument(7); } +std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() { return *entity->getArgument(8); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsPathElements || IfcRelConnectsElements::is(v); } @@ -8392,7 +8392,7 @@ Type::Enum IfcRelConnectsWithEccentricity::type() const { return Type::IfcRelCon Type::Enum IfcRelConnectsWithEccentricity::Class() { return Type::IfcRelConnectsWithEccentricity; } IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelConnectsWithRealizingElements -SHARED_PTR< IfcTemplatedEntityList > IfcRelConnectsWithRealizingElements::RealizingElements() { RETURN_AS_LIST(IfcElement,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcElement > > IfcRelConnectsWithRealizingElements::RealizingElements() { RETURN_AS_LIST(IfcElement,7) } bool IfcRelConnectsWithRealizingElements::hasConnectionType() { return !entity->getArgument(8)->isNull(); } IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() { return *entity->getArgument(8); } bool IfcRelConnectsWithRealizingElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithRealizingElements || IfcRelConnectsElements::is(v); } @@ -8400,7 +8400,7 @@ Type::Enum IfcRelConnectsWithRealizingElements::type() const { return Type::IfcR Type::Enum IfcRelConnectsWithRealizingElements::Class() { return Type::IfcRelConnectsWithRealizingElements; } IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelContainedInSpatialStructure -SHARED_PTR< IfcTemplatedEntityList > IfcRelContainedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > IfcRelContainedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } IfcSpatialStructureElement* IfcRelContainedInSpatialStructure::RelatingStructure() { return reinterpret_pointer_cast(*entity->getArgument(5)); } bool IfcRelContainedInSpatialStructure::is(Type::Enum v) const { return v == Type::IfcRelContainedInSpatialStructure || IfcRelConnects::is(v); } Type::Enum IfcRelContainedInSpatialStructure::type() const { return Type::IfcRelContainedInSpatialStructure; } @@ -8408,27 +8408,27 @@ Type::Enum IfcRelContainedInSpatialStructure::Class() { return Type::IfcRelConta IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelCoversBldgElements IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() { return reinterpret_pointer_cast(*entity->getArgument(4)); } -SHARED_PTR< IfcTemplatedEntityList > IfcRelCoversBldgElements::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > IfcRelCoversBldgElements::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRelCoversBldgElements || IfcRelConnects::is(v); } Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelCoversSpaces IfcSpace* IfcRelCoversSpaces::RelatedSpace() { return reinterpret_pointer_cast(*entity->getArgument(4)); } -SHARED_PTR< IfcTemplatedEntityList > IfcRelCoversSpaces::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > IfcRelCoversSpaces::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCoversSpaces || IfcRelConnects::is(v); } Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelDecomposes IfcObjectDefinition* IfcRelDecomposes::RelatingObject() { return reinterpret_pointer_cast(*entity->getArgument(4)); } -SHARED_PTR< IfcTemplatedEntityList > IfcRelDecomposes::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelDecomposes::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,5) } bool IfcRelDecomposes::is(Type::Enum v) const { return v == Type::IfcRelDecomposes || IfcRelationship::is(v); } Type::Enum IfcRelDecomposes::type() const { return Type::IfcRelDecomposes; } Type::Enum IfcRelDecomposes::Class() { return Type::IfcRelDecomposes; } IfcRelDecomposes::IfcRelDecomposes(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelDefines -SHARED_PTR< IfcTemplatedEntityList > IfcRelDefines::RelatedObjects() { RETURN_AS_LIST(IfcObject,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcObject > > IfcRelDefines::RelatedObjects() { RETURN_AS_LIST(IfcObject,4) } bool IfcRelDefines::is(Type::Enum v) const { return v == Type::IfcRelDefines || IfcRelationship::is(v); } Type::Enum IfcRelDefines::type() const { return Type::IfcRelDefines; } Type::Enum IfcRelDefines::Class() { return Type::IfcRelDefines; } @@ -8453,7 +8453,7 @@ Type::Enum IfcRelFillsElement::type() const { return Type::IfcRelFillsElement; } Type::Enum IfcRelFillsElement::Class() { return Type::IfcRelFillsElement; } IfcRelFillsElement::IfcRelFillsElement(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelFlowControlElements -SHARED_PTR< IfcTemplatedEntityList > IfcRelFlowControlElements::RelatedControlElements() { RETURN_AS_LIST(IfcDistributionControlElement,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > IfcRelFlowControlElements::RelatedControlElements() { RETURN_AS_LIST(IfcDistributionControlElement,4) } IfcDistributionFlowElement* IfcRelFlowControlElements::RelatingFlowElement() { return reinterpret_pointer_cast(*entity->getArgument(5)); } bool IfcRelFlowControlElements::is(Type::Enum v) const { return v == Type::IfcRelFlowControlElements || IfcRelConnects::is(v); } Type::Enum IfcRelFlowControlElements::type() const { return Type::IfcRelFlowControlElements; } @@ -8483,7 +8483,7 @@ Type::Enum IfcRelOccupiesSpaces::type() const { return Type::IfcRelOccupiesSpace Type::Enum IfcRelOccupiesSpaces::Class() { return Type::IfcRelOccupiesSpaces; } IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelOccupiesSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelOverridesProperties -SHARED_PTR< IfcTemplatedEntityList > IfcRelOverridesProperties::OverridingProperties() { RETURN_AS_LIST(IfcProperty,6) } +SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcRelOverridesProperties::OverridingProperties() { RETURN_AS_LIST(IfcProperty,6) } bool IfcRelOverridesProperties::is(Type::Enum v) const { return v == Type::IfcRelOverridesProperties || IfcRelDefinesByProperties::is(v); } Type::Enum IfcRelOverridesProperties::type() const { return Type::IfcRelOverridesProperties; } Type::Enum IfcRelOverridesProperties::Class() { return Type::IfcRelOverridesProperties; } @@ -8496,7 +8496,7 @@ Type::Enum IfcRelProjectsElement::type() const { return Type::IfcRelProjectsElem Type::Enum IfcRelProjectsElement::Class() { return Type::IfcRelProjectsElement; } IfcRelProjectsElement::IfcRelProjectsElement(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelReferencedInSpatialStructure -SHARED_PTR< IfcTemplatedEntityList > IfcRelReferencedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } +SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > IfcRelReferencedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } IfcSpatialStructureElement* IfcRelReferencedInSpatialStructure::RelatingStructure() { return reinterpret_pointer_cast(*entity->getArgument(5)); } bool IfcRelReferencedInSpatialStructure::is(Type::Enum v) const { return v == Type::IfcRelReferencedInSpatialStructure || IfcRelConnects::is(v); } Type::Enum IfcRelReferencedInSpatialStructure::type() const { return Type::IfcRelReferencedInSpatialStructure; } @@ -8518,7 +8518,7 @@ Type::Enum IfcRelSequence::Class() { return Type::IfcRelSequence; } IfcRelSequence::IfcRelSequence(IfcAbstractEntityPtr e) { if (!is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcRelServicesBuildings IfcSystem* IfcRelServicesBuildings::RelatingSystem() { return reinterpret_pointer_cast(*entity->getArgument(4)); } -SHARED_PTR< IfcTemplatedEntityList > IfcRelServicesBuildings::RelatedBuildings() { RETURN_AS_LIST(IfcSpatialStructureElement,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > IfcRelServicesBuildings::RelatedBuildings() { RETURN_AS_LIST(IfcSpatialStructureElement,5) } bool IfcRelServicesBuildings::is(Type::Enum v) const { return v == Type::IfcRelServicesBuildings || IfcRelConnects::is(v); } Type::Enum IfcRelServicesBuildings::type() const { return Type::IfcRelServicesBuildings; } Type::Enum IfcRelServicesBuildings::Class() { return Type::IfcRelServicesBuildings; } @@ -8560,7 +8560,7 @@ bool IfcRepresentation::hasRepresentationIdentifier() { return !entity->getArgum IfcLabel IfcRepresentation::RepresentationIdentifier() { return *entity->getArgument(1); } bool IfcRepresentation::hasRepresentationType() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcRepresentation::RepresentationType() { return *entity->getArgument(2); } -SHARED_PTR< IfcTemplatedEntityList > IfcRepresentation::Items() { RETURN_AS_LIST(IfcRepresentationItem,3) } +SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > IfcRepresentation::Items() { RETURN_AS_LIST(IfcRepresentationItem,3) } IfcRepresentationMap::list IfcRepresentation::RepresentationMap() { RETURN_INVERSE(IfcRepresentationMap) } IfcPresentationLayerAssignment::list IfcRepresentation::LayerAssignments() { RETURN_INVERSE(IfcPresentationLayerAssignment) } IfcProductRepresentation::list IfcRepresentation::OfProductRepresentation() { RETURN_INVERSE(IfcProductRepresentation) } @@ -8736,15 +8736,15 @@ bool IfcSectionReinforcementProperties::hasTransversePosition() { return !entity IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() { return *entity->getArgument(2); } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() { return reinterpret_pointer_cast(*entity->getArgument(4)); } -SHARED_PTR< IfcTemplatedEntityList > IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() { RETURN_AS_LIST(IfcReinforcementBarProperties,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() { RETURN_AS_LIST(IfcReinforcementBarProperties,5) } bool IfcSectionReinforcementProperties::is(Type::Enum v) const { return v == Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::type() const { return Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::Class() { return Type::IfcSectionReinforcementProperties; } IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntityPtr e) { if (!is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcSectionedSpine IfcCompositeCurve* IfcSectionedSpine::SpineCurve() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcSectionedSpine::CrossSections() { RETURN_AS_LIST(IfcProfileDef,1) } -SHARED_PTR< IfcTemplatedEntityList > IfcSectionedSpine::CrossSectionPositions() { RETURN_AS_LIST(IfcAxis2Placement3D,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > IfcSectionedSpine::CrossSections() { RETURN_AS_LIST(IfcProfileDef,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > IfcSectionedSpine::CrossSectionPositions() { RETURN_AS_LIST(IfcAxis2Placement3D,2) } bool IfcSectionedSpine::is(Type::Enum v) const { return v == Type::IfcSectionedSpine || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSectionedSpine::type() const { return Type::IfcSectionedSpine; } Type::Enum IfcSectionedSpine::Class() { return Type::IfcSectionedSpine; } @@ -8774,7 +8774,7 @@ Type::Enum IfcServiceLifeFactor::type() const { return Type::IfcServiceLifeFacto Type::Enum IfcServiceLifeFactor::Class() { return Type::IfcServiceLifeFactor; } IfcServiceLifeFactor::IfcServiceLifeFactor(IfcAbstractEntityPtr e) { if (!is(Type::IfcServiceLifeFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcShapeAspect -SHARED_PTR< IfcTemplatedEntityList > IfcShapeAspect::ShapeRepresentations() { RETURN_AS_LIST(IfcShapeModel,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > IfcShapeAspect::ShapeRepresentations() { RETURN_AS_LIST(IfcShapeModel,0) } bool IfcShapeAspect::hasName() { return !entity->getArgument(1)->isNull(); } IfcLabel IfcShapeAspect::Name() { return *entity->getArgument(1); } bool IfcShapeAspect::hasDescription() { return !entity->getArgument(2)->isNull(); } @@ -8797,7 +8797,7 @@ Type::Enum IfcShapeRepresentation::type() const { return Type::IfcShapeRepresent Type::Enum IfcShapeRepresentation::Class() { return Type::IfcShapeRepresentation; } IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntityPtr e) { if (!is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcShellBasedSurfaceModel -SHARED_PTR< IfcTemplatedEntityList > IfcShellBasedSurfaceModel::SbsmBoundary() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcShellBasedSurfaceModel::SbsmBoundary() { RETURN_AS_LIST(IfcAbstractSelect,0) } bool IfcShellBasedSurfaceModel::is(Type::Enum v) const { return v == Type::IfcShellBasedSurfaceModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcShellBasedSurfaceModel::type() const { return Type::IfcShellBasedSurfaceModel; } Type::Enum IfcShellBasedSurfaceModel::Class() { return Type::IfcShellBasedSurfaceModel; } @@ -8855,7 +8855,7 @@ IfcSolidModel::IfcSolidModel(IfcAbstractEntityPtr e) { if (!is(Type::IfcSolidMod IfcBoolean IfcSoundProperties::IsAttenuating() { return *entity->getArgument(4); } bool IfcSoundProperties::hasSoundScale() { return !entity->getArgument(5)->isNull(); } IfcSoundScaleEnum::IfcSoundScaleEnum IfcSoundProperties::SoundScale() { return IfcSoundScaleEnum::FromString(*entity->getArgument(5)); } -SHARED_PTR< IfcTemplatedEntityList > IfcSoundProperties::SoundValues() { RETURN_AS_LIST(IfcSoundValue,6) } +SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > IfcSoundProperties::SoundValues() { RETURN_AS_LIST(IfcSoundValue,6) } bool IfcSoundProperties::is(Type::Enum v) const { return v == Type::IfcSoundProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcSoundProperties::type() const { return Type::IfcSoundProperties; } Type::Enum IfcSoundProperties::Class() { return Type::IfcSoundProperties; } @@ -9002,9 +9002,9 @@ IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::P bool IfcStructuralAnalysisModel::hasOrientationOf2DPlane() { return !entity->getArgument(6)->isNull(); } IfcAxis2Placement3D* IfcStructuralAnalysisModel::OrientationOf2DPlane() { return reinterpret_pointer_cast(*entity->getArgument(6)); } bool IfcStructuralAnalysisModel::hasLoadedBy() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcStructuralAnalysisModel::LoadedBy() { RETURN_AS_LIST(IfcStructuralLoadGroup,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > IfcStructuralAnalysisModel::LoadedBy() { RETURN_AS_LIST(IfcStructuralLoadGroup,7) } bool IfcStructuralAnalysisModel::hasHasResults() { return !entity->getArgument(8)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcStructuralAnalysisModel::HasResults() { RETURN_AS_LIST(IfcStructuralResultGroup,8) } +SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > IfcStructuralAnalysisModel::HasResults() { RETURN_AS_LIST(IfcStructuralResultGroup,8) } bool IfcStructuralAnalysisModel::is(Type::Enum v) const { return v == Type::IfcStructuralAnalysisModel || IfcSystem::is(v); } Type::Enum IfcStructuralAnalysisModel::type() const { return Type::IfcStructuralAnalysisModel; } Type::Enum IfcStructuralAnalysisModel::Class() { return Type::IfcStructuralAnalysisModel; } @@ -9054,7 +9054,7 @@ Type::Enum IfcStructuralLinearAction::Class() { return Type::IfcStructuralLinear IfcStructuralLinearAction::IfcStructuralLinearAction(IfcAbstractEntityPtr e) { if (!is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcStructuralLinearActionVarying IfcShapeAspect* IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() { return reinterpret_pointer_cast(*entity->getArgument(12)); } -SHARED_PTR< IfcTemplatedEntityList > IfcStructuralLinearActionVarying::SubsequentAppliedLoads() { RETURN_AS_LIST(IfcStructuralLoad,13) } +SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > IfcStructuralLinearActionVarying::SubsequentAppliedLoads() { RETURN_AS_LIST(IfcStructuralLoad,13) } bool IfcStructuralLinearActionVarying::is(Type::Enum v) const { return v == Type::IfcStructuralLinearActionVarying || IfcStructuralLinearAction::is(v); } Type::Enum IfcStructuralLinearActionVarying::type() const { return Type::IfcStructuralLinearActionVarying; } Type::Enum IfcStructuralLinearActionVarying::Class() { return Type::IfcStructuralLinearActionVarying; } @@ -9187,7 +9187,7 @@ Type::Enum IfcStructuralPlanarAction::Class() { return Type::IfcStructuralPlanar IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcAbstractEntityPtr e) { if (!is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcStructuralPlanarActionVarying IfcShapeAspect* IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() { return reinterpret_pointer_cast(*entity->getArgument(12)); } -SHARED_PTR< IfcTemplatedEntityList > IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() { RETURN_AS_LIST(IfcStructuralLoad,13) } +SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() { RETURN_AS_LIST(IfcStructuralLoad,13) } bool IfcStructuralPlanarActionVarying::is(Type::Enum v) const { return v == Type::IfcStructuralPlanarActionVarying || IfcStructuralPlanarAction::is(v); } Type::Enum IfcStructuralPlanarActionVarying::type() const { return Type::IfcStructuralPlanarActionVarying; } Type::Enum IfcStructuralPlanarActionVarying::Class() { return Type::IfcStructuralPlanarActionVarying; } @@ -9287,7 +9287,7 @@ Type::Enum IfcStructuralSurfaceMember::type() const { return Type::IfcStructural Type::Enum IfcStructuralSurfaceMember::Class() { return Type::IfcStructuralSurfaceMember; } IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcAbstractEntityPtr e) { if (!is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcStructuralSurfaceMemberVarying -std::vector /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() { return *entity->getArgument(9); } +std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() { return *entity->getArgument(9); } IfcShapeAspect* IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() { return reinterpret_pointer_cast(*entity->getArgument(10)); } bool IfcStructuralSurfaceMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMemberVarying || IfcStructuralSurfaceMember::is(v); } Type::Enum IfcStructuralSurfaceMemberVarying::type() const { return Type::IfcStructuralSurfaceMemberVarying; } @@ -9306,7 +9306,7 @@ IfcStyleModel::IfcStyleModel(IfcAbstractEntityPtr e) { if (!is(Type::IfcStyleMod // Function implementations for IfcStyledItem bool IfcStyledItem::hasItem() { return !entity->getArgument(0)->isNull(); } IfcRepresentationItem* IfcStyledItem::Item() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcStyledItem::Styles() { RETURN_AS_LIST(IfcPresentationStyleAssignment,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > IfcStyledItem::Styles() { RETURN_AS_LIST(IfcPresentationStyleAssignment,1) } bool IfcStyledItem::hasName() { return !entity->getArgument(2)->isNull(); } IfcLabel IfcStyledItem::Name() { return *entity->getArgument(2); } bool IfcStyledItem::is(Type::Enum v) const { return v == Type::IfcStyledItem || IfcRepresentationItem::is(v); } @@ -9362,7 +9362,7 @@ Type::Enum IfcSurfaceOfRevolution::Class() { return Type::IfcSurfaceOfRevolution IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcAbstractEntityPtr e) { if (!is(Type::IfcSurfaceOfRevolution)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcSurfaceStyle IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } -SHARED_PTR< IfcTemplatedEntityList > IfcSurfaceStyle::Styles() { RETURN_AS_LIST(IfcAbstractSelect,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcSurfaceStyle::Styles() { RETURN_AS_LIST(IfcAbstractSelect,2) } bool IfcSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcSurfaceStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSurfaceStyle::type() const { return Type::IfcSurfaceStyle; } Type::Enum IfcSurfaceStyle::Class() { return Type::IfcSurfaceStyle; } @@ -9412,7 +9412,7 @@ Type::Enum IfcSurfaceStyleShading::type() const { return Type::IfcSurfaceStyleSh Type::Enum IfcSurfaceStyleShading::Class() { return Type::IfcSurfaceStyleShading; } IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcAbstractEntityPtr e) { if (!is(Type::IfcSurfaceStyleShading)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcSurfaceStyleWithTextures -SHARED_PTR< IfcTemplatedEntityList > IfcSurfaceStyleWithTextures::Textures() { RETURN_AS_LIST(IfcSurfaceTexture,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > IfcSurfaceStyleWithTextures::Textures() { RETURN_AS_LIST(IfcSurfaceTexture,0) } bool IfcSurfaceStyleWithTextures::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleWithTextures; } Type::Enum IfcSurfaceStyleWithTextures::type() const { return Type::IfcSurfaceStyleWithTextures; } Type::Enum IfcSurfaceStyleWithTextures::Class() { return Type::IfcSurfaceStyleWithTextures; } @@ -9498,13 +9498,13 @@ Type::Enum IfcTShapeProfileDef::Class() { return Type::IfcTShapeProfileDef; } IfcTShapeProfileDef::IfcTShapeProfileDef(IfcAbstractEntityPtr e) { if (!is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTable std::string IfcTable::Name() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcTable::Rows() { RETURN_AS_LIST(IfcTableRow,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > IfcTable::Rows() { RETURN_AS_LIST(IfcTableRow,1) } bool IfcTable::is(Type::Enum v) const { return v == Type::IfcTable; } Type::Enum IfcTable::type() const { return Type::IfcTable; } Type::Enum IfcTable::Class() { return Type::IfcTable; } IfcTable::IfcTable(IfcAbstractEntityPtr e) { if (!is(Type::IfcTable)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTableRow -SHARED_PTR< IfcTemplatedEntityList > IfcTableRow::RowCells() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTableRow::RowCells() { RETURN_AS_LIST(IfcAbstractSelect,0) } bool IfcTableRow::IsHeading() { return *entity->getArgument(1); } IfcTable::list IfcTableRow::OfTable() { RETURN_INVERSE(IfcTable) } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } @@ -9532,13 +9532,13 @@ Type::Enum IfcTask::Class() { return Type::IfcTask; } IfcTask::IfcTask(IfcAbstractEntityPtr e) { if (!is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTelecomAddress bool IfcTelecomAddress::hasTelephoneNumbers() { return !entity->getArgument(3)->isNull(); } -std::vector /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() { return *entity->getArgument(3); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() { return *entity->getArgument(3); } bool IfcTelecomAddress::hasFacsimileNumbers() { return !entity->getArgument(4)->isNull(); } -std::vector /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() { return *entity->getArgument(4); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() { return *entity->getArgument(4); } bool IfcTelecomAddress::hasPagerNumber() { return !entity->getArgument(5)->isNull(); } IfcLabel IfcTelecomAddress::PagerNumber() { return *entity->getArgument(5); } bool IfcTelecomAddress::hasElectronicMailAddresses() { return !entity->getArgument(6)->isNull(); } -std::vector /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() { return *entity->getArgument(6); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() { return *entity->getArgument(6); } bool IfcTelecomAddress::hasWWWHomePageURL() { return !entity->getArgument(7)->isNull(); } IfcLabel IfcTelecomAddress::WWWHomePageURL() { return *entity->getArgument(7); } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } @@ -9601,7 +9601,7 @@ Type::Enum IfcTextStyle::Class() { return Type::IfcTextStyle; } IfcTextStyle::IfcTextStyle(IfcAbstractEntityPtr e) { if (!is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTextStyleFontModel bool IfcTextStyleFontModel::hasFontFamily() { return !entity->getArgument(1)->isNull(); } -std::vector /*[1:?]*/ IfcTextStyleFontModel::FontFamily() { return *entity->getArgument(1); } +std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() { return *entity->getArgument(1); } bool IfcTextStyleFontModel::hasFontStyle() { return !entity->getArgument(2)->isNull(); } IfcFontStyle IfcTextStyleFontModel::FontStyle() { return *entity->getArgument(2); } bool IfcTextStyleFontModel::hasFontVariant() { return !entity->getArgument(3)->isNull(); } @@ -9663,19 +9663,19 @@ Type::Enum IfcTextureCoordinate::Class() { return Type::IfcTextureCoordinate; } IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntityPtr e) { if (!is(Type::IfcTextureCoordinate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTextureCoordinateGenerator IfcLabel IfcTextureCoordinateGenerator::Mode() { return *entity->getArgument(0); } -SHARED_PTR< IfcTemplatedEntityList > IfcTextureCoordinateGenerator::Parameter() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTextureCoordinateGenerator::Parameter() { RETURN_AS_LIST(IfcAbstractSelect,1) } bool IfcTextureCoordinateGenerator::is(Type::Enum v) const { return v == Type::IfcTextureCoordinateGenerator || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureCoordinateGenerator::type() const { return Type::IfcTextureCoordinateGenerator; } Type::Enum IfcTextureCoordinateGenerator::Class() { return Type::IfcTextureCoordinateGenerator; } IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcAbstractEntityPtr e) { if (!is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTextureMap -SHARED_PTR< IfcTemplatedEntityList > IfcTextureMap::TextureMaps() { RETURN_AS_LIST(IfcVertexBasedTextureMap,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > IfcTextureMap::TextureMaps() { RETURN_AS_LIST(IfcVertexBasedTextureMap,0) } bool IfcTextureMap::is(Type::Enum v) const { return v == Type::IfcTextureMap || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureMap::type() const { return Type::IfcTextureMap; } Type::Enum IfcTextureMap::Class() { return Type::IfcTextureMap; } IfcTextureMap::IfcTextureMap(IfcAbstractEntityPtr e) { if (!is(Type::IfcTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTextureVertex -std::vector /*[2:2]*/ IfcTextureVertex::Coordinates() { return *entity->getArgument(0); } +std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() { return *entity->getArgument(0); } bool IfcTextureVertex::is(Type::Enum v) const { return v == Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::type() const { return Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::Class() { return Type::IfcTextureVertex; } @@ -9712,14 +9712,14 @@ Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } IfcTimeSeries::IfcTimeSeries(IfcAbstractEntityPtr e) { if (!is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTimeSeriesReferenceRelationship IfcTimeSeries* IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() { RETURN_AS_LIST(IfcAbstractSelect,1) } bool IfcTimeSeriesReferenceRelationship::is(Type::Enum v) const { return v == Type::IfcTimeSeriesReferenceRelationship; } Type::Enum IfcTimeSeriesReferenceRelationship::type() const { return Type::IfcTimeSeriesReferenceRelationship; } Type::Enum IfcTimeSeriesReferenceRelationship::Class() { return Type::IfcTimeSeriesReferenceRelationship; } IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcAbstractEntityPtr e) { if (!is(Type::IfcTimeSeriesReferenceRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTimeSeriesSchedule bool IfcTimeSeriesSchedule::hasApplicableDates() { return !entity->getArgument(5)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcTimeSeriesSchedule::ApplicableDates() { RETURN_AS_LIST(IfcAbstractSelect,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTimeSeriesSchedule::ApplicableDates() { RETURN_AS_LIST(IfcAbstractSelect,5) } IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum IfcTimeSeriesSchedule::TimeSeriesScheduleType() { return IfcTimeSeriesScheduleTypeEnum::FromString(*entity->getArgument(6)); } IfcTimeSeries* IfcTimeSeriesSchedule::TimeSeries() { return reinterpret_pointer_cast(*entity->getArgument(7)); } bool IfcTimeSeriesSchedule::is(Type::Enum v) const { return v == Type::IfcTimeSeriesSchedule || IfcControl::is(v); } @@ -9727,7 +9727,7 @@ Type::Enum IfcTimeSeriesSchedule::type() const { return Type::IfcTimeSeriesSched Type::Enum IfcTimeSeriesSchedule::Class() { return Type::IfcTimeSeriesSchedule; } IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcAbstractEntityPtr e) { if (!is(Type::IfcTimeSeriesSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTimeSeriesValue -SHARED_PTR< IfcTemplatedEntityList > IfcTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcAbstractSelect,0) } bool IfcTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcTimeSeriesValue; } Type::Enum IfcTimeSeriesValue::type() const { return Type::IfcTimeSeriesValue; } Type::Enum IfcTimeSeriesValue::Class() { return Type::IfcTimeSeriesValue; } @@ -9776,8 +9776,8 @@ Type::Enum IfcTrapeziumProfileDef::Class() { return Type::IfcTrapeziumProfileDef IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcAbstractEntityPtr e) { if (!is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTrimmedCurve IfcCurve* IfcTrimmedCurve::BasisCurve() { return reinterpret_pointer_cast(*entity->getArgument(0)); } -SHARED_PTR< IfcTemplatedEntityList > IfcTrimmedCurve::Trim1() { RETURN_AS_LIST(IfcAbstractSelect,1) } -SHARED_PTR< IfcTemplatedEntityList > IfcTrimmedCurve::Trim2() { RETURN_AS_LIST(IfcAbstractSelect,2) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTrimmedCurve::Trim1() { RETURN_AS_LIST(IfcAbstractSelect,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcTrimmedCurve::Trim2() { RETURN_AS_LIST(IfcAbstractSelect,2) } bool IfcTrimmedCurve::SenseAgreement() { return *entity->getArgument(3); } IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } bool IfcTrimmedCurve::is(Type::Enum v) const { return v == Type::IfcTrimmedCurve || IfcBoundedCurve::is(v); } @@ -9800,7 +9800,7 @@ IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcAbstractEntityPtr e) bool IfcTypeObject::hasApplicableOccurrence() { return !entity->getArgument(4)->isNull(); } IfcLabel IfcTypeObject::ApplicableOccurrence() { return *entity->getArgument(4); } bool IfcTypeObject::hasHasPropertySets() { return !entity->getArgument(5)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcTypeObject::HasPropertySets() { RETURN_AS_LIST(IfcPropertySetDefinition,5) } +SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > IfcTypeObject::HasPropertySets() { RETURN_AS_LIST(IfcPropertySetDefinition,5) } IfcRelDefinesByType::list IfcTypeObject::ObjectTypeOf() { RETURN_INVERSE(IfcRelDefinesByType) } bool IfcTypeObject::is(Type::Enum v) const { return v == Type::IfcTypeObject || IfcObjectDefinition::is(v); } Type::Enum IfcTypeObject::type() const { return Type::IfcTypeObject; } @@ -9808,7 +9808,7 @@ Type::Enum IfcTypeObject::Class() { return Type::IfcTypeObject; } IfcTypeObject::IfcTypeObject(IfcAbstractEntityPtr e) { if (!is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcTypeProduct bool IfcTypeProduct::hasRepresentationMaps() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcTypeProduct::RepresentationMaps() { RETURN_AS_LIST(IfcRepresentationMap,6) } +SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > IfcTypeProduct::RepresentationMaps() { RETURN_AS_LIST(IfcRepresentationMap,6) } bool IfcTypeProduct::hasTag() { return !entity->getArgument(7)->isNull(); } IfcLabel IfcTypeProduct::Tag() { return *entity->getArgument(7); } bool IfcTypeProduct::is(Type::Enum v) const { return v == Type::IfcTypeProduct || IfcTypeObject::is(v); } @@ -9833,7 +9833,7 @@ Type::Enum IfcUShapeProfileDef::type() const { return Type::IfcUShapeProfileDef; Type::Enum IfcUShapeProfileDef::Class() { return Type::IfcUShapeProfileDef; } IfcUShapeProfileDef::IfcUShapeProfileDef(IfcAbstractEntityPtr e) { if (!is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcUnitAssignment -SHARED_PTR< IfcTemplatedEntityList > IfcUnitAssignment::Units() { RETURN_AS_LIST(IfcAbstractSelect,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > IfcUnitAssignment::Units() { RETURN_AS_LIST(IfcAbstractSelect,0) } bool IfcUnitAssignment::is(Type::Enum v) const { return v == Type::IfcUnitAssignment; } Type::Enum IfcUnitAssignment::type() const { return Type::IfcUnitAssignment; } Type::Enum IfcUnitAssignment::Class() { return Type::IfcUnitAssignment; } @@ -9863,8 +9863,8 @@ Type::Enum IfcVertex::type() const { return Type::IfcVertex; } Type::Enum IfcVertex::Class() { return Type::IfcVertex; } IfcVertex::IfcVertex(IfcAbstractEntityPtr e) { if (!is(Type::IfcVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcVertexBasedTextureMap -SHARED_PTR< IfcTemplatedEntityList > IfcVertexBasedTextureMap::TextureVertices() { RETURN_AS_LIST(IfcTextureVertex,0) } -SHARED_PTR< IfcTemplatedEntityList > IfcVertexBasedTextureMap::TexturePoints() { RETURN_AS_LIST(IfcCartesianPoint,1) } +SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > IfcVertexBasedTextureMap::TextureVertices() { RETURN_AS_LIST(IfcTextureVertex,0) } +SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcVertexBasedTextureMap::TexturePoints() { RETURN_AS_LIST(IfcCartesianPoint,1) } bool IfcVertexBasedTextureMap::is(Type::Enum v) const { return v == Type::IfcVertexBasedTextureMap; } Type::Enum IfcVertexBasedTextureMap::type() const { return Type::IfcVertexBasedTextureMap; } Type::Enum IfcVertexBasedTextureMap::Class() { return Type::IfcVertexBasedTextureMap; } @@ -9893,8 +9893,8 @@ Type::Enum IfcVirtualElement::type() const { return Type::IfcVirtualElement; } Type::Enum IfcVirtualElement::Class() { return Type::IfcVirtualElement; } IfcVirtualElement::IfcVirtualElement(IfcAbstractEntityPtr e) { if (!is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } // Function implementations for IfcVirtualGridIntersection -SHARED_PTR< IfcTemplatedEntityList > IfcVirtualGridIntersection::IntersectingAxes() { RETURN_AS_LIST(IfcGridAxis,0) } -std::vector /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() { return *entity->getArgument(1); } +SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcVirtualGridIntersection::IntersectingAxes() { RETURN_AS_LIST(IfcGridAxis,0) } +std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() { return *entity->getArgument(1); } bool IfcVirtualGridIntersection::is(Type::Enum v) const { return v == Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::type() const { return Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::Class() { return Type::IfcVirtualGridIntersection; } @@ -9998,7 +9998,7 @@ IfcWindowStyle::IfcWindowStyle(IfcAbstractEntityPtr e) { if (!is(Type::IfcWindow IfcIdentifier IfcWorkControl::Identifier() { return *entity->getArgument(5); } IfcDateTimeSelect IfcWorkControl::CreationDate() { return *entity->getArgument(6); } bool IfcWorkControl::hasCreators() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList > IfcWorkControl::Creators() { RETURN_AS_LIST(IfcPerson,7) } +SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > IfcWorkControl::Creators() { RETURN_AS_LIST(IfcPerson,7) } bool IfcWorkControl::hasPurpose() { return !entity->getArgument(8)->isNull(); } IfcLabel IfcWorkControl::Purpose() { return *entity->getArgument(8); } bool IfcWorkControl::hasDuration() { return !entity->getArgument(9)->isNull(); } diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 6b1e2cec55..c0e7821390 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -111,7 +111,7 @@ typedef bool IfcBoolean; /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -typedef std::vector /*[1:2]*/ IfcComplexNumber; +typedef std::vector< double > /*[1:2]*/ IfcComplexNumber; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. /// /// NOTE: IfcCompoundPlaneAngleMeasure is used where angles need to be described to an accuracy as fine as one millionth of a degree and expressed as parts of an arc. It may be used for angular measurement by surveyors or for other angular measurements where precision is required. Another usage is exact or approximate global positioning against a geographic coordinate systems using longitude and latitude. @@ -134,33 +134,33 @@ typedef std::vector /*[1:2]*/ IfcComplexNumber; /// All measure components have the same sign (positive or negative). It is therefore trivial to convert between floating point representation (decimal degrees) and compound representation regardless whether the angle is greater or smaller than zero. Example: /// /// LOCAL -/// ��a : IfcPlaneAngleMeasure := -50.975864; �(* decimal degrees, -50� 58' 33" 110400 *) -/// ��b : IfcPlaneAngleMeasure; -/// ��c : IfcCompoundPlaneAngleMeasure; -/// ��s : IfcText; +///   a : IfcPlaneAngleMeasure := -50.975864;  (* decimal degrees, -50° 58' 33" 110400 *) +///   b : IfcPlaneAngleMeasure; +///   c : IfcCompoundPlaneAngleMeasure; +///   s : IfcText; /// END_LOCAL; /// /// (* convert from float to compound *) -/// ��c[1] := ���a; ������������������������������������������-- -50 -/// ��c[2] := ��(a - c[1]) * 60; �����������������������������-- -58 -/// ��c[3] := �((a - c[1]) * 60 - c[2]) * 60; ����������������-- -33 -/// ��c[4] := (((a - c[1]) * 60 - c[2]) * 60 - c[3]) * 1.e6; �-- -110400 +///   c[1] :=    a;                                           -- -50 +///   c[2] :=   (a - c[1]) * 60;                              -- -58 +///   c[3] :=  ((a - c[1]) * 60 - c[2]) * 60;                 -- -33 +///   c[4] := (((a - c[1]) * 60 - c[2]) * 60 - c[3]) * 1.e6;  -- -110400 /// /// (* convert from compound to float *) -/// ��b := c[1] + c[2]/60. + c[3]/3600. + c[4]/3600.e6; ������-- -50.975864 +///   b := c[1] + c[2]/60. + c[3]/3600. + c[4]/3600.e6;       -- -50.975864 /// /// Use in string representations /// /// When a compound plane angle measure is formatted for display or printout, the signs of the fractional components will usually be discarded because, to a human reader, the sign of the first component alone already indicates the sense of the angle: /// /// (* convert from compound to human-readable string *) -/// ��s := FORMAT(c[1], '+##') ����+ "000000B0" -/// �����+ FORMAT(ABS(c[2]), '##') + '''' -/// �����+ FORMAT(ABS(c[3]), '##') + '"' -/// �����+ FORMAT(ABS(c[4]), '##'); �-- -50� 58' 33" 110400 +///   s := FORMAT(c[1], '+##')     + "000000B0" +///      + FORMAT(ABS(c[2]), '##') + '''' +///      + FORMAT(ABS(c[3]), '##') + '"' +///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// -/// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50�58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -typedef std::vector /*[3:4]*/ IfcCompoundPlaneAngleMeasure; +/// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. +typedef std::vector< int > /*[3:4]*/ IfcCompoundPlaneAngleMeasure; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. /// Type: REAL /// @@ -280,9 +280,9 @@ typedef double IfcEnergyMeasure; /// /// Fonts with Oblique, Slanted or Incline in their names will typically be labeled 'oblique' in the user agents font database. Fonts with Italic, Cursive or Kursiv in their names will typically be labeled 'italic'. /// -/// NOTE� Corresponding CSS1 definitions is font-style. +/// NOTE  Corresponding CSS1 definitions is font-style. /// -/// HISTORY� New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef std::string IfcFontStyle; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: /// @@ -293,9 +293,9 @@ typedef std::string IfcFontStyle; /// /// A value of 'normal' selects a font that is not a small-caps font, 'small-caps' selects a small-caps font. It is acceptable (but not required) in CSS1 if the small-caps font is a created by taking a normal font and replacing the lower case letters by scaled uppercase characters. As a last resort, uppercase letters will be used as replacement for a small-caps font. /// -/// NOTE� Corresponding CSS1 definitions is font-variant. +/// NOTE  Corresponding CSS1 definitions is font-variant. /// -/// HISTORY� New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef std::string IfcFontVariant; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: /// @@ -317,9 +317,9 @@ typedef std::string IfcFontVariant; /// Available faces | Assignments | Filling the holes----------------------+---------------+-------------------"Example1 Regular" | 400 | 100, 200, 300"Example1 Medium" | 500 |"Example1 Bold" | 700 | 600"Example1 Heavy" | 800 | 900 /// Available faces | Assignments | Filling the holes----------------------+---------------+-------------------"Example2 Book" | 400 | 100, 200, 300"Example2 Medium" | 500 |"Example2 Bold" | 700 | 600 "Example2 Heavy" | 800 |"Example2 Black" | 900 |"Example2 ExtraBlack" | (none) | /// -/// NOTE� Corresponding CSS1 definitions is font-weight. +/// NOTE  Corresponding CSS1 definitions is font-weight. /// -/// HISTORY� New type in IFC2x2 Addendum 2. +/// HISTORY  New type in IFC2x2 Addendum 2. typedef std::string IfcFontWeight; /// IfcForceMeasure is a measure of the force. /// Usually measured in Newton (N, kg m/s2). @@ -335,15 +335,15 @@ typedef double IfcForceMeasure; typedef double IfcFrequencyMeasure; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally Unique Identifier (GUID) which is an auto-generated 128-bit number. Since this identifier is required for all IFC object instances, it is desirable to compress it to reduce overhead. The encoding of the base 64 character set is shown below: /// -/// �����������1���������2���������3���������4���������5���������6 -/// �0123456789012345678901234567890123456789012345678901234567890123 +///            1         2         3         4         5         6 +///  0123456789012345678901234567890123456789012345678901234567890123 /// "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$"; /// /// The resulting string is a fixed 22 character length string to be exchanged within the IFC exchange file structure. /// /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// -/// HISTORY� New type in IFC R1.5.1. +/// HISTORY  New type in IFC R1.5.1. typedef std::string IfcGloballyUniqueId; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. /// Usually measured in W/m2 (J/s m2). @@ -684,13 +684,13 @@ typedef double IfcPlaneAngleMeasure; typedef double IfcPowerMeasure; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. /// -/// NOTE� The non printable characters are converted within the standard exchange format ISO 10303-21 (STEP physical file format), commonly the \X\09 represents the TAB, and \X\0A the LF character. +/// NOTE  The non printable characters are converted within the standard exchange format ISO 10303-21 (STEP physical file format), commonly the \X\09 represents the TAB, and \X\0A the LF character. /// -/// NOTE� The IfcPresentableText is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. +/// NOTE  The IfcPresentableText is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. /// -/// NOTE� Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY� New type in IFC2x2. +/// HISTORY  New type in IFC2x2. typedef std::string IfcPresentableText; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. /// Usually measured in Pascals (Pa, N/m2). @@ -823,16 +823,16 @@ typedef double IfcTemperatureGradientMeasure; /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. typedef std::string IfcText; -/// Definition from CSS1 (W3C Recommendation):�This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: +/// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: /// /// left /// right /// center /// justify /// -/// NOTE� Corresponding CSS1 definition is text-align. +/// NOTE  Corresponding CSS1 definition is text-align. /// -/// HISTORY� New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef std::string IfcTextAlignment; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: /// @@ -844,9 +844,9 @@ typedef std::string IfcTextAlignment; /// /// User agents must recognize the keyword 'blink', but are not required to support the blink effect. /// -/// NOTE� Corresponding CSS1 definition is text-decoration. +/// NOTE  Corresponding CSS1 definition is text-decoration. /// -/// HISTORY� New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef std::string IfcTextDecoration; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: /// @@ -862,9 +862,9 @@ typedef std::string IfcTextDecoration; /// /// It is encouraged to offer a generic font family as a last alternative. /// -/// NOTE� Corresponding CSS1 definitions are font-family. +/// NOTE  Corresponding CSS1 definitions are font-family. /// -/// HISTORY� New type in IFC2x2 Addendum 2. +/// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. typedef std::string IfcTextFontName; @@ -875,9 +875,9 @@ typedef std::string IfcTextFontName; /// lowercase: lowercases all letters of the element /// none /// -/// NOTE� Corresponding CSS1 definition is text-transform. +/// NOTE  Corresponding CSS1 definition is text-transform. /// -/// HISTORY� New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef std::string IfcTextTransformation; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. /// Usually measured in Watt / m2 Kelvin. @@ -1019,19 +1019,19 @@ typedef IfcSchemaEntity IfcAxis2Placement; typedef IfcSchemaEntity IfcBooleanOperand; /// The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable. /// -/// NOTE� Corresponding ISO 10303 name: character_style_select. Please refer to ISO/IS +/// NOTE  Corresponding ISO 10303 name: character_style_select. Please refer to ISO/IS /// 10303-46:1994, p. 89 for the final definition of the formal standard. /// -/// HISTORY� New type in IFC2x2. +/// HISTORY  New type in IFC2x2. /// -/// IFC2x3 CHANGE� The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. +/// IFC2x3 CHANGE  The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. typedef IfcSchemaEntity IfcCharacterStyleSelect; typedef IfcSchemaEntity IfcClassificationNotationSelect; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// -/// NOTE� Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. +/// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. typedef IfcSchemaEntity IfcColour; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -1058,7 +1058,7 @@ typedef IfcSchemaEntity IfcCurveFontOrScaledCurveFontSelect; /// IfcCurve /// IfcEdgeCurve /// -/// HISTORY� New select type in IFC2x Edition 3. +/// HISTORY  New select type in IFC2x Edition 3. typedef IfcSchemaEntity IfcCurveOrEdgeCurve; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -1181,7 +1181,7 @@ typedef IfcSchemaEntity IfcFillStyleSelect; typedef IfcSchemaEntity IfcGeometricSetSelect; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// -/// HISTORY� New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef IfcSchemaEntity IfcHatchLineDistanceSelect; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -1277,16 +1277,16 @@ typedef IfcSchemaEntity IfcMeasureValue; typedef IfcSchemaEntity IfcMetricValueSelect; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// -/// HISTORY� New select type in IFC Release 2.0. +/// HISTORY  New select type in IFC Release 2.0. typedef IfcSchemaEntity IfcObjectReferenceSelect; typedef IfcSchemaEntity IfcOrientationSelect; -/// IfcPointOrVertexPoint�provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. +/// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// /// IfcPoint, /// IfcVertexPoint /// -/// HISTORY� New select type in IFC2x Edition 3. +/// HISTORY  New select type in IFC2x Edition 3. typedef IfcSchemaEntity IfcPointOrVertexPoint; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -1297,7 +1297,7 @@ typedef IfcSchemaEntity IfcPointOrVertexPoint; /// /// IFC2x4 CHANGE The select type has been deprecated. typedef IfcSchemaEntity IfcPresentationStyleSelect; -/// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 � X < �. +/// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. /// A shell of dimensionality 1 is represented by a connected graph of dimensionality 1. @@ -1305,9 +1305,9 @@ typedef IfcSchemaEntity IfcPresentationStyleSelect; /// /// Shells of dimensionality 0 and 1 are not part of the current IFC release. /// -/// NOTE� Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. +/// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// -/// HISTORY� New type in IFC2x. +/// HISTORY  New type in IFC2x. typedef IfcSchemaEntity IfcShell; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -1333,14 +1333,14 @@ typedef IfcSchemaEntity IfcSimpleValue; /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. /// -/// NOTE� global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. +/// NOTE  global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. /// -/// NOTE� Corresponding ISO 10303 name: size_select. Please refer to ISO/IS 10303-46:1994 for the final +/// NOTE  Corresponding ISO 10303 name: size_select. Please refer to ISO/IS 10303-46:1994 for the final /// definition of the formal standard. /// -/// HISTORY� New type in IFC2x2. +/// HISTORY  New type in IFC2x2. /// -/// IFC2x3 CHANGE� The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. +/// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. typedef IfcSchemaEntity IfcSizeSelect; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -1371,7 +1371,7 @@ typedef IfcSchemaEntity IfcStructuralActivityAssignmentSelect; /// IfcFaceSurface /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// -/// HISTORY� New select type in IFC2x3. +/// HISTORY  New select type in IFC2x3. typedef IfcSchemaEntity IfcSurfaceOrFaceSurface; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -1393,11 +1393,11 @@ typedef IfcSchemaEntity IfcSurfaceStyleElementSelect; typedef IfcSchemaEntity IfcSymbolStyleSelect; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// -/// NOTE� IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. +/// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY� New type in IFC2x2. +/// HISTORY  New type in IFC2x2. /// -/// IFC2x3 CHANGE� The select type has been renamed from IfcFontSelect. +/// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. typedef IfcSchemaEntity IfcTextFontSelect; /// The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices: /// @@ -1405,9 +1405,9 @@ typedef IfcSchemaEntity IfcTextFontSelect; /// IfcTextStyleTextModel for definitions from Cascading /// Style Sheets, level 1, W3C Recommendation 17 Dec 1996, revised 11 Jan 1999, CSS1, for all true type text. The use of the CSS1 definitions is the preferred way to represent text styles. /// -/// HISTORY� New type in IFC2x2. +/// HISTORY  New type in IFC2x2. /// -/// IFC2x3 CHANGE� The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. +/// IFC2x3 CHANGE  The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. typedef IfcSchemaEntity IfcTextStyleSelect; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -1461,7 +1461,7 @@ typedef IfcSchemaEntity IfcVectorOrDirection; /// bottom-middle /// bottom-right /// -/// NOTE� The top-left is the default value. +/// NOTE  The top-left is the default value. /// /// Figure 298 illustrates alignment values. /// @@ -1471,9 +1471,9 @@ typedef IfcSchemaEntity IfcVectorOrDirection; /// /// Figure 299 — Box alignment examples /// -/// HISTORY� New type in IFC2x2 Addendum2. +/// HISTORY  New type in IFC2x2 Addendum2. /// -/// IFC2x3 CHANGE� The IfcBoxAlignment has been added. +/// IFC2x3 CHANGE  The IfcBoxAlignment has been added. typedef IfcLabel IfcBoxAlignment; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. /// @@ -1709,9 +1709,9 @@ namespace IfcBSplineCurveForm { /// hyperbolic arc: An arc of finite length of one branch of a hyperbola represented by a B-spline curve. /// unspecified: A B-spline curve for which no particular form is specified. /// -/// NOTE� Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard. /// -/// HISTORY� New type in Release IFC2x2. +/// HISTORY  New type in Release IFC2x2. typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} IfcBSplineCurveForm; std::string ToString(IfcBSplineCurveForm v); IfcBSplineCurveForm FromString(const std::string& s); @@ -1732,7 +1732,7 @@ namespace IfcBeamTypeEnum { /// exterior of the building. Can be used to support joists or slab /// elements on its interior side. /// -/// NOTE� They are also referred to as "spandrel +/// NOTE  They are also referred to as "spandrel /// panels", which are parts of a facade and sometimes have /// supporting consoles for floor slabs /// integrated. @@ -1742,7 +1742,7 @@ namespace IfcBeamTypeEnum { /// often of T-shape (therefore the English name), but may have other /// shapes as well, e.g. an L-Shape or an Inverted-T-Shape. /// -/// NOTE� In order to distinguish beams by shape, +/// NOTE  In order to distinguish beams by shape, /// the assigned IfcProfileDef subtypes provide the shape type /// and, if using a subtype of /// IfcParameterizedProfileDef, also the shape @@ -1751,9 +1751,9 @@ namespace IfcBeamTypeEnum { /// USERDEFINED: User-defined linear beam element. /// NOTDEFINED: Undefined linear beam element /// -/// HISTORY� New Enumeration +/// HISTORY  New Enumeration /// in Release IFC2x Edition 2. -/// IFC2x4 CHANGE� The enumerators +/// IFC2x4 CHANGE  The enumerators /// HOLLOWCORE and SPANDREL have been /// added. typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} IfcBeamTypeEnum; @@ -1837,8 +1837,8 @@ namespace IfcBuildingElementProxyTypeEnum { /// Definition from IAI: This enumeration defines the /// available generic types for IfcBuildingElementProxyType. /// -/// HISTORY �New enumeration -/// in�Release IFC2x Edition 3. +/// HISTORY  New enumeration +/// in Release IFC2x Edition 3. /// /// Enumeration /// @@ -2200,9 +2200,9 @@ namespace IfcCurtainWallTypeEnum { /// Definition from IAI: Enumeration defining /// the valid types of curtain wall that can be predefined using the /// enumeration values. -/// HISTORY� -/// New Enumeration in Release�IFC2x Edition 3 -/// NOTE �Currently there +/// HISTORY  +/// New Enumeration in Release IFC2x Edition 3 +/// NOTE  Currently there /// are no specific enumerators defined, the IfcCurtainWallTypeEnum /// has /// been added for future extensions. @@ -2393,10 +2393,10 @@ namespace IfcDoorPanelOperationEnum { /// NOTE Enumerator added in IFC2x4. /// /// UserDefined -/// � +///   /// /// NotDefined -/// � +///   /// /// Figure 164 — Door operations /// @@ -2437,7 +2437,7 @@ IfcDoorStyleConstructionEnum FromString(const std::string& s); } namespace IfcDoorStyleOperationEnum { /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. -/// HISTORY� New Enumeration in Release IFC2x. +/// HISTORY  New Enumeration in Release IFC2x. /// /// Enumerator /// Description @@ -2471,7 +2471,7 @@ namespace IfcDoorStyleOperationEnum { /// left the other opens (swings) to the right. /// Note: Direction of swing (whether /// in or out) -/// is determined at the IfcDoor.� +/// is determined at the IfcDoor.  /// /// DOUBLE_SWING_LEFT /// @@ -2481,7 +2481,7 @@ namespace IfcDoorStyleOperationEnum { /// double acting door. /// Note: Direction of main swing /// (whether in or -/// out) is determined at the IfcDoor.� +/// out) is determined at the IfcDoor.  /// /// DOUBLE_SWING_RIGHT /// @@ -2578,14 +2578,14 @@ namespace IfcDoorStyleOperationEnum { /// USERDEFINED /// User defined /// operation type -/// � +///   /// /// NOTDEFINED /// A door with a /// not defined operation type is /// considered as a door with a lining, but no panels. It is thereby always /// open. -/// � +///   /// /// Figure 167 — Door style operations /// @@ -2602,7 +2602,7 @@ namespace IfcDoorStyleOperationEnum { /// positive y-axis, determined by the ObjectPlacement /// at IfcDoor /// The location of the panel relative to the wall thickness is -/// defined by the�ObjectPlacement at IfcDoor, +/// defined by the ObjectPlacement at IfcDoor, /// and the IfcDoorLiningProperties.LiningOffset /// parameter. typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} IfcDoorStyleOperationEnum; @@ -2994,7 +2994,7 @@ namespace IfcFootingTypeEnum { /// Definition from IAI: Enumeration defining the generic footing type. /// /// HISTORY New type in IFC Release 2x2 -/// IFC 2x4 change:� Item CAISSON_FOUNDATION added +/// IFC 2x4 change:  Item CAISSON_FOUNDATION added /// /// ENUMERATION /// @@ -3063,7 +3063,7 @@ IfcGeometricProjectionEnum FromString(const std::string& s); namespace IfcGlobalOrLocalEnum { /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. /// -/// NOTE� The world coordinate system is given by the IfcGeometricRepresentationContext.WorldCoordinateSystem +/// NOTE  The world coordinate system is given by the IfcGeometricRepresentationContext.WorldCoordinateSystem /// and is unique within the project. The local (or object) coordinate system is given by IfcProduct.ObjectPlacement and is used by all IfcRepresentation's within the IfcProduct.Representation. /// /// HISTORY: New type in IFC2x2. @@ -3235,9 +3235,9 @@ IfcLayerSetDirectionEnum FromString(const std::string& s); namespace IfcLightDistributionCurveEnum { /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: /// -/// TYPE_A: Type A is basically not used. For completeness the Type A Photometry equals the Type B rotated 90� around the Z-Axis counter clockwise. -/// TYPE_B: Type B is sometimes used for floodlights. The B-Plane System has a horizontal axis. B-Angles are valid from -180� to +180� with B 0� at the bottom and B180�/B-180� at the top, β-Angles are valid from -90� to +90�. (See Figure 302.) -/// TYPE_C: Type C is the recommended standard system. The C-Plane system equals a globe with a vertical axis. C-Angles are valid from 0� to 360�, γ-Angles are valid from 0� (south pole) to 180� (north pole). (See Figure 302.) +/// TYPE_A: Type A is basically not used. For completeness the Type A Photometry equals the Type B rotated 90° around the Z-Axis counter clockwise. +/// TYPE_B: Type B is sometimes used for floodlights. The B-Plane System has a horizontal axis. B-Angles are valid from -180° to +180° with B 0° at the bottom and B180°/B-180° at the top, β-Angles are valid from -90° to +90°. (See Figure 302.) +/// TYPE_C: Type C is the recommended standard system. The C-Plane system equals a globe with a vertical axis. C-Angles are valid from 0° to 360°, γ-Angles are valid from 0° (south pole) to 180° (north pole). (See Figure 302.) /// /// > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > list; + typedef IfcTemplatedEntityList< IfcActorRole >::it it; }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -5439,19 +5439,19 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENUMERATION; case 1: return Argument_STRING; case 2: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Purpose"; case 1: return "Description"; case 2: return "UserDefinedPurpose"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > OfPerson(); // INVERSE IfcPerson::Addresses - SHARED_PTR< IfcTemplatedEntityList > OfOrganization(); // INVERSE IfcOrganization::Addresses + SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > OfPerson(); // INVERSE IfcPerson::Addresses + SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > OfOrganization(); // INVERSE IfcOrganization::Addresses bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcAddress (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > list; + typedef IfcTemplatedEntityList< IfcAddress >::it it; }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// -/// HISTORY� New entity in IFC R1.5. +/// HISTORY  New entity in IFC R1.5. class IfcApplication : public IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. @@ -5471,8 +5471,8 @@ public: static Type::Enum Class(); IfcApplication (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcApplication* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcApplication > > list; + typedef IfcTemplatedEntityList< IfcApplication >::it it; }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -5526,22 +5526,22 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY; case 3: return Argument_ENTITY; case 4: return Argument_ENTITY; case 5: return Argument_ENTITY; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "AppliedValue"; case 3: return "UnitBasis"; case 4: return "ApplicableDate"; case 5: return "FixedUntilDate"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ValuesReferenced(); // INVERSE IfcReferencesValueDocument::ReferencingValues - SHARED_PTR< IfcTemplatedEntityList > ValueOfComponents(); // INVERSE IfcAppliedValueRelationship::ComponentOfTotal - SHARED_PTR< IfcTemplatedEntityList > IsComponentIn(); // INVERSE IfcAppliedValueRelationship::Components + SHARED_PTR< IfcTemplatedEntityList< IfcReferencesValueDocument > > ValuesReferenced(); // INVERSE IfcReferencesValueDocument::ReferencingValues + SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValueRelationship > > ValueOfComponents(); // INVERSE IfcAppliedValueRelationship::ComponentOfTotal + SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValueRelationship > > IsComponentIn(); // INVERSE IfcAppliedValueRelationship::Components bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcAppliedValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAppliedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > list; + typedef IfcTemplatedEntityList< IfcAppliedValue >::it it; }; /// An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value. /// -/// HISTORY� New Entity in Release IFC2.0. +/// HISTORY  New Entity in Release IFC2.0. /// -/// IFC2x4 CHANGE� Subtyped from IfcResourceLevelRelationship, attribute order changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, attribute order changed. /// /// Use definitions /// Dependency relationships can exist between applied values on the basis that one particular value may be determined by operations on one or more other values. This is captured through the IfcAppliedValueRelationship entity. In this relationship, one instance of IfcAppliedValue acts as the principal (IfcAppliedValueRelationship.ComponentOf) whose value may be @@ -5566,7 +5566,7 @@ public: /// The applied value (total or subtotal) of which the value being considered is a component. IfcAppliedValue* ComponentOfTotal(); /// Applied values that are components of another applied value and from which that applied value may be deduced. - SHARED_PTR< IfcTemplatedEntityList > Components(); + SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > Components(); /// The arithmetic operator applied in an applied value relationship. IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator(); /// Whether the optional attribute Name is defined for this IfcAppliedValueRelationship @@ -5584,14 +5584,14 @@ public: static Type::Enum Class(); IfcAppliedValueRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAppliedValueRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValueRelationship > > list; + typedef IfcTemplatedEntityList< IfcAppliedValueRelationship >::it it; }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// /// HISTORY New Entity in IFC Release 2.0 /// -/// IFC2x Edition 4 CHANGE� Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). +/// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IfcApproval : public IfcBaseEntity { public: /// Whether the optional attribute Description is defined for this IfcApproval @@ -5616,16 +5616,16 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_ENTITY; case 2: return Argument_STRING; case 3: return Argument_STRING; case 4: return Argument_STRING; case 5: return Argument_STRING; case 6: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Description"; case 1: return "ApprovalDateTime"; case 2: return "ApprovalStatus"; case 3: return "ApprovalLevel"; case 4: return "ApprovalQualifier"; case 5: return "Name"; case 6: return "Identifier"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > Actors(); // INVERSE IfcApprovalActorRelationship::Approval - SHARED_PTR< IfcTemplatedEntityList > IsRelatedWith(); // INVERSE IfcApprovalRelationship::RelatedApproval - SHARED_PTR< IfcTemplatedEntityList > Relates(); // INVERSE IfcApprovalRelationship::RelatingApproval + SHARED_PTR< IfcTemplatedEntityList< IfcApprovalActorRelationship > > Actors(); // INVERSE IfcApprovalActorRelationship::Approval + SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > IsRelatedWith(); // INVERSE IfcApprovalRelationship::RelatedApproval + SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > Relates(); // INVERSE IfcApprovalRelationship::RelatingApproval bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcApproval (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcApproval* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > list; + typedef IfcTemplatedEntityList< IfcApproval >::it it; }; class IfcApprovalActorRelationship : public IfcBaseEntity { public: @@ -5641,12 +5641,12 @@ public: static Type::Enum Class(); IfcApprovalActorRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcApprovalActorRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalActorRelationship > > list; + typedef IfcTemplatedEntityList< IfcApprovalActorRelationship >::it it; }; class IfcApprovalPropertyRelationship : public IfcBaseEntity { public: - SHARED_PTR< IfcTemplatedEntityList > ApprovedProperties(); + SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > ApprovedProperties(); IfcApproval* Approval(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; case 1: return Argument_ENTITY; } throw IfcException("argument out of range"); } @@ -5657,8 +5657,8 @@ public: static Type::Enum Class(); IfcApprovalPropertyRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcApprovalPropertyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalPropertyRelationship > > list; + typedef IfcTemplatedEntityList< IfcApprovalPropertyRelationship >::it it; }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -5666,7 +5666,7 @@ public: /// /// HISTORY: New entity in Release IFC2x2. /// -/// IFC2x4 CHANGE� Subtyped from IfcResourceLevelRelationship, order of attributes changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IfcApprovalRelationship : public IfcBaseEntity { public: IfcApproval* RelatedApproval(); @@ -5685,8 +5685,8 @@ public: static Type::Enum Class(); IfcApprovalRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcApprovalRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > list; + typedef IfcTemplatedEntityList< IfcApprovalRelationship >::it it; }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -5718,8 +5718,8 @@ public: static Type::Enum Class(); IfcBoundaryCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundaryCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCondition > > list; + typedef IfcTemplatedEntityList< IfcBoundaryCondition >::it it; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -5763,8 +5763,8 @@ public: static Type::Enum Class(); IfcBoundaryEdgeCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundaryEdgeCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryEdgeCondition > > list; + typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition >::it it; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -5796,8 +5796,8 @@ public: static Type::Enum Class(); IfcBoundaryFaceCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundaryFaceCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryFaceCondition > > list; + typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition >::it it; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -5841,8 +5841,8 @@ public: static Type::Enum Class(); IfcBoundaryNodeCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundaryNodeCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryNodeCondition > > list; + typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition >::it it; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -5868,8 +5868,8 @@ public: static Type::Enum Class(); IfcBoundaryNodeConditionWarping (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundaryNodeConditionWarping* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > > list; + typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping >::it it; }; class IfcCalendarDate : public IfcBaseEntity { public: @@ -5885,8 +5885,8 @@ public: static Type::Enum Class(); IfcCalendarDate (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCalendarDate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCalendarDate > > list; + typedef IfcTemplatedEntityList< IfcCalendarDate >::it it; }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -5931,14 +5931,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY; case 3: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Source"; case 1: return "Edition"; case 2: return "EditionDate"; case 3: return "Name"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > Contains(); // INVERSE IfcClassificationItem::ItemOf + SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > Contains(); // INVERSE IfcClassificationItem::ItemOf bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcClassification (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClassification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassification > > list; + typedef IfcTemplatedEntityList< IfcClassification >::it it; }; class IfcClassificationItem : public IfcBaseEntity { public: @@ -5951,20 +5951,20 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY; case 2: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Notation"; case 1: return "ItemOf"; case 2: return "Title"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsClassifiedItemIn(); // INVERSE IfcClassificationItemRelationship::RelatedItems - SHARED_PTR< IfcTemplatedEntityList > IsClassifyingItemIn(); // INVERSE IfcClassificationItemRelationship::RelatingItem + SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItemRelationship > > IsClassifiedItemIn(); // INVERSE IfcClassificationItemRelationship::RelatedItems + SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItemRelationship > > IsClassifyingItemIn(); // INVERSE IfcClassificationItemRelationship::RelatingItem bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcClassificationItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClassificationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > list; + typedef IfcTemplatedEntityList< IfcClassificationItem >::it it; }; class IfcClassificationItemRelationship : public IfcBaseEntity { public: IfcClassificationItem* RelatingItem(); - SHARED_PTR< IfcTemplatedEntityList > RelatedItems(); + SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > RelatedItems(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingItem"; case 1: return "RelatedItems"; } throw IfcException("argument out of range"); } @@ -5974,12 +5974,12 @@ public: static Type::Enum Class(); IfcClassificationItemRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClassificationItemRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItemRelationship > > list; + typedef IfcTemplatedEntityList< IfcClassificationItemRelationship >::it it; }; class IfcClassificationNotation : public IfcBaseEntity { public: - SHARED_PTR< IfcTemplatedEntityList > NotationFacets(); + SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > NotationFacets(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "NotationFacets"; } throw IfcException("argument out of range"); } @@ -5989,8 +5989,8 @@ public: static Type::Enum Class(); IfcClassificationNotation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClassificationNotation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotation > > list; + typedef IfcTemplatedEntityList< IfcClassificationNotation >::it it; }; class IfcClassificationNotationFacet : public IfcBaseEntity { public: @@ -6004,22 +6004,22 @@ public: static Type::Enum Class(); IfcClassificationNotationFacet (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClassificationNotationFacet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > list; + typedef IfcTemplatedEntityList< IfcClassificationNotationFacet >::it it; }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// -/// NOTE� Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcColourSpecification : public IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcColourSpecification bool hasName(); /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// - /// NOTE� Examples are the names of a industry colour classification, such as RAL. - /// IFC2x Edition 3 CHANGE� Attribute added. + /// NOTE  Examples are the names of a industry colour classification, such as RAL. + /// IFC2x Edition 3 CHANGE  Attribute added. IfcLabel Name(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; } throw IfcException("argument out of range"); } @@ -6030,12 +6030,12 @@ public: static Type::Enum Class(); IfcColourSpecification (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcColourSpecification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourSpecification > > list; + typedef IfcTemplatedEntityList< IfcColourSpecification >::it it; }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// -/// NOTE� The element connection relationship normally provides for a logical connection information, by referencing the relating and related elements. If in addition an IfcConnectionGeometry is provided, physical connection information is given by specifying exactly where at the relating and related element the element connection occurs. +/// NOTE  The element connection relationship normally provides for a logical connection information, by referencing the relating and related elements. If in addition an IfcConnectionGeometry is provided, physical connection information is given by specifying exactly where at the relating and related element the element connection occurs. /// Using the eccentricity subtypes, the connection can also be described when there is a physical distance (or eccentricity) between the connection elements. /// /// The IfcConnectionGeometry allows for the provision of connection constraints between geometric and topological elements, the following connection geometry/topology types are in scope: @@ -6044,9 +6044,9 @@ public: /// curve | edge curve, /// surface | face surface, /// -/// HISTORY� New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// -/// IFC2x Edition 3 CHANGE� The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face �surface). +/// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IfcConnectionGeometry : public IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } @@ -6058,21 +6058,21 @@ public: static Type::Enum Class(); IfcConnectionGeometry (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectionGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionGeometry > > list; + typedef IfcTemplatedEntityList< IfcConnectionGeometry >::it it; }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the /// physical connection of two objects at a point (here IfcCartesianPoint) or at an vertex with point /// coordinates associated. It is envisioned as a control that applies to the element connection relationships. /// -/// EXAMPLE� The connection relationship between two path based elements (like a column and a beam) has a geometric constraint which describes the connection points by a PointOnRelatingElement for the column and a PointOnRelatedElement for the beam. The exact usage of the IfcConnectionPointGeometry is further defined in the geometry use sections of the elements that use it. +/// EXAMPLE  The connection relationship between two path based elements (like a column and a beam) has a geometric constraint which describes the connection points by a PointOnRelatingElement for the column and a PointOnRelatedElement for the beam. The exact usage of the IfcConnectionPointGeometry is further defined in the geometry use sections of the elements that use it. /// -/// NOTE �If the point connection has an offset (if the two points or vertex points at the relating and related element do not physically match), the subtype IfcConnectionPointEccentricity shall be used. +/// NOTE  If the point connection has an offset (if the two points or vertex points at the relating and related element do not physically match), the subtype IfcConnectionPointEccentricity shall be used. /// -/// HISTORY� New entity in IFC Release 1.5, has been renamed from IfcPointConnectionGeometry in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, has been renamed from IfcPointConnectionGeometry in IFC Release 2x. /// -/// IFC2x Edition 3 CHANGE� The provision of topology with associated geometry, IfcVertexPoint, is +/// IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcVertexPoint, is /// enabled by using the IfcPointOrVertexPoint. /// /// Geometry use definitions @@ -6094,8 +6094,8 @@ public: static Type::Enum Class(); IfcConnectionPointGeometry (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectionPointGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPointGeometry > > list; + typedef IfcTemplatedEntityList< IfcConnectionPointGeometry >::it it; }; class IfcConnectionPortGeometry : public IfcConnectionGeometry { public: @@ -6113,17 +6113,17 @@ public: static Type::Enum Class(); IfcConnectionPortGeometry (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectionPortGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPortGeometry > > list; + typedef IfcTemplatedEntityList< IfcConnectionPortGeometry >::it it; }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// -/// HISTORY� New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. /// -/// IFC2x Edition 3 CHANGE� The provision of topology with associated geometry, IfcFaceSurface, is enabled by using the IfcSurfaceOrFaceSurface. +/// IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcFaceSurface, is enabled by using the IfcSurfaceOrFaceSurface. /// /// Geometry use definitions -/// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same�surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. +/// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. @@ -6141,8 +6141,8 @@ public: static Type::Enum Class(); IfcConnectionSurfaceGeometry (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectionSurfaceGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > > list; + typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry >::it it; }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -6189,25 +6189,25 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENUMERATION; case 3: return Argument_STRING; case 4: return Argument_ENTITY; case 5: return Argument_ENTITY; case 6: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "ConstraintGrade"; case 3: return "ConstraintSource"; case 4: return "CreatingActor"; case 5: return "CreationTime"; case 6: return "UserDefinedGrade"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ClassifiedAs(); // INVERSE IfcConstraintClassificationRelationship::ClassifiedConstraint - SHARED_PTR< IfcTemplatedEntityList > RelatesConstraints(); // INVERSE IfcConstraintRelationship::RelatingConstraint - SHARED_PTR< IfcTemplatedEntityList > IsRelatedWith(); // INVERSE IfcConstraintRelationship::RelatedConstraints - SHARED_PTR< IfcTemplatedEntityList > PropertiesForConstraint(); // INVERSE IfcPropertyConstraintRelationship::RelatingConstraint - SHARED_PTR< IfcTemplatedEntityList > Aggregates(); // INVERSE IfcConstraintAggregationRelationship::RelatingConstraint - SHARED_PTR< IfcTemplatedEntityList > IsAggregatedIn(); // INVERSE IfcConstraintAggregationRelationship::RelatedConstraints + SHARED_PTR< IfcTemplatedEntityList< IfcConstraintClassificationRelationship > > ClassifiedAs(); // INVERSE IfcConstraintClassificationRelationship::ClassifiedConstraint + SHARED_PTR< IfcTemplatedEntityList< IfcConstraintRelationship > > RelatesConstraints(); // INVERSE IfcConstraintRelationship::RelatingConstraint + SHARED_PTR< IfcTemplatedEntityList< IfcConstraintRelationship > > IsRelatedWith(); // INVERSE IfcConstraintRelationship::RelatedConstraints + SHARED_PTR< IfcTemplatedEntityList< IfcPropertyConstraintRelationship > > PropertiesForConstraint(); // INVERSE IfcPropertyConstraintRelationship::RelatingConstraint + SHARED_PTR< IfcTemplatedEntityList< IfcConstraintAggregationRelationship > > Aggregates(); // INVERSE IfcConstraintAggregationRelationship::RelatingConstraint + SHARED_PTR< IfcTemplatedEntityList< IfcConstraintAggregationRelationship > > IsAggregatedIn(); // INVERSE IfcConstraintAggregationRelationship::RelatedConstraints bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcConstraint (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstraint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > list; + typedef IfcTemplatedEntityList< IfcConstraint >::it it; }; /// An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically. /// -/// HISTORY� New Entity in IFC Release 2.0. Modified in IFC2x2. +/// HISTORY  New Entity in IFC Release 2.0. Modified in IFC2x2. /// -/// IFC2x4 CHANGE� Subtyped from IfcConstraintRelationship +/// IFC2x4 CHANGE  Subtyped from IfcConstraintRelationship /// /// Use definition /// IfcConstraintAggregationRelationship allows the aggregation link between subtypes of constraint to be logically defined (AND, OR, XOR, NOTAND, NOTOR). In this way, whereby an object or property can have multiple constraints assigned, and the logical linkage between them can be specified. Thus linked constraints might show as for example (> X AND < Y) which is useful for an allowed range, or bounded value, for example, (A OR B OR C) which is valuable for an enumerated property where a selection is constrained to be (at least) one of A, B or C. @@ -6223,7 +6223,7 @@ public: bool hasDescription(); IfcText Description(); IfcConstraint* RelatingConstraint(); - SHARED_PTR< IfcTemplatedEntityList > RelatedConstraints(); + SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > RelatedConstraints(); /// Enumeration that identifies the logical type of aggregation. IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator(); virtual unsigned int getArgumentCount() const { return 5; } @@ -6235,13 +6235,13 @@ public: static Type::Enum Class(); IfcConstraintAggregationRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstraintAggregationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraintAggregationRelationship > > list; + typedef IfcTemplatedEntityList< IfcConstraintAggregationRelationship >::it it; }; class IfcConstraintClassificationRelationship : public IfcBaseEntity { public: IfcConstraint* ClassifiedConstraint(); - SHARED_PTR< IfcTemplatedEntityList > RelatedClassifications(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > RelatedClassifications(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ClassifiedConstraint"; case 1: return "RelatedClassifications"; } throw IfcException("argument out of range"); } @@ -6251,8 +6251,8 @@ public: static Type::Enum Class(); IfcConstraintClassificationRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstraintClassificationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraintClassificationRelationship > > list; + typedef IfcTemplatedEntityList< IfcConstraintClassificationRelationship >::it it; }; /// An IfcConstraintRelationship is an objectified relationship that enables instances of IfcConstraint and its /// subtypes to be associated to each other. Logical aggregation of instances of IfcConstraint and its subtypes is handled by the subtype IfcConstraintAggregationRelationship. @@ -6260,9 +6260,9 @@ public: /// EXAMPLE: Certain constraints related to an IfcWall may be derived from a constraint related to an /// IfcSpace. /// -/// HISTORY� New entity in Release IFC2x2 (Addendum 1). +/// HISTORY  New entity in Release IFC2x2 (Addendum 1). /// -/// IFC2x4 CHANGE� Subtyped from IfcResourceLevelRelationship. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship. class IfcConstraintRelationship : public IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintRelationship @@ -6274,7 +6274,7 @@ public: /// Constraint with which the other Constraints referenced by attribute RelatedConstraints are related. IfcConstraint* RelatingConstraint(); /// Constraints that are related with the one referenced as RelatingConstraint. - SHARED_PTR< IfcTemplatedEntityList > RelatedConstraints(); + SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > RelatedConstraints(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY; case 3: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "RelatingConstraint"; case 3: return "RelatedConstraints"; } throw IfcException("argument out of range"); } @@ -6284,8 +6284,8 @@ public: static Type::Enum Class(); IfcConstraintRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstraintRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraintRelationship > > list; + typedef IfcTemplatedEntityList< IfcConstraintRelationship >::it it; }; class IfcCoordinatedUniversalTimeOffset : public IfcBaseEntity { public: @@ -6303,8 +6303,8 @@ public: static Type::Enum Class(); IfcCoordinatedUniversalTimeOffset (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCoordinatedUniversalTimeOffset* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoordinatedUniversalTimeOffset > > list; + typedef IfcTemplatedEntityList< IfcCoordinatedUniversalTimeOffset >::it it; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -6369,16 +6369,16 @@ public: static Type::Enum Class(); IfcCostValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCostValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > list; + typedef IfcTemplatedEntityList< IfcCostValue >::it it; }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time /// and as published by a particular source. /// -/// HISTORY� New Entity in IFC2x2. +/// HISTORY  New Entity in IFC2x2. /// -/// IFC2x4 CHANGE� Subtyped from IfcResourceLevelRelationship, attribute order changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, attribute order changed. /// /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). @@ -6408,8 +6408,8 @@ public: static Type::Enum Class(); IfcCurrencyRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurrencyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurrencyRelationship > > list; + typedef IfcTemplatedEntityList< IfcCurrencyRelationship >::it it; }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -6423,7 +6423,7 @@ public: /// Name that may be assigned with the curve font. IfcLabel Name(); /// A list of curve font pattern entities, that contains the simple patterns used for drawing curves. The patterns are applied in the order they occur in the list. - SHARED_PTR< IfcTemplatedEntityList > PatternList(); + SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > PatternList(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "PatternList"; } throw IfcException("argument out of range"); } @@ -6433,20 +6433,20 @@ public: static Type::Enum Class(); IfcCurveStyleFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurveStyleFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFont > > list; + typedef IfcTemplatedEntityList< IfcCurveStyleFont >::it it; }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// /// The IfcCurveStyleFontAndScaling allows for the reuse of the same curve style definition in several sizes. The definition of the CurveFontScale is the scaling of a base curve style pattern to be used as a new or derived curve style pattern. /// -/// NOTE� The CurveFontScale should not be mixed up with the target plot scale. +/// NOTE  The CurveFontScale should not be mixed up with the target plot scale. /// -/// An example for IfcCurveStyleFontAndScaling is the sizing of a basic curve style dash pattern 'dash' (visible 0.01m, invisible 0.005m) into 'dash large' with�CurveFontScale = 2 (resulting in�visible 0.02m, invisible 0.01m), and into 'dash small'�with�CurveFontScale = 0.5 (resulting in�visible 0.005m, invisible 0.0025m). +/// An example for IfcCurveStyleFontAndScaling is the sizing of a basic curve style dash pattern 'dash' (visible 0.01m, invisible 0.005m) into 'dash large' with CurveFontScale = 2 (resulting in visible 0.02m, invisible 0.01m), and into 'dash small' with CurveFontScale = 0.5 (resulting in visible 0.005m, invisible 0.0025m). /// -/// NOTE� Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcCurveStyleFontAndScaling : public IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling @@ -6466,8 +6466,8 @@ public: static Type::Enum Class(); IfcCurveStyleFontAndScaling (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurveStyleFontAndScaling* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > > list; + typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling >::it it; }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -6478,9 +6478,9 @@ class IfcCurveStyleFontPattern : public IfcBaseEntity { public: /// The length of the visible segment in the pattern definition. /// - /// NOTE� For a visible segment representing a point, the value 0. should be assigned. + /// NOTE  For a visible segment representing a point, the value 0. should be assigned. /// - /// IFC2x Edition 3 CHANGE� The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. + /// IFC2x Edition 3 CHANGE  The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. IfcLengthMeasure VisibleSegmentLength(); /// The length of the invisible segment in the pattern definition. IfcPositiveLengthMeasure InvisibleSegmentLength(); @@ -6493,8 +6493,8 @@ public: static Type::Enum Class(); IfcCurveStyleFontPattern (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurveStyleFontPattern* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > list; + typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern >::it it; }; class IfcDateAndTime : public IfcBaseEntity { public: @@ -6509,8 +6509,8 @@ public: static Type::Enum Class(); IfcDateAndTime (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDateAndTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDateAndTime > > list; + typedef IfcTemplatedEntityList< IfcDateAndTime >::it it; }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -6522,7 +6522,7 @@ public: class IfcDerivedUnit : public IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. - SHARED_PTR< IfcTemplatedEntityList > Elements(); + SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > Elements(); /// Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. IfcDerivedUnitEnum::IfcDerivedUnitEnum UnitType(); /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit @@ -6537,8 +6537,8 @@ public: static Type::Enum Class(); IfcDerivedUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDerivedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnit > > list; + typedef IfcTemplatedEntityList< IfcDerivedUnit >::it it; }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -6564,8 +6564,8 @@ public: static Type::Enum Class(); IfcDerivedUnitElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDerivedUnitElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > list; + typedef IfcTemplatedEntityList< IfcDerivedUnitElement >::it it; }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -6609,8 +6609,8 @@ public: static Type::Enum Class(); IfcDimensionalExponents (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDimensionalExponents* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionalExponents > > list; + typedef IfcTemplatedEntityList< IfcDimensionalExponents >::it it; }; /// IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation. /// @@ -6638,8 +6638,8 @@ public: static Type::Enum Class(); IfcDocumentElectronicFormat (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDocumentElectronicFormat* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentElectronicFormat > > list; + typedef IfcTemplatedEntityList< IfcDocumentElectronicFormat >::it it; }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// @@ -6656,7 +6656,7 @@ public: IfcText Description(); /// Whether the optional attribute DocumentReferences is defined for this IfcDocumentInformation bool hasDocumentReferences(); - SHARED_PTR< IfcTemplatedEntityList > DocumentReferences(); + SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > DocumentReferences(); /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation bool hasPurpose(); /// Purpose for this document. @@ -6680,7 +6680,7 @@ public: /// Whether the optional attribute Editors is defined for this IfcDocumentInformation bool hasEditors(); /// The persons and/or organizations who have created this document or contributed to it. - SHARED_PTR< IfcTemplatedEntityList > Editors(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Editors(); /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation bool hasCreationTime(); /// Date and time stamp when the document was originally created. @@ -6725,21 +6725,21 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_STRING; case 3: return Argument_ENTITY_LIST; case 4: return Argument_STRING; case 5: return Argument_STRING; case 6: return Argument_STRING; case 7: return Argument_STRING; case 8: return Argument_ENTITY; case 9: return Argument_ENTITY_LIST; case 10: return Argument_ENTITY; case 11: return Argument_ENTITY; case 12: return Argument_ENTITY; case 13: return Argument_ENTITY; case 14: return Argument_ENTITY; case 15: return Argument_ENUMERATION; case 16: return Argument_ENUMERATION; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DocumentId"; case 1: return "Name"; case 2: return "Description"; case 3: return "DocumentReferences"; case 4: return "Purpose"; case 5: return "IntendedUse"; case 6: return "Scope"; case 7: return "Revision"; case 8: return "DocumentOwner"; case 9: return "Editors"; case 10: return "CreationTime"; case 11: return "LastRevisionTime"; case 12: return "ElectronicFormat"; case 13: return "ValidFrom"; case 14: return "ValidUntil"; case 15: return "Confidentiality"; case 16: return "Status"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsPointedTo(); // INVERSE IfcDocumentInformationRelationship::RelatedDocuments - SHARED_PTR< IfcTemplatedEntityList > IsPointer(); // INVERSE IfcDocumentInformationRelationship::RelatingDocument + SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > IsPointedTo(); // INVERSE IfcDocumentInformationRelationship::RelatedDocuments + SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > IsPointer(); // INVERSE IfcDocumentInformationRelationship::RelatingDocument bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDocumentInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > list; + typedef IfcTemplatedEntityList< IfcDocumentInformation >::it it; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// -/// HISTORY� New entity in Release IFC2x. +/// HISTORY  New entity in Release IFC2x. /// -/// IFC2x4 CHANGE� Subtyped from IfcResourceLevelRelationship, order of attributes changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). @@ -6748,7 +6748,7 @@ public: /// The document that acts as the parent, referencing or original document in a relationship. IfcDocumentInformation* RelatingDocument(); /// The document that acts as the child, referenced or replacing document in a relationship. - SHARED_PTR< IfcTemplatedEntityList > RelatedDocuments(); + SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > RelatedDocuments(); /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship bool hasRelationshipType(); /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. @@ -6762,8 +6762,8 @@ public: static Type::Enum Class(); IfcDocumentInformationRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDocumentInformationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > list; + typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship >::it it; }; class IfcDraughtingCalloutRelationship : public IfcBaseEntity { public: @@ -6784,8 +6784,8 @@ public: static Type::Enum Class(); IfcDraughtingCalloutRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDraughtingCalloutRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > > list; + typedef IfcTemplatedEntityList< IfcDraughtingCalloutRelationship >::it it; }; class IfcEnvironmentalImpactValue : public IfcAppliedValue { public: @@ -6803,8 +6803,8 @@ public: static Type::Enum Class(); IfcEnvironmentalImpactValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEnvironmentalImpactValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnvironmentalImpactValue > > list; + typedef IfcTemplatedEntityList< IfcEnvironmentalImpactValue >::it it; }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -6821,7 +6821,7 @@ public: bool hasLocation(); /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// - /// IFC2x4 CHANGE� The data type has been changed from IfcLabel to IfcURIReference. + /// IFC2x4 CHANGE  The data type has been changed from IfcLabel to IfcURIReference. IfcLabel Location(); /// Whether the optional attribute ItemReference is defined for this IfcExternalReference bool hasItemReference(); @@ -6839,8 +6839,8 @@ public: static Type::Enum Class(); IfcExternalReference (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExternalReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalReference > > list; + typedef IfcTemplatedEntityList< IfcExternalReference >::it it; }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -6861,16 +6861,16 @@ public: static Type::Enum Class(); IfcExternallyDefinedHatchStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExternallyDefinedHatchStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > > list; + typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle >::it it; }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// -/// NOTE� In order to achieve expected results, the externally defined surface style should normally only be given in addition to an explicitly defined surface styles. +/// NOTE  In order to achieve expected results, the externally defined surface style should normally only be given in addition to an explicitly defined surface styles. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE �The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. +/// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } @@ -6882,8 +6882,8 @@ public: static Type::Enum Class(); IfcExternallyDefinedSurfaceStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExternallyDefinedSurfaceStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > > list; + typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle >::it it; }; /// An externally defined symbol is a symbol that gets its shape information by an agreed reference to an external source. /// @@ -6905,16 +6905,16 @@ public: static Type::Enum Class(); IfcExternallyDefinedSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExternallyDefinedSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedSymbol > > list; + typedef IfcTemplatedEntityList< IfcExternallyDefinedSymbol >::it it; }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// -/// NOTE� Restrictions of the font source and font names to be used may be exposed by implementation guidelines. +/// NOTE  Restrictions of the font source and font names to be used may be exposed by implementation guidelines. /// -/// NOTE� Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcExternallyDefinedTextFont : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } @@ -6926,12 +6926,12 @@ public: static Type::Enum Class(); IfcExternallyDefinedTextFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExternallyDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedTextFont > > list; + typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont >::it it; }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// -/// HISTORY� New entity in IFC Release 1.0 +/// HISTORY  New entity in IFC Release 1.0 /// /// Geometry use definitions /// The standard geometric representation of IfcGridAxis is @@ -6966,17 +6966,17 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_ENTITY; case 2: return Argument_BOOL; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "AxisTag"; case 1: return "AxisCurve"; case 2: return "SameSense"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > PartOfW(); // INVERSE IfcGrid::WAxes - SHARED_PTR< IfcTemplatedEntityList > PartOfV(); // INVERSE IfcGrid::VAxes - SHARED_PTR< IfcTemplatedEntityList > PartOfU(); // INVERSE IfcGrid::UAxes - SHARED_PTR< IfcTemplatedEntityList > HasIntersections(); // INVERSE IfcVirtualGridIntersection::IntersectingAxes + SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfW(); // INVERSE IfcGrid::WAxes + SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfV(); // INVERSE IfcGrid::VAxes + SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfU(); // INVERSE IfcGrid::UAxes + SHARED_PTR< IfcTemplatedEntityList< IfcVirtualGridIntersection > > HasIntersections(); // INVERSE IfcVirtualGridIntersection::IntersectingAxes bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcGridAxis (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGridAxis* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > list; + typedef IfcTemplatedEntityList< IfcGridAxis >::it it; }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// @@ -6986,7 +6986,7 @@ public: /// The specification of the time point. IfcDateTimeSelect TimeStamp(); /// A list of time-series values. At least one value is required. - SHARED_PTR< IfcTemplatedEntityList > ListValues(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > ListValues(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TimeStamp"; case 1: return "ListValues"; } throw IfcException("argument out of range"); } @@ -6996,17 +6996,17 @@ public: static Type::Enum Class(); IfcIrregularTimeSeriesValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcIrregularTimeSeriesValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > list; + typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::it it; }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// -/// NOTE� The complete definition of the information in an external library is out of scope in this IFC release. +/// NOTE  The complete definition of the information in an external library is out of scope in this IFC release. /// -/// HISTORY� New +/// HISTORY  New /// Entity in IFC2x. /// -/// IFC2x4 CHANGE� Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). +/// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IfcLibraryInformation : public IfcBaseEntity { public: /// The name which is used to identify the library. @@ -7023,11 +7023,11 @@ public: bool hasVersionDate(); /// Date of the referenced version of the library. /// - /// IFC2x4 CHANGE� The data type has been changed to IfcDate, the date string according to ISO8601. + /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. IfcCalendarDate* VersionDate(); /// Whether the optional attribute LibraryReference is defined for this IfcLibraryInformation bool hasLibraryReference(); - SHARED_PTR< IfcTemplatedEntityList > LibraryReference(); + SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > LibraryReference(); virtual unsigned int getArgumentCount() const { return 5; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY; case 3: return Argument_ENTITY; case 4: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Version"; case 2: return "Publisher"; case 3: return "VersionDate"; case 4: return "LibraryReference"; } throw IfcException("argument out of range"); } @@ -7037,30 +7037,30 @@ public: static Type::Enum Class(); IfcLibraryInformation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLibraryInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLibraryInformation > > list; + typedef IfcTemplatedEntityList< IfcLibraryInformation >::it it; }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// /// The ifcLibraryReference additionally provides the capability to handle multilingual library entries. The Language attribute then holds the language tag for the language used by the strings kept in the Name and the Description attribute. /// -/// HISTORY� New Entity in IFC2.0. +/// HISTORY  New Entity in IFC2.0. /// -/// IFC2x4 CHANGE� Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). +/// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IfcLibraryReference : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ReferenceIntoLibrary(); // INVERSE IfcLibraryInformation::LibraryReference + SHARED_PTR< IfcTemplatedEntityList< IfcLibraryInformation > > ReferenceIntoLibrary(); // INVERSE IfcLibraryInformation::LibraryReference bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcLibraryReference (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLibraryReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > list; + typedef IfcTemplatedEntityList< IfcLibraryReference >::it it; }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -7084,9 +7084,9 @@ public: /// The list of secondary plane angles (the α, β or γ angles) according to the light distribution curve chosen. /// /// NOTE: The SecondaryPlaneAngle and LuminousIntensity lists are corresponding lists. - std::vector /*[1:?]*/ SecondaryPlaneAngle(); + std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle(); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. - std::vector /*[1:?]*/ LuminousIntensity(); + std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_DOUBLE; case 1: return Argument_VECTOR_DOUBLE; case 2: return Argument_VECTOR_DOUBLE; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MainPlaneAngle"; case 1: return "SecondaryPlaneAngle"; case 2: return "LuminousIntensity"; } throw IfcException("argument out of range"); } @@ -7096,8 +7096,8 @@ public: static Type::Enum Class(); IfcLightDistributionData (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightDistributionData* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > list; + typedef IfcTemplatedEntityList< IfcLightDistributionData >::it it; }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// @@ -7107,7 +7107,7 @@ public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve(); /// Light distribution data applied to the light source. It is defined by a list of main plane angles (B or C according to the light distribution curve chosen) that includes (for each B or C angle) a second list of secondary plane angles (the β or γ angles) and the according luminous intensity distribution measures. - SHARED_PTR< IfcTemplatedEntityList > DistributionData(); + SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > DistributionData(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENUMERATION; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LightDistributionCurve"; case 1: return "DistributionData"; } throw IfcException("argument out of range"); } @@ -7117,8 +7117,8 @@ public: static Type::Enum Class(); IfcLightIntensityDistribution (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightIntensityDistribution* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightIntensityDistribution > > list; + typedef IfcTemplatedEntityList< IfcLightIntensityDistribution >::it it; }; class IfcLocalTime : public IfcBaseEntity { public: @@ -7144,8 +7144,8 @@ public: static Type::Enum Class(); IfcLocalTime (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLocalTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLocalTime > > list; + typedef IfcTemplatedEntityList< IfcLocalTime >::it it; }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -7171,9 +7171,9 @@ public: /// styles, hatching definitions or surface coloring/rendering /// information to a material. /// -/// HISTORY�New entity in IFC2x4 +/// HISTORYÿNew entity in IFC2x4 /// -/// IFC2x4 CHANGE� The attributes Description and Category have been added. +/// IFC2x4 CHANGEÿ The attributes Description and Category have been added. class IfcMaterial : public IfcBaseEntity { public: /// Name of the material. @@ -7186,25 +7186,25 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasRepresentation(); // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial - SHARED_PTR< IfcTemplatedEntityList > ClassifiedAs(); // INVERSE IfcMaterialClassificationRelationship::ClassifiedMaterial + SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > > HasRepresentation(); // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial + SHARED_PTR< IfcTemplatedEntityList< IfcMaterialClassificationRelationship > > ClassifiedAs(); // INVERSE IfcMaterialClassificationRelationship::ClassifiedMaterial bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcMaterial (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterial* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > list; + typedef IfcTemplatedEntityList< IfcMaterial >::it it; }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// -/// HISTORY� New entity in IFC2x. +/// HISTORYÿ New entity in IFC2x. /// -/// IFC2x4 CHANGE� The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. +/// IFC2x4 CHANGEÿ The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IfcMaterialClassificationRelationship : public IfcBaseEntity { public: /// The material classifications identifying the type of material. - SHARED_PTR< IfcTemplatedEntityList > MaterialClassifications(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > MaterialClassifications(); /// Material being classified. IfcMaterial* ClassifiedMaterial(); virtual unsigned int getArgumentCount() const { return 2; } @@ -7216,12 +7216,12 @@ public: static Type::Enum Class(); IfcMaterialClassificationRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialClassificationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialClassificationRelationship > > list; + typedef IfcTemplatedEntityList< IfcMaterialClassificationRelationship >::it it; }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// -/// EXAMPLE� A cavity wall with brick masonry used with +/// EXAMPLE  A cavity wall with brick masonry used with /// an air gap in between would be modeled using three /// IfcMaterialLayer's: [1] Brick, [2] Air gap, [3] Brick. The /// inner layer "Brick" would have a Name = "Brick", an @@ -7234,14 +7234,14 @@ public: /// that might be different to the IfcMaterial name /// referenced. /// -/// EXAMPLE� The IfcMaterialLayer name of an +/// EXAMPLE  The IfcMaterialLayer name of an /// insulation layer can be "Insulation", whereas the /// IfcMaterial name is "polystyrene insulating /// boards". /// -/// HISTORY� New entity in IFC 1.5 +/// HISTORY  New entity in IFC 1.5 /// -/// IFC2x4 CHANGE� The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. +/// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IfcMaterialLayer : public IfcBaseEntity { public: /// Whether the optional attribute Material is defined for this IfcMaterialLayer @@ -7250,9 +7250,9 @@ public: IfcMaterial* Material(); /// The thickness of the material layer. The dimension is measured along the positive MlsDirection as specified in IfcMaterialLayerSet (that is mapped to AXIS-2, as specified in IfcMaterialLayerSetUsage for element occurrences supporting IfcMaterialLayerSetUsage. /// - /// NOTE� The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation. + /// NOTE  The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation. /// - /// IFC2x4 CHANGE� The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. + /// IFC2x4 CHANGE  The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. IfcPositiveLengthMeasure LayerThickness(); /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer bool hasIsVentilated(); @@ -7266,14 +7266,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_DOUBLE; case 2: return Argument_BOOL; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Material"; case 1: return "LayerThickness"; case 2: return "IsVentilated"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ToMaterialLayerSet(); // INVERSE IfcMaterialLayerSet::MaterialLayers + SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSet > > ToMaterialLayerSet(); // INVERSE IfcMaterialLayerSet::MaterialLayers bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayer (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialLayer* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > list; + typedef IfcTemplatedEntityList< IfcMaterialLayer >::it it; }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -7294,9 +7294,9 @@ public: /// gap is identified, using the IsVentilated flag at /// IfcMaterialLayer. /// -/// HISTORY� New entity in IFC 1.0 +/// HISTORY  New entity in IFC 1.0 /// -/// IFC2x4 CHANGE� Subtyped from IfcMaterialDefinition, the attribute Description +/// IFC2x4 CHANGE  Subtyped from IfcMaterialDefinition, the attribute Description /// has been added at the end of attribute list. /// /// Attribute use definition @@ -7311,7 +7311,7 @@ public: class IfcMaterialLayerSet : public IfcBaseEntity { public: /// Identification of the layers from which the material layer set is composed. - SHARED_PTR< IfcTemplatedEntityList > MaterialLayers(); + SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > MaterialLayers(); /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet bool hasLayerSetName(); /// The name by which the material layer set is known. @@ -7325,8 +7325,8 @@ public: static Type::Enum Class(); IfcMaterialLayerSet (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialLayerSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSet > > list; + typedef IfcTemplatedEntityList< IfcMaterialLayerSet >::it it; }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -7336,7 +7336,7 @@ public: /// the element geometry). The rules to ensure the compatibility /// depend on the type of the building element. /// -/// EXAMPLE �For a cavity brick wall with shape +/// EXAMPLE ÿFor a cavity brick wall with shape /// representation SweptSolid, the /// IfcMaterialLayerSet.TotalThickness shall be equal to the /// wall thickness. Also the OffsetFromReferenceLine shall @@ -7346,7 +7346,7 @@ public: /// RepresentationIdentifier="Axis" and /// RepresentationIdentifier="Body". /// -/// NOTE �Refer to the implementation guide and agreements for +/// NOTE ÿRefer to the implementation guide and agreements for /// more information on matching between building element geometry /// and material layer set usage. /// @@ -7357,7 +7357,7 @@ public: /// objects. If the element type is available (i.e. the relevant /// subtype of IfcElementType, then the /// IfcMaterialLayerSet can be assigned to the type object. -/// The assignment between a�subtype of IfcElement and the +/// The assignment between aÿsubtype of IfcElement and the /// IfcMaterialLayerSetUsage is handled by /// IfcRelAssociatesMaterial. /// @@ -7370,27 +7370,27 @@ public: /// material layer thicknesses are constant. /// Generally, an element may be layered in any of its primary /// directions, denoted by its x, y or z axis. The geometry use -/// definitions at each�specific types of building element will -/// determine the applicable�LayerSetDirection. +/// definitions at eachÿspecific types of building element will +/// determine the applicableÿLayerSetDirection. /// /// The following examples illustrate how the IfcMaterialLayerSetUsage attributes (LayerSetDirection, DirectionSense, OffsetFromReferenceLine) can /// be used in different cases. The normative material use definitions are documented at each element (how these shall be used). /// /// Figure 286 shows an example of the use of IfcMaterialLayerSetUsage aligned to the axis of a wall. /// -/// EXAMPLE� For a standard wall with extruded +/// EXAMPLE  For a standard wall with extruded /// geometric representation (vertical extrusion), the layer set /// direction will be perpendicular to extrusion direction, -/// and�can be derived from the direction of the wall +/// andÿcan be derived from the direction of the wall /// axis. With the DirectionSense(positive in /// this example) the individual IfcMaterialLayers are /// assigned consecutively right-to-left or left-to-right. For a /// curved wall, "direction denoting the wall thickness" can be /// derived from the direction of the wall axis, and it will remain /// perpendicular to the wall path. The -/// DirectionSense�applies as well. +/// DirectionSenseÿapplies as well. /// -/// NOTE� According to the IfcWallStandardCase material use +/// NOTE  According to the IfcWallStandardCase material use /// definition the LayerSetDirection for /// IfcWallStandardCase is always AXIS2 (i.e. along the /// y-axis), as shown in this example. @@ -7399,17 +7399,17 @@ public: /// /// Figure 287 shows an example of the use of IfcMaterialLayerSetUsage aligned to a slab. /// -/// EXAMPLE��For a slab with perpendicular +/// EXAMPLE ÿFor a slab with perpendicular /// extruded geometric representation, the LayerSetDirection /// will coincide with the extrusion direction (in positive or /// negative sense). In this example, the material layer set base is /// the extruded profile and consistent with the -/// IfcExtrudedAreaSolid.Position,�with the +/// IfcExtrudedAreaSolid.Position,ÿwith the /// DirectionSensebeing positive, the /// individual IfcMaterialLayers are built up from the base /// towards positive z direction in this case. /// -/// NOTE �According to the IfcSlabStandardCase +/// NOTE ÿAccording to the IfcSlabStandardCase /// material use definition the LayerSetDirection for /// IfcSlabStandardCase is always AXIS3 (i.e. along the /// z-axis). @@ -7418,7 +7418,7 @@ public: /// /// Figure 288 shows an example of the use of IfcMaterialLayerSetUsage aligned to a roof slab with non-perpendicular extrusion. /// -/// EXAMPLE��For a slab with non-perpendicular +/// EXAMPLE ÿFor a slab with non-perpendicular /// extruded geometric representation, the guidelines above apply as /// well. The material layer thickness and the /// OffsetFromReferenceLine is always measured @@ -7434,14 +7434,14 @@ public: IfcMaterialLayerSet* ForLayerSet(); /// Orientation of the material layer set relative to element reference geometry. The meaning of the value of this attribute shall be specified in the geometry use section for each element. For extruded shape representation, direction can be given along the extrusion path (e.g. for slabs) or perpendicular to it (e.g. for walls). /// - /// NOTE� the LayerSetDirection for IfcWallStandardCase shall be AXIS2 (i.e. the y-axis) and for IfcSlabStandardCase and IfcPlateStandardCase it shall be AXIS3 (i.e. the z-axis). + /// NOTE  the LayerSetDirection for IfcWallStandardCase shall be AXIS2 (i.e. the y-axis) and for IfcSlabStandardCase and IfcPlateStandardCase it shall be AXIS3 (i.e. the z-axis). /// /// Whether the material layers of the set being used shall 'grow' into the positive or negative direction of the given axis, shall be deifned by DirectionSense attribute. IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum LayerSetDirection(); /// Denotion whether the material layer set is oriented in positive or negative sense along the specified axis (defined by LayerSetDirection). "Positive" means that the consecutive layers (the IfcMaterialLayer instances in the list of IfcMaterialLayerSet.MaterialLayers) are placed face-by-face in the direction of the positive axis as established by LayerSetDirection: for AXIS2 it would be in +y, for AXIS3 it would be +z. "Negative" means that the layers are placed face-by-face in the direction of the negative LayerSetDirection. In both cases, starting at the material layer set base line. - /// NOTE� the material layer set base line (MlsBase) is located by OffsetFromReferenceLine, and may be on the positive or negative side of the element reference line (or plane); positive or negative for MlsBase placement does not depend on the DirectionSense attribute, but on the relevant element axis. + /// NOTE  the material layer set base line (MlsBase) is located by OffsetFromReferenceLine, and may be on the positive or negative side of the element reference line (or plane); positive or negative for MlsBase placement does not depend on the DirectionSense attribute, but on the relevant element axis. IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense(); - /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE� the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. + /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. IfcLengthMeasure OffsetFromReferenceLine(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENUMERATION; case 2: return Argument_ENUMERATION; case 3: return Argument_DOUBLE; } throw IfcException("argument out of range"); } @@ -7452,8 +7452,8 @@ public: static Type::Enum Class(); IfcMaterialLayerSetUsage (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialLayerSetUsage* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSetUsage > > list; + typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage >::it it; }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -7470,12 +7470,12 @@ public: /// of a single identifiable material (for example, to represent anisotropic /// material). /// -/// IFC2x4 CHANGE� The entity IfcMaterialList is deprecated and shall no longer +/// IFC2x4 CHANGEÿ The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. class IfcMaterialList : public IfcBaseEntity { public: /// Materials used in a composition of substances. - SHARED_PTR< IfcTemplatedEntityList > Materials(); + SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > Materials(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Materials"; } throw IfcException("argument out of range"); } @@ -7485,8 +7485,8 @@ public: static Type::Enum Class(); IfcMaterialList (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialList* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialList > > list; + typedef IfcTemplatedEntityList< IfcMaterialList >::it it; }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -7494,7 +7494,7 @@ public: /// individual material definiton may be identified by a Name /// and a Description. /// -/// NOTE� The set of material properties can be assigned +/// NOTE  The set of material properties can be assigned /// to an individual IfcMaterial, a set or composite of /// materials (IfcMaterialConstituent, /// IfcMaterialConstituentSet), or set or individual material @@ -7507,9 +7507,9 @@ public: /// material properties defined in this IFC specification and those /// defined as user-defined extended material properties. /// -/// HISTORY� New Entity in IFC 2x. +/// HISTORY  New Entity in IFC 2x. /// -/// IFC2x4 CHANGE� The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. +/// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IfcMaterialProperties : public IfcBaseEntity { public: /// Reference to the material definition to which the set of properties is assigned. @@ -7525,8 +7525,8 @@ public: static Type::Enum Class(); IfcMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcMaterialProperties >::it it; }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -7553,8 +7553,8 @@ public: static Type::Enum Class(); IfcMeasureWithUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMeasureWithUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMeasureWithUnit > > list; + typedef IfcTemplatedEntityList< IfcMeasureWithUnit >::it it; }; class IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: @@ -7582,8 +7582,8 @@ public: static Type::Enum Class(); IfcMechanicalMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMechanicalMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcMechanicalMaterialProperties >::it it; }; class IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { public: @@ -7607,7 +7607,7 @@ public: IfcPositiveRatioMeasure PlasticStrain(); /// Whether the optional attribute Relaxations is defined for this IfcMechanicalSteelMaterialProperties bool hasRelaxations(); - SHARED_PTR< IfcTemplatedEntityList > Relaxations(); + SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > Relaxations(); virtual unsigned int getArgumentCount() const { return 13; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return Argument_DOUBLE; case 7: return Argument_DOUBLE; case 8: return Argument_DOUBLE; case 9: return Argument_DOUBLE; case 10: return Argument_DOUBLE; case 11: return Argument_DOUBLE; case 12: return Argument_ENTITY_LIST; } return IfcMechanicalMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "YieldStress"; case 7: return "UltimateStress"; case 8: return "UltimateStrain"; case 9: return "HardeningModule"; case 10: return "ProportionalStress"; case 11: return "PlasticStrain"; case 12: return "Relaxations"; } return IfcMechanicalMaterialProperties::getArgumentName(i); } @@ -7617,8 +7617,8 @@ public: static Type::Enum Class(); IfcMechanicalSteelMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMechanicalSteelMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalSteelMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcMechanicalSteelMaterialProperties >::it it; }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -7691,8 +7691,8 @@ public: static Type::Enum Class(); IfcMetric (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMetric* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMetric > > list; + typedef IfcTemplatedEntityList< IfcMetric >::it it; }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -7712,8 +7712,8 @@ public: static Type::Enum Class(); IfcMonetaryUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMonetaryUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMonetaryUnit > > list; + typedef IfcTemplatedEntityList< IfcMonetaryUnit >::it it; }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -7735,8 +7735,8 @@ public: static Type::Enum Class(); IfcNamedUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcNamedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcNamedUnit > > list; + typedef IfcTemplatedEntityList< IfcNamedUnit >::it it; }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -7755,15 +7755,15 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > PlacesObject(); // INVERSE IfcProduct::ObjectPlacement - SHARED_PTR< IfcTemplatedEntityList > ReferencedByPlacements(); // INVERSE IfcLocalPlacement::PlacementRelTo + SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > PlacesObject(); // INVERSE IfcProduct::ObjectPlacement + SHARED_PTR< IfcTemplatedEntityList< IfcLocalPlacement > > ReferencedByPlacements(); // INVERSE IfcLocalPlacement::PlacementRelTo bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcObjectPlacement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcObjectPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjectPlacement > > list; + typedef IfcTemplatedEntityList< IfcObjectPlacement >::it it; }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -7799,8 +7799,8 @@ public: static Type::Enum Class(); IfcObjective (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcObjective* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjective > > list; + typedef IfcTemplatedEntityList< IfcObjective >::it it; }; class IfcOpticalMaterialProperties : public IfcMaterialProperties { public: @@ -7840,8 +7840,8 @@ public: static Type::Enum Class(); IfcOpticalMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOpticalMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpticalMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcOpticalMaterialProperties >::it it; }; /// A named and structured grouping with a corporate identity. /// @@ -7865,26 +7865,26 @@ public: /// Whether the optional attribute Roles is defined for this IfcOrganization bool hasRoles(); /// Roles played by the organization. - SHARED_PTR< IfcTemplatedEntityList > Roles(); + SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); /// Whether the optional attribute Addresses is defined for this IfcOrganization bool hasAddresses(); /// Postal and telecom addresses of an organization. /// NOTE: There may be several addresses related to an organization. - SHARED_PTR< IfcTemplatedEntityList > Addresses(); + SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > Addresses(); virtual unsigned int getArgumentCount() const { return 5; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_STRING; case 3: return Argument_ENTITY_LIST; case 4: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Id"; case 1: return "Name"; case 2: return "Description"; case 3: return "Roles"; case 4: return "Addresses"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsRelatedBy(); // INVERSE IfcOrganizationRelationship::RelatedOrganizations - SHARED_PTR< IfcTemplatedEntityList > Relates(); // INVERSE IfcOrganizationRelationship::RelatingOrganization - SHARED_PTR< IfcTemplatedEntityList > Engages(); // INVERSE IfcPersonAndOrganization::TheOrganization + SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > IsRelatedBy(); // INVERSE IfcOrganizationRelationship::RelatedOrganizations + SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > Relates(); // INVERSE IfcOrganizationRelationship::RelatingOrganization + SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > Engages(); // INVERSE IfcPersonAndOrganization::TheOrganization bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcOrganization (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOrganization* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > list; + typedef IfcTemplatedEntityList< IfcOrganization >::it it; }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -7903,7 +7903,7 @@ public: /// Organization which is the relating part of the relationship between organizations. IfcOrganization* RelatingOrganization(); /// The other, possibly dependent, organizations which are the related parts of the relationship between organizations. - SHARED_PTR< IfcTemplatedEntityList > RelatedOrganizations(); + SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > RelatedOrganizations(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY; case 3: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "RelatingOrganization"; case 3: return "RelatedOrganizations"; } throw IfcException("argument out of range"); } @@ -7913,14 +7913,14 @@ public: static Type::Enum Class(); IfcOrganizationRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOrganizationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > list; + typedef IfcTemplatedEntityList< IfcOrganizationRelationship >::it it; }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// /// IfcOwnerHistory is used to identify the creating and owning application and user for the associated object, as well as capture the last modifying application and user. /// -/// HISTORY� New entity in IFC R1.0. Modified in IFC R2x4. +/// HISTORY  New entity in IFC R1.0. Modified in IFC R2x4. /// /// Informal propositions /// @@ -7961,8 +7961,8 @@ public: static Type::Enum Class(); IfcOwnerHistory (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOwnerHistory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOwnerHistory > > list; + typedef IfcTemplatedEntityList< IfcOwnerHistory >::it it; }; /// Definition: an individual human being. /// @@ -7994,36 +7994,36 @@ public: /// NOTE: Middle names are not normally used in familiar communication but may be asserted to provide additional /// identification of a particular person if necessary. They may be particularly useful in situations where the person concerned has a /// family name that occurs commonly in the geographical region. - std::vector /*[1:?]*/ MiddleNames(); + std::vector< IfcLabel > /*[1:?]*/ MiddleNames(); /// Whether the optional attribute PrefixTitles is defined for this IfcPerson bool hasPrefixTitles(); /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector /*[1:?]*/ PrefixTitles(); + std::vector< IfcLabel > /*[1:?]*/ PrefixTitles(); /// Whether the optional attribute SuffixTitles is defined for this IfcPerson bool hasSuffixTitles(); /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector /*[1:?]*/ SuffixTitles(); + std::vector< IfcLabel > /*[1:?]*/ SuffixTitles(); /// Whether the optional attribute Roles is defined for this IfcPerson bool hasRoles(); /// Roles played by the person. - SHARED_PTR< IfcTemplatedEntityList > Roles(); + SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); /// Whether the optional attribute Addresses is defined for this IfcPerson bool hasAddresses(); /// Postal and telecommunication addresses of a person. /// NOTE - A person may have several addresses. - SHARED_PTR< IfcTemplatedEntityList > Addresses(); + SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > Addresses(); virtual unsigned int getArgumentCount() const { return 8; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_STRING; case 3: return Argument_VECTOR_STRING; case 4: return Argument_VECTOR_STRING; case 5: return Argument_VECTOR_STRING; case 6: return Argument_ENTITY_LIST; case 7: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Id"; case 1: return "FamilyName"; case 2: return "GivenName"; case 3: return "MiddleNames"; case 4: return "PrefixTitles"; case 5: return "SuffixTitles"; case 6: return "Roles"; case 7: return "Addresses"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > EngagedIn(); // INVERSE IfcPersonAndOrganization::ThePerson + SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > EngagedIn(); // INVERSE IfcPersonAndOrganization::ThePerson bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcPerson (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPerson* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > list; + typedef IfcTemplatedEntityList< IfcPerson >::it it; }; /// Definition: Identification of a person within an organization. /// @@ -8039,7 +8039,7 @@ public: /// Whether the optional attribute Roles is defined for this IfcPersonAndOrganization bool hasRoles(); /// Roles played by the person within the context of an organization. These may differ from the roles in ThePerson.Roles which may be asserted without organizational context. - SHARED_PTR< IfcTemplatedEntityList > Roles(); + SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY; case 2: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ThePerson"; case 1: return "TheOrganization"; case 2: return "Roles"; } throw IfcException("argument out of range"); } @@ -8049,14 +8049,14 @@ public: static Type::Enum Class(); IfcPersonAndOrganization (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPersonAndOrganization* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > list; + typedef IfcTemplatedEntityList< IfcPersonAndOrganization >::it it; }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// -/// HISTORY� New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcPhysicalQuantity : public IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. @@ -8069,24 +8069,24 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > PartOfComplex(); // INVERSE IfcPhysicalComplexQuantity::HasQuantities + SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalComplexQuantity > > PartOfComplex(); // INVERSE IfcPhysicalComplexQuantity::HasQuantities bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcPhysicalQuantity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPhysicalQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > list; + typedef IfcTemplatedEntityList< IfcPhysicalQuantity >::it it; }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// -/// EXAMPLE� An element, like a wall, may have several area measures, like footprint area, left wall face area, right wall face area. These areas would be given by three instances of the area quantity subtype, with different Name string values. +/// EXAMPLE  An element, like a wall, may have several area measures, like footprint area, left wall face area, right wall face area. These areas would be given by three instances of the area quantity subtype, with different Name string values. /// /// A section "Quantity Use Definition" at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name attribute to characterize the individual quantities. If the Unit attribute is given, the value attribute (introduced at the level of subtypes of IfcPhysicalSimpleQuantity) are given as quantities of this unit, otherwise the global unit definitions (given by IfcUnitAssignment) are used. /// /// HISTORY New entity in IFC2x2 Addendum 1. /// -/// IFC2x2 ADDENDUM 1 CHANGE� The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity @@ -8102,8 +8102,8 @@ public: static Type::Enum Class(); IfcPhysicalSimpleQuantity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPhysicalSimpleQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > > list; + typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity >::it it; }; /// Definition: The address for delivery of paper based mail. /// @@ -8122,7 +8122,7 @@ public: /// A location within a building (e.g. 3rd Floor) Building name (e.g. Interoperability House) Street number /// (e.g. 6400) Street name (e.g. Alliance Boulevard). Typical content of address lines may vary in different /// countries. - std::vector /*[1:?]*/ AddressLines(); + std::vector< IfcLabel > /*[1:?]*/ AddressLines(); /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress bool hasPostalBox(); /// An address that is implied by an identifiable mail drop. @@ -8153,16 +8153,16 @@ public: static Type::Enum Class(); IfcPostalAddress (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPostalAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPostalAddress > > list; + typedef IfcTemplatedEntityList< IfcPostalAddress >::it it; }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// -/// NOTE� The convention on using the Name value is defined at the subtypes of IfcPreDefinedItem and is part of the specification. +/// NOTE  The convention on using the Name value is defined at the subtypes of IfcPreDefinedItem and is part of the specification. /// -/// NOTE� Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPreDefinedItem : public IfcBaseEntity { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. @@ -8176,8 +8176,8 @@ public: static Type::Enum Class(); IfcPreDefinedItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedItem > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedItem >::it it; }; /// A predefined symbol is a symbol that gets its shape information by a conforming name that is specified within subtypes of the entity. /// @@ -8197,8 +8197,8 @@ public: static Type::Enum Class(); IfcPreDefinedSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedSymbol > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedSymbol >::it it; }; class IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { public: @@ -8211,8 +8211,8 @@ public: static Type::Enum Class(); IfcPreDefinedTerminatorSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedTerminatorSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedTerminatorSymbol > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedTerminatorSymbol >::it it; }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -8220,11 +8220,11 @@ public: /// /// IfcTextStyleFontModel for definitions from Cascading Style Sheets, level 1, W3C Recommendation 17 Dec 1996, revised 11 Jan 1999, CSS1, for all true type text. The use of the CSS1 definitions is the preferred way to represent text fonts. /// -/// NOTE� Corresponding ISO 10303 name: pre_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The IfcTextStyleFontModel has been added as new subtype. +/// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IfcPreDefinedTextFont : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } @@ -8236,18 +8236,18 @@ public: static Type::Enum Class(); IfcPreDefinedTextFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedTextFont > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedTextFont >::it it; }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// -/// NOTE� The use of presentation layer shall be restricted to simple grouping and displaying purposes. +/// NOTE  The use of presentation layer shall be restricted to simple grouping and displaying purposes. /// /// Visibility and access control and layer style assignment (colour, line style, line width) is handled by the subtype IfcPresentationLayerAssignmentWithStyle. /// -/// NOTE� Corresponding ISO 10303 name: presentation layer assignment. Please refer to ISO/IS 10303-46:1994, p. 36 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: presentation layer assignment. Please refer to ISO/IS 10303-46:1994, p. 36 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Attribute use definition /// @@ -8263,7 +8263,7 @@ public: /// Additional description of the layer. IfcText Description(); /// The set of layered items, which are assigned to this layer. - SHARED_PTR< IfcTemplatedEntityList > AssignedItems(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > AssignedItems(); /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment bool hasIdentifier(); /// An (internal) identifier assigned to the layer. @@ -8277,22 +8277,22 @@ public: static Type::Enum Class(); IfcPresentationLayerAssignment (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPresentationLayerAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > list; + typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment >::it it; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// /// The visibility control allows to define a layer to be either 'on' or 'off', and/or 'frozen' or 'not frozen'. The access control allows to block graphical entities from manipulations by setting a layer to be either 'blocked' or 'not blocked'. Common style information can be given to the layer. /// -/// NOTE �Style information assigned to layers is often restricted to 'layer colour', 'curve font', and/or 'curve width'. These styles are assigned by using the IfcCurveStyle within the LayerStyles. +/// NOTE  Style information assigned to layers is often restricted to 'layer colour', 'curve font', and/or 'curve width'. These styles are assigned by using the IfcCurveStyle within the LayerStyles. /// /// NOTE: If a styled item is assigned to a layer using the IfcPresentationLayerAssignmentWithStyle, it inherits the style information from the layer. In this case, it should omit its own style information. If the styled item has style information assigned (such as by IfcCurveStyle, IfcFillAreaStyle, IfcTextStyle, IfcSurfaceStyle, IfcSymbolStyle), then it overrides the style provided by the IfcPresentationLayerAssignmentWithStyle. /// -/// NOTE� The IfcPresentationLayerAssignmentWithStyle extends the presentation_layer_assignment entity as defined in ISO/IS 10303-46:1994, p. 36. +/// NOTE  The IfcPresentationLayerAssignmentWithStyle extends the presentation_layer_assignment entity as defined in ISO/IS 10303-46:1994, p. 36. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE �The attributes have been modified without upward compatibility. +/// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. @@ -8303,10 +8303,10 @@ public: bool LayerBlocked(); /// Assignment of presentation styles to the layer to provide a default style for representation items. /// - /// NOTE� In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. + /// NOTE  In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. /// - /// IFC2x4 CHANGE� The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. - SHARED_PTR< IfcTemplatedEntityList > LayerStyles(); + /// IFC2x4 CHANGE  The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > LayerStyles(); virtual unsigned int getArgumentCount() const { return 8; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_BOOL; case 5: return Argument_BOOL; case 6: return Argument_BOOL; case 7: return Argument_ENTITY_LIST; } return IfcPresentationLayerAssignment::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LayerOn"; case 5: return "LayerFrozen"; case 6: return "LayerBlocked"; case 7: return "LayerStyles"; } return IfcPresentationLayerAssignment::getArgumentName(i); } @@ -8316,14 +8316,14 @@ public: static Type::Enum Class(); IfcPresentationLayerWithStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPresentationLayerWithStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerWithStyle > > list; + typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle >::it it; }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// -/// Each subtype of� IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. +/// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcPresentationStyle : public IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle @@ -8339,8 +8339,8 @@ public: static Type::Enum Class(); IfcPresentationStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPresentationStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > list; + typedef IfcTemplatedEntityList< IfcPresentationStyle >::it it; }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -8350,7 +8350,7 @@ public: class IfcPresentationStyleAssignment : public IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. - SHARED_PTR< IfcTemplatedEntityList > Styles(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Styles(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Styles"; } throw IfcException("argument out of range"); } @@ -8360,8 +8360,8 @@ public: static Type::Enum Class(); IfcPresentationStyleAssignment (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPresentationStyleAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > list; + typedef IfcTemplatedEntityList< IfcPresentationStyleAssignment >::it it; }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -8377,9 +8377,9 @@ public: /// /// HISTORY New entity in IFC Release 2.0 /// -/// IFC2x3 NOTE��Users should not instantiate the entity from IFC2x Edition 3 onwards. +/// IFC2x3 NOTE ÿUsers should not instantiate the entity from IFC2x Edition 3 onwards. /// -/// IFC2x4 CHANGE� Entity made abstract. +/// IFC2x4 CHANGE  Entity made abstract. class IfcProductRepresentation : public IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation @@ -8391,7 +8391,7 @@ public: /// The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. IfcText Description(); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. - SHARED_PTR< IfcTemplatedEntityList > Representations(); + SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > Representations(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Representations"; } throw IfcException("argument out of range"); } @@ -8401,8 +8401,8 @@ public: static Type::Enum Class(); IfcProductRepresentation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProductRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductRepresentation > > list; + typedef IfcTemplatedEntityList< IfcProductRepresentation >::it it; }; class IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: @@ -8427,8 +8427,8 @@ public: static Type::Enum Class(); IfcProductsOfCombustionProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProductsOfCombustionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductsOfCombustionProperties > > list; + typedef IfcTemplatedEntityList< IfcProductsOfCombustionProperties >::it it; }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -8447,11 +8447,11 @@ public: /// profiles can be defined, which include two or more profile definitions /// to define the resulting profile. /// -/// HISTORY� New class in IFC Release 1.5, the capabilities have been extended in IFC Release 2x. +/// HISTORY  New class in IFC Release 1.5, the capabilities have been extended in IFC Release 2x. /// Profiles can now support swept surfaces and swept area solids with /// inner boundaries. It had been renamed from IfcAttDrivenProfileDef. /// -/// IFC2x4 CHANGE� Changed from ABSTRACT to non-abstract for uses which do not +/// IFC2x4 CHANGE  Changed from ABSTRACT to non-abstract for uses which do not /// require an explicitly defined geometry. Added inverse attributes HasProperties and HasExternalReference. /// /// Use in material association @@ -8492,7 +8492,7 @@ public: /// on transformations of the start profile and thus maintaining the /// identity of vertices and edges. /// -/// NOTE� Subtypes of the IfcProfileDef +/// NOTE  Subtypes of the IfcProfileDef /// contain parameterized profiles (as subtypes of IfcParameterizedProfileDef) /// which establish their own 2D position coordinate system, profiles given /// by explicit curve geometry (either open or closed profiles) and two @@ -8526,7 +8526,7 @@ public: /// Sweeping /// /// In the later use of the IfcProfileDef -/// within the swept surface or swept area solid,� e.g. the IfcExtrudedAreaSolid +/// within the swept surface or swept area solid,  e.g. the IfcExtrudedAreaSolid /// (here used as an example), the profile boundaries (here based on the 2D /// position coordinate system of IfcParameterizedProfileDef) /// are placed within the xy plane of the 3D position coordinate system of @@ -8617,8 +8617,8 @@ public: static Type::Enum Class(); IfcProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > list; + typedef IfcTemplatedEntityList< IfcProfileDef >::it it; }; /// This is a collection of properties applicable to section profile definitions. /// @@ -8628,9 +8628,9 @@ public: /// properties for precast concrete double-T sections /// properties for precast concrete hollow core sections /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x4 CHANGE� Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. +/// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IfcProfileProperties : public IfcBaseEntity { public: /// Whether the optional attribute ProfileName is defined for this IfcProfileProperties @@ -8649,12 +8649,12 @@ public: static Type::Enum Class(); IfcProfileProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProfileProperties > > list; + typedef IfcTemplatedEntityList< IfcProfileProperties >::it it; }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// -/// HISTORY� New entity in IFC Release 1.0. +/// HISTORY  New entity in IFC Release 1.0. class IfcProperty : public IfcBaseEntity { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. @@ -8667,21 +8667,21 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > PropertyForDependance(); // INVERSE IfcPropertyDependencyRelationship::DependingProperty - SHARED_PTR< IfcTemplatedEntityList > PropertyDependsOn(); // INVERSE IfcPropertyDependencyRelationship::DependantProperty - SHARED_PTR< IfcTemplatedEntityList > PartOfComplex(); // INVERSE IfcComplexProperty::HasProperties + SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > PropertyForDependance(); // INVERSE IfcPropertyDependencyRelationship::DependingProperty + SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > PropertyDependsOn(); // INVERSE IfcPropertyDependencyRelationship::DependantProperty + SHARED_PTR< IfcTemplatedEntityList< IfcComplexProperty > > PartOfComplex(); // INVERSE IfcComplexProperty::HasProperties bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcProperty (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > list; + typedef IfcTemplatedEntityList< IfcProperty >::it it; }; class IfcPropertyConstraintRelationship : public IfcBaseEntity { public: IfcConstraint* RelatingConstraint(); - SHARED_PTR< IfcTemplatedEntityList > RelatedProperties(); + SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > RelatedProperties(); /// Whether the optional attribute Name is defined for this IfcPropertyConstraintRelationship bool hasName(); IfcLabel Name(); @@ -8697,14 +8697,14 @@ public: static Type::Enum Class(); IfcPropertyConstraintRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyConstraintRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyConstraintRelationship > > list; + typedef IfcTemplatedEntityList< IfcPropertyConstraintRelationship >::it it; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// -/// HISTORY� New entity in IFC2x2 +/// HISTORY  New entity in IFC2x2 /// -/// IFC2x4 CHANGE� Made subtype of IfcResourceLevelRelationship (attribute order changed). +/// IFC2x4 CHANGE  Made subtype of IfcResourceLevelRelationship (attribute order changed). /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. @@ -8733,8 +8733,8 @@ public: static Type::Enum Class(); IfcPropertyDependencyRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyDependencyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > list; + typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::it it; }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -8766,28 +8766,28 @@ public: /// IfcString /// - /// -/// � +///   /// Opposed /// IfcString -/// � +///   /// -/// � +///   /// Other /// IfcString -/// � +///   /// -/// � +///   /// Unset /// IfcString -/// � +///   /// -/// HISTORY� New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. +/// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IfcPropertyEnumeration : public IfcBaseEntity { public: /// Name of this enumeration. IfcLabel Name(); /// List of values that form the enumeration. - SHARED_PTR< IfcTemplatedEntityList > EnumerationValues(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > EnumerationValues(); /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration bool hasUnit(); /// Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. @@ -8801,14 +8801,14 @@ public: static Type::Enum Class(); IfcPropertyEnumeration (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyEnumeration* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyEnumeration > > list; + typedef IfcTemplatedEntityList< IfcPropertyEnumeration >::it it; }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE� An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. +/// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// -/// HISTORY� New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. @@ -8822,14 +8822,14 @@ public: static Type::Enum Class(); IfcQuantityArea (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcQuantityArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityArea > > list; + typedef IfcTemplatedEntityList< IfcQuantityArea >::it it; }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE� An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. +/// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// -/// HISTORY� New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. @@ -8843,14 +8843,14 @@ public: static Type::Enum Class(); IfcQuantityCount (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcQuantityCount* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityCount > > list; + typedef IfcTemplatedEntityList< IfcQuantityCount >::it it; }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE� A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. +/// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// -/// HISTORY� New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. @@ -8864,14 +8864,14 @@ public: static Type::Enum Class(); IfcQuantityLength (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcQuantityLength* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityLength > > list; + typedef IfcTemplatedEntityList< IfcQuantityLength >::it it; }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE� The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. +/// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. @@ -8885,12 +8885,12 @@ public: static Type::Enum Class(); IfcQuantityTime (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcQuantityTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityTime > > list; + typedef IfcTemplatedEntityList< IfcQuantityTime >::it it; }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE� A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. +/// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { @@ -8906,14 +8906,14 @@ public: static Type::Enum Class(); IfcQuantityVolume (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcQuantityVolume* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityVolume > > list; + typedef IfcTemplatedEntityList< IfcQuantityVolume >::it it; }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE� The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. +/// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// -/// HISTORY� New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. @@ -8927,13 +8927,13 @@ public: static Type::Enum Class(); IfcQuantityWeight (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcQuantityWeight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityWeight > > list; + typedef IfcTemplatedEntityList< IfcQuantityWeight >::it it; }; class IfcReferencesValueDocument : public IfcBaseEntity { public: IfcDocumentSelect ReferencedDocument(); - SHARED_PTR< IfcTemplatedEntityList > ReferencingValues(); + SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > ReferencingValues(); /// Whether the optional attribute Name is defined for this IfcReferencesValueDocument bool hasName(); IfcLabel Name(); @@ -8949,12 +8949,12 @@ public: static Type::Enum Class(); IfcReferencesValueDocument (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcReferencesValueDocument* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcReferencesValueDocument > > list; + typedef IfcTemplatedEntityList< IfcReferencesValueDocument >::it it; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IfcReinforcementBarProperties : public IfcBaseEntity { @@ -8988,8 +8988,8 @@ public: static Type::Enum Class(); IfcReinforcementBarProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcReinforcementBarProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > list; + typedef IfcTemplatedEntityList< IfcReinforcementBarProperties >::it it; }; class IfcRelaxation : public IfcBaseEntity { public: @@ -9004,8 +9004,8 @@ public: static Type::Enum Class(); IfcRelaxation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelaxation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > list; + typedef IfcTemplatedEntityList< IfcRelaxation >::it it; }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -9038,19 +9038,19 @@ public: /// IfcElement, or in view definitions / implementer /// agreements. /// -/// NOTE��The definition of this +/// NOTE ÿThe definition of this /// entity relates to the ISO 10303 entity representation. Please /// refer to ISO/IS 10303-43:1994 for the final definition of /// the formal standard. /// -/// HISTORY� New entity in IFC Release 2.0 +/// HISTORY  New entity in IFC Release 2.0 /// -/// IFC2x3 CHANGE� The +/// IFC2x3 CHANGE  The /// inverse attributes LayerAssignments /// andRepresentationMap have been added with upward /// compatibility. /// -/// IFC2x4 CHANGE� Entity +/// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. class IfcRepresentation : public IfcBaseEntity { @@ -9067,29 +9067,29 @@ public: /// The supported values for context type are to be specified by implementers agreements. IfcLabel RepresentationType(); /// Set of geometric representation items that are defined for this representation. - SHARED_PTR< IfcTemplatedEntityList > Items(); + SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > Items(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_STRING; case 2: return Argument_STRING; case 3: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextOfItems"; case 1: return "RepresentationIdentifier"; case 2: return "RepresentationType"; case 3: return "Items"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > RepresentationMap(); // INVERSE IfcRepresentationMap::MappedRepresentation - SHARED_PTR< IfcTemplatedEntityList > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems - SHARED_PTR< IfcTemplatedEntityList > OfProductRepresentation(); // INVERSE IfcProductRepresentation::Representations + SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > RepresentationMap(); // INVERSE IfcRepresentationMap::MappedRepresentation + SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems + SHARED_PTR< IfcTemplatedEntityList< IfcProductRepresentation > > OfProductRepresentation(); // INVERSE IfcProductRepresentation::Representations bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcRepresentation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > list; + typedef IfcTemplatedEntityList< IfcRepresentation >::it it; }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// /// The IfcRepresentationContext defines the context to which the IfcRepresentation of a product is related. /// -/// NOTE� The definition of this class relates to the ISO 10303 entity representation_context. Please refer to ISO/IS 10303-43:1994 for the final definition of the formal standard. +/// NOTE  The definition of this class relates to the ISO 10303 entity representation_context. Please refer to ISO/IS 10303-43:1994 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. @@ -9107,14 +9107,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextIdentifier"; case 1: return "ContextType"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > RepresentationsInContext(); // INVERSE IfcRepresentation::ContextOfItems + SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > RepresentationsInContext(); // INVERSE IfcRepresentation::ContextOfItems bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcRepresentationContext (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRepresentationContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > list; + typedef IfcTemplatedEntityList< IfcRepresentationContext >::it it; }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -9124,57 +9124,57 @@ public: /// representation item when it is referenced by that representation /// item. /// -/// NOTE� Corresponding entity in ISO 10303-43:1994: representation_item. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The attribute 'name' and the WR1 have not been incorporated. +/// NOTE  Corresponding entity in ISO 10303-43:1994: representation_item. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The attribute 'name' and the WR1 have not been incorporated. /// /// The IfcRepresentationItem is used within an IfcRepresentation (directly or indirectly through other IfcRepresentationItem's) to represent an IfcProductRepresentation. Most commonly these IfcRepresentationItem's are geometric or topological representation items, that can (but not need to) have presentation style infomation assigned. /// -/// NOTE� The assignment of a style is only applicable +/// NOTE  The assignment of a style is only applicable /// to the subtypes IfcGeometricRepresentationItem, IfcMappedItem and some selected subtypes of IfcTopologicalRepresentationItem (IfcVertexPoint, IfcEdgeCurve, IfcFaceSurface). /// /// In case that presentation style information is applied, it can be either applied by an IfcStyledItem, or by an assignment to an IfcPresentationLayerWithStyle. If both are present, and both style assignments include the same subtype of IfcPresentationStyle, then the style assigned by IfcStyledItem takes priority. /// /// Figure 281 shows an instance diagram explaining the use of IfcStyledItem and IfcPresentationLayerWithStyle to apply presentation styles. /// -/// EXAMPLE� The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles are different, IfcCurveStyle and IfcSurfaceStyle, both are applied to the geometric representation item. +/// EXAMPLE  The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles are different, IfcCurveStyle and IfcSurfaceStyle, both are applied to the geometric representation item. /// /// Figure 281 — Representation item style /// /// Figure 282 shows in instance diagram explaining the override of IfcPresentationLayerWithStyle by IfcStyledItem to apply presentation styles. /// -/// EXAMPLE� The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles for curve style are aprovided by both, the IfcCurveStyle provided by the IfcStyledItem overrides the IfcCurveStyle provided by the IfcPresentationLayerWithStyle +/// EXAMPLE  The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles for curve style are aprovided by both, the IfcCurveStyle provided by the IfcStyledItem overrides the IfcCurveStyle provided by the IfcPresentationLayerWithStyle /// /// Figure 282 — Representation item style override /// -/// HISTORY� New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. /// -/// IFC2x3 CHANGE� The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IfcRepresentationItem : public IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual ArgumentType getArgumentType(unsigned int i) const { throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems - SHARED_PTR< IfcTemplatedEntityList > StyledByItem(); // INVERSE IfcStyledItem::Item + SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems + SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > StyledByItem(); // INVERSE IfcStyledItem::Item bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcRepresentationItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > list; + typedef IfcTemplatedEntityList< IfcRepresentationItem >::it it; }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// -/// NOTE� Corresponding ISO 10303 entity: representation_map. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The mapping_origin (MappingOrigin) is constrained to be of type axis2_placement (IfcAxis2Placement). +/// NOTE  Corresponding ISO 10303 entity: representation_map. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The mapping_origin (MappingOrigin) is constrained to be of type axis2_placement (IfcAxis2Placement). /// /// An IfcRepresentationMap defines the base definition (also referred to as block, cell or macro) called MappedRepresentation within the MappingOrigin. The MappingOrigin defines the coordinate system in which the MappedRepresentation is defined. /// /// The RepresentationMap is used through an IfcMappeditem in one or several IfcShapeRepresentation's. An Cartesian transformation operator can be applied to transform the MappedRepresentation into the placement coordinate system of the shape representation. The transformation of the representation map is restricted to be a Cartesian transformation mapping (translation, rotation, mirroring and scaling). /// -/// NOTE� The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. +/// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// -/// HISTORY� New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. class IfcRepresentationMap : public IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped @@ -9186,14 +9186,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappingOrigin"; case 1: return "MappedRepresentation"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > MapUsage(); // INVERSE IfcMappedItem::MappingSource + SHARED_PTR< IfcTemplatedEntityList< IfcMappedItem > > MapUsage(); // INVERSE IfcMappedItem::MappingSource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcRepresentationMap (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRepresentationMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > list; + typedef IfcTemplatedEntityList< IfcRepresentationMap >::it it; }; class IfcRibPlateProfileProperties : public IfcProfileProperties { public: @@ -9219,8 +9219,8 @@ public: static Type::Enum Class(); IfcRibPlateProfileProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRibPlateProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRibPlateProfileProperties > > list; + typedef IfcTemplatedEntityList< IfcRibPlateProfileProperties >::it it; }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -9239,7 +9239,7 @@ public: /// /// NOTE only the last modification in stored - either as addition, deletion or modification. /// - /// IFC2x4 CHANGE� The attribute has been changed to be OPTIONAL. + /// IFC2x4 CHANGE  The attribute has been changed to be OPTIONAL. IfcOwnerHistory* OwnerHistory(); /// Whether the optional attribute Name is defined for this IfcRoot bool hasName(); @@ -9258,8 +9258,8 @@ public: static Type::Enum Class(); IfcRoot (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRoot* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > list; + typedef IfcTemplatedEntityList< IfcRoot >::it it; }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -9276,7 +9276,7 @@ public: IfcSIPrefix::IfcSIPrefix Prefix(); /// The word, or group of words, by which the SI unit is referred to. /// - /// NOTE� Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. + /// NOTE  Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. IfcSIUnitName::IfcSIUnitName Name(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return Argument_ENUMERATION; case 3: return Argument_ENUMERATION; } return IfcNamedUnit::getArgumentType(i); } @@ -9287,12 +9287,12 @@ public: static Type::Enum Class(); IfcSIUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSIUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSIUnit > > list; + typedef IfcTemplatedEntityList< IfcSIUnit >::it it; }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IfcSectionProperties : public IfcBaseEntity { @@ -9314,12 +9314,12 @@ public: static Type::Enum Class(); IfcSectionProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSectionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionProperties > > list; + typedef IfcTemplatedEntityList< IfcSectionProperties >::it it; }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), @@ -9339,7 +9339,7 @@ public: /// Definition of the cross section profile and longitudinal section type. IfcSectionProperties* SectionDefinition(); /// The set of reinforcment properties attached to a section reinforcement properties definition. - SHARED_PTR< IfcTemplatedEntityList > CrossSectionReinforcementDefinitions(); + SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > CrossSectionReinforcementDefinitions(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_DOUBLE; case 1: return Argument_DOUBLE; case 2: return Argument_DOUBLE; case 3: return Argument_ENUMERATION; case 4: return Argument_ENTITY; case 5: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LongitudinalStartPosition"; case 1: return "LongitudinalEndPosition"; case 2: return "TransversePosition"; case 3: return "ReinforcementRole"; case 4: return "SectionDefinition"; case 5: return "CrossSectionReinforcementDefinitions"; } throw IfcException("argument out of range"); } @@ -9349,8 +9349,8 @@ public: static Type::Enum Class(); IfcSectionReinforcementProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSectionReinforcementProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > list; + typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties >::it it; }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -9363,14 +9363,14 @@ public: /// product shape represent a distinctive part to a product /// that can be explicitly addressed. /// -/// NOTE��The definition of +/// NOTE ÿThe definition of /// this class relates to the ISO 10303 entity shape_aspect. Please /// refer to ISO/IS 10303-41:1994 for the final definition of /// the formal standard. /// -/// HISTORY� New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// -/// IFC 2x4 CHANGE� Attribute +/// IFC 2x4 CHANGE  Attribute /// PartOfProductDefinitionShape declared OPTIONAL with /// upward compatibility for file based exchange. /// @@ -9382,9 +9382,9 @@ public: /// PartOfProductDefinitionShape must refer to this /// instance of IfcProductDefinitionShape. /// -/// NOTE� PartOfProductDefinitionShape is +/// NOTEÿ PartOfProductDefinitionShape is /// only to be omitted if the shape representations are -/// attached to an IfcRepresentationMap. �This +/// attached to an IfcRepresentationMap. ÿThis /// enables the use of IfcShapeAspect with /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the @@ -9392,8 +9392,8 @@ public: class IfcShapeAspect : public IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. - /// IFC2x Edition 3 CHANGE� The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility - SHARED_PTR< IfcTemplatedEntityList > ShapeRepresentations(); + /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility + SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > ShapeRepresentations(); /// Whether the optional attribute Name is defined for this IfcShapeAspect bool hasName(); /// The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag "Glazing" to define which component of a window shape defines the glazing area. @@ -9418,8 +9418,8 @@ public: static Type::Enum Class(); IfcShapeAspect (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcShapeAspect* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > list; + typedef IfcTemplatedEntityList< IfcShapeAspect >::it it; }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -9435,24 +9435,24 @@ public: /// The IfcShapeModel can be a shape representation /// (geometric and/or topologogical) of a product (via /// IfcProductDefinitionShape), or a shape representation -/// (geometric and/or topologogical) �of a component of a product +/// (geometric and/or topologogical)  of a component of a product /// shape (via IfcShapeAspect). /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcShapeModel : public IfcRepresentation { public: virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentation::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > OfShapeAspect(); // INVERSE IfcShapeAspect::ShapeRepresentations + SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > OfShapeAspect(); // INVERSE IfcShapeAspect::ShapeRepresentations bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcShapeModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcShapeModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > list; + typedef IfcTemplatedEntityList< IfcShapeModel >::it it; }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -9584,11 +9584,11 @@ public: /// Table 1: string values for the inherited attribute /// 'RepresentationType'. /// -/// NOTE� The definition of this entity relates to the ISO 10303 entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. +/// NOTE  The definition of this entity relates to the ISO 10303 entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// -/// IFC2x4 CHANGE� The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. +/// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IfcShapeRepresentation : public IfcShapeModel { public: virtual unsigned int getArgumentCount() const { return 4; } @@ -9600,12 +9600,12 @@ public: static Type::Enum Class(); IfcShapeRepresentation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcShapeRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeRepresentation > > list; + typedef IfcTemplatedEntityList< IfcShapeRepresentation >::it it; }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// -/// HISTORY� New Entity in IFC Release 1.0, definition changed in IFC Release 2x. +/// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IfcSimpleProperty : public IfcProperty { public: virtual unsigned int getArgumentCount() const { return 2; } @@ -9617,8 +9617,8 @@ public: static Type::Enum Class(); IfcSimpleProperty (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSimpleProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSimpleProperty > > list; + typedef IfcTemplatedEntityList< IfcSimpleProperty >::it it; }; /// Definition from IAI: Describe more rarely needed connection properties. /// @@ -9638,8 +9638,8 @@ public: static Type::Enum Class(); IfcStructuralConnectionCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralConnectionCondition > > list; + typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition >::it it; }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// @@ -9659,8 +9659,8 @@ public: static Type::Enum Class(); IfcStructuralLoad (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoad* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoad >::it it; }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// @@ -9676,12 +9676,12 @@ public: static Type::Enum Class(); IfcStructuralLoadStatic (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadStatic* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadStatic > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadStatic >::it it; }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { @@ -9704,14 +9704,14 @@ public: static Type::Enum Class(); IfcStructuralLoadTemperature (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadTemperature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadTemperature > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature >::it it; }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcStyleModel : public IfcRepresentation { public: virtual unsigned int getArgumentCount() const { return 4; } @@ -9723,21 +9723,21 @@ public: static Type::Enum Class(); IfcStyleModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStyleModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyleModel > > list; + typedef IfcTemplatedEntityList< IfcStyleModel >::it it; }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// -/// NOTE �Corresponding ISO 10303 name: styled_item. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: styled_item. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// The IfcStyledItem holds presentation style information for products, either explicitly for an IfcGeometricRepresentationItem being part of an IfcShapeRepresentation assigned to a product, or by assigning presentation information to IfcMaterial being assigned as other representation for a product. /// /// If the IfcStyledItem is used within a reference from an IfcProductDefinitionShape then one Item shall be provided. /// If the IfcStyledItem is used within a reference from an IfcMaterialDefinitionRepresentation then no Item shall be provided. /// -/// HISTORY �New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x2 Addendum 1 CHANGE� The entity IfcStyledItem has been made non abstract and the attribute Name added. +/// IFC2x2 Addendum 1 CHANGE  The entity IfcStyledItem has been made non abstract and the attribute Name added. /// /// IFC2x3 CHANGE The attribute Item has been made optional, upward compatibility for file /// based exchange is guaranteed. @@ -9751,7 +9751,7 @@ public: /// As a presentation for a geometric representation item /// As a presentation for a material definition /// -/// NOTE� The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment +/// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item class IfcStyledItem : public IfcRepresentationItem { @@ -9768,7 +9768,7 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - SHARED_PTR< IfcTemplatedEntityList > Styles(); + SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > Styles(); /// Whether the optional attribute Name is defined for this IfcStyledItem bool hasName(); /// The word, or group of words, by which the styled item is referred to. @@ -9782,16 +9782,16 @@ public: static Type::Enum Class(); IfcStyledItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStyledItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > list; + typedef IfcTemplatedEntityList< IfcStyledItem >::it it; }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// -/// NOTE� Current usage of IfcStyledRepresentation is restricted to the assignment of presentation information to an material. The IfcStyledRepresentation includes only presentation styles (IfcCurveStyle, FillAreaStyle, IfcSurfaceStyle) that define how a material should be presented within a particular (eventually view and scale dependent) representation context. All instances of IfcStyledRepresentation are referenced by IfcMaterialDefinitionRepresentation, and assigned to IfcMaterial by IfcMaterialDefinitionRepresentation.RepresentedMaterial. +/// NOTE  Current usage of IfcStyledRepresentation is restricted to the assignment of presentation information to an material. The IfcStyledRepresentation includes only presentation styles (IfcCurveStyle, FillAreaStyle, IfcSurfaceStyle) that define how a material should be presented within a particular (eventually view and scale dependent) representation context. All instances of IfcStyledRepresentation are referenced by IfcMaterialDefinitionRepresentation, and assigned to IfcMaterial by IfcMaterialDefinitionRepresentation.RepresentedMaterial. /// /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcStyledRepresentation : public IfcStyleModel { public: virtual unsigned int getArgumentCount() const { return 4; } @@ -9803,8 +9803,8 @@ public: static Type::Enum Class(); IfcStyledRepresentation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStyledRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyledRepresentation > > list; + typedef IfcTemplatedEntityList< IfcStyledRepresentation >::it it; }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -9818,7 +9818,7 @@ public: /// An indication of which side of the surface to apply the style. IfcSurfaceSide::IfcSurfaceSide Side(); /// A collection of different surface styles. - SHARED_PTR< IfcTemplatedEntityList > Styles(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Styles(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return Argument_ENUMERATION; case 2: return Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Side"; case 2: return "Styles"; } return IfcPresentationStyle::getArgumentName(i); } @@ -9828,8 +9828,8 @@ public: static Type::Enum Class(); IfcSurfaceStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyle > > list; + typedef IfcTemplatedEntityList< IfcSurfaceStyle >::it it; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -9839,9 +9839,9 @@ public: /// /// All these factors can be measured physically and are ratios for the red, green and blue part of the light. These properties are defined in the model as Type IfcColorRGB with a factor for each colour. /// -/// EXAMPLE� A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. +/// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// -/// HISTORY� New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. class IfcSurfaceStyleLighting : public IfcBaseEntity { public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. @@ -9865,8 +9865,8 @@ public: static Type::Enum Class(); IfcSurfaceStyleLighting (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceStyleLighting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleLighting > > list; + typedef IfcTemplatedEntityList< IfcSurfaceStyleLighting >::it it; }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -9892,8 +9892,8 @@ public: static Type::Enum Class(); IfcSurfaceStyleRefraction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceStyleRefraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleRefraction > > list; + typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction >::it it; }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -9915,8 +9915,8 @@ public: static Type::Enum Class(); IfcSurfaceStyleShading (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceStyleShading* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleShading > > list; + typedef IfcTemplatedEntityList< IfcSurfaceStyleShading >::it it; }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -9931,15 +9931,15 @@ public: /// /// Only one instance of IfcSurfaceStyleWithTextures shall be referenced by an IfcStyledItem and be assigned to an IfcGeometricRepresentationItem /// -/// NOTE� The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� inverse attribute HasTextureCoordinates deleted. +/// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IfcSurfaceStyleWithTextures : public IfcBaseEntity { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. - SHARED_PTR< IfcTemplatedEntityList > Textures(); + SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > Textures(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Textures"; } throw IfcException("argument out of range"); } @@ -9949,8 +9949,8 @@ public: static Type::Enum Class(); IfcSurfaceStyleWithTextures (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceStyleWithTextures* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > > list; + typedef IfcTemplatedEntityList< IfcSurfaceStyleWithTextures >::it it; }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -9981,7 +9981,7 @@ public: /// Full RGB textures (three-component) /// Full RGB plus alpha opacity textures (four-component) /// -/// NOTE� Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency). +/// NOTE  Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency). /// /// Figure 295 illustrates the texture coordinate system. /// @@ -9989,7 +9989,7 @@ public: /// /// The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) on texture coordinates apply: /// -/// Texture maps are defined in a 2D coordinate system (s,�t) that ranges from [0.0, 1.0] in both directions. The bottom edge of the image corresponds to the S-axis of the texture map, and left edge of the image corresponds to the T-axis of the texture map. The lower-left pixel of the image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1. Texture maps may be viewed as two dimensional colour functions that, given an (s,�t) coordinate, return a colour value colour(s,�t). +/// Texture maps are defined in a 2D coordinate system (s, t) that ranges from [0.0, 1.0] in both directions. The bottom edge of the image corresponds to the S-axis of the texture map, and left edge of the image corresponds to the T-axis of the texture map. The lower-left pixel of the image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1. Texture maps may be viewed as two dimensional colour functions that, given an (s, t) coordinate, return a colour value colour(s, t). /// /// If multiple surface textures are included in the /// IfcSurfaceStyleWithTextures applying them to a geometric @@ -10039,11 +10039,11 @@ public: /// scale S = TextureTransform.Scale /// scale T = TextureTransform.Scale2 /// -/// NOTE� The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY� New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. /// -/// IFC2x4 CHANGE� Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. +/// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IfcSurfaceTexture : public IfcBaseEntity { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. @@ -10066,8 +10066,8 @@ public: static Type::Enum Class(); IfcSurfaceTexture (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > list; + typedef IfcTemplatedEntityList< IfcSurfaceTexture >::it it; }; /// Definition from ISO/CD 10303-46:1992: The symbol style is the presentation style that indicates the presentation of annotation symbols. /// @@ -10087,8 +10087,8 @@ public: static Type::Enum Class(); IfcSymbolStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSymbolStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSymbolStyle > > list; + typedef IfcTemplatedEntityList< IfcSymbolStyle >::it it; }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -10102,15 +10102,15 @@ public: /// /// Figure 336 — Table use alternative /// -/// HISTORY� New entity in IFC R1.5. +/// HISTORY  New entity in IFC R1.5. /// -/// IFC2x4 CHANGE� Columns attribute added. +/// IFC2x4 CHANGE  Columns attribute added. class IfcTable : public IfcBaseEntity { public: /// A unique name which is intended to describe the usage of the Table. std::string Name(); /// Reference to information content of rows. - SHARED_PTR< IfcTemplatedEntityList > Rows(); + SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > Rows(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Rows"; } throw IfcException("argument out of range"); } @@ -10120,8 +10120,8 @@ public: static Type::Enum Class(); IfcTable (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTable* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTable > > list; + typedef IfcTemplatedEntityList< IfcTable >::it it; }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -10135,25 +10135,25 @@ public: /// /// Figure 338 — Table row use alternative /// -/// HISTORY� New entity in IFC R1.5. +/// HISTORY  New entity in IFC R1.5. class IfcTableRow : public IfcBaseEntity { public: /// The data value of the table cell.. - SHARED_PTR< IfcTemplatedEntityList > RowCells(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > RowCells(); /// Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE. bool IsHeading(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; case 1: return Argument_BOOL; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RowCells"; case 1: return "IsHeading"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > OfTable(); // INVERSE IfcTable::Rows + SHARED_PTR< IfcTemplatedEntityList< IfcTable > > OfTable(); // INVERSE IfcTable::Rows bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcTableRow (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTableRow* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > list; + typedef IfcTemplatedEntityList< IfcTableRow >::it it; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -10166,11 +10166,11 @@ public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress bool hasTelephoneNumbers(); /// The list of telephone numbers at which telephone messages may be received. - std::vector /*[1:?]*/ TelephoneNumbers(); + std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers(); /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress bool hasFacsimileNumbers(); /// The list of fax numbers at which fax messages may be received. - std::vector /*[1:?]*/ FacsimileNumbers(); + std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers(); /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress bool hasPagerNumber(); /// The pager number at which paging messages may be received. @@ -10178,7 +10178,7 @@ public: /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress bool hasElectronicMailAddresses(); /// The list of Email addresses at which Email messages may be received. - std::vector /*[1:?]*/ ElectronicMailAddresses(); + std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses(); /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress bool hasWWWHomePageURL(); /// The world wide web address at which the preliminary page of information for the person or organization can be located. @@ -10195,8 +10195,8 @@ public: static Type::Enum Class(); IfcTelecomAddress (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTelecomAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTelecomAddress > > list; + typedef IfcTemplatedEntityList< IfcTelecomAddress >::it it; }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -10219,13 +10219,13 @@ public: /// /// An IfcTextStyle can be assigned to IfcTextLiteral via the IfcPresentationStyleAssignment through an intermediate IfcAnnotationTextOccurrence. /// -/// NOTE� Corresponding ISO 10303 name: text_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. In order to avoid ANDOR subtype relationships, the IfcTextBlockStyleSelect has been introduced that allows the combination of a text style as having box characteristic, and/or having spacing, or having none of those additional properties. +/// NOTE  Corresponding ISO 10303 name: text_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. In order to avoid ANDOR subtype relationships, the IfcTextBlockStyleSelect has been introduced that allows the combination of a text style as having box characteristic, and/or having spacing, or having none of those additional properties. /// -/// NOTE� Corresponding CSS1 definitions are: Font properties (font-family, font-style, font-variant, font-weight, font-size), Color and background properties (color, background-color) and Text properties (word-spacing, letter-spacing, text-decoration, text-transform, text-align, text-indent, line-height). +/// NOTE  Corresponding CSS1 definitions are: Font properties (font-family, font-style, font-variant, font-weight, font-size), Color and background properties (color, background-color) and Text properties (word-spacing, letter-spacing, text-decoration, text-transform, text-align, text-indent, line-height). /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. +/// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IfcTextStyle : public IfcPresentationStyle { public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle @@ -10237,7 +10237,7 @@ public: /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// - /// IFC2x Edition 3 CHANGE� The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. + /// IFC2x Edition 3 CHANGE  The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. IfcTextStyleSelect TextStyle(); /// The style applied to the text font for its visual appearance. /// It defines the font family, font style, weight and size. @@ -10253,8 +10253,8 @@ public: static Type::Enum Class(); IfcTextStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyle > > list; + typedef IfcTemplatedEntityList< IfcTextStyle >::it it; }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -10284,7 +10284,7 @@ public: /// face, but it doesn't contain a glyph /// for the current character, and if there is a next alternative /// 'font-family' in the font sets, then repeat step 2 with the next -/// alternative 'font-family'.� +/// alternative 'font-family'.  /// If there is no font within /// the family selected in 2, then use a /// UA-dependent default 'font-family' and repeat step 2, using the best @@ -10318,15 +10318,15 @@ public: /// /// The inherited Name attribute is used to define the font name, particularly in cases, where no (list of) font families are provided. /// -/// NOTE� Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',� 'font-weight'). +/// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// Whether the optional attribute FontFamily is defined for this IfcTextStyleFontModel bool hasFontFamily(); /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. - std::vector /*[1:?]*/ FontFamily(); + std::vector< IfcTextFontName > /*[1:?]*/ FontFamily(); /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel bool hasFontStyle(); /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. @@ -10334,15 +10334,15 @@ public: /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel bool hasFontVariant(); /// The font variant property selects between normal and small-caps. - /// NOTE� It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. IfcFontVariant FontVariant(); /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel bool hasFontWeight(); /// The font weight property selects the weight of the font. - /// NOTE� Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. + /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. IfcFontWeight FontWeight(); /// The font size provides the size or height of the text font. - /// NOTE� The following values are allowed, > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleFontModel > > list; + typedef IfcTemplatedEntityList< IfcTextStyleFontModel >::it it; }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// /// Definition from CSS1 (W3C Recommendation): These properties describe the color (often called foreground color) and background of an element (i.e. the surface onto which the content is rendered). One can set a background color. /// -/// NOTE� The CSS1 definition allows also for a background image. This has not been incorporated into IFC. +/// NOTE  The CSS1 definition allows also for a background image. This has not been incorporated into IFC. /// /// The IfcTextStyleForDefinedFont combines the text font color with an optional background color, that fills the text box, defined by the planar extent given to the text literal. /// -/// NOTE� Corresponding ISO 10303 name: text_style_for_defined_font. Please refer to ISO/IS +/// NOTE  Corresponding ISO 10303 name: text_style_for_defined_font. Please refer to ISO/IS /// 10303-46:1994, p.122 for the final definition of the formal standard. The attribute BackgroundColour /// has been added. /// -/// NOTE� Corresponding CSS1 definitions are Color and background properties (color, background-color). +/// NOTE  Corresponding CSS1 definitions are Color and background properties (color, background-color). /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// -/// IFC2x3 CHANGE� The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. +/// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IfcTextStyleForDefinedFont : public IfcBaseEntity { public: /// This property describes the text color of an element (often referred to as the foreground color). @@ -10390,22 +10390,22 @@ public: static Type::Enum Class(); IfcTextStyleForDefinedFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextStyleForDefinedFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleForDefinedFont > > list; + typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont >::it it; }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// /// The IfcTextStyleTextModel combines all text style properties, that affect the presentation of a text literal within a given extent. It includes the spacing between characters and words, the horizontal and vertical alignment of the text within the planar box of the extent, decorations (like underline), transformations of the literal (like uppercase), and the height of each text line within a multi-line text block. /// -/// NOTE� Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). +/// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcTextStyleTextModel : public IfcBaseEntity { public: /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel bool hasTextIndent(); /// The property specifies the indentation that appears before the first formatted line. - /// NOTE� It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. IfcSizeSelect TextIndent(); /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel bool hasTextAlign(); @@ -10418,23 +10418,23 @@ public: /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel bool hasLetterSpacing(); /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). - /// NOTE� The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. + /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. IfcSizeSelect LetterSpacing(); /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel bool hasWordSpacing(); /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). - /// NOTE� It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. IfcSizeSelect WordSpacing(); /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel bool hasTextTransform(); /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. - /// NOTE� It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. IfcTextTransformation TextTransform(); /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel bool hasLineHeight(); /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. - /// NOTE� The following values are allowed: IfcDescriptiveMeasure with value='normal', or + /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. IfcSizeSelect LineHeight(); virtual unsigned int getArgumentCount() const { return 7; } @@ -10446,12 +10446,12 @@ public: static Type::Enum Class(); IfcTextStyleTextModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextStyleTextModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleTextModel > > list; + typedef IfcTemplatedEntityList< IfcTextStyleTextModel >::it it; }; /// The text style with box characteristics allows the presentation of annotated text by specifying the characteristics of the character boxes of the text and the spacing between the character boxes. /// -/// NOTE� The IfcTextStyleWithBoxCharacteristics is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. +/// NOTE  The IfcTextStyleWithBoxCharacteristics is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. /// /// The IfcTextStyleWithBoxCharacteristics is mainly used to provide some compatibility with ISO10303. Its usage is restricted to monospace text fonts (having uniform character boxes) and simple vector based text fonts. For true text fonts however the use of IfcTextStyleTextModel is required. /// @@ -10460,12 +10460,12 @@ public: /// Figure 296 — Text style box angles /// Figure 297 — Text style box attributes /// -/// NOTE� Corresponding ISO 10303 name: text_style_with_box_characteristics. Please refer to ISO/IS 10303-46:1994, p. 123 for the final definition of the formal standard. The four optional attributes BoxHeight, BoxWidth, BoxSlantAngle, BoxRotateAngle are included directly at the entity, and are not handled through the box_characteristic_select selecting box_height, box_width, box_slant_angle, box_rotate_angle, each being defined types.� +/// NOTE  Corresponding ISO 10303 name: text_style_with_box_characteristics. Please refer to ISO/IS 10303-46:1994, p. 123 for the final definition of the formal standard. The four optional attributes BoxHeight, BoxWidth, BoxSlantAngle, BoxRotateAngle are included directly at the entity, and are not handled through the box_characteristic_select selecting box_height, box_width, box_slant_angle, box_rotate_angle, each being defined types.  /// The CharacterSpacing attribute has been added from ISO/IS 10303-46:1994 entity text_style_with_spacing. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The attribute item CharacterSpacing has been added. +/// IFC2x3 CHANGE  The attribute item CharacterSpacing has been added. class IfcTextStyleWithBoxCharacteristics : public IfcBaseEntity { public: /// Whether the optional attribute BoxHeight is defined for this IfcTextStyleWithBoxCharacteristics @@ -10497,34 +10497,34 @@ public: static Type::Enum Class(); IfcTextStyleWithBoxCharacteristics (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextStyleWithBoxCharacteristics* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleWithBoxCharacteristics > > list; + typedef IfcTemplatedEntityList< IfcTextStyleWithBoxCharacteristics >::it it; }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// /// See relevant subtypes of IfcGeometricRepresentationItem for default texture mapping description. /// -/// NOTE� The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The attribute Texture is deleted. +/// IFC2x3 CHANGE  The attribute Texture is deleted. /// -/// IFC2x4 CHANGE� The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. +/// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IfcTextureCoordinate : public IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual ArgumentType getArgumentType(unsigned int i) const { throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > AnnotatedSurface(); // INVERSE IfcAnnotationSurface::TextureCoordinates + SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSurface > > AnnotatedSurface(); // INVERSE IfcAnnotationSurface::TextureCoordinates bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcTextureCoordinate (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextureCoordinate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinate > > list; + typedef IfcTemplatedEntityList< IfcTextureCoordinate >::it it; }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -10547,21 +10547,21 @@ public: /// SPHERE-REFLECT, /// SPHERE-REFLECT-LOCAL /// -/// NOTE� The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY New entity in IFC2x2. /// -/// IFC2x2 Addendum 2 CHANGE� The attribute Texturehas been deleted. +/// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// - /// NOTE� The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. + /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. IfcLabel Mode(); /// The parameters used as arguments by the function as specified by Mode. /// - /// IFC2x4 CHANGE� Made optional data type restricted to REAL. - SHARED_PTR< IfcTemplatedEntityList > Parameter(); + /// IFC2x4 CHANGE  Made optional data type restricted to REAL. + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Parameter(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_ENTITY_LIST; } return IfcTextureCoordinate::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Mode"; case 1: return "Parameter"; } return IfcTextureCoordinate::getArgumentName(i); } @@ -10571,8 +10571,8 @@ public: static Type::Enum Class(); IfcTextureCoordinateGenerator (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextureCoordinateGenerator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinateGenerator > > list; + typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator >::it it; }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -10606,7 +10606,7 @@ public: /// specifies a set of 2D texture coordinates used by vertex-based /// geometry nodes to map textures to vertices. /// -/// NOTE� In contrary to the +/// NOTE  In contrary to the /// X3D vertext based geometry, for example IndexedFaceSet and /// ElevationGrid, the vertext based geometry in IFC may include inner /// loops. The areas of inner loops have to be cut-out from the texture @@ -10616,18 +10616,18 @@ public: /// /// Figure 301 — Texture map /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The attribute Texture is deleted, and the attribute TextureMaps is added. +/// IFC2x3 CHANGE  The attribute Texture is deleted, and the attribute TextureMaps is added. /// -/// IFC2x4 CHANGE� The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added. +/// IFC2x4 CHANGE  The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added. /// /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IfcTextureMap : public IfcTextureCoordinate { public: - SHARED_PTR< IfcTemplatedEntityList > TextureMaps(); + SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > TextureMaps(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcTextureCoordinate::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextureMaps"; } return IfcTextureCoordinate::getArgumentName(i); } @@ -10637,8 +10637,8 @@ public: static Type::Enum Class(); IfcTextureMap (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureMap > > list; + typedef IfcTemplatedEntityList< IfcTextureMap >::it it; }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -10656,13 +10656,13 @@ public: /// coordinate C (s or t) is mapped into a texture map that has N pixels in /// the given direction as follows: /// -/// Texture map location = (C - floor(C)) � N +/// Texture map location = (C - floor(C)) × N /// /// If the texture map is not /// repeated, the texture coordinates are /// clamped to the 0.0 to 1.0 range as follows: /// -/// Texture map location = N, if C > 1.0, = 0.0, if C < 0.0, = C � N, if 0.0 ≤ C ≤ 1.0. +/// Texture map location = N, if C > 1.0, = 0.0, if C < 0.0, = C × N, if 0.0 ≤ C ≤ 1.0. /// /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// @@ -10670,7 +10670,7 @@ public: class IfcTextureVertex : public IfcBaseEntity { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. - std::vector /*[2:2]*/ Coordinates(); + std::vector< IfcParameterValue > /*[2:2]*/ Coordinates(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_VECTOR_DOUBLE; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } throw IfcException("argument out of range"); } @@ -10680,8 +10680,8 @@ public: static Type::Enum Class(); IfcTextureVertex (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextureVertex* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > list; + typedef IfcTemplatedEntityList< IfcTextureVertex >::it it; }; class IfcThermalMaterialProperties : public IfcMaterialProperties { public: @@ -10706,8 +10706,8 @@ public: static Type::Enum Class(); IfcThermalMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcThermalMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcThermalMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcThermalMaterialProperties >::it it; }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -10742,19 +10742,19 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_STRING; case 1: return Argument_STRING; case 2: return Argument_ENTITY; case 3: return Argument_ENTITY; case 4: return Argument_ENUMERATION; case 5: return Argument_ENUMERATION; case 6: return Argument_STRING; case 7: return Argument_ENTITY; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "StartTime"; case 3: return "EndTime"; case 4: return "TimeSeriesDataType"; case 5: return "DataOrigin"; case 6: return "UserDefinedDataOrigin"; case 7: return "Unit"; } throw IfcException("argument out of range"); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > DocumentedBy(); // INVERSE IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries + SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship > > DocumentedBy(); // INVERSE IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcTimeSeries (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeries > > list; + typedef IfcTemplatedEntityList< IfcTimeSeries >::it it; }; class IfcTimeSeriesReferenceRelationship : public IfcBaseEntity { public: IfcTimeSeries* ReferencedTimeSeries(); - SHARED_PTR< IfcTemplatedEntityList > TimeSeriesReferences(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > TimeSeriesReferences(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ReferencedTimeSeries"; case 1: return "TimeSeriesReferences"; } throw IfcException("argument out of range"); } @@ -10764,8 +10764,8 @@ public: static Type::Enum Class(); IfcTimeSeriesReferenceRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTimeSeriesReferenceRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship > > list; + typedef IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship >::it it; }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -10775,11 +10775,11 @@ public: /// /// Figure 241 — Time series value /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcTimeSeriesValue : public IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - SHARED_PTR< IfcTemplatedEntityList > ListValues(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > ListValues(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ListValues"; } throw IfcException("argument out of range"); } @@ -10789,12 +10789,12 @@ public: static Type::Enum Class(); IfcTimeSeriesValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTimeSeriesValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > list; + typedef IfcTemplatedEntityList< IfcTimeSeriesValue >::it it; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// -/// NOTE� Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 class IfcTopologicalRepresentationItem : public IfcRepresentationItem { @@ -10808,8 +10808,8 @@ public: static Type::Enum Class(); IfcTopologicalRepresentationItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTopologicalRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTopologicalRepresentationItem > > list; + typedef IfcTemplatedEntityList< IfcTopologicalRepresentationItem >::it it; }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -10856,18 +10856,18 @@ public: static Type::Enum Class(); IfcTopologyRepresentation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTopologyRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTopologyRepresentation > > list; + typedef IfcTemplatedEntityList< IfcTopologyRepresentation >::it it; }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// -/// NOTE� A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. +/// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// -/// HISTORY� New entity in IFC Release 1.5.1. +/// HISTORY  New entity in IFC Release 1.5.1. class IfcUnitAssignment : public IfcBaseEntity { public: /// Units to be included within a unit assignment. - SHARED_PTR< IfcTemplatedEntityList > Units(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Units(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Units"; } throw IfcException("argument out of range"); } @@ -10877,14 +10877,14 @@ public: static Type::Enum Class(); IfcUnitAssignment (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcUnitAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitAssignment > > list; + typedef IfcTemplatedEntityList< IfcUnitAssignment >::it it; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// -/// NOTE� Corresponding ISO 10303 entity: vertex. Please refer to ISO/IS 10303-42:1994, p. 129 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: vertex. Please refer to ISO/IS 10303-42:1994, p. 129 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// /// Informal proposition: /// @@ -10901,13 +10901,13 @@ public: static Type::Enum Class(); IfcVertex (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVertex* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertex > > list; + typedef IfcTemplatedEntityList< IfcVertex >::it it; }; class IfcVertexBasedTextureMap : public IfcBaseEntity { public: - SHARED_PTR< IfcTemplatedEntityList > TextureVertices(); - SHARED_PTR< IfcTemplatedEntityList > TexturePoints(); + SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > TextureVertices(); + SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > TexturePoints(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; case 1: return Argument_ENTITY_LIST; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextureVertices"; case 1: return "TexturePoints"; } throw IfcException("argument out of range"); } @@ -10917,14 +10917,14 @@ public: static Type::Enum Class(); IfcVertexBasedTextureMap (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVertexBasedTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > list; + typedef IfcTemplatedEntityList< IfcVertexBasedTextureMap >::it it; }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// -/// NOTE� Corresponding ISO 10303 entity: vertex_point. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. +/// NOTE  Corresponding ISO 10303 entity: vertex_point. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. /// -/// HISTORY� New Entity in IFC2x. +/// HISTORY  New Entity in IFC2x. /// /// Informal proposition: /// @@ -10942,8 +10942,8 @@ public: static Type::Enum Class(); IfcVertexPoint (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVertexPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexPoint > > list; + typedef IfcTemplatedEntityList< IfcVertexPoint >::it it; }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -10960,7 +10960,7 @@ public: /// of IntersectingAxes[1] and the orthogonal complement of the IntersectingAxes[1] (which is the positive or negative /// direction of the z axis of the design grid position). /// -/// HISTORY� New entity in IFC Release 1.5. The entity name was changed from IfcConstraintRelIntersection in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5. The entity name was changed from IfcConstraintRelIntersection in IFC Release 2x. /// /// Informal Propositions: /// @@ -11007,9 +11007,9 @@ public: class IfcVirtualGridIntersection : public IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. - SHARED_PTR< IfcTemplatedEntityList > IntersectingAxes(); + SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IntersectingAxes(); /// Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection. - std::vector /*[2:3]*/ OffsetDistances(); + std::vector< IfcLengthMeasure > /*[2:3]*/ OffsetDistances(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; case 1: return Argument_VECTOR_DOUBLE; } throw IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "IntersectingAxes"; case 1: return "OffsetDistances"; } throw IfcException("argument out of range"); } @@ -11019,8 +11019,8 @@ public: static Type::Enum Class(); IfcVirtualGridIntersection (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVirtualGridIntersection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVirtualGridIntersection > > list; + typedef IfcTemplatedEntityList< IfcVirtualGridIntersection >::it it; }; class IfcWaterProperties : public IfcMaterialProperties { public: @@ -11054,8 +11054,8 @@ public: static Type::Enum Class(); IfcWaterProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWaterProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWaterProperties > > list; + typedef IfcTemplatedEntityList< IfcWaterProperties >::it it; }; class IfcAnnotationOccurrence : public IfcStyledItem { public: @@ -11068,8 +11068,8 @@ public: static Type::Enum Class(); IfcAnnotationOccurrence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationOccurrence > > list; + typedef IfcTemplatedEntityList< IfcAnnotationOccurrence >::it it; }; class IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { public: @@ -11082,8 +11082,8 @@ public: static Type::Enum Class(); IfcAnnotationSurfaceOccurrence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationSurfaceOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence > > list; + typedef IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence >::it it; }; class IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence { public: @@ -11096,8 +11096,8 @@ public: static Type::Enum Class(); IfcAnnotationSymbolOccurrence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationSymbolOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence > > list; + typedef IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence >::it it; }; class IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence { public: @@ -11110,8 +11110,8 @@ public: static Type::Enum Class(); IfcAnnotationTextOccurrence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationTextOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationTextOccurrence > > list; + typedef IfcTemplatedEntityList< IfcAnnotationTextOccurrence >::it it; }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -11144,12 +11144,12 @@ public: static Type::Enum Class(); IfcArbitraryClosedProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcArbitraryClosedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > > list; + typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef >::it it; }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// -/// HISTORY� New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// /// Informal proposition: /// @@ -11175,12 +11175,12 @@ public: static Type::Enum Class(); IfcArbitraryOpenProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcArbitraryOpenProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > > list; + typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef >::it it; }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// -/// HISTORY� New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// /// Informal propositions: /// @@ -11200,7 +11200,7 @@ public: class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. - SHARED_PTR< IfcTemplatedEntityList > InnerCurves(); + SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerCurves(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return Argument_ENTITY_LIST; } return IfcArbitraryClosedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InnerCurves"; } return IfcArbitraryClosedProfileDef::getArgumentName(i); } @@ -11210,18 +11210,18 @@ public: static Type::Enum Class(); IfcArbitraryProfileDefWithVoids (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcArbitraryProfileDefWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > > list; + typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids >::it it; }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// -/// NOTE� Toolbox specific implementations of the binary datatype may restrict the maximum length of the binary blob to capture the raster file content. +/// NOTE  Toolbox specific implementations of the binary datatype may restrict the maximum length of the binary blob to capture the raster file content. /// /// For interpretation of the texture nodes see IfcImageTexture definition. /// -/// HISTORY� New class in IFC2x3. +/// HISTORY  New class in IFC2x3. /// -/// IFC2x4 CHANGE� Data type of RasterCode has been corrected to BINARY. +/// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. @@ -11237,8 +11237,8 @@ public: static Type::Enum Class(); IfcBlobTexture (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBlobTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBlobTexture > > list; + typedef IfcTemplatedEntityList< IfcBlobTexture >::it it; }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -11255,7 +11255,7 @@ public: /// /// or a combination of them. See IfcProfileDef for guidance on external references for profiles. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Informal proposition: /// @@ -11282,8 +11282,8 @@ public: static Type::Enum Class(); IfcCenterLineProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCenterLineProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCenterLineProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCenterLineProfileDef >::it it; }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -11321,30 +11321,30 @@ public: static Type::Enum Class(); IfcClassificationReference (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClassificationReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationReference > > list; + typedef IfcTemplatedEntityList< IfcClassificationReference >::it it; }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// -/// NOTE� In contrary to the usual value range of colour components being integer from 0...255, the definition from ISO10303-46 defines the colour components as real from 0.0 ... 1.0. Applications need to execute this conversion before populating the colour RGB values. +/// NOTE  In contrary to the usual value range of colour components being integer from 0...255, the definition from ISO10303-46 defines the colour components as real from 0.0 ... 1.0. Applications need to execute this conversion before populating the colour RGB values. /// -/// NOTE� Corresponding STEP name: colour_rgb. The name attribute has been omitted, the data type for the reg, green and blue parts is IfcNormalizedRatioMeasure, that already includes the range restrictions for the values. Please +/// NOTE  Corresponding STEP name: colour_rgb. The name attribute has been omitted, the data type for the reg, green and blue parts is IfcNormalizedRatioMeasure, that already includes the range restrictions for the values. Please /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcColourRgb : public IfcColourSpecification { public: /// The intensity of the red colour component. /// - /// NOTE� The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. + /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. IfcNormalisedRatioMeasure Red(); /// The intensity of the green colour component. /// - /// NOTE� The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. + /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. IfcNormalisedRatioMeasure Green(); /// The intensity of the blue colour component. /// - /// NOTE� The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. + /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. IfcNormalisedRatioMeasure Blue(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return Argument_DOUBLE; case 2: return Argument_DOUBLE; case 3: return Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } @@ -11355,12 +11355,12 @@ public: static Type::Enum Class(); IfcColourRgb (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcColourRgb* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourRgb > > list; + typedef IfcTemplatedEntityList< IfcColourRgb >::it it; }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// -/// NOTE� Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. +/// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IfcComplexProperty : public IfcProperty { @@ -11369,7 +11369,7 @@ public: /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. IfcIdentifier UsageName(); /// Set of properties that can be used within this complex property (may include other complex properties). - SHARED_PTR< IfcTemplatedEntityList > HasProperties(); + SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > HasProperties(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return Argument_STRING; case 3: return Argument_ENTITY_LIST; } return IfcProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "HasProperties"; } return IfcProperty::getArgumentName(i); } @@ -11379,8 +11379,8 @@ public: static Type::Enum Class(); IfcComplexProperty (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcComplexProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcComplexProperty > > list; + typedef IfcTemplatedEntityList< IfcComplexProperty >::it it; }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -11388,7 +11388,7 @@ public: /// profile definition (except for another composite profile) can be used /// to construct the composite. /// -/// HISTORY� New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// /// Figure 314 illustrates the composite profile definition. The IfcCompositeProfileDef does not define an own position coordinate system, it is directly defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: /// @@ -11400,7 +11400,7 @@ public: /// In case of parameterized profile definitions, the Position attribute of those standard profiles is used to place the profiles relatively to each other. /// In case of arbitrary profile definitions, each Cartesian coordinate is given directly within the underlying coordinate system. /// -/// NOTE� The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid. +/// NOTE  The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid. /// /// Figure 314 /// @@ -11410,18 +11410,18 @@ public: /// only be specified once. It is then included into the composite profile directly /// and additionally indirectly via IfcMirroredProfileDef. For example, a /// double angle made of two L100x10 with 10mm air gap between them, i.e. a -/// _|�|_ shape, can be modeled as +/// _| |_ shape, can be modeled as /// /// single_L : IfcLShapeProfileDef := IfcLShapeProfileDef(AREA, 'L100X100X10', -/// ����IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?), -/// ����.100, .100, .010, .012, ?, 0., ?, ?); -/// � +///     IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?), +///     .100, .100, .010, .012, ?, 0., ?, ?); +///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', -/// ����(single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); +///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. - SHARED_PTR< IfcTemplatedEntityList > Profiles(); + SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > Profiles(); /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef bool hasLabel(); /// The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications. @@ -11435,14 +11435,14 @@ public: static Type::Enum Class(); IfcCompositeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCompositeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCompositeProfileDef >::it it; }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// -/// NOTE� Corresponding ISO 10303 entity: connected_face_set, the subtype closed_shell is included as IfcClosedShell and the subtype open_shell is included as IfcOpenShell. Please refer to ISO/IS 10303-42:1994, p. 144 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: connected_face_set, the subtype closed_shell is included as IfcClosedShell and the subtype open_shell is included as IfcOpenShell. Please refer to ISO/IS 10303-42:1994, p. 144 for the final definition of the formal standard. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Informal proposition: /// @@ -11450,7 +11450,7 @@ public: class IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. - SHARED_PTR< IfcTemplatedEntityList > CfsFaces(); + SHARED_PTR< IfcTemplatedEntityList< IfcFace > > CfsFaces(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CfsFaces"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } @@ -11460,19 +11460,19 @@ public: static Type::Enum Class(); IfcConnectedFaceSet (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectedFaceSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > list; + typedef IfcTemplatedEntityList< IfcConnectedFaceSet >::it it; }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// -/// EXAMPLE� The connection relationship between two walls has a geometric constraint which describes the end caps (or cut-off of the wall ends) by a CurveOnRelatingElement for the first wall and a CurveOnRelatedElement for the second wall. The exact usage of the IfcConnectionCurveGeometry is further defined in the geometry use sections of the elements that use it. +/// EXAMPLE  The connection relationship between two walls has a geometric constraint which describes the end caps (or cut-off of the wall ends) by a CurveOnRelatingElement for the first wall and a CurveOnRelatedElement for the second wall. The exact usage of the IfcConnectionCurveGeometry is further defined in the geometry use sections of the elements that use it. /// /// The available geometry for the connection constraint may be further restricted to only allow straight segments by applying IfcPolyline -/// only. Such an usage constraint is provided at the object definition of the IfcElement subtype, utilizing the element connection by referring to the subtype of IfcRelConnects with the associated�IfcConnectionCurveGeometry. +/// only. Such an usage constraint is provided at the object definition of the IfcElement subtype, utilizing the element connection by referring to the subtype of IfcRelConnects with the associated IfcConnectionCurveGeometry. /// -/// HISTORY� New entity in IFC Release 1.5, has been renamed from IfcLineConnectionGeometry in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, has been renamed from IfcLineConnectionGeometry in IFC Release 2x. /// -/// IFC2x Edition 3 CHANGE� The provision of topology with associated geometry, IfcEdgeCurve, is enabled by using the IfcCurveOrEdgeCurve. +/// IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcEdgeCurve, is enabled by using the IfcCurveOrEdgeCurve. /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. @@ -11493,17 +11493,17 @@ public: static Type::Enum Class(); IfcConnectionCurveGeometry (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectionCurveGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionCurveGeometry > > list; + typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry >::it it; }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// -/// providing the PointOnRelatingElement and the PointOnRelatedElement, where both�point coordinates are not identical within a common parent coordinate system (latestly within the world coordinate system), +/// providing the PointOnRelatingElement and the PointOnRelatedElement, where bothÿpoint coordinates are not identical within a common parent coordinate system (latestly within the world coordinate system), /// providing the PointOnRelatingElement and the three distance measures, EccentricityInX, EccentricityInY, and EccentricityInZ (or only EccentricityInX, and EccentricityInY if the /// underlying coordinate system is two-dimensional), or /// providing both. /// -/// NOTE� If both, PointOnRelatedElement, and EccentricityInX, EccentricityInY, (EccentricityInZ) are provided, the values should be consistent. In case of any non-consistency, the calculated distance between PointOnRelatingElement and PointOnRelatedElement takes precedence. +/// NOTEÿ If both, PointOnRelatedElement, and EccentricityInX, EccentricityInY, (EccentricityInZ) are provided, the values should be consistent. In case of any non-consistency, the calculated distance between PointOnRelatingElement and PointOnRelatedElement takes precedence. /// /// The explicit values for EccentricityInX, EccentricityInY, and EccentricityInZ are always /// measured in the following direction and coordinate system (defining when the value is positive or negative): @@ -11511,7 +11511,7 @@ public: /// from the PointOnRelatedElement to PointOnRelatingElement within the coordinate system of the RelatingElement. /// in addition: when used to specify connections in structural analysis models, the IfcStructuralMember is to be used as the RelatingElement of the relationship object utilizing IfcConnectionPointEccentricity, and the IfcStructuralConnection is the RelatedElement. /// -/// HISTORY� New entity in IFC 2x Edition 3. +/// HISTORYÿ New entity in IFC 2x Edition 3. /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. @@ -11538,8 +11538,8 @@ public: static Type::Enum Class(); IfcConnectionPointEccentricity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConnectionPointEccentricity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPointEccentricity > > list; + typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity >::it it; }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -11561,8 +11561,8 @@ public: static Type::Enum Class(); IfcContextDependentUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcContextDependentUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcContextDependentUnit > > list; + typedef IfcTemplatedEntityList< IfcContextDependentUnit >::it it; }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -11626,8 +11626,8 @@ public: static Type::Enum Class(); IfcConversionBasedUnit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConversionBasedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConversionBasedUnit > > list; + typedef IfcTemplatedEntityList< IfcConversionBasedUnit >::it it; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -11635,17 +11635,17 @@ public: /// /// Styles are intended to be shared by multiple IfcStyledItem's, assigning the style to occurrences of (subtypes of) IfcGeometricRepresentationItem's. Measures given to a font pattern or a curve width are given in global drawing length units. /// -/// NOTE� global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. +/// NOTE  global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. /// /// The measure values for font pattern and curve width apply to the model space with a target plot scale provided for the correct appearance in the default plot scale.. For different scale and projection dependent curve styles a different instance of IfcCurveStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations. /// -/// NOTE� the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale. +/// NOTE  the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale. /// /// An IfcCurveStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or IfcAnnotationCurveOccurrence. /// -/// NOTE� Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcCurveStyle : public IfcPresentationStyle { public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle @@ -11669,8 +11669,8 @@ public: static Type::Enum Class(); IfcCurveStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurveStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyle > > list; + typedef IfcTemplatedEntityList< IfcCurveStyle >::it it; }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -11717,7 +11717,7 @@ public: /// Axis1 = NIL (defaults to 1.,0.) /// Axis2 = NIL (defaults to 0.,1.) /// LocalOrigin = IfcCartesianPoint(0.,<1/2 YDim) -/// Scale� = 1. +/// Scale  = 1. /// Scale2 = 2. /// /// Note: The ParentProfile has a Position @@ -11775,8 +11775,8 @@ public: static Type::Enum Class(); IfcDerivedProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDerivedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedProfileDef > > list; + typedef IfcTemplatedEntityList< IfcDerivedProfileDef >::it it; }; class IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { public: @@ -11789,8 +11789,8 @@ public: static Type::Enum Class(); IfcDimensionCalloutRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDimensionCalloutRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCalloutRelationship > > list; + typedef IfcTemplatedEntityList< IfcDimensionCalloutRelationship >::it it; }; class IfcDimensionPair : public IfcDraughtingCalloutRelationship { public: @@ -11803,8 +11803,8 @@ public: static Type::Enum Class(); IfcDimensionPair (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDimensionPair* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionPair > > list; + typedef IfcTemplatedEntityList< IfcDimensionPair >::it it; }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -11823,14 +11823,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ReferenceToDocument(); // INVERSE IfcDocumentInformation::DocumentReferences + SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > ReferenceToDocument(); // INVERSE IfcDocumentInformation::DocumentReferences bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcDocumentReference (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDocumentReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > list; + typedef IfcTemplatedEntityList< IfcDocumentReference >::it it; }; /// The draughting pre defined text font is a pre defined text font for the purpose to identify a font by name. Allowable names are: /// @@ -11839,9 +11839,9 @@ public: /// /// The ISO 3098-1 font A is the text font as denoted as Letterng A in clause 3 of ISO 3098-1, the ISO 3098-1 font B is the text font as denoted as Letterng B in clause 3 of ISO 3098-1. /// -/// NOTE� The IfcDraughtingPreDefinedTextFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. Corresponding ISO 10303 name: draughting_pre_defined_text_font. Please refer to ISO/IS 10303-202:1994 page 196 for the final definition of the formal standard. +/// NOTE  The IfcDraughtingPreDefinedTextFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. Corresponding ISO 10303 name: draughting_pre_defined_text_font. Please refer to ISO/IS 10303-202:1994 page 196 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcDraughtingPreDefinedTextFont : public IfcPreDefinedTextFont { public: virtual unsigned int getArgumentCount() const { return 1; } @@ -11853,8 +11853,8 @@ public: static Type::Enum Class(); IfcDraughtingPreDefinedTextFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDraughtingPreDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedTextFont > > list; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedTextFont >::it it; }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -11897,9 +11897,9 @@ public: /// /// Figure 333 — Edge representation /// -/// NOTE� Corresponding ISO 10303 entity: edge. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: edge. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// /// Informal propositions: /// @@ -11920,8 +11920,8 @@ public: static Type::Enum Class(); IfcEdge (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEdge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdge > > list; + typedef IfcTemplatedEntityList< IfcEdge >::it it; }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -11939,11 +11939,11 @@ public: /// /// Figure 334 — Edge curve /// -/// NOTE� Corresponding ISO 10303 entity: edge_curve. Please refer to ISO/IS 10303-42:1994, p. 132 +/// NOTE  Corresponding ISO 10303 entity: edge_curve. Please refer to ISO/IS 10303-42:1994, p. 132 /// for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. /// ///
> list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeCurve > > list; + typedef IfcTemplatedEntityList< IfcEdgeCurve >::it it; }; /// The IfcExtendedMaterialProperties assign a set of /// defined material properties to associated material definitions. @@ -11986,9 +11986,9 @@ public: /// The IfcProperty (instantiable subtypes) is used to /// express the individual material properties. /// -/// HISTORY� New entity in Release IFC2x. +/// HISTORY  New entity in Release IFC2x. /// -/// IFC2x4 CHANGE� The attributes Name and Description are promoted to supertype, +/// IFC2x4 CHANGE  The attributes Name and Description are promoted to supertype, /// attribute ExtendedProperties has been renamed to Properties. /// /// Extended property use definitions @@ -12011,7 +12011,7 @@ public: /// General Energy Calculation Properties class IfcExtendedMaterialProperties : public IfcMaterialProperties { public: - SHARED_PTR< IfcTemplatedEntityList > ExtendedProperties(); + SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > ExtendedProperties(); /// Whether the optional attribute Description is defined for this IfcExtendedMaterialProperties bool hasDescription(); IfcText Description(); @@ -12025,8 +12025,8 @@ public: static Type::Enum Class(); IfcExtendedMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExtendedMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtendedMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcExtendedMaterialProperties >::it it; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -12056,13 +12056,13 @@ public: /// where Gli is the graph genus of the /// i th loop. /// -/// NOTE� Corresponding ISO 10303 entity: face. No subtypes of face have been incorporated +/// NOTE  Corresponding ISO 10303 entity: face. No subtypes of face have been incorporated /// into this IFC Release. Please refer to ISO/IS 10303-42:1994, p. 140 for the /// final definition of the formal standard. The WR1 has not been incorporated, /// since it is always satisfied, due to the fact that only poly loops exist for /// face bounds. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Informal propositions: /// @@ -12075,7 +12075,7 @@ public: class IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. - SHARED_PTR< IfcTemplatedEntityList > Bounds(); + SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > Bounds(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bounds"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } @@ -12085,14 +12085,14 @@ public: static Type::Enum Class(); IfcFace (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFace > > list; + typedef IfcTemplatedEntityList< IfcFace >::it it; }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// -/// NOTE� Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 class IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. @@ -12108,8 +12108,8 @@ public: static Type::Enum Class(); IfcFaceBound (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFaceBound* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > list; + typedef IfcTemplatedEntityList< IfcFaceBound >::it it; }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -12127,8 +12127,8 @@ public: static Type::Enum Class(); IfcFaceOuterBound (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFaceOuterBound* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceOuterBound > > list; + typedef IfcTemplatedEntityList< IfcFaceOuterBound >::it it; }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -12144,13 +12144,13 @@ public: /// all the vertex points and edge curves are contained in the face geometry /// surface. A surface may be referenced by more than one face surface. /// -/// NOTE� Corresponding ISO 10303 entity: +/// NOTE  Corresponding ISO 10303 entity: /// face_surface. Please refer to ISO/IS 10303-42:1994, p. 204 for the final /// definition of the formal standard. Due to the general IFC model specification /// rule not to use multiple inheritance, the subtype relationship to /// geometric_representation_item is not included. /// -/// HISTORY� New class in IFC2x +/// HISTORY  New class in IFC2x /// /// Informal propositions: /// @@ -12181,8 +12181,8 @@ public: static Type::Enum Class(); IfcFaceSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFaceSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceSurface > > list; + typedef IfcTemplatedEntityList< IfcFaceSurface >::it it; }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -12226,8 +12226,8 @@ public: static Type::Enum Class(); IfcFailureConnectionCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFailureConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFailureConnectionCondition > > list; + typedef IfcTemplatedEntityList< IfcFailureConnectionCondition >::it it; }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -12235,38 +12235,38 @@ public: /// /// Solid fill for areas and surfaces by only assigning IfcColour to the set of FillStyles. It then provides the background colour for the filled area or surface. /// -/// NOTE� Color information of surfaces for rendering is assigned by using IfcSurfaceStyle, not by using IfcFillAreaStyle. +/// NOTE  Color information of surfaces for rendering is assigned by using IfcSurfaceStyle, not by using IfcFillAreaStyle. /// /// Vector based hatching for areas and surfaces based on a single row of hatch lines by assigning a single instance of IfcFillAreaStyleHatching to the set of FillStyles. If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching. Vector based hatching for areas and surfaces based on two (potentially crossing) rows of hatch lines by assigning two instances of IfcFillAreaStyleHatching to the set of FillStyles. /// /// If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching. /// -/// NOTE� Assigning more then two instances of IfcFillAreaStyleHatching to define three or more rows of hatch lines is not encouraged. +/// NOTE  Assigning more then two instances of IfcFillAreaStyleHatching to define three or more rows of hatch lines is not encouraged. /// /// Tiling for areas and surfaces by assigning a single instance of IfcFillAreaStyleTiles to the set of FillStyles. If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the tiling. /// -/// IFC2x3 NOTE� The use of IfcFillAreaStyleTiles is discouraged., as its definition might change is future releases. +/// IFC2x3 NOTE  The use of IfcFillAreaStyleTiles is discouraged., as its definition might change is future releases. /// /// Externally defined hatch style by assigning a single instance of IfcExternallyDefinedHatchStyle to the set of FillStyles. /// If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching. /// /// Measures given to a hatch or tile pattern are given in global drawing length units. /// -/// NOTE� Global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. +/// NOTE  Global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. /// /// The measure values for hatch or tile pattern apply to the model space with a target plot scale provided for the correct appearance in the default plot scale. For different scale and projection dependent fill area styles a different instance of IfcFillAreaStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations. /// -/// NOTE� the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale. +/// NOTE  the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale. /// /// An IfcFillAreaStyle can be assigned to IfcFillArea via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or subtype IfcAnnotationFillAreaOccurrence. /// -/// NOTE� Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - SHARED_PTR< IfcTemplatedEntityList > FillStyles(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > FillStyles(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FillStyles"; } return IfcPresentationStyle::getArgumentName(i); } @@ -12276,8 +12276,8 @@ public: static Type::Enum Class(); IfcFillAreaStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFillAreaStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyle > > list; + typedef IfcTemplatedEntityList< IfcFillAreaStyle >::it it; }; class IfcFuelProperties : public IfcMaterialProperties { public: @@ -12302,8 +12302,8 @@ public: static Type::Enum Class(); IfcFuelProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFuelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFuelProperties > > list; + typedef IfcTemplatedEntityList< IfcFuelProperties >::it it; }; class IfcGeneralMaterialProperties : public IfcMaterialProperties { public: @@ -12325,8 +12325,8 @@ public: static Type::Enum Class(); IfcGeneralMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeneralMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeneralMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcGeneralMaterialProperties >::it it; }; class IfcGeneralProfileProperties : public IfcProfileProperties { public: @@ -12354,8 +12354,8 @@ public: static Type::Enum Class(); IfcGeneralProfileProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeneralProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeneralProfileProperties > > list; + typedef IfcTemplatedEntityList< IfcGeneralProfileProperties >::it it; }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -12378,7 +12378,7 @@ public: /// /// Figure 329 — Geometric representation context true north /// -/// NOTE��The inherited attribute +/// NOTE ÿThe inherited attribute /// ContextType shall have one of the following recognized /// values: 'Sketch', 'Outline', 'Design', 'Detail', /// 'Model', 'Plan', @@ -12399,11 +12399,11 @@ public: /// /// Figure 330 — Geometric representation context use /// -/// NOTE� The definition of this class relates to the ISO 10303 entity geometric_representation_context. Please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. +/// NOTE  The definition of this class relates to the ISO 10303 entity geometric_representation_context. Please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. /// -/// HISTORY��New Entity in IFC Release 2.0 +/// HISTORY ÿNew Entity in IFC Release 2.0 /// -/// IFC2x3 CHANGE��Applicable values for ContextType are only 'Model',� 'Plan', and�'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE ÿApplicable values for ContextType are only 'Model',ÿ 'Plan', andÿ'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. @@ -12414,7 +12414,7 @@ public: double Precision(); /// Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project. /// - /// Note� it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.). + /// Note  it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.). IfcAxis2Placement WorldCoordinateSystem(); /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext bool hasTrueNorth(); @@ -12424,14 +12424,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return Argument_INT; case 3: return Argument_DOUBLE; case 4: return Argument_ENTITY; case 5: return Argument_ENTITY; } return IfcRepresentationContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "CoordinateSpaceDimension"; case 3: return "Precision"; case 4: return "WorldCoordinateSystem"; case 5: return "TrueNorth"; } return IfcRepresentationContext::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasSubContexts(); // INVERSE IfcGeometricRepresentationSubContext::ParentContext + SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > > HasSubContexts(); // INVERSE IfcGeometricRepresentationSubContext::ParentContext bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationContext (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeometricRepresentationContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationContext > > list; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext >::it it; }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -12463,22 +12463,22 @@ public: static Type::Enum Class(); IfcGeometricRepresentationItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeometricRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationItem > > list; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationItem >::it it; }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// /// The IfcGeometricRepresentationSubContext is used to define semantically distinguished representation types for different information content, dependent on the representation view and the target scale. It can be used to control the level of detail of the shape representation that is most applicable to this geometric representation context. addition the sub context is used to control the later appearance of the IfcShapeRepresentation within a plot view. /// -/// NOTE� If the IfcShapeRepresentation using this sub context has IfcStyledItem's assigned to the Items, the presentation style information (e.g. IfcCurveStyle, IfcTextStyle) associated with the IfcStyledItem is given in target plot dimensions. For example, a line thickness (IfcCurveStyle.CurveWidth) is given by a thickness measure relating to the thickness for a plot within the (range of) target scale. +/// NOTE  If the IfcShapeRepresentation using this sub context has IfcStyledItem's assigned to the Items, the presentation style information (e.g. IfcCurveStyle, IfcTextStyle) associated with the IfcStyledItem is given in target plot dimensions. For example, a line thickness (IfcCurveStyle.CurveWidth) is given by a thickness measure relating to the thickness for a plot within the (range of) target scale. /// /// Each IfcProduct can then have several instances of subtypes of IfcRepresentation, each being assigned to a different geometric representation context (IfcGeometricRepresentationContext or IfcGeometricRepresentationSubContext). The application can then choose the most appropriate representation for showing the geometric shape of the product, depending on the target view and scale. /// -/// NOTE� The provision of a model view (IfcGeometricRepresentationContext.ContextType = 'Model') is mandatory. Instances of IfcGeometricRepresentationSubContext relate to it as its ParentContext. +/// NOTE  The provision of a model view (IfcGeometricRepresentationContext.ContextType = 'Model') is mandatory. Instances of IfcGeometricRepresentationSubContext relate to it as its ParentContext. /// -/// EXAMPLE� Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. +/// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// -/// HISTORY� New entity in Release IFC 2x2. +/// HISTORY  New entity in Release IFC 2x2. class IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. @@ -12512,8 +12512,8 @@ public: static Type::Enum Class(); IfcGeometricRepresentationSubContext (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeometricRepresentationSubContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > > list; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::it it; }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -12525,7 +12525,7 @@ public: class IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. - SHARED_PTR< IfcTemplatedEntityList > Elements(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Elements(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -12535,8 +12535,8 @@ public: static Type::Enum Class(); IfcGeometricSet (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeometricSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricSet > > list; + typedef IfcTemplatedEntityList< IfcGeometricSet >::it it; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -12549,14 +12549,14 @@ public: /// PlacementRefDirection = IfcDirection: by the explicitly provided direction information; /// PlacementRefDirection = IfcVirtualGridIntersection: by the tangent between the virtual grid intersection of PlacementLocation and the virtual grid intersection of PlacementRefDirection. Offsets as potentially provided in the IfcVirtualGridIntersection's of PlacementLocation and PlacementRefDirection have to be taken into account. /// -/// The direction of the y-axis of the IfcGridPlacement is the orthogonal complement to the x-axis. The plane defined by the x and y axis shall be co-planar to the xy plane of the local placement of the IfcGrid.� +/// The direction of the y-axis of the IfcGridPlacement is the orthogonal complement to the x-axis. The plane defined by the x and y axis shall be co-planar to the xy plane of the local placement of the IfcGrid.ÿ /// The direction of the z-axis is the orientation of the cross product of the x-axis and the y-axis, i.e. the z-axis of the IfcGridPlacement shall be co-linear to the z-axis of the local placement of the IfcGrid. /// /// NOTE The IfcGrid local placement, that can be provided relative to the local placement of another spatial structure element, has to be taken into account for calculating the absolute placement of the virtual grid intersection. /// /// NOTE The PlacementLocation.OffsetDistances[3] and the PlacementRefDirection.OffsetDistances[3] shall either not be assigned or should have the same z offset value. /// -/// HISTORY �New entity in IFC Release 1.5. The entity name was changed from IfcConstrainedPlacement in IFC Release 2x. +/// HISTORY ÿNew entity in IFC Release 1.5. The entity name was changed from IfcConstrainedPlacement in IFC Release 2x. /// /// IFC2x4 CHANGE Attribute data type of PlacementRefDirection has been changed to IfcGridPlacementDirectionSelect. /// @@ -12602,8 +12602,8 @@ public: static Type::Enum Class(); IfcGridPlacement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGridPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGridPlacement > > list; + typedef IfcTemplatedEntityList< IfcGridPlacement >::it it; }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -12635,8 +12635,8 @@ public: static Type::Enum Class(); IfcHalfSpaceSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcHalfSpaceSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcHalfSpaceSolid > > list; + typedef IfcTemplatedEntityList< IfcHalfSpaceSolid >::it it; }; class IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: @@ -12664,8 +12664,8 @@ public: static Type::Enum Class(); IfcHygroscopicMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcHygroscopicMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcHygroscopicMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcHygroscopicMaterialProperties >::it it; }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -12697,11 +12697,11 @@ public: /// /// The Uniform Resource Locator (URL) is a form of an URI and specified in RFC1738 by IETF. It supports resources located on a particular server being accessed by a particular protocol (usually http), and resources located at a local machine. /// -/// NOTE� Exchange files following the ifcZIP convention may include a sub directory structure for image resources to be stored together with the product data set. +/// NOTE  Exchange files following the ifcZIP convention may include a sub directory structure for image resources to be stored together with the product data set. /// -/// NOTE� The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY� New entity in Release IFC2x2. +/// HISTORY  New entity in Release IFC2x2. class IfcImageTexture : public IfcSurfaceTexture { public: IfcIdentifier UrlReference(); @@ -12714,8 +12714,8 @@ public: static Type::Enum Class(); IfcImageTexture (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcImageTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcImageTexture > > list; + typedef IfcTemplatedEntityList< IfcImageTexture >::it it; }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -12725,7 +12725,7 @@ public: class IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. - SHARED_PTR< IfcTemplatedEntityList > Values(); + SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > Values(); virtual unsigned int getArgumentCount() const { return 9; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_ENTITY_LIST; } return IfcTimeSeries::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "Values"; } return IfcTimeSeries::getArgumentName(i); } @@ -12735,8 +12735,8 @@ public: static Type::Enum Class(); IfcIrregularTimeSeries (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcIrregularTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeries > > list; + typedef IfcTemplatedEntityList< IfcIrregularTimeSeries >::it it; }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -12771,8 +12771,8 @@ public: static Type::Enum Class(); IfcLightSource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightSource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSource > > list; + typedef IfcTemplatedEntityList< IfcLightSource >::it it; }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -12792,8 +12792,8 @@ public: static Type::Enum Class(); IfcLightSourceAmbient (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightSourceAmbient* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceAmbient > > list; + typedef IfcTemplatedEntityList< IfcLightSourceAmbient >::it it; }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -12818,8 +12818,8 @@ public: static Type::Enum Class(); IfcLightSourceDirectional (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightSourceDirectional* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceDirectional > > list; + typedef IfcTemplatedEntityList< IfcLightSourceDirectional >::it it; }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -12853,8 +12853,8 @@ public: static Type::Enum Class(); IfcLightSourceGoniometric (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightSourceGoniometric* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceGoniometric > > list; + typedef IfcTemplatedEntityList< IfcLightSourceGoniometric >::it it; }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -12862,7 +12862,7 @@ public: /// /// Point light node's illumination falls off with distance as specified by three attenuation coefficients. The attenuation factor is /// -/// 1/max(attenuation[0] + attenuation[1] � r + attenuation[2] � r 2 , 1), +/// 1/max(attenuation[0] + attenuation[1] × r + attenuation[2] × r 2 , 1), /// /// where r is the distance from the light to the surface being illuminated. The default is no attenuation. An attenuation value of (0, 0, 0) is identical to (1, 0, 0). Attenuation values shall be greater than or equal to zero. /// @@ -12894,12 +12894,12 @@ public: static Type::Enum Class(); IfcLightSourcePositional (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightSourcePositional* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourcePositional > > list; + typedef IfcTemplatedEntityList< IfcLightSourcePositional >::it it; }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// -/// NOTE� The IfcLightSourceSpot adds the BeamWidthAngle which defines the inner cone in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (BeamWidthAngle) to the outer solid angle (SpreadAngle). +/// NOTE  The IfcLightSourceSpot adds the BeamWidthAngle which defines the inner cone in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (BeamWidthAngle) to the outer solid angle (SpreadAngle). /// /// Definition from ISO/IEC 14772-1:1997: The Spot light node defines a light source that emits light from a specific point along a specific direction vector and constrained within a solid angle. Spot lights may illuminate geometry nodes that respond to light sources and intersect the solid angle defined by the Spot light. Spot light nodes are specified in the local coordinate system and are affected by ancestors' transformations. /// @@ -12907,11 +12907,11 @@ public: /// /// Figure 304 — Light source spot /// -/// NOTE� Corresponding ISO 10303 entity: light_source_spot. Please refer to ISO/IS 10303-46:1994, p. 33 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: light_source_spot. Please refer to ISO/IS 10303-46:1994, p. 33 for the final definition of the formal standard. /// -/// NOTE� In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. +/// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// -/// HISTORY� This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. +/// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IfcLightSourceSpot : public IfcLightSourcePositional { public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. @@ -12936,8 +12936,8 @@ public: static Type::Enum Class(); IfcLightSourceSpot (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightSourceSpot* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceSpot > > list; + typedef IfcTemplatedEntityList< IfcLightSourceSpot >::it it; }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -13008,8 +13008,8 @@ public: static Type::Enum Class(); IfcLocalPlacement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLocalPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLocalPlacement > > list; + typedef IfcTemplatedEntityList< IfcLocalPlacement >::it it; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -13029,9 +13029,9 @@ public: /// where V and El are the number of unique /// vertices and oriented edges in the loop and Gl is the genus /// of the loop. -/// NOTE� Corresponding ISO 10303 entity: loop, the following subtypes have been incorporated into IFC: poly_loop as IfcPolyLoop, vertex_loop as IfcVertexLoop, edge_loop as IfcEdgeLoop. Please refer to ISO/IS 10303-42:1994, p. 136 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: loop, the following subtypes have been incorporated into IFC: poly_loop as IfcPolyLoop, vertex_loop as IfcVertexLoop, edge_loop as IfcEdgeLoop. Please refer to ISO/IS 10303-42:1994, p. 136 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC2x. +/// HISTORY  New Entity in IFC2x. /// Informal propositions: /// /// A loop has a finite extent. @@ -13048,8 +13048,8 @@ public: static Type::Enum Class(); IfcLoop (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLoop > > list; + typedef IfcTemplatedEntityList< IfcLoop >::it it; }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -13058,13 +13058,13 @@ public: /// The IfcMappedItem is the inserted instance of a source definition (to be compared with a /// block / shared cell / macro definition). The instance is inserted by applying a Cartesian transformation operator as the MappingTarget. /// -/// EXAMPLE� An IfcMappedItem can reuse other mapped items (ako nested blocks), doing so the IfcRepresentationMap is based on an IfcShapeRepresentation including one or more IfcMappedItem's. +/// EXAMPLE  An IfcMappedItem can reuse other mapped items (ako nested blocks), doing so the IfcRepresentationMap is based on an IfcShapeRepresentation including one or more IfcMappedItem's. /// -/// NOTE � Corresponding ISO 10303 entity: mapped_item. Please refer to ISO/IS +/// NOTE   Corresponding ISO 10303 entity: mapped_item. Please refer to ISO/IS /// 10303-43:1994, for the final definition of the formal standard. The definition of mapping_target (MappingTarget) has been restricted to be of the type cartesian_transformation_operator /// (IfcCartesianTransformationOperator). /// -/// HISTORY� New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. /// /// Informal Propositions /// @@ -13085,12 +13085,12 @@ public: static Type::Enum Class(); IfcMappedItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMappedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMappedItem > > list; + typedef IfcTemplatedEntityList< IfcMappedItem >::it it; }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// -/// NOTE� The IfcMaterialDefinitionRepresentation is currently only used +/// NOTE  The IfcMaterialDefinitionRepresentation is currently only used /// to define presentation information to material used at element /// occurrences, defined as subtypes of IfcElement, or at /// element types, defined as subtypes of IfcElementType. The @@ -13107,11 +13107,11 @@ public: /// different presentation styles for different representation contexts, for example, a different style for sketch view, model view or plan view, or for different target scales, /// for each representation context is can apply curve style, fill area style (hatching), symbol, text and surface style. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// -/// IFC2x3 CHANGE� The entity IfcMaterialDefinitionRepresentation has been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE  The entity IfcMaterialDefinitionRepresentation has been added. Upward compatibility for file based exchange is guaranteed. /// -/// IFC2x4 CHANGE� The assignment of curve, surface and other styles to an IfcStyledItem has been simplified by IfcStyleAssignmentSelect. The use of intermediate IfcPresentationStyleAssignment is deprecated. +/// IFC2x4 CHANGE  The assignment of curve, surface and other styles to an IfcStyledItem has been simplified by IfcStyleAssignmentSelect. The use of intermediate IfcPresentationStyleAssignment is deprecated. /// /// Use definition /// @@ -13131,8 +13131,8 @@ public: static Type::Enum Class(); IfcMaterialDefinitionRepresentation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMaterialDefinitionRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > > list; + typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation >::it it; }; class IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { public: @@ -13163,8 +13163,8 @@ public: static Type::Enum Class(); IfcMechanicalConcreteMaterialProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMechanicalConcreteMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalConcreteMaterialProperties > > list; + typedef IfcTemplatedEntityList< IfcMechanicalConcreteMaterialProperties >::it it; }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -13206,7 +13206,7 @@ public: /// It applies the units, representation context and other context /// information to this object definition and all dependent ones. /// -/// EXCEPTION� The link +/// EXCEPTION  The link /// between the uppermost object in the spatial structure tree, that is /// IfcSite or ifcBuilding, and the context provided /// by IfcProject is created using the @@ -13222,21 +13222,21 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasAssignments(); // INVERSE IfcRelAssigns::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList > IsDecomposedBy(); // INVERSE IfcRelDecomposes::RelatingObject - SHARED_PTR< IfcTemplatedEntityList > Decomposes(); // INVERSE IfcRelDecomposes::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssigns > > HasAssignments(); // INVERSE IfcRelAssigns::RelatedObjects + SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > IsDecomposedBy(); // INVERSE IfcRelDecomposes::RelatingObject + SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > Decomposes(); // INVERSE IfcRelDecomposes::RelatedObjects + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcObjectDefinition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcObjectDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > list; + typedef IfcTemplatedEntityList< IfcObjectDefinition >::it it; }; /// Definition from ISO/CD 10303-46:1992: A one time repeat factor is a vector used in the fill area style hatching and fill area style tiles entities for determining the origin of the repeated hatch line relative to the origin of the previous hatch line, Given the initial position of any hatch line, the one direction repeat factor determines two new positions according to the equation: /// -/// I + k * R ���k X{-1,1} +/// I + k * R    k X{-1,1} /// /// NOTE: Corresponding ISO 10303 name: one_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994, p. 112 for the final definition of the formal standard. /// @@ -13254,8 +13254,8 @@ public: static Type::Enum Class(); IfcOneDirectionRepeatFactor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOneDirectionRepeatFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOneDirectionRepeatFactor > > list; + typedef IfcTemplatedEntityList< IfcOneDirectionRepeatFactor >::it it; }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -13283,7 +13283,7 @@ public: /// vertices. The domain of an open shell, if present, contains all edges and /// vertices of its faces. /// -/// NOTE� Note that this is slightly different from the +/// NOTE  Note that this is slightly different from the /// definition of a face domain, which includes none of its bounds. For example, a /// face domain may exclude an isolated point or line segment. An open shell domain /// may not. (See the algorithm for computing below.) @@ -13293,11 +13293,11 @@ public: /// further specification, including the Euler formulas to be satisfied, please /// refer to ISO 10303-42:1994. /// -/// NOTE� Corresponding ISO 10303 entity: +/// NOTE  Corresponding ISO 10303 entity: /// open_shell, please refer to ISO/IS 10303-42:1994, p.148 for the final /// definition of the formal standard. /// -/// HISTORY� New class in IFC2x. +/// HISTORY  New class in IFC2x. /// /// Informal propositions: /// @@ -13327,16 +13327,16 @@ public: static Type::Enum Class(); IfcOpenShell (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOpenShell* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpenShell > > list; + typedef IfcTemplatedEntityList< IfcOpenShell >::it it; }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// -/// NOTE� A common practice is solid modelling systems is to have an entity that represents the "use" or "traversal" of an edge. This "use" entity explicitly represents the requirement in a manifold solid that each edge must be traversed exactly twice, once in each direction. The "use" functionality is provided by the edge subtype oriented edge. +/// NOTE  A common practice is solid modelling systems is to have an entity that represents the "use" or "traversal" of an edge. This "use" entity explicitly represents the requirement in a manifold solid that each edge must be traversed exactly twice, once in each direction. The "use" functionality is provided by the edge subtype oriented edge. /// -/// NOTE� Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC Release 2.0. +/// HISTORY  New Entity in IFC Release 2.0. class IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. @@ -13352,8 +13352,8 @@ public: static Type::Enum Class(); IfcOrientedEdge (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOrientedEdge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > list; + typedef IfcTemplatedEntityList< IfcOrientedEdge >::it it; }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -13382,19 +13382,19 @@ public: /// is given; see guidance at IfcProfileDef), or estimate them, or /// simply assume zero values. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x Platform CHANGE� The IfcParameterizedProfileDef +/// IFC2x Platform CHANGE  The IfcParameterizedProfileDef /// is introduced as an intermediate new abstract entity that unifies the /// definition and usage of the position coordinate system for all /// parameterized profiles. The Position attribute has been removed at all /// subtypes (like IfcRectangleProfileDef, IfcCircleProfileDef, /// etc.). /// -/// IFC2x3 CHANGE� All profile origins are now in the center +/// IFC2x3 CHANGE  All profile origins are now in the center /// of the bounding box. /// -/// IFC2x4 CHANGE� Position attribute made optional (default: identity transformation). +/// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IfcParameterizedProfileDef : public IfcProfileDef { @@ -13410,16 +13410,16 @@ public: static Type::Enum Class(); IfcParameterizedProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcParameterizedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcParameterizedProfileDef > > list; + typedef IfcTemplatedEntityList< IfcParameterizedProfileDef >::it it; }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// /// An individual edge can only be referenced once by an individual path. An edge can be referenced by multiple paths. An edge can exist independently of a path. /// -/// NOTE� Corresponding ISO 10303 entity: path. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: path. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// /// Informal proposition: /// @@ -13430,7 +13430,7 @@ public: class IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. - SHARED_PTR< IfcTemplatedEntityList > EdgeList(); + SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > EdgeList(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeList"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } @@ -13440,8 +13440,8 @@ public: static Type::Enum Class(); IfcPath (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPath* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPath > > list; + typedef IfcTemplatedEntityList< IfcPath >::it it; }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -13449,13 +13449,13 @@ public: /// /// A section "Quantity Use Definition" at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name and Discrimination attribute to characterize the complex quantities. /// -/// HISTORY� New entity in IFC2x2 Addendum 1. +/// HISTORY  New entity in IFC2x2 Addendum 1. /// -/// IFC2x2 ADDENDUM 1 CHANGE� The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. - SHARED_PTR< IfcTemplatedEntityList > HasQuantities(); + SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > HasQuantities(); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. IfcLabel Discrimination(); /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity @@ -13475,8 +13475,8 @@ public: static Type::Enum Class(); IfcPhysicalComplexQuantity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPhysicalComplexQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalComplexQuantity > > list; + typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity >::it it; }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -13485,7 +13485,7 @@ public: /// /// The PixelTexture node defines a 2D image-based texture map as an explicit array of pixel values (image field) and parameters controlling tiling repetition of the texture onto geometry. /// Texture maps are defined in a 2D coordinate system (s, t) that ranges from 0.0 to 1.0 in both directions. The bottom edge of the pixel image corresponds to the S-axis of the texture map, and left edge of the pixel image corresponds to the T-axis of the texture map. The lower-left pixel of the pixel image corresponds to s=0.0, t=0.0, and the top-right pixel of the image corresponds to s = 1.0, t = 1.0. -/// The Image field specifies a single uncompressed 2-dimensional pixel image. Image fields contain three integers representing the width, height and number of components in the image, followed by width�height hexadecimal values representing the pixels in the image. Pixel values are limited to 256 levels of intensity (that is, 0x00-0xFF hexadecimal). +/// The Image field specifies a single uncompressed 2-dimensional pixel image. Image fields contain three integers representing the width, height and number of components in the image, followed by width×height hexadecimal values representing the pixels in the image. Pixel values are limited to 256 levels of intensity (that is, 0x00-0xFF hexadecimal). /// /// A one-component image specifies one-byte hexadecimal value representing the intensity of the image. For example, 0xFF is full intensity in hexadecimal (255 in decimal), 0x00 is no intensity (0 in decimal). /// A two-component image specifies the intensity in the first @@ -13506,8 +13506,8 @@ public: IfcInteger ColourComponents(); /// Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. /// - /// IFC2x Edition 3 CHANGE� The data type has been changed from STRING to BINARY. - std::vector /*[1:?]*/ Pixel(); + /// IFC2x Edition 3 CHANGE  The data type has been changed from STRING to BINARY. + std::vector< char[32] > /*[1:?]*/ Pixel(); virtual unsigned int getArgumentCount() const { return 8; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_INT; case 5: return Argument_INT; case 6: return Argument_INT; case 7: return Argument_UNKNOWN; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Width"; case 5: return "Height"; case 6: return "ColourComponents"; case 7: return "Pixel"; } return IfcSurfaceTexture::getArgumentName(i); } @@ -13517,8 +13517,8 @@ public: static Type::Enum Class(); IfcPixelTexture (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPixelTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPixelTexture > > list; + typedef IfcTemplatedEntityList< IfcPixelTexture >::it it; }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -13542,14 +13542,14 @@ public: static Type::Enum Class(); IfcPlacement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlacement > > list; + typedef IfcTemplatedEntityList< IfcPlacement >::it it; }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// -/// NOTE� Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. @@ -13565,8 +13565,8 @@ public: static Type::Enum Class(); IfcPlanarExtent (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPlanarExtent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlanarExtent > > list; + typedef IfcTemplatedEntityList< IfcPlanarExtent >::it it; }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -13584,8 +13584,8 @@ public: static Type::Enum Class(); IfcPoint (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPoint > > list; + typedef IfcTemplatedEntityList< IfcPoint >::it it; }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -13611,8 +13611,8 @@ public: static Type::Enum Class(); IfcPointOnCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPointOnCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPointOnCurve > > list; + typedef IfcTemplatedEntityList< IfcPointOnCurve >::it it; }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -13640,8 +13640,8 @@ public: static Type::Enum Class(); IfcPointOnSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPointOnSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPointOnSurface > > list; + typedef IfcTemplatedEntityList< IfcPointOnSurface >::it it; }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -13649,11 +13649,11 @@ public: /// by an ordered coplanar collection of points forming the vertices of the /// loop. The loop is composed of straight line segments joining a point in /// the collection to the succeeding point in the collection. The closing -/// segment is from the last to the first point in the collection.� +/// segment is from the last to the first point in the collection.  /// The direction of the loop is in the direction of the line /// segments. /// -/// NOTE �This entity exists primarily to facilitate the efficient communication of faceted B-rep models. +/// NOTE  This entity exists primarily to facilitate the efficient communication of faceted B-rep models. /// /// A poly loop shall conform to the following topological /// constraints: @@ -13666,17 +13666,17 @@ public: /// in the list of Polygon's to the first IfcCartesianPoint. /// Therefore the first point shall not be repeated at the end of the list, /// neither by referencing the same instance, nor by using an additional -/// instance of�IfcCartesianPoint having the +/// instance of IfcCartesianPoint having the /// coordinates as the first point. /// -/// NOTE� Corresponding ISO 10303 entity: poly_loop. Please refer to ISO/IS +/// NOTE  Corresponding ISO 10303 entity: poly_loop. Please refer to ISO/IS /// 10303-42:1994, p. 138 for the final definition of the formal standard. /// Due to the general IFC model specification rule not to use multiple /// inheritance, the subtype relationship to geometric_representation_item /// is not included. The derived attribute Dim has been /// added at this level. /// -/// HISTORY � New class in IFC Release 1.0 +/// HISTORY   New class in IFC Release 1.0 /// /// Informal propositions: /// @@ -13685,7 +13685,7 @@ public: class IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. - SHARED_PTR< IfcTemplatedEntityList > Polygon(); + SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > Polygon(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcLoop::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Polygon"; } return IfcLoop::getArgumentName(i); } @@ -13695,8 +13695,8 @@ public: static Type::Enum Class(); IfcPolyLoop (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPolyLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolyLoop > > list; + typedef IfcTemplatedEntityList< IfcPolyLoop >::it it; }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -13704,7 +13704,7 @@ public: /// polygonal boundary. The base /// surface of the half space is positioned by its normal relativeto the /// object coordinate system -/// (as defined at the supertype IfcHalfSpaceSolid),�and +/// (as defined at the supertype IfcHalfSpaceSolid), and /// its polygonal (with or without arc segments) boundary is defined in the /// XY plane of the position /// coordinate system established by the Position @@ -13720,9 +13720,9 @@ public: /// one the normal points away from. If the agreement flag is FALSE, then /// the subset is the one the normal points into. /// -/// NOTE� A polygonal bounded half space is not a subtype of IfcSolidModel, half space solids are only useful as operands in Boolean expressions. +/// NOTE  A polygonal bounded half space is not a subtype of IfcSolidModel, half space solids are only useful as operands in Boolean expressions. /// -/// HISTORY� New class in IFC Release 2x. +/// HISTORY  New class in IFC Release 2x. /// /// Informal propositions: /// @@ -13731,7 +13731,7 @@ public: /// shall be closed. /// If the PolygonalBoundary /// is given by an IfcCompositeCurve, it shall only -/// have�IfcCompositeCurveSegment's of type IfcPolyline, +/// have IfcCompositeCurveSegment's of type IfcPolyline, /// or IfcTrimmedCurve (having a BasisCurve /// of type IfcLine, or IfcCircle) /// @@ -13760,7 +13760,7 @@ public: IfcAxis2Placement3D* Position(); /// Two-dimensional polyline bounded curve, defined in the xy plane of the position coordinate system. /// - /// IFC2x Edition 3 CHANGE� The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange. + /// IFC2x Edition 3 CHANGE  The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange. IfcBoundedCurve* PolygonalBoundary(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return Argument_ENTITY; case 3: return Argument_ENTITY; } return IfcHalfSpaceSolid::getArgumentType(i); } @@ -13771,14 +13771,14 @@ public: static Type::Enum Class(); IfcPolygonalBoundedHalfSpace (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPolygonalBoundedHalfSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace > > list; + typedef IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace >::it it; }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// -/// NOTE� Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPreDefinedColour : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } @@ -13790,8 +13790,8 @@ public: static Type::Enum Class(); IfcPreDefinedColour (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedColour* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedColour > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedColour >::it it; }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -13811,8 +13811,8 @@ public: static Type::Enum Class(); IfcPreDefinedCurveFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedCurveFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedCurveFont > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont >::it it; }; class IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { public: @@ -13825,8 +13825,8 @@ public: static Type::Enum Class(); IfcPreDefinedDimensionSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedDimensionSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol >::it it; }; class IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { public: @@ -13839,8 +13839,8 @@ public: static Type::Enum Class(); IfcPreDefinedPointMarkerSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPreDefinedPointMarkerSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedPointMarkerSymbol > > list; + typedef IfcTemplatedEntityList< IfcPreDefinedPointMarkerSymbol >::it it; }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -13851,24 +13851,24 @@ public: /// /// or the topological representation items for connectivity systems (vertex, edge, face representations) that may include geometric representation items (vertex points, edge curves, face surfaces) /// -/// NOTE� The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. +/// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC Release 1.5 +/// HISTORY  New Entity in IFC Release 1.5 class IfcProductDefinitionShape : public IfcProductRepresentation { public: virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { return IfcProductRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProductRepresentation::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ShapeOfProduct(); // INVERSE IfcProduct::Representation - SHARED_PTR< IfcTemplatedEntityList > HasShapeAspects(); // INVERSE IfcShapeAspect::PartOfProductDefinitionShape + SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > ShapeOfProduct(); // INVERSE IfcProduct::Representation + SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > HasShapeAspects(); // INVERSE IfcShapeAspect::PartOfProductDefinitionShape bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcProductDefinitionShape (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProductDefinitionShape* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductDefinitionShape > > list; + typedef IfcTemplatedEntityList< IfcProductDefinitionShape >::it it; }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -13877,7 +13877,7 @@ public: /// and the second value specifying the lower bound. It defines /// a property - value bound (min-max) combination for which /// the property Name, an optional -/// Description,�the optional UpperBoundValue +/// Description,ÿthe optional UpperBoundValue /// with measure type, the optional LowerBoundValue with /// measure type, and the optional Unit is given. /// @@ -13906,7 +13906,7 @@ public: /// LowerBoundValue or the UpperBoundValue is /// included in the interval. /// -/// NOTE� An IfcPropertyBoundedValue may be +/// NOTE  An IfcPropertyBoundedValue may be /// exchanged with no values assigned yet. In this case the /// LowerBoundValue and the UpperBoundValue are /// set to NIL. @@ -13963,11 +13963,11 @@ public: /// /// kg /// -/// HISTORY��New entity in IFC Release 2x. +/// HISTORY ÿNew entity in IFC Release 2x. /// -/// IFC2x2 CHANGE� The attribute type of the attribute UpperBoundValue and LowerBoundValue has been changed from mandatory to optional with upward compatibility for file based exchange. +/// IFC2x2 CHANGE  The attribute type of the attribute UpperBoundValue and LowerBoundValue has been changed from mandatory to optional with upward compatibility for file based exchange. /// -/// IFC2x4 CHANGE� The attribute SetPointValue has been added. +/// IFC2x4 CHANGE  The attribute SetPointValue has been added. /// /// Informal proposition: /// @@ -13997,8 +13997,8 @@ public: static Type::Enum Class(); IfcPropertyBoundedValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyBoundedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyBoundedValue > > list; + typedef IfcTemplatedEntityList< IfcPropertyBoundedValue >::it it; }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -14022,12 +14022,12 @@ public: /// values, measure types and units, and are associated to an object /// occurrence or object type. /// -/// NOTE 1� The subtype hierarchy of IfcPropertyDefinition also includes statically defined property sets as IfcPreDefinedPropertySet. Those are rarely used collections of fixed attributes combined in an entity definition. The IfcPreDefinedPropertySet can not be determined by an IfcPropertySetTemplate. +/// NOTE 1  The subtype hierarchy of IfcPropertyDefinition also includes statically defined property sets as IfcPreDefinedPropertySet. Those are rarely used collections of fixed attributes combined in an entity definition. The IfcPreDefinedPropertySet can not be determined by an IfcPropertySetTemplate. /// -/// NOTE 2� Individual properties, (subtypes of IfcProperty), are currently not included in the subtype hierarchy of IfcPropertyDefinition. This anomaly is due to upward compatibility reasons with earlier releases of this +/// NOTE 2  Individual properties, (subtypes of IfcProperty), are currently not included in the subtype hierarchy of IfcPropertyDefinition. This anomaly is due to upward compatibility reasons with earlier releases of this /// standard. /// -/// HISTORY� New Entity in IFC2.0 +/// HISTORY  New Entity in IFC2.0 /// /// Relationship use definition /// Property definitions define information that is shared among @@ -14056,24 +14056,24 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcPropertyDefinition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDefinition > > list; + typedef IfcTemplatedEntityList< IfcPropertyDefinition >::it it; }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property /// object which has a value assigned that is chosen from an /// enumeration. It defines a property - value combination for which -/// the�property Name, an optional Description,�the +/// theÿproperty Name, an optional Description,ÿthe /// optional EnumerationValues /// with measure type and optionally an Unit is given. /// -/// NOTE� Multiple choices from the property enumeration are supported. +/// NOTE  Multiple choices from the property enumeration are supported. /// /// The unit is handled by the Unit attribute of the /// IfcPropertyEnumeration: @@ -14093,18 +14093,18 @@ public: /// (see IfcPropertyEnumeration). This enables applications to /// use an enumeration value as a property within a property set /// (IfcPropertySet) including the allowed list of -/// values.� +/// values.ÿ /// -/// NOTE� An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL. +/// NOTE  An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL. /// /// Examples of a property with enumerated value are: /// -/// Name� +/// Nameÿ /// Value (EnumerationValue) /// Type (through /// IfcValue) /// ref.IfcPropertyEnumeration -/// (Name)� +/// (Name)ÿ /// /// BladeAction /// Opposed @@ -14137,7 +14137,7 @@ public: /// referenced by multiple instances of /// IfcPropertyEnumeratedValue. /// -/// HISTORY��New Entity in IFC Release 2.0, capabilities enhanced in IFC2x. The entity has +/// HISTORY ÿNew Entity in IFC Release 2.0, capabilities enhanced in IFC2x. The entity has /// been renamed from IfcEnumeratedProperty in IFC2x. /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward @@ -14146,8 +14146,8 @@ class IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// - /// IFC2x4 CHANGE� The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList > EnumerationValues(); + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > EnumerationValues(); /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue bool hasEnumerationReference(); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. @@ -14161,15 +14161,15 @@ public: static Type::Enum Class(); IfcPropertyEnumeratedValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyEnumeratedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyEnumeratedValue > > list; + typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue >::it it; }; /// An IfcPropertyListValue /// defines a property that has several (numeric or /// descriptive) values assigned, these values are given by an -/// ordered list.�It defines a property - list value +/// ordered list.ÿIt defines a property - list value /// combination for which the property Name, an optional -/// Description,�the optional ListValues with measure +/// Description,ÿthe optional ListValues with measure /// type and optionally an Unit is given. /// /// An IfcPropertyListValue is a list of values. The @@ -14226,15 +14226,15 @@ public: /// /// - /// -/// HISTORY� New Entity in Release IFC 2x Edition 2. +/// HISTORY  New Entity in Release IFC 2x Edition 2. /// -/// IFC2x4 CHANGE� Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. +/// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// - /// IFC2x4 CHANGE� The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList > ListValues(); + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > ListValues(); /// Whether the optional attribute Unit is defined for this IfcPropertyListValue bool hasUnit(); /// Unit for the list values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. @@ -14248,8 +14248,8 @@ public: static Type::Enum Class(); IfcPropertyListValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyListValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyListValue > > list; + typedef IfcTemplatedEntityList< IfcPropertyListValue >::it it; }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -14259,11 +14259,11 @@ public: /// entities to be used as value references are given by the /// IfcObjectReferenceSelect. /// -/// HISTORY� New entity in IFC +/// HISTORY  New entity in IFC /// Release 1.5. Entity has been renamed from /// IfcObjectReference in IFC Release 2x. /// -/// IFC2x4 CHANGE� Attribute +/// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. class IfcPropertyReferenceValue : public IfcSimpleProperty { @@ -14274,7 +14274,7 @@ public: IfcLabel UsageName(); /// Reference to another property entity through one of the select types in the IfcObjectReferenceSelect. /// - /// IFC2x4 CHANGE� The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcObjectReferenceSelect PropertyReference(); virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return Argument_STRING; case 3: return Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } @@ -14285,8 +14285,8 @@ public: static Type::Enum Class(); IfcPropertyReferenceValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyReferenceValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyReferenceValue > > list; + typedef IfcTemplatedEntityList< IfcPropertyReferenceValue >::it it; }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -14309,9 +14309,9 @@ public: /// the meaning of the properties is defined by the name and data type /// of the explicit attribute representing it. /// -/// HISTORY� New Entity in IFC Release 2x +/// HISTORY  New Entity in IFC Release 2x /// -/// IFC2x4 CHANGE� The subtype IfcPreDefinedPropertySet has been added. +/// IFC2x4 CHANGE  The subtype IfcPreDefinedPropertySet has been added. /// /// Relationship use definition /// Property set definitions define information that is shared among @@ -14329,28 +14329,28 @@ public: /// IfcRelDefinesByProperties that applies the property set, /// with all included properties, to the object occurrence. /// -/// NOTE� Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. +/// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IfcPropertySetDefinition : public IfcPropertyDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertyDefinition::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > PropertyDefinitionOf(); // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition - SHARED_PTR< IfcTemplatedEntityList > DefinesType(); // INVERSE IfcTypeObject::HasPropertySets + SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > PropertyDefinitionOf(); // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition + SHARED_PTR< IfcTemplatedEntityList< IfcTypeObject > > DefinesType(); // INVERSE IfcTypeObject::HasPropertySets bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcPropertySetDefinition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertySetDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > list; + typedef IfcTemplatedEntityList< IfcPropertySetDefinition >::it it; }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has /// a single (numeric or descriptive) value assigned. It defines a /// property - single value combination for which the property -/// Name, an optional Description,�and an optional +/// Name, an optional Description,ÿand an optional /// NominalValue with measure type is provided. In addition, /// the default unit as specified within the project unit context can /// be overriden by assigning an Unit. @@ -14387,18 +14387,18 @@ public: /// IfcThermalTransmittanceMeasure /// W/(m2K) /// -/// HISTORY��New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. +/// HISTORY ÿNew entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// -/// IFC2x3 CHANGE��Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. +/// IFC2x3 CHANGE ÿAttribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertySingleValue : public IfcSimpleProperty { public: /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue bool hasNominalValue(); /// Value and measure type of this property. /// - /// NOTE� By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. + /// NOTE  By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. /// - /// IFC2x3 CHANGE� The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x3 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcValue NominalValue(); /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue bool hasUnit(); @@ -14413,8 +14413,8 @@ public: static Type::Enum Class(); IfcPropertySingleValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertySingleValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySingleValue > > list; + typedef IfcTemplatedEntityList< IfcPropertySingleValue >::it it; }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -14484,7 +14484,7 @@ public: /// /// dB /// -/// � +/// ÿ /// /// 200 /// @@ -14494,11 +14494,11 @@ public: /// /// IfcNumericMeasure /// -/// � +/// ÿ /// -/// � +/// ÿ /// -/// � +/// ÿ /// /// 400 /// @@ -14508,11 +14508,11 @@ public: /// /// IfcNumericMeasure /// -/// � +/// ÿ /// -/// � +/// ÿ /// -/// � +/// ÿ /// /// 800 /// @@ -14522,11 +14522,11 @@ public: /// /// IfcNumericMeasure /// -/// � +/// ÿ /// -/// � +/// ÿ /// -/// � +/// ÿ /// /// 1600 /// @@ -14536,11 +14536,11 @@ public: /// /// IfcNumericMeasure /// -/// � +/// ÿ /// -/// � +/// ÿ /// -/// � +/// ÿ /// /// 3200 /// @@ -14550,13 +14550,13 @@ public: /// /// IfcNumericMeasure /// -/// � +/// ÿ /// -/// � +/// ÿ /// /// HISTORY: New entity in IFC2x. /// -/// IFC2x4 CHANGE� Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added.. +/// IFC2x4 CHANGE  Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added.. /// /// Informal propositions: /// @@ -14566,12 +14566,12 @@ class IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// - /// IFC2x4 CHANGE� The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList > DefiningValues(); + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > DefiningValues(); /// Defined values which are applicable for the scope as defined by the defining values. /// - /// IFC2x4 CHANGE� The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList > DefinedValues(); + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > DefinedValues(); /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue bool hasExpression(); /// Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression. @@ -14593,8 +14593,8 @@ public: static Type::Enum Class(); IfcPropertyTableValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertyTableValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTableValue > > list; + typedef IfcTemplatedEntityList< IfcPropertyTableValue >::it it; }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -14645,8 +14645,8 @@ public: static Type::Enum Class(); IfcRectangleProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRectangleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangleProfileDef > > list; + typedef IfcTemplatedEntityList< IfcRectangleProfileDef >::it it; }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -14658,7 +14658,7 @@ public: /// A duration of time intervals between values. IfcTimeMeasure TimeStep(); /// The collection of time series values. - SHARED_PTR< IfcTemplatedEntityList > Values(); + SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > Values(); virtual unsigned int getArgumentCount() const { return 10; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_DOUBLE; case 9: return Argument_ENTITY_LIST; } return IfcTimeSeries::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "TimeStep"; case 9: return "Values"; } return IfcTimeSeries::getArgumentName(i); } @@ -14668,8 +14668,8 @@ public: static Type::Enum Class(); IfcRegularTimeSeries (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRegularTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRegularTimeSeries > > list; + typedef IfcTemplatedEntityList< IfcRegularTimeSeries >::it it; }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -14704,7 +14704,7 @@ public: /// Descriptive type name applied to reinforcement definition properties. IfcLabel DefinitionType(); /// The list of section reinforcement properties attached to the reinforcement definition properties. - SHARED_PTR< IfcTemplatedEntityList > ReinforcementSectionDefinitions(); + SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > ReinforcementSectionDefinitions(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_STRING; case 5: return Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "DefinitionType"; case 5: return "ReinforcementSectionDefinitions"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -14714,8 +14714,8 @@ public: static Type::Enum Class(); IfcReinforcementDefinitionProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcReinforcementDefinitionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > > list; + typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties >::it it; }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -14736,14 +14736,14 @@ public: static Type::Enum Class(); IfcRelationship (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelationship > > list; + typedef IfcTemplatedEntityList< IfcRelationship >::it it; }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// -/// HISTORY� New class in IFC2x. +/// HISTORY  New class in IFC2x. /// -/// IFC2x PLATFORM CHANGE� The IfcRoundedRectangleProfileDef is now subtyped from IfcRectangleProfileDef. The XDim and YDim attributes have been removed (now inherited from supertype). +/// IFC2x PLATFORM CHANGE  The IfcRoundedRectangleProfileDef is now subtyped from IfcRectangleProfileDef. The XDim and YDim attributes have been removed (now inherited from supertype). /// /// Figure 324 illustrates parameters of the rounded rectangle profile definition. /// @@ -14789,8 +14789,8 @@ public: static Type::Enum Class(); IfcRoundedRectangleProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRoundedRectangleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > > list; + typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef >::it it; }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -14850,9 +14850,9 @@ public: /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. IfcCompositeCurve* SpineCurve(); /// A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions. - SHARED_PTR< IfcTemplatedEntityList > CrossSections(); + SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > CrossSections(); /// Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system. - SHARED_PTR< IfcTemplatedEntityList > CrossSectionPositions(); + SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > CrossSectionPositions(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY_LIST; case 2: return Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SpineCurve"; case 1: return "CrossSections"; case 2: return "CrossSectionPositions"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -14862,8 +14862,8 @@ public: static Type::Enum Class(); IfcSectionedSpine (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSectionedSpine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionedSpine > > list; + typedef IfcTemplatedEntityList< IfcSectionedSpine >::it it; }; class IfcServiceLifeFactor : public IfcPropertySetDefinition { public: @@ -14884,8 +14884,8 @@ public: static Type::Enum Class(); IfcServiceLifeFactor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcServiceLifeFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcServiceLifeFactor > > list; + typedef IfcTemplatedEntityList< IfcServiceLifeFactor >::it it; }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -14901,7 +14901,7 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - SHARED_PTR< IfcTemplatedEntityList > SbsmBoundary(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > SbsmBoundary(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SbsmBoundary"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -14911,8 +14911,8 @@ public: static Type::Enum Class(); IfcShellBasedSurfaceModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcShellBasedSurfaceModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcShellBasedSurfaceModel > > list; + typedef IfcTemplatedEntityList< IfcShellBasedSurfaceModel >::it it; }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -14946,8 +14946,8 @@ public: static Type::Enum Class(); IfcSlippageConnectionCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSlippageConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlippageConnectionCondition > > list; + typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition >::it it; }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -14965,8 +14965,8 @@ public: static Type::Enum Class(); IfcSolidModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSolidModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSolidModel > > list; + typedef IfcTemplatedEntityList< IfcSolidModel >::it it; }; class IfcSoundProperties : public IfcPropertySetDefinition { public: @@ -14974,7 +14974,7 @@ public: /// Whether the optional attribute SoundScale is defined for this IfcSoundProperties bool hasSoundScale(); IfcSoundScaleEnum::IfcSoundScaleEnum SoundScale(); - SHARED_PTR< IfcTemplatedEntityList > SoundValues(); + SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > SoundValues(); virtual unsigned int getArgumentCount() const { return 7; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_BOOL; case 5: return Argument_ENUMERATION; case 6: return Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "IsAttenuating"; case 5: return "SoundScale"; case 6: return "SoundValues"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -14984,8 +14984,8 @@ public: static Type::Enum Class(); IfcSoundProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSoundProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSoundProperties > > list; + typedef IfcTemplatedEntityList< IfcSoundProperties >::it it; }; class IfcSoundValue : public IfcPropertySetDefinition { public: @@ -15005,8 +15005,8 @@ public: static Type::Enum Class(); IfcSoundValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSoundValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > list; + typedef IfcTemplatedEntityList< IfcSoundValue >::it it; }; class IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: @@ -15041,8 +15041,8 @@ public: static Type::Enum Class(); IfcSpaceThermalLoadProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpaceThermalLoadProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceThermalLoadProperties > > list; + typedef IfcTemplatedEntityList< IfcSpaceThermalLoadProperties >::it it; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -15084,8 +15084,8 @@ public: static Type::Enum Class(); IfcStructuralLoadLinearForce (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadLinearForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadLinearForce > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce >::it it; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -15115,8 +15115,8 @@ public: static Type::Enum Class(); IfcStructuralLoadPlanarForce (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadPlanarForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce >::it it; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -15158,8 +15158,8 @@ public: static Type::Enum Class(); IfcStructuralLoadSingleDisplacement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadSingleDisplacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement >::it it; }; /// Definition from IAI: Defines a displacement with warping. /// @@ -15179,8 +15179,8 @@ public: static Type::Enum Class(); IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadSingleDisplacementDistortion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion >::it it; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -15223,8 +15223,8 @@ public: static Type::Enum Class(); IfcStructuralLoadSingleForce (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadSingleForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleForce > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce >::it it; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -15249,8 +15249,8 @@ public: static Type::Enum Class(); IfcStructuralLoadSingleForceWarping (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadSingleForceWarping* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping >::it it; }; class IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: @@ -15311,8 +15311,8 @@ public: static Type::Enum Class(); IfcStructuralProfileProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralProfileProperties > > list; + typedef IfcTemplatedEntityList< IfcStructuralProfileProperties >::it it; }; class IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { public: @@ -15337,8 +15337,8 @@ public: static Type::Enum Class(); IfcStructuralSteelProfileProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralSteelProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSteelProfileProperties > > list; + typedef IfcTemplatedEntityList< IfcStructuralSteelProfileProperties >::it it; }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -15347,9 +15347,9 @@ public: /// The domain of the subedge is formally defined to be the domain of the parent edge, as trimmed by the subedge start vertex and subedge end vertex. /// The start vertex and end vertex shall be within the union of the domains of the vertices of the parent edge and the domain of the parent edge. /// -/// NOTE� Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. @@ -15363,8 +15363,8 @@ public: static Type::Enum Class(); IfcSubedge (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSubedge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubedge > > list; + typedef IfcTemplatedEntityList< IfcSubedge >::it it; }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -15387,8 +15387,8 @@ public: static Type::Enum Class(); IfcSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurface > > list; + typedef IfcTemplatedEntityList< IfcSurface >::it it; }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -15487,8 +15487,8 @@ public: static Type::Enum Class(); IfcSurfaceStyleRendering (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceStyleRendering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleRendering > > list; + typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering >::it it; }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -15523,8 +15523,8 @@ public: static Type::Enum Class(); IfcSweptAreaSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptAreaSolid > > list; + typedef IfcTemplatedEntityList< IfcSweptAreaSolid >::it it; }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -15556,15 +15556,15 @@ public: /// and end default to start and end of the bounded curve of the /// Directrix /// -/// NOTE� Although the example shows a Directrix as a composite curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions. +/// NOTE  Although the example shows a Directrix as a composite curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions. /// /// Figure 272 — Swept disk solid geometry /// -/// NOTE� Corresponding ISO 10303-42 entity: swept_disk_solid. Please refer to ISO/FDIS 10303-42:2002, p. 282 for the definition of the formal standard. +/// NOTE  Corresponding ISO 10303-42 entity: swept_disk_solid. Please refer to ISO/FDIS 10303-42:2002, p. 282 for the definition of the formal standard. /// -/// HISTORY� New entity in IFC Release 2x2. +/// HISTORY  New entity in IFC Release 2x2. /// -/// IFC2x4 CHANGE� The attribute StartParam and EndParam have been made optional. +/// IFC2x4 CHANGE  The attribute StartParam and EndParam have been made optional. /// /// Informal proposition /// @@ -15591,11 +15591,11 @@ public: IfcPositiveLengthMeasure InnerRadius(); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// - /// IFC2x4 CHANGE� The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. IfcParameterValue StartParam(); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// - /// IFC2x4 CHANGE� The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. IfcParameterValue EndParam(); virtual unsigned int getArgumentCount() const { return 5; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_DOUBLE; case 2: return Argument_DOUBLE; case 3: return Argument_DOUBLE; case 4: return Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } @@ -15606,8 +15606,8 @@ public: static Type::Enum Class(); IfcSweptDiskSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSweptDiskSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptDiskSolid > > list; + typedef IfcTemplatedEntityList< IfcSweptDiskSolid >::it it; }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -15629,8 +15629,8 @@ public: static Type::Enum Class(); IfcSweptSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSweptSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptSurface > > list; + typedef IfcTemplatedEntityList< IfcSweptSurface >::it it; }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -15639,11 +15639,11 @@ public: /// the following illustration. The centre of the position coordinate /// system is in the profile's centre of the bounding box. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE� Type of FilletRadius, FlangeEdgeRadius, and WebEdgeRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. +/// IFC2x4 CHANGE  Type of FilletRadius, FlangeEdgeRadius, and WebEdgeRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 326 illustrates parameters of the T-shape profile definition. /// @@ -15702,8 +15702,8 @@ public: static Type::Enum Class(); IfcTShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcTShapeProfileDef >::it it; }; class IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { public: @@ -15717,19 +15717,19 @@ public: static Type::Enum Class(); IfcTerminatorSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTerminatorSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTerminatorSymbol > > list; + typedef IfcTemplatedEntityList< IfcTerminatorSymbol >::it it; }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// -/// NOTE� The IfcTextLiteral is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange. +/// NOTE  The IfcTextLiteral is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange. /// -/// NOTE� Corresponding ISO 10303 name: text_literal. Please refer to ISO/IS 10303-46:1994 for the +/// NOTE  Corresponding ISO 10303 name: text_literal. Please refer to ISO/IS 10303-46:1994 for the /// final definition of the formal standard. The attributes font and alignment have been removed as those should be handled by the text style. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The IfcTextLiteral has been changed by removing Font and Alignment. +/// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. @@ -15748,18 +15748,18 @@ public: static Type::Enum Class(); IfcTextLiteral (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextLiteral* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextLiteral > > list; + typedef IfcTemplatedEntityList< IfcTextLiteral >::it it; }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// -/// NOTE� The IfcTextLiteralWithExtent is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. +/// NOTE  The IfcTextLiteralWithExtent is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. /// -/// NOTE� Corresponding ISO 10303 name: text_literal_with_extent. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: text_literal_with_extent. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE �The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. +/// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. @@ -15775,12 +15775,12 @@ public: static Type::Enum Class(); IfcTextLiteralWithExtent (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTextLiteralWithExtent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextLiteralWithExtent > > list; + typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent >::it it; }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// -/// HISTORY� New class in IFC 1.5. The use definition has changed in IFC2x. +/// HISTORY  New class in IFC 1.5. The use definition has changed in IFC2x. /// /// Figure 325 illustrates parameters of the trapezium profile definition. /// @@ -15835,13 +15835,13 @@ public: static Type::Enum Class(); IfcTrapeziumProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTrapeziumProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTrapeziumProfileDef > > list; + typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef >::it it; }; /// Definition from ISO/CD 10303-46:1992: A two direction repeat factor combines two vectors which are used in the fill area style tiles entity for determining the shape and relative location of tiles. Given the initial position of any tile, the two direction repeat factor determines eight new positions according to the equation: /// /// k1* R1 + k2* R2 -/// �����k X{-1,1}� +///      k X{-1,1}  /// /// NOTE Corresponding ISO 10303 name: two_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// @@ -15859,8 +15859,8 @@ public: static Type::Enum Class(); IfcTwoDirectionRepeatFactor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTwoDirectionRepeatFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTwoDirectionRepeatFactor > > list; + typedef IfcTemplatedEntityList< IfcTwoDirectionRepeatFactor >::it it; }; /// The object type defines the /// specific information about a type, being common to all @@ -15909,48 +15909,48 @@ public: bool hasHasPropertySets(); /// Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type. /// - /// IFC2x3 CHANGE� The attribute aggregate type has been changed from LIST to SET. - SHARED_PTR< IfcTemplatedEntityList > HasPropertySets(); + /// IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET. + SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > HasPropertySets(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_STRING; case 5: return Argument_ENTITY_LIST; } return IfcObjectDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ApplicableOccurrence"; case 5: return "HasPropertySets"; } return IfcObjectDefinition::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ObjectTypeOf(); // INVERSE IfcRelDefinesByType::RelatingType + SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > ObjectTypeOf(); // INVERSE IfcRelDefinesByType::RelatingType bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcTypeObject (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTypeObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeObject > > list; + typedef IfcTemplatedEntityList< IfcTypeObject >::it it; }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a /// project structure (without having a placement), and not being /// included into the geometric representation context of the -/// project.�It is used to define a product specification, that is, the +/// project.ÿIt is used to define a product specification, that is, the /// specific product information that is common to all occurrences /// of that product type. /// /// An IfcTypeProduct may have a list of property set /// attached and an optional set of product representations. Values /// of these properties and the representation maps are common to all -/// occurrences�of that product type.�The type occurrence +/// occurrencesÿof that product type.ÿThe type occurrence /// relationship is realized using the objectified relationship /// IfcRelDefinesByType. /// -/// NOTE 1� The product representations are +/// NOTE 1ÿ The product representations are /// defined as representation maps, which gets assigned by a product /// instance through the representation item(s) being an /// IfcShapeRepresentation and having Items of -/// type�IfcMappedItem. -/// NOTE 2 �The representations at the occurrence +/// typeÿIfcMappedItem. +/// NOTE 2 ÿThe representations at the occurrence /// level (represented by subtypes of IfcProduct) can override -/// the specific representations at the type level, � +/// the specific representations at the type level, ÿ /// /// for geometric representations: a Cartesian /// transformation operator can be applied at the occurrence level, -/// and� +/// andÿ /// for property sets: A property within an occurrence /// property set, assigned at the product occurrence, overrides the /// same property assigned to the product type. @@ -15995,7 +15995,7 @@ public: /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct bool hasRepresentationMaps(); /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. - SHARED_PTR< IfcTemplatedEntityList > RepresentationMaps(); + SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > RepresentationMaps(); /// Whether the optional attribute Tag is defined for this IfcTypeProduct bool hasTag(); /// The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level. @@ -16009,8 +16009,8 @@ public: static Type::Enum Class(); IfcTypeProduct (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTypeProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeProduct > > list; + typedef IfcTemplatedEntityList< IfcTypeProduct >::it it; }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -16019,11 +16019,11 @@ public: /// according to the following illustration. The centre of the position /// coordinate system is in the profile's centre of the bounding box. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE� Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. +/// IFC2x4 CHANGE  Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. /// Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 327 illustrates parameters of the U-shape profile definition. @@ -16074,8 +16074,8 @@ public: static Type::Enum Class(); IfcUShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcUShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcUShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcUShapeProfileDef >::it it; }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -16099,8 +16099,8 @@ public: static Type::Enum Class(); IfcVector (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVector* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVector > > list; + typedef IfcTemplatedEntityList< IfcVector >::it it; }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -16111,9 +16111,9 @@ public: /// A vertex loop has zero extent and dimensionality. /// The vertex loop has genus 0. /// -/// NOTE� Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC2x2. +/// HISTORY  New Entity in IFC2x2. class IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. @@ -16127,8 +16127,8 @@ public: static Type::Enum Class(); IfcVertexLoop (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVertexLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexLoop > > list; + typedef IfcTemplatedEntityList< IfcVertexLoop >::it it; }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -16136,7 +16136,7 @@ public: /// casements. The parameter of the IfcWindowLiningProperties /// define the geometrically relevant parameter of the lining. /// -/// NOTE� The IfcWindowLiningProperties +/// NOTEÿ The IfcWindowLiningProperties /// shall only be applied to construct the 3D shape of a window, if /// the attribute IfcWindowStyle.ParameterTakesPrecedence is /// set TRUE. @@ -16150,7 +16150,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcWindowLining in /// IFC Release 2x. /// -/// IFC2x4 CHANGE� The following attributes have been added LiningOffset, +/// IFC2x4 CHANGEÿ The following attributes have been added LiningOffset, /// LiningToPanelOffsetX, LiningToPanelOffsetY. The /// attribute ShapeAspectStyle is deprecated and shall no /// longer be used. Supertype changed to new @@ -16277,8 +16277,8 @@ public: static Type::Enum Class(); IfcWindowLiningProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWindowLiningProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowLiningProperties > > list; + typedef IfcTemplatedEntityList< IfcWindowLiningProperties >::it it; }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -16354,8 +16354,8 @@ public: static Type::Enum Class(); IfcWindowPanelProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWindowPanelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowPanelProperties > > list; + typedef IfcTemplatedEntityList< IfcWindowPanelProperties >::it it; }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -16394,8 +16394,8 @@ public: static Type::Enum Class(); IfcWindowStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWindowStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowStyle > > list; + typedef IfcTemplatedEntityList< IfcWindowStyle >::it it; }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -16404,9 +16404,9 @@ public: /// the following illustration. The centre of the position coordinate /// system is in the profile's centre of the bounding box. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x Edition 4 CHANGE� Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. +/// IFC2x Edition 4 CHANGE  Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. /// /// Figure 328 illustrates parameters of the Z-shape profile definition. /// @@ -16449,8 +16449,8 @@ public: static Type::Enum Class(); IfcZShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcZShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcZShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcZShapeProfileDef >::it it; }; class IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence { public: @@ -16463,8 +16463,8 @@ public: static Type::Enum Class(); IfcAnnotationCurveOccurrence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationCurveOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationCurveOccurrence > > list; + typedef IfcTemplatedEntityList< IfcAnnotationCurveOccurrence >::it it; }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -16474,7 +16474,7 @@ public: /// /// Figure 300 — Annotation fill area /// -/// NOTE� Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// The IfcAnnotationFillArea defines an area by a definite OuterBoundary, that might include InnerBoundaries. The areas defined by the InnerBoundaries are excluded from applying the fill area style. /// @@ -16483,21 +16483,21 @@ public: /// Any curve that describes an inner boundary shall not intersect with, nor include, another curve defining an inner boundary. /// The curve defining the outer boundary shall not intersect with any curve defining an inner boundary, nor shall it be surrounded by a curve defining an inner boundary. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. +/// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// - /// IFC2x Edition 3 CHANGE� The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. + /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. IfcCurve* OuterBoundary(); /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea bool hasInnerBoundaries(); /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// - /// IFC2x Edition 3 CHANGE� The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - SHARED_PTR< IfcTemplatedEntityList > InnerBoundaries(); + /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. + SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerBoundaries(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OuterBoundary"; case 1: return "InnerBoundaries"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -16507,8 +16507,8 @@ public: static Type::Enum Class(); IfcAnnotationFillArea (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationFillArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationFillArea > > list; + typedef IfcTemplatedEntityList< IfcAnnotationFillArea >::it it; }; class IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { public: @@ -16527,8 +16527,8 @@ public: static Type::Enum Class(); IfcAnnotationFillAreaOccurrence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationFillAreaOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence > > list; + typedef IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence >::it it; }; class IfcAnnotationSurface : public IfcGeometricRepresentationItem { public: @@ -16545,14 +16545,14 @@ public: static Type::Enum Class(); IfcAnnotationSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotationSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSurface > > list; + typedef IfcTemplatedEntityList< IfcAnnotationSurface >::it it; }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// -/// NOTE� Corresponding ISO 10303 name: axis1_placement, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: axis1_placement, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC Release 1.5 +/// HISTORY  New entity in IFC Release 1.5 /// /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// @@ -16572,16 +16572,16 @@ public: static Type::Enum Class(); IfcAxis1Placement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAxis1Placement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis1Placement > > list; + typedef IfcTemplatedEntityList< IfcAxis1Placement >::it it; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// /// If the RefDirection attribute is not given, the placement defaults to P[1] (x-axis) as [1.,0.] and P[2] (y-axis) as [0.,1.]. /// -/// NOTE� Corresponding ISO 10303 name: axis2_placement_2d, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: axis2_placement_2d, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// @@ -16601,8 +16601,8 @@ public: static Type::Enum Class(); IfcAxis2Placement2D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAxis2Placement2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement2D > > list; + typedef IfcTemplatedEntityList< IfcAxis2Placement2D >::it it; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -16610,9 +16610,9 @@ public: /// are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], /// P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.]. /// -/// NOTE� Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted. +/// NOTE  Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted. /// -/// HISTORY� New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// @@ -16636,8 +16636,8 @@ public: static Type::Enum Class(); IfcAxis2Placement3D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAxis2Placement3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > list; + typedef IfcTemplatedEntityList< IfcAxis2Placement3D >::it it; }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -16682,8 +16682,8 @@ public: static Type::Enum Class(); IfcBooleanResult (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBooleanResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBooleanResult > > list; + typedef IfcTemplatedEntityList< IfcBooleanResult >::it it; }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -16708,8 +16708,8 @@ public: static Type::Enum Class(); IfcBoundedSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundedSurface > > list; + typedef IfcTemplatedEntityList< IfcBoundedSurface >::it it; }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -16752,12 +16752,12 @@ public: static Type::Enum Class(); IfcBoundingBox (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundingBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundingBox > > list; + typedef IfcTemplatedEntityList< IfcBoundingBox >::it it; }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// -/// NOTE� The purpose of the box is to facilitate CSG computations by producing a solid of finite size. +/// NOTE  The purpose of the box is to facilitate CSG computations by producing a solid of finite size. /// /// The IfcBoxedHalfSpace is /// used (as its supertype IfcHalfSpaceSolid) only within @@ -16776,9 +16776,9 @@ public: /// /// NOTE Corresponding ISO 10303-42 entity: boxed_half_space, please refer to ISO/IS 10303-42:1994, p. 185 for the final definition of the formal standard. The IFC class IfcBoundingBox is used for the definition of the enclosure, providing the same definition as box_domain. /// -/// HISTORY� New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x. /// -/// IFC2x4 CHANGE� Usage correct, position coordinate system for Enclosure is the object coordinate system. +/// IFC2x4 CHANGE  Usage correct, position coordinate system for Enclosure is the object coordinate system. /// /// The IfcBoundingBox (relating to ISO 10303-42:1994 box_domain) that provides the enclosure is given for the convenience of the receiving application to enable the use of size box comparison for efficiency (for example, to check first whether size boxes intersect, if not no calculations has to be done to check whether the solids of the entities intersect). /// @@ -16798,8 +16798,8 @@ public: static Type::Enum Class(); IfcBoxedHalfSpace (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoxedHalfSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoxedHalfSpace > > list; + typedef IfcTemplatedEntityList< IfcBoxedHalfSpace >::it it; }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -16809,11 +16809,11 @@ public: /// illustration. The centre of the position coordinate system is in the /// profile's centre of the bounding box. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE� Type of InternalFilletRadius relaxed to allow for zero radius. +/// IFC2x4 CHANGE  Type of InternalFilletRadius relaxed to allow for zero radius. /// Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 315 illustrates parameters of the C-shape profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: @@ -16849,8 +16849,8 @@ public: static Type::Enum Class(); IfcCShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCShapeProfileDef >::it it; }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -16862,7 +16862,7 @@ public: class IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. - std::vector /*[1:3]*/ Coordinates(); + std::vector< IfcLengthMeasure > /*[1:3]*/ Coordinates(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_VECTOR_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } return IfcPoint::getArgumentName(i); } @@ -16872,8 +16872,8 @@ public: static Type::Enum Class(); IfcCartesianPoint (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCartesianPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > list; + typedef IfcTemplatedEntityList< IfcCartesianPoint >::it it; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -16930,8 +16930,8 @@ public: static Type::Enum Class(); IfcCartesianTransformationOperator (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCartesianTransformationOperator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator > > list; + typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator >::it it; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -16949,8 +16949,8 @@ public: static Type::Enum Class(); IfcCartesianTransformationOperator2D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCartesianTransformationOperator2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator2D > > list; + typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2D >::it it; }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -16977,8 +16977,8 @@ public: static Type::Enum Class(); IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCartesianTransformationOperator2DnonUniform* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform > > list; + typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform >::it it; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -17000,8 +17000,8 @@ public: static Type::Enum Class(); IfcCartesianTransformationOperator3D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCartesianTransformationOperator3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator3D > > list; + typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3D >::it it; }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -17033,12 +17033,12 @@ public: static Type::Enum Class(); IfcCartesianTransformationOperator3DnonUniform (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCartesianTransformationOperator3DnonUniform* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform > > list; + typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform >::it it; }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// -/// HISTORY� New class in IFC 1.5. +/// HISTORY  New class in IFC 1.5. /// /// Figure 313 illustrates parameters for the circle profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: /// @@ -17061,8 +17061,8 @@ public: static Type::Enum Class(); IfcCircleProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCircleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircleProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCircleProfileDef >::it it; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -17083,14 +17083,14 @@ public: /// with a closed shell is a closed, orientable manifold. The domain of a closed /// shell, if present, is a connected, closed, oriented 2-manifold. It is always /// topologically equivalent to an H-fold torus for some H -/// � 0. The number H is referred to as the +/// ³ 0. The number H is referred to as the /// surface genus of the shell. If a shell of genus H has a domain within /// coordinate space R3, then the finite region of space inside /// it is topologically equivalent to a solid ball with H tunnels drilled /// through it. /// The Euler equation (7) applies with B=0, because in this case /// there are no holes. As in the case of open shells, the surface genus H -/// may not be known a priori, but shall be an integer � 0. Thus a necessary, but not sufficient, condition +/// may not be known a priori, but shall be an integer ³ 0. Thus a necessary, but not sufficient, condition /// for a well-formed closed shell is the following: /// /// In the current IFC Release only poly loops @@ -17099,7 +17099,7 @@ public: /// /// NOTE: Corresponding ISO 10303 entity: closed_shell, please refer to ISO/IS 10303-42:1994, p.149 for the final definition of the formal standard. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Informal propositions: /// @@ -17124,8 +17124,8 @@ public: static Type::Enum Class(); IfcClosedShell (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcClosedShell* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > list; + typedef IfcTemplatedEntityList< IfcClosedShell >::it it; }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -17140,7 +17140,7 @@ public: IfcTransitionCode::IfcTransitionCode Transition(); /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// - /// NOTE� If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement + /// NOTE  If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement bool SameSense(); /// The bounded curve which defines the geometry of the segment. IfcCurve* ParentCurve(); @@ -17148,14 +17148,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENUMERATION; case 1: return Argument_BOOL; case 2: return Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Transition"; case 1: return "SameSense"; case 2: return "ParentCurve"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > UsingCurves(); // INVERSE IfcCompositeCurve::Segments + SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurve > > UsingCurves(); // INVERSE IfcCompositeCurve::Segments bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcCompositeCurveSegment (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCompositeCurveSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > list; + typedef IfcTemplatedEntityList< IfcCompositeCurveSegment >::it it; }; class IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: @@ -17184,8 +17184,8 @@ public: static Type::Enum Class(); IfcCraneRailAShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCraneRailAShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef >::it it; }; class IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: @@ -17211,14 +17211,14 @@ public: static Type::Enum Class(); IfcCraneRailFShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCraneRailFShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCraneRailFShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCraneRailFShapeProfileDef >::it it; }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// -/// NOTE� No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. +/// NOTEÿ No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORYÿ New entity in IFC2x3. class IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. @@ -17232,8 +17232,8 @@ public: static Type::Enum Class(); IfcCsgPrimitive3D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCsgPrimitive3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCsgPrimitive3D > > list; + typedef IfcTemplatedEntityList< IfcCsgPrimitive3D >::it it; }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -17289,8 +17289,8 @@ public: static Type::Enum Class(); IfcCsgSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCsgSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCsgSolid > > list; + typedef IfcTemplatedEntityList< IfcCsgSolid >::it it; }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -17313,8 +17313,8 @@ public: static Type::Enum Class(); IfcCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > list; + typedef IfcTemplatedEntityList< IfcCurve >::it it; }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -17326,7 +17326,7 @@ public: /// /// NOTE Corresponding ISO 10303 entity curve_bounded_surface has been changed to meet the specific requirements of an easy representation of curve bounded planes. /// -/// HISTORY �New entity in IFC Release 1.5 +/// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IfcCurveBoundedPlane : public IfcBoundedSurface { @@ -17336,7 +17336,7 @@ public: /// The outer boundary of the surface. IfcCurve* OuterBoundary(); /// An optional set of inner boundaries. They shall not intersect each other or the outer boundary. - SHARED_PTR< IfcTemplatedEntityList > InnerBoundaries(); + SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerBoundaries(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY; case 1: return Argument_ENTITY; case 2: return Argument_ENTITY_LIST; } return IfcBoundedSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "OuterBoundary"; case 2: return "InnerBoundaries"; } return IfcBoundedSurface::getArgumentName(i); } @@ -17346,8 +17346,8 @@ public: static Type::Enum Class(); IfcCurveBoundedPlane (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurveBoundedPlane* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveBoundedPlane > > list; + typedef IfcTemplatedEntityList< IfcCurveBoundedPlane >::it it; }; /// A defined symbol is a symbolic representation that gets its shape information by an established convention, either through a predefined symbol, or an externally defined symbol. /// @@ -17371,8 +17371,8 @@ public: static Type::Enum Class(); IfcDefinedSymbol (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDefinedSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDefinedSymbol > > list; + typedef IfcTemplatedEntityList< IfcDefinedSymbol >::it it; }; class IfcDimensionCurve : public IfcAnnotationCurveOccurrence { public: @@ -17380,14 +17380,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > AnnotatedBySymbols(); // INVERSE IfcTerminatorSymbol::AnnotatedCurve + SHARED_PTR< IfcTemplatedEntityList< IfcTerminatorSymbol > > AnnotatedBySymbols(); // INVERSE IfcTerminatorSymbol::AnnotatedCurve bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcDimensionCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDimensionCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCurve > > list; + typedef IfcTemplatedEntityList< IfcDimensionCurve >::it it; }; class IfcDimensionCurveTerminator : public IfcTerminatorSymbol { public: @@ -17401,8 +17401,8 @@ public: static Type::Enum Class(); IfcDimensionCurveTerminator (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDimensionCurveTerminator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCurveTerminator > > list; + typedef IfcTemplatedEntityList< IfcDimensionCurveTerminator >::it it; }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -17414,7 +17414,7 @@ public: class IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) - std::vector /*[2:3]*/ DirectionRatios(); + std::vector< double > /*[2:3]*/ DirectionRatios(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_VECTOR_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DirectionRatios"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -17424,8 +17424,8 @@ public: static Type::Enum Class(); IfcDirection (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDirection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDirection > > list; + typedef IfcTemplatedEntityList< IfcDirection >::it it; }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -17433,7 +17433,7 @@ public: /// (IfcDoorLiningProperties) define the geometrically /// relevant parameter of the lining. /// -/// NOTE� The IfcDoorLiningProperties +/// NOTEÿ The IfcDoorLiningProperties /// shall only be applied to construct the 3D shape of a door, if the /// attribute IfcDoorStyle.ParameterTakesPrecedence is set /// TRUE. @@ -17446,7 +17446,7 @@ public: /// /// HISTORY New entity in IFC Release 2.0. Has been renamed from IfcDoorLining in IFC Release 2x. /// -/// IFC2x4 CHANGE� The following attributes have been added LiningToPanelOffsetX, LiningToPanelOffsetY. The attribute ShapeAspectStyle is deprecated and shall no longer be used. Supertype changed to new IfcPreDefinedPropertySet. +/// IFC2x4 CHANGEÿ The following attributes have been added LiningToPanelOffsetX, LiningToPanelOffsetY. The attribute ShapeAspectStyle is deprecated and shall no longer be used. Supertype changed to new IfcPreDefinedPropertySet. /// /// Geometry use definitions /// The IfcDoorLiningProperties does not hold its own @@ -17480,7 +17480,7 @@ public: /// LiningOffset : given if lining edge has an offset to /// the x axis of the local placement. /// -/// NOTE �In addition to the�LiningOffset, +/// NOTE ÿIn addition to theÿLiningOffset, /// the local placement of the IfcDoor can already have an /// offset to the wall edge and thereby shift the lining along the y /// axis. The actual position of the lining is calculated from the @@ -17579,8 +17579,8 @@ public: static Type::Enum Class(); IfcDoorLiningProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDoorLiningProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorLiningProperties > > list; + typedef IfcTemplatedEntityList< IfcDoorLiningProperties >::it it; }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -17603,7 +17603,7 @@ public: /// included in the same list of the IfcDoorStyle using the /// IfcPropertySet for dynamic extensions. /// -/// HISTORY� New Entity in IFC Release 2.0. +/// HISTORYÿ New Entity in IFC Release 2.0. /// /// IFC2x4 CHANGE Supertype changed to new IfcPreDefinedPropertySet. /// @@ -17656,8 +17656,8 @@ public: static Type::Enum Class(); IfcDoorPanelProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDoorPanelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorPanelProperties > > list; + typedef IfcTemplatedEntityList< IfcDoorPanelProperties >::it it; }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -17666,7 +17666,7 @@ public: /// is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinedByType. The IfcDoorStyle /// also defines the particular attributes for the lining, IfcDoorLiningProperties, and panels, IfcDoorPanelProperties. /// -/// HISTORY�New entity in IFC Release 2x. +/// HISTORYÿNew entity in IFC Release 2x. /// /// IFC2x4 CHANGE The entity is deprecated and shall not be used. The new entity /// IfcDoorType shall be used instead. @@ -17682,7 +17682,7 @@ public: /// The IfcDoorStyleOperationTypeEnum defines the general layout of the door style. Depending on the enumerator, the /// appropriate instances of IfcDoorLiningProperties and IfcDoorPanelProperties are attached in the list of /// HasPropertySets. The IfcDoorStyleOperationTypeEnum mainly determines the hinge side (left hung, or right hung), the -/// operation (swinging, sliding, folding, etc.)�and the number of panels. +/// operation (swinging, sliding, folding, etc.)ÿand the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IfcDoorStyle : public IfcTypeProduct { @@ -17704,25 +17704,25 @@ public: static Type::Enum Class(); IfcDoorStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDoorStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorStyle > > list; + typedef IfcTemplatedEntityList< IfcDoorStyle >::it it; }; class IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: - SHARED_PTR< IfcTemplatedEntityList > Contents(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Contents(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Contents"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsRelatedFromCallout(); // INVERSE IfcDraughtingCalloutRelationship::RelatedDraughtingCallout - SHARED_PTR< IfcTemplatedEntityList > IsRelatedToCallout(); // INVERSE IfcDraughtingCalloutRelationship::RelatingDraughtingCallout + SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > > IsRelatedFromCallout(); // INVERSE IfcDraughtingCalloutRelationship::RelatedDraughtingCallout + SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > > IsRelatedToCallout(); // INVERSE IfcDraughtingCalloutRelationship::RelatingDraughtingCallout bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcDraughtingCallout (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDraughtingCallout* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCallout > > list; + typedef IfcTemplatedEntityList< IfcDraughtingCallout >::it it; }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -17736,7 +17736,7 @@ public: /// 'white', /// 'by layer' /// -/// NOTE��The IfcDraughtingPreDefinedColour is an entity that had been adopted from ISO 10303-202, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. +/// NOTE ÿThe IfcDraughtingPreDefinedColour is an entity that had been adopted from ISO 10303-202, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. /// /// The following table states the RGB values associated with the names given by the IfcDraughtingPreDefinedColour. /// @@ -17789,9 +17789,9 @@ public: /// colour values obtained from /// IfcPresentationLayerWithStyle. /// -/// NOTE��Corresponding ISO 10303 name: draughting_pre_defined_colour. Please refer to ISO/IS 10303-202:1994 page 194 for the final definition of the formal standard. +/// NOTE ÿCorresponding ISO 10303 name: draughting_pre_defined_colour. Please refer to ISO/IS 10303-202:1994 page 194 for the final definition of the formal standard. /// -/// HISTORY��New entity in IFC2x2. +/// HISTORY ÿNew entity in IFC2x2. /// /// Informal proposition /// @@ -17807,22 +17807,22 @@ public: static Type::Enum Class(); IfcDraughtingPreDefinedColour (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDraughtingPreDefinedColour* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > > list; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour >::it it; }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// -/// NOTE� The IfcDraughtingPreDefinedCurveFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46 Technical Corrigendum 2: Integrated generic resources: Visual presentation. +/// NOTE  The IfcDraughtingPreDefinedCurveFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46 Technical Corrigendum 2: Integrated generic resources: Visual presentation. /// /// Figure 291 (from ISO 10303-46 TC2) illustrates predefined curve fonts. /// /// Figure 291 — Draughting predefined curve font /// -/// NOTE� If the IfcDraughtingPreDefinedCurveFont is used within an IfcCurveStyleFontAndScaling then the segment and space lengths that are given in the table are as such for the scale factor 1.0 +/// NOTE  If the IfcDraughtingPreDefinedCurveFont is used within an IfcCurveStyleFontAndScaling then the segment and space lengths that are given in the table are as such for the scale factor 1.0 /// -/// NOTE� Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual unsigned int getArgumentCount() const { return 1; } @@ -17834,8 +17834,8 @@ public: static Type::Enum Class(); IfcDraughtingPreDefinedCurveFont (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDraughtingPreDefinedCurveFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > > list; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont >::it it; }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -17845,13 +17845,13 @@ public: /// The Euler formula shall be satisfied:(number of vertices) + genus - (number of edges) = 1; /// No edge may be referenced more than once by the same IfcEdgeLoop with the same sense. For this purpose, an edge which is not an oriented edge is considered to be referenced with the sense TRUE. /// -/// NOTE� Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// -/// HISTORY� New Entity in IFC2x2. +/// HISTORY  New Entity in IFC2x2. class IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. - SHARED_PTR< IfcTemplatedEntityList > EdgeList(); + SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > EdgeList(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcLoop::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeList"; } return IfcLoop::getArgumentName(i); } @@ -17861,8 +17861,8 @@ public: static Type::Enum Class(); IfcEdgeLoop (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEdgeLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeLoop > > list; + typedef IfcTemplatedEntityList< IfcEdgeLoop >::it it; }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -17894,13 +17894,13 @@ public: /// /// EXAMPLE1 To exchange the net floor area of spaces in /// the German region (as IfcSpace), the name might be -/// 'Netto-Grundfl�che' (net floor area), and the method of +/// 'Netto-Grundfläche' (net floor area), and the method of /// measurement might be accordingly 'DIN277-2' (German industry norm /// no. 277 edition 2) /// /// EXAMPLE2 The same instance of IfcSpace may have /// a different area measure assigned in the German region according -/// to a housing regulation, the name would be 'Wohnfl�che' and +/// to a housing regulation, the name would be 'Wohnfläche' and /// the method of measurement would be '2.BV'. It would be attached /// to the IfcSpace by a separate /// IfcRelDefinesByProperties relationship. @@ -17950,7 +17950,7 @@ public: /// IFC2x2 Addendum 1 change: The attribute has been changed to be optional IfcLabel MethodOfMeasurement(); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. - SHARED_PTR< IfcTemplatedEntityList > Quantities(); + SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > Quantities(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_STRING; case 5: return Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "MethodOfMeasurement"; case 5: return "Quantities"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -17960,8 +17960,8 @@ public: static Type::Enum Class(); IfcElementQuantity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElementQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementQuantity > > list; + typedef IfcTemplatedEntityList< IfcElementQuantity >::it it; }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -18000,8 +18000,8 @@ public: static Type::Enum Class(); IfcElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementType > > list; + typedef IfcTemplatedEntityList< IfcElementType >::it it; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -18021,13 +18021,13 @@ public: static Type::Enum Class(); IfcElementarySurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElementarySurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementarySurface > > list; + typedef IfcTemplatedEntityList< IfcElementarySurface >::it it; }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. /// -/// HISTORY� New entity in IFC2x +/// HISTORY  New entity in IFC2x /// /// Figure 317 illustrates parameters for the ellipse profile definition. The parameterized profile defines its own position coordinate system. /// The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: @@ -18037,7 +18037,7 @@ public: /// /// Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The location of the position coordinate system defines the center of the ellipse. The SemiAxis1 attribute defines the first radius of the ellipse in the direction of the X axis, the SemiAxis2 attribute defines the second radius of the ellipse in the direction of the Y axis. /// -/// NOTE� The semi axes of the ellipse are rectangular to each other by definition. +/// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile class IfcEllipseProfileDef : public IfcParameterizedProfileDef { @@ -18055,8 +18055,8 @@ public: static Type::Enum Class(); IfcEllipseProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEllipseProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEllipseProfileDef > > list; + typedef IfcTemplatedEntityList< IfcEllipseProfileDef >::it it; }; class IfcEnergyProperties : public IfcPropertySetDefinition { public: @@ -18075,8 +18075,8 @@ public: static Type::Enum Class(); IfcEnergyProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEnergyProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyProperties > > list; + typedef IfcTemplatedEntityList< IfcEnergyProperties >::it it; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -18110,9 +18110,9 @@ public: /// /// Figure 255 — Extruded area solid geometry /// -/// NOTE� Corresponding ISO 10303-42 entity: extruded_area_solid. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The Position attribute has been added to position the cross section used for the linear extrusion. +/// NOTE  Corresponding ISO 10303-42 entity: extruded_area_solid. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The Position attribute has been added to position the cross section used for the linear extrusion. /// -/// HISTORY� New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. /// /// Texture use definition /// For side faces, textures are aligned facing upright continuously @@ -18162,8 +18162,8 @@ public: static Type::Enum Class(); IfcExtrudedAreaSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcExtrudedAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtrudedAreaSolid > > list; + typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid >::it it; }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -18180,7 +18180,7 @@ public: class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. - SHARED_PTR< IfcTemplatedEntityList > FbsmFaces(); + SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > FbsmFaces(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "FbsmFaces"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -18190,20 +18190,20 @@ public: static Type::Enum Class(); IfcFaceBasedSurfaceModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFaceBasedSurfaceModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceBasedSurfaceModel > > list; + typedef IfcTemplatedEntityList< IfcFaceBasedSurfaceModel >::it it; }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// /// The IfcFillAreaStyleHatching is used to define simple, vector-based hatching patterns, based on styled straight lines. The curve font, color and thickness is given by the HatchLineAppearance, the angle by the HatchLineAngle and the distance to the next hatch line by StartOfNextHatchLine, being either an offset distance or a vector. /// -/// NOTE� If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset). +/// NOTE  If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset). /// -/// For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using the�PatternStart�PointOfReferenceHatchLine. +/// For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using the PatternStart PointOfReferenceHatchLine. /// -/// NOTE� The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext. +/// NOTE  The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext. /// -/// NOTE �The use of PointOfReferenceHatchLine is deprecated. +/// NOTE  The use of PointOfReferenceHatchLine is deprecated. /// /// Figure 292 illustrates hatch attributes. /// @@ -18235,25 +18235,25 @@ public: /// /// Figure 292 — Fill area style hatching /// -/// NOTE� Corresponding ISO 10303 name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. IfcCurveStyle* HatchLineAppearance(); /// A repetition factor that determines the distance between adjacent hatch lines. /// - /// IFC2x Edition 3 CHANGE� The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. + /// IFC2x Edition 3 CHANGE  The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. IfcHatchLineDistanceSelect StartOfNextHatchLine(); /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching bool hasPointOfReferenceHatchLine(); /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. /// - /// IFC2x Edition 3 CHANGE� The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. + /// IFC2x Edition 3 CHANGE  The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. IfcCartesianPoint* PointOfReferenceHatchLine(); /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching bool hasPatternStart(); @@ -18273,8 +18273,8 @@ public: static Type::Enum Class(); IfcFillAreaStyleHatching (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFillAreaStyleHatching* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleHatching > > list; + typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching >::it it; }; /// The fill area style tile symbol with style is a symbol that is used as a tile within an annotated tiling. /// @@ -18300,8 +18300,8 @@ public: static Type::Enum Class(); IfcFillAreaStyleTileSymbolWithStyle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFillAreaStyleTileSymbolWithStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleTileSymbolWithStyle > > list; + typedef IfcTemplatedEntityList< IfcFillAreaStyleTileSymbolWithStyle >::it it; }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -18313,7 +18313,7 @@ public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. IfcOneDirectionRepeatFactor* TilingPattern(); /// A set of constituents of the tile. - SHARED_PTR< IfcTemplatedEntityList > Tiles(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Tiles(); /// The scale factor applied to each tile as it is placed in the annotation fill area. IfcPositiveRatioMeasure TilingScale(); virtual unsigned int getArgumentCount() const { return 3; } @@ -18325,8 +18325,8 @@ public: static Type::Enum Class(); IfcFillAreaStyleTiles (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFillAreaStyleTiles* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleTiles > > list; + typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles >::it it; }; class IfcFluidFlowProperties : public IfcPropertySetDefinition { public: @@ -18380,8 +18380,8 @@ public: static Type::Enum Class(); IfcFluidFlowProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFluidFlowProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFluidFlowProperties > > list; + typedef IfcTemplatedEntityList< IfcFluidFlowProperties >::it it; }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -18389,7 +18389,7 @@ public: /// product representations. It is used to define an element /// specification (i.e. the specific product information, that is /// common to all occurrences of that product type). -/// NOTE� The product representations are defined +/// NOTEÿ The product representations are defined /// as representation maps (at the level of the supertype /// IfcTypeProduct, which gets assigned by an element /// occurrence instance through the @@ -18404,7 +18404,7 @@ public: /// The occurrences of the IfcFurnishingElementType are /// represented by instances of IfcFurnishingElement (or its /// subtypes). -/// HISTORY�New entity in +/// HISTORYÿNew entity in /// Release IFC2x Edition 2. /// IFC2x3 CHANGE The entity has been /// made non-abstract @@ -18422,8 +18422,8 @@ public: static Type::Enum Class(); IfcFurnishingElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFurnishingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnishingElementType > > list; + typedef IfcTemplatedEntityList< IfcFurnishingElementType >::it it; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -18475,8 +18475,8 @@ public: static Type::Enum Class(); IfcFurnitureType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFurnitureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnitureType > > list; + typedef IfcTemplatedEntityList< IfcFurnitureType >::it it; }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -18496,8 +18496,8 @@ public: static Type::Enum Class(); IfcGeometricCurveSet (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGeometricCurveSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricCurveSet > > list; + typedef IfcTemplatedEntityList< IfcGeometricCurveSet >::it it; }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -18514,9 +18514,9 @@ public: /// external document or library. See IfcProfileDef for guidance on /// external references for profile definitions. /// -/// HISTORY� New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// -/// IFC2x4 CHANGE� Type of FilletRadius relaxed to allow for zero radius. +/// IFC2x4 CHANGE  Type of FilletRadius relaxed to allow for zero radius. /// /// Figure 318 illustrates parameters of the I-shape profile definition. /// @@ -18585,8 +18585,8 @@ public: static Type::Enum Class(); IfcIShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcIShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcIShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcIShapeProfileDef >::it it; }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -18599,11 +18599,11 @@ public: /// position coordinate system is in the profiles centre /// of the bounding box. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE� All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE� Width changed from OPTIONAL to mandatory. The previously informal rule that the longer leg is the Depth has been formalized. Types of FilletRadius and EdgeRadius were relaxed to allow for zero values. Trailing attributes CentreOfGravityInX and CentreOfGravityInY deleted, use respective properties in IfcExtendedProfileProperties instead. WHERE rule which required Width <= Depth removed. +/// IFC2x4 CHANGE  Width changed from OPTIONAL to mandatory. The previously informal rule that the longer leg is the Depth has been formalized. Types of FilletRadius and EdgeRadius were relaxed to allow for zero values. Trailing attributes CentreOfGravityInX and CentreOfGravityInY deleted, use respective properties in IfcExtendedProfileProperties instead. WHERE rule which required Width <= Depth removed. /// /// Figure 319 illustrates parameters of equal-sided and non-equal sided L-shaped section definitions. /// @@ -18632,8 +18632,8 @@ public: /// are: /// /// Location = IfcCartesianPoint( -/// ��������������+|CentreOfGravityInX|, -/// ��������������+|CentreOfGravityInY|) +///               +|CentreOfGravityInX|, +///               +|CentreOfGravityInY|) /// RefDirection = NIL (defaults to 1.,0.) /// /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. @@ -18676,8 +18676,8 @@ public: static Type::Enum Class(); IfcLShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcLShapeProfileDef >::it it; }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -18707,8 +18707,8 @@ public: static Type::Enum Class(); IfcLine (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLine > > list; + typedef IfcTemplatedEntityList< IfcLine >::it it; }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -18786,8 +18786,8 @@ public: static Type::Enum Class(); IfcManifoldSolidBrep (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcManifoldSolidBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcManifoldSolidBrep > > list; + typedef IfcTemplatedEntityList< IfcManifoldSolidBrep >::it it; }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -18881,14 +18881,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ObjectType"; } return IfcObjectDefinition::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsDefinedBy(); // INVERSE IfcRelDefines::RelatedObjects + SHARED_PTR< IfcTemplatedEntityList< IfcRelDefines > > IsDefinedBy(); // INVERSE IfcRelDefines::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcObject (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcObject > > list; + typedef IfcTemplatedEntityList< IfcObject >::it it; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -18918,8 +18918,8 @@ public: static Type::Enum Class(); IfcOffsetCurve2D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOffsetCurve2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOffsetCurve2D > > list; + typedef IfcTemplatedEntityList< IfcOffsetCurve2D >::it it; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -18955,8 +18955,8 @@ public: static Type::Enum Class(); IfcOffsetCurve3D (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOffsetCurve3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOffsetCurve3D > > list; + typedef IfcTemplatedEntityList< IfcOffsetCurve3D >::it it; }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -19016,19 +19016,19 @@ public: static Type::Enum Class(); IfcPermeableCoveringProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPermeableCoveringProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPermeableCoveringProperties > > list; + typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties >::it it; }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// -/// NOTE� Corresponding ISO 10303 name: planar_box. Please refer to +/// NOTE  Corresponding ISO 10303 name: planar_box. Please refer to /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPlanarBox : public IfcPlanarExtent { public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. - /// NOTE� In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. + /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. IfcAxis2Placement Placement(); virtual unsigned int getArgumentCount() const { return 3; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } @@ -19039,8 +19039,8 @@ public: static Type::Enum Class(); IfcPlanarBox (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPlanarBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlanarBox > > list; + typedef IfcTemplatedEntityList< IfcPlanarBox >::it it; }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -19089,8 +19089,8 @@ public: static Type::Enum Class(); IfcPlane (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPlane* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlane > > list; + typedef IfcTemplatedEntityList< IfcPlane >::it it; }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -19138,16 +19138,16 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > OperatesOn(); // INVERSE IfcRelAssignsToProcess::RelatingProcess - SHARED_PTR< IfcTemplatedEntityList > IsSuccessorFrom(); // INVERSE IfcRelSequence::RelatedProcess - SHARED_PTR< IfcTemplatedEntityList > IsPredecessorTo(); // INVERSE IfcRelSequence::RelatingProcess + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > OperatesOn(); // INVERSE IfcRelAssignsToProcess::RelatingProcess + SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > IsSuccessorFrom(); // INVERSE IfcRelSequence::RelatedProcess + SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > IsPredecessorTo(); // INVERSE IfcRelSequence::RelatingProcess bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcProcess (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcess > > list; + typedef IfcTemplatedEntityList< IfcProcess >::it it; }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -19254,14 +19254,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENTITY; case 6: return Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ObjectPlacement"; case 6: return "Representation"; } return IfcObject::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ReferencedBy(); // INVERSE IfcRelAssignsToProduct::RelatingProduct + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > ReferencedBy(); // INVERSE IfcRelAssignsToProduct::RelatingProduct bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcProduct (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > list; + typedef IfcTemplatedEntityList< IfcProduct >::it it; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -19275,9 +19275,9 @@ public: /// the precision used within the geometric representations, and /// optionally the indication of the true north relative to the world coordinate system /// -/// HISTORY� New Entity in IFC Release 1.0 +/// HISTORY  New Entity in IFC Release 1.0 /// -/// IFC2x4 CHANGE� The attributes RepresentationContexts and UnitsInContext are made optional and are promoted to supertype IfcContext. +/// IFC2x4 CHANGE  The attributes RepresentationContexts and UnitsInContext are made optional and are promoted to supertype IfcContext. /// /// Relationship use definition /// The IfcProject is used to reference the root of the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the IfcProject, by using the objectified relationship IfcRelAggregates. The IfcProject references them by its inverse relationship: @@ -19293,10 +19293,10 @@ public: /// The IfcProject is also the context for other information about the construction project such as a work plan. Non-product structures are assigned by their first level object to IfcProject using the IfcRelDeclares relationship. /// /// The IfcProject provides the context for spatial elements and the associated products, and for work plans (or other non-product based) descriptions of the construction project. It is handled by two distinct relationship objects as shown in Figure 3. -/// NOTE � The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's. -/// NOTE � The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's. -/// NOTE � The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule. -/// NOTE � The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard. +/// NOTE   The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's. +/// NOTE   The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's. +/// NOTE   The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule. +/// NOTE   The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard. /// /// Figure 3 — Project spatial and work plan structure /// @@ -19315,7 +19315,7 @@ public: /// Whether the optional attribute Phase is defined for this IfcProject bool hasPhase(); IfcLabel Phase(); - SHARED_PTR< IfcTemplatedEntityList > RepresentationContexts(); + SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > RepresentationContexts(); IfcUnitAssignment* UnitsInContext(); virtual unsigned int getArgumentCount() const { return 9; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_STRING; case 6: return Argument_STRING; case 7: return Argument_ENTITY_LIST; case 8: return Argument_ENTITY; } return IfcObject::getArgumentType(i); } @@ -19326,8 +19326,8 @@ public: static Type::Enum Class(); IfcProject (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProject > > list; + typedef IfcTemplatedEntityList< IfcProject >::it it; }; class IfcProjectionCurve : public IfcAnnotationCurveOccurrence { public: @@ -19340,8 +19340,8 @@ public: static Type::Enum Class(); IfcProjectionCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProjectionCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectionCurve > > list; + typedef IfcTemplatedEntityList< IfcProjectionCurve >::it it; }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -19357,11 +19357,11 @@ public: /// and the individual properties that maybe included can be assigned /// using the property set template. /// -/// NOTE� See IfcRelDefinesByType for how to override property sets assigned to an object type within the object occurrence. +/// NOTE  See IfcRelDefinesByType for how to override property sets assigned to an object type within the object occurrence. /// -/// HISTORY� New Entity in IFC Release 1.0 +/// HISTORY  New Entity in IFC Release 1.0 /// -/// IFC2x4 CHANGE� All statically defined property set entities are no longer subtypes of +/// IFC2x4 CHANGE  All statically defined property set entities are no longer subtypes of /// IfcPropertySet. /// /// Relationship use definition @@ -19384,7 +19384,7 @@ public: /// Instances of IfcPropertySet are used to assign named /// sets of individual properties (complex or single properties). Each /// individual property has a significant name string. Some property -/// sets are included in the IFC specification and have�a +/// sets are included in the IFC specification and have a /// predefined set of properties indicated by assigning a significant /// name. These property sets are listed under "property sets" main /// menu item within this specification and from the object @@ -19399,7 +19399,7 @@ public: class IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. - SHARED_PTR< IfcTemplatedEntityList > HasProperties(); + SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > HasProperties(); virtual unsigned int getArgumentCount() const { return 5; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "HasProperties"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -19409,25 +19409,25 @@ public: static Type::Enum Class(); IfcPropertySet (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPropertySet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySet > > list; + typedef IfcTemplatedEntityList< IfcPropertySet >::it it; }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// /// The ProxyType may give an indication to which high level semantic breakdown of object the semantic definition of the proxy relates to. the Tag attribute may be used to assign a human or system interpretable identifier (such as a serial number or bar code). /// -/// NOTE 1� Given that only a +/// NOTE 1  Given that only a /// limited number of semantic constructs can be formally defined within /// IFC (and it will never be possible to define all), there has to be a /// mechanism for capturing those constructs that are not (yet) defined by /// IFC. /// -/// NOTE 2� Product proxies are a +/// NOTE 2  Product proxies are a /// mechanism that allows to exchange data that is part of the project but /// not necessarily part of the IFC model. Those proxies may have geometric /// representations assigned. /// -/// HISTORY� New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. class IfcProxy : public IfcProduct { public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. @@ -19445,14 +19445,14 @@ public: static Type::Enum Class(); IfcProxy (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProxy* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProxy > > list; + typedef IfcTemplatedEntityList< IfcProxy >::it it; }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x4 CHANGE� Types of InnerFilletRadius and OuterFilletRadius relaxed to allow for zero values. +/// IFC2x4 CHANGE  Types of InnerFilletRadius and OuterFilletRadius relaxed to allow for zero values. /// /// Figure 322 illustrates parameters of a rectangular or square hollow profile definition. /// @@ -19489,8 +19489,8 @@ public: static Type::Enum Class(); IfcRectangleHollowProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRectangleHollowProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangleHollowProfileDef > > list; + typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef >::it it; }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -19501,7 +19501,7 @@ public: /// location and orientation of the pyramid: /// /// SELF\IfcCsgPrimitive3D.Position: The location and -/// orientation of the axis system for the primitive.� +/// orientation of the axis system for the primitive.  /// SELF\IfcCsgPrimitive3D.Position.Location: The center /// of the circular area being the bottom face of the cone. /// SELF\IfcCsgPrimitive3D.Position.Position[3]: The @@ -19515,9 +19515,9 @@ public: /// /// Figure 260 — Rectangular pyramid geometry /// -/// NOTE� Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x3 +/// HISTORY  New entity in IFC2x3 /// /// Texture use definition /// @@ -19597,8 +19597,8 @@ public: static Type::Enum Class(); IfcRectangularPyramid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRectangularPyramid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangularPyramid > > list; + typedef IfcTemplatedEntityList< IfcRectangularPyramid >::it it; }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -19640,8 +19640,8 @@ public: static Type::Enum Class(); IfcRectangularTrimmedSurface (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRectangularTrimmedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangularTrimmedSurface > > list; + typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface >::it it; }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -19657,11 +19657,11 @@ public: class IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. - SHARED_PTR< IfcTemplatedEntityList > RelatedObjects(); + SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns bool hasRelatedObjectsType(); /// Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects. - /// IFC2x4 CHANGE� The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. + /// IFC2x4 CHANGE  The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. IfcObjectTypeEnum::IfcObjectTypeEnum RelatedObjectsType(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY_LIST; case 5: return Argument_ENUMERATION; } return IfcRelationship::getArgumentType(i); } @@ -19672,8 +19672,8 @@ public: static Type::Enum Class(); IfcRelAssigns (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssigns* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssigns > > list; + typedef IfcTemplatedEntityList< IfcRelAssigns >::it it; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -19701,14 +19701,14 @@ public: static Type::Enum Class(); IfcRelAssignsToActor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToActor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToActor > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToActor >::it it; }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// -/// EXAMPLE� The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. +/// EXAMPLEÿ The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// -/// HISTORY� New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. +/// HISTORYÿ New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. @@ -19722,8 +19722,8 @@ public: static Type::Enum Class(); IfcRelAssignsToControl (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToControl > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToControl >::it it; }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -19751,8 +19751,8 @@ public: static Type::Enum Class(); IfcRelAssignsToGroup (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroup > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToGroup >::it it; }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -19795,17 +19795,17 @@ public: static Type::Enum Class(); IfcRelAssignsToProcess (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToProcess >::it it; }; -/// The objectified relationship�IfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: +/// The objectified relationshipÿIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// -/// 'Context' : Assignment of a context specific representation, such as of structural members to a different context representation (with potentially different decomposition breakdown) such as of building elements�for a specific�context specific representation.� +/// 'Context' : Assignment of a context specific representation, such as of structural members to a different context representation (with potentially different decomposition breakdown) such as of building elementsÿfor a specificÿcontext specific representation.ÿ /// 'View' : Assignment of a product (via RelatingProduct) that is decomposed according to a discipline view, to another product (via RelatedObjects) that is decomposed according to a different discipline view. An example is the assignment of the architectural slab to a different decomposition of the pre manufactured sections of a slab (under a precast concrete discipline view). /// /// HISTORY New Entity in IFC Release 2x /// -/// IFC2x3 CHANGE �The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. +/// IFC2x3 CHANGE ÿThe reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. @@ -19821,8 +19821,8 @@ public: static Type::Enum Class(); IfcRelAssignsToProduct (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToProduct >::it it; }; class IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { public: @@ -19835,8 +19835,8 @@ public: static Type::Enum Class(); IfcRelAssignsToProjectOrder (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToProjectOrder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::it it; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -19859,8 +19859,8 @@ public: static Type::Enum Class(); IfcRelAssignsToResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsToResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsToResource >::it it; }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -19907,8 +19907,8 @@ class IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// - /// IFC2x4 CHANGE� The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. - SHARED_PTR< IfcTemplatedEntityList > RelatedObjects(); + /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. + SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > RelatedObjects(); virtual unsigned int getArgumentCount() const { return 5; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } @@ -19918,8 +19918,8 @@ public: static Type::Enum Class(); IfcRelAssociates (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociates* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > list; + typedef IfcTemplatedEntityList< IfcRelAssociates >::it it; }; class IfcRelAssociatesAppliedValue : public IfcRelAssociates { public: @@ -19933,8 +19933,8 @@ public: static Type::Enum Class(); IfcRelAssociatesAppliedValue (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesAppliedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesAppliedValue > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesAppliedValue >::it it; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// @@ -19952,8 +19952,8 @@ public: static Type::Enum Class(); IfcRelAssociatesApproval (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesApproval* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesApproval > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesApproval >::it it; }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -19969,7 +19969,7 @@ public: /// classification system, or /// a reference to the classification system itself /// -/// NOTE� The reference to a classification item +/// NOTE  The reference to a classification item /// includes a link to the classification system within which the item /// is declared. It assigns the meaning of the classification item to /// the object (ocurrence or type). The reference to the classification @@ -19998,8 +19998,8 @@ public: static Type::Enum Class(); IfcRelAssociatesClassification (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesClassification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesClassification > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesClassification >::it it; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// @@ -20019,8 +20019,8 @@ public: static Type::Enum Class(); IfcRelAssociatesConstraint (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesConstraint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesConstraint > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint >::it it; }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -20042,8 +20042,8 @@ public: static Type::Enum Class(); IfcRelAssociatesDocument (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesDocument* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesDocument > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesDocument >::it it; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -20065,8 +20065,8 @@ public: static Type::Enum Class(); IfcRelAssociatesLibrary (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesLibrary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesLibrary > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary >::it it; }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -20175,8 +20175,8 @@ public: static Type::Enum Class(); IfcRelAssociatesMaterial (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesMaterial* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesMaterial > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial >::it it; }; class IfcRelAssociatesProfileProperties : public IfcRelAssociates { public: @@ -20196,8 +20196,8 @@ public: static Type::Enum Class(); IfcRelAssociatesProfileProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssociatesProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesProfileProperties > > list; + typedef IfcTemplatedEntityList< IfcRelAssociatesProfileProperties >::it it; }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// @@ -20213,8 +20213,8 @@ public: static Type::Enum Class(); IfcRelConnects (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnects* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnects > > list; + typedef IfcTemplatedEntityList< IfcRelConnects >::it it; }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -20257,8 +20257,8 @@ public: static Type::Enum Class(); IfcRelConnectsElements (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsElements >::it it; }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -20286,18 +20286,18 @@ public: /// /// Figure 116 illustrates using the IfcRelConnectsPathElements for a "T" type connection between two instances of IfcWallStandardCase. /// Figure 117 illustrates using the IfcRelConnectsPathElements for a "L" type connection between two instances of IfcWallStandardCase. -/// NOTE� The two wall axes connect in each case. +/// NOTE  The two wall axes connect in each case. /// -/// � +/// ÿ /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. - std::vector /*[0:?]*/ RelatingPriorities(); + std::vector< int > /*[0:?]*/ RelatingPriorities(); /// Priorities for connection. It refers to the layers of the RelatedObject. - std::vector /*[0:?]*/ RelatedPriorities(); + std::vector< int > /*[0:?]*/ RelatedPriorities(); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType(); /// Indication of the connection type in relation to the path of the RelatingObject. @@ -20311,8 +20311,8 @@ public: static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsPathElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPathElements > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsPathElements >::it it; }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -20335,9 +20335,9 @@ public: /// IfcDistributionElement for examples and port use /// definition sections. /// -/// HISTORY� New +/// HISTORY  New /// entity in Release IFC2x Edition 2. -/// IFC2x4 CHANGE� The +/// IFC2x4 CHANGE  The /// definition has been extended to include element types. class IfcRelConnectsPortToElement : public IfcRelConnects { public: @@ -20356,8 +20356,8 @@ public: static Type::Enum Class(); IfcRelConnectsPortToElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsPortToElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement >::it it; }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -20391,8 +20391,8 @@ public: static Type::Enum Class(); IfcRelConnectsPorts (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsPorts* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsPorts >::it it; }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// @@ -20412,8 +20412,8 @@ public: static Type::Enum Class(); IfcRelConnectsStructuralActivity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsStructuralActivity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::it it; }; class IfcRelConnectsStructuralElement : public IfcRelConnects { public: @@ -20428,12 +20428,12 @@ public: static Type::Enum Class(); IfcRelConnectsStructuralElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsStructuralElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralElement > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsStructuralElement >::it it; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Use Definition /// @@ -20486,14 +20486,14 @@ public: static Type::Enum Class(); IfcRelConnectsStructuralMember (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsStructuralMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::it it; }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// -/// NOTE� Another eccentricity model is available independently of eccentric connection specification: The section profile of a curve member may be inserted eccentrically with respect to the member's reference curve, see definitions at IfcStructuralCurveMember. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. +/// NOTE  Another eccentricity model is available independently of eccentric connection specification: The section profile of a curve member may be inserted eccentrically with respect to the member's reference curve, see definitions at IfcStructuralCurveMember. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. /// -/// HISTORY� New entity in IFC 2x3. +/// HISTORY  New entity in IFC 2x3. /// Use definitions changed in IFC 2x4 to always require two topology items. /// /// Use Definition @@ -20519,8 +20519,8 @@ public: static Type::Enum Class(); IfcRelConnectsWithEccentricity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsWithEccentricity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity >::it it; }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -20548,7 +20548,7 @@ public: class IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. - SHARED_PTR< IfcTemplatedEntityList > RealizingElements(); + SHARED_PTR< IfcTemplatedEntityList< IfcElement > > RealizingElements(); /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements bool hasConnectionType(); /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. @@ -20562,8 +20562,8 @@ public: static Type::Enum Class(); IfcRelConnectsWithRealizingElements (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelConnectsWithRealizingElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > > list; + typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements >::it it; }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -20624,15 +20624,15 @@ public: /// Containment Use Definition /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// -/// � +/// ÿ /// /// Figure 39 — Relationship for spatial structure containment class IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// - /// IFC2x PLATFORM CHANGE� The data type has been changed from IfcElement to IfcProduct with upward compatibility - SHARED_PTR< IfcTemplatedEntityList > RelatedElements(); + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility + SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > RelatedElements(); /// Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure. IfcSpatialStructureElement* RelatingStructure(); virtual unsigned int getArgumentCount() const { return 6; } @@ -20644,8 +20644,8 @@ public: static Type::Enum Class(); IfcRelContainedInSpatialStructure (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelContainedInSpatialStructure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > list; + typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::it it; }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -20670,7 +20670,7 @@ public: /// IFC2x4 CHANGE: The attribute type has been changed from IfcElement to IfcBuildingElement. IfcElement* RelatingBuildingElement(); /// Relationship to the set of coverings at this element. - SHARED_PTR< IfcTemplatedEntityList > RelatedCoverings(); + SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > RelatedCoverings(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY; case 5: return Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingBuildingElement"; case 5: return "RelatedCoverings"; } return IfcRelConnects::getArgumentName(i); } @@ -20680,11 +20680,11 @@ public: static Type::Enum Class(); IfcRelCoversBldgElements (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelCoversBldgElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > list; + typedef IfcTemplatedEntityList< IfcRelCoversBldgElements >::it it; }; /// Definition from IAI: The objectified relationship, -/// IfcRelCoversSpace, relates�a space object to one or +/// IfcRelCoversSpace, relatesÿa space object to one or /// many coverings, which faces (or is assigned to) the space. /// /// NOTE Particularly floorings, ceilings and wall @@ -20707,13 +20707,13 @@ public: /// NOTE View definition may determine the necessity /// to use either of the two relationship elements /// -/// HISTORY� New Entity in Release +/// HISTORYÿ New Entity in Release /// IFC 2x Edition 3. class IfcRelCoversSpaces : public IfcRelConnects { public: IfcSpace* RelatedSpace(); /// Relationship to the set of coverings covering this space. - SHARED_PTR< IfcTemplatedEntityList > RelatedCoverings(); + SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > RelatedCoverings(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY; case 5: return Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedSpace"; case 5: return "RelatedCoverings"; } return IfcRelConnects::getArgumentName(i); } @@ -20723,8 +20723,8 @@ public: static Type::Enum Class(); IfcRelCoversSpaces (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelCoversSpaces* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > list; + typedef IfcTemplatedEntityList< IfcRelCoversSpaces >::it it; }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -20759,7 +20759,7 @@ public: class IfcRelDecomposes : public IfcRelationship { public: IfcObjectDefinition* RelatingObject(); - SHARED_PTR< IfcTemplatedEntityList > RelatedObjects(); + SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY; case 5: return Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingObject"; case 5: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } @@ -20769,8 +20769,8 @@ public: static Type::Enum Class(); IfcRelDecomposes (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelDecomposes* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > list; + typedef IfcTemplatedEntityList< IfcRelDecomposes >::it it; }; /// A generic and abstract relationship which subtypes are used to: /// @@ -20778,7 +20778,7 @@ public: /// assign a property set to an object instance /// assign a property set template to a property set /// -/// EXAMPLE �Several instances of windows within +/// EXAMPLE ÿSeveral instances of windows within /// the IFC project model may be of the same (catalogue or /// manufacturer) type. Thereby they share the same properties. This /// relationship is established by the subtype @@ -20786,7 +20786,7 @@ public: /// assigning an IfcWindowStyle to multiple occurrences /// IfcWindow. /// -/// EXAMPLE �The (same) property set, e.g.� +/// EXAMPLE ÿThe (same) property set, e.g.ÿ /// Pset_ProductManufacturerInfo, keeping the manufacturer name, /// label and production year of a product, can be assigned to one, /// or many instances of furnishing. This relationship is established @@ -20801,7 +20801,7 @@ public: /// IfcRelDefinesByType. class IfcRelDefines : public IfcRelationship { public: - SHARED_PTR< IfcTemplatedEntityList > RelatedObjects(); + SHARED_PTR< IfcTemplatedEntityList< IfcObject > > RelatedObjects(); virtual unsigned int getArgumentCount() const { return 5; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } @@ -20811,8 +20811,8 @@ public: static Type::Enum Class(); IfcRelDefines (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelDefines* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefines > > list; + typedef IfcTemplatedEntityList< IfcRelDefines >::it it; }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -20842,8 +20842,8 @@ public: static Type::Enum Class(); IfcRelDefinesByProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelDefinesByProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > list; + typedef IfcTemplatedEntityList< IfcRelDefinesByProperties >::it it; }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -20903,18 +20903,18 @@ public: /// /// Pset_WallCommon /// Pset_WallCommon -/// � +/// ÿ /// -/// �-�ExtendToStructure = TRUE -/// � +/// ÿ-ÿExtendToStructure = TRUE +/// ÿ /// TRUE /// -/// � -/// �-�ThermalTransmittance = 0.375 +/// ÿ +/// ÿ-ÿThermalTransmittance = 0.375 /// 0.375 /// -/// �-�ExtendToStructure = FALSE -/// �-�ExtendToStructure = TRUE +/// ÿ-ÿExtendToStructure = FALSE +/// ÿ-ÿExtendToStructure = TRUE /// FALSE class IfcRelDefinesByType : public IfcRelDefines { public: @@ -20929,8 +20929,8 @@ public: static Type::Enum Class(); IfcRelDefinesByType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelDefinesByType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > list; + typedef IfcTemplatedEntityList< IfcRelDefinesByType >::it it; }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -20958,8 +20958,8 @@ public: static Type::Enum Class(); IfcRelFillsElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelFillsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > list; + typedef IfcTemplatedEntityList< IfcRelFillsElement >::it it; }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -20971,7 +20971,7 @@ public: class IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. - SHARED_PTR< IfcTemplatedEntityList > RelatedControlElements(); + SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > RelatedControlElements(); /// Relationship to a distribution flow element IfcDistributionFlowElement* RelatingFlowElement(); virtual unsigned int getArgumentCount() const { return 6; } @@ -20983,8 +20983,8 @@ public: static Type::Enum Class(); IfcRelFlowControlElements (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelFlowControlElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > list; + typedef IfcTemplatedEntityList< IfcRelFlowControlElements >::it it; }; class IfcRelInteractionRequirements : public IfcRelConnects { public: @@ -21008,8 +21008,8 @@ public: static Type::Enum Class(); IfcRelInteractionRequirements (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelInteractionRequirements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelInteractionRequirements > > list; + typedef IfcTemplatedEntityList< IfcRelInteractionRequirements >::it it; }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -21047,8 +21047,8 @@ public: static Type::Enum Class(); IfcRelNests (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelNests* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelNests > > list; + typedef IfcTemplatedEntityList< IfcRelNests >::it it; }; class IfcRelOccupiesSpaces : public IfcRelAssignsToActor { public: @@ -21061,12 +21061,12 @@ public: static Type::Enum Class(); IfcRelOccupiesSpaces (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelOccupiesSpaces* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelOccupiesSpaces > > list; + typedef IfcTemplatedEntityList< IfcRelOccupiesSpaces >::it it; }; class IfcRelOverridesProperties : public IfcRelDefinesByProperties { public: - SHARED_PTR< IfcTemplatedEntityList > OverridingProperties(); + SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > OverridingProperties(); virtual unsigned int getArgumentCount() const { return 7; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return Argument_ENTITY_LIST; } return IfcRelDefinesByProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "OverridingProperties"; } return IfcRelDefinesByProperties::getArgumentName(i); } @@ -21076,8 +21076,8 @@ public: static Type::Enum Class(); IfcRelOverridesProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelOverridesProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelOverridesProperties > > list; + typedef IfcTemplatedEntityList< IfcRelOverridesProperties >::it it; }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -21089,7 +21089,7 @@ public: /// relationship between the main element and a sub ordinary addition /// feature. /// -/// NOTE� In contrary the +/// NOTE  In contrary the /// IfcRelAggregates relationship established an aggregation /// of equal parts to a whole. /// @@ -21109,7 +21109,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -/// IFC2x4 CHANGE� +/// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. class IfcRelProjectsElement : public IfcRelConnects { public: @@ -21126,20 +21126,20 @@ public: static Type::Enum Class(); IfcRelProjectsElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelProjectsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > list; + typedef IfcTemplatedEntityList< IfcRelProjectsElement >::it it; }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to /// assign elements in addition to those levels of the project -/// spatial�structure, in which they are referenced, but not -/// primarily contained.� +/// spatialÿstructure, in which they are referenced, but not +/// primarily contained.ÿ /// -/// NOTE �The primary containment relationship between +/// NOTE ÿThe primary containment relationship between /// an element and the spatial structure is handled -/// by�IfcRelContainsInSpatialStructure. +/// byÿIfcRelContainsInSpatialStructure. /// -/// Any element can be referenced�to zero, one or several +/// Any element can be referencedÿto zero, one or several /// levels of the spatial structure. Whereas the /// IfcRelContainsInSpatialStructure relationship is /// required to be hierarchical (an element can only be @@ -21172,20 +21172,20 @@ public: /// structure elements depending on the context. /// /// HISTORY New entity -/// in�Release IFC2x Edition 3. +/// inÿRelease IFC2x Edition 3. /// /// Use Definition -/// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWall�to two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. +/// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallÿto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing class IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. - /// NOTE� Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - SHARED_PTR< IfcTemplatedEntityList > RelatedElements(); + /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. + SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > RelatedElements(); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// - /// IFC2x Edition 4 CHANGE� The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. + /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. IfcSpatialStructureElement* RelatingStructure(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY_LIST; case 5: return Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } @@ -21196,8 +21196,8 @@ public: static Type::Enum Class(); IfcRelReferencedInSpatialStructure (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelReferencedInSpatialStructure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > list; + typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::it it; }; class IfcRelSchedulesCostItems : public IfcRelAssignsToControl { public: @@ -21210,8 +21210,8 @@ public: static Type::Enum Class(); IfcRelSchedulesCostItems (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelSchedulesCostItems* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSchedulesCostItems > > list; + typedef IfcTemplatedEntityList< IfcRelSchedulesCostItems >::it it; }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -21227,9 +21227,9 @@ public: /// relationship; therefore it assigns one predecessor to one /// successor. /// -/// HISTORY� New entity in IFC 1.0. +/// HISTORY  New entity in IFC 1.0. /// -/// IFC2x4 CHANGE� Relocated to IfcProcessExtension schema. +/// IFC2x4 CHANGE  Relocated to IfcProcessExtension schema. /// TimeLag and SequenceType made optional. /// USERDEFINED added to the IfcSequenceType /// enumeration. UserDefinedSequenceType attribute @@ -21288,8 +21288,8 @@ public: static Type::Enum Class(); IfcRelSequence (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelSequence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > list; + typedef IfcTemplatedEntityList< IfcRelSequence >::it it; }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -21305,12 +21305,12 @@ public: /// HISTORY New entity in IFC /// Release 1.0 /// -/// IFC2x PLATFORM CHANGE� The +/// IFC2x PLATFORM CHANGEÿ The /// data type of the attributeRelatedBuildings has been /// changed from IfcBuilding to its supertype /// IfcSpatialStructureElement with upward compatibility /// for file based exchange. The name -/// IfcRelServicesBuildings is a known�anomaly, as the +/// IfcRelServicesBuildings is a knownÿanomaly, as the /// relationship is not restricted to buildings anymore. class IfcRelServicesBuildings : public IfcRelConnects { public: @@ -21318,10 +21318,10 @@ public: IfcSystem* RelatingSystem(); /// Spatial structure elements (including site, building, storeys) that are serviced by the system. /// - /// IFC2x PLATFORM CHANGE� The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. /// - /// IFC2x Edition 4 CHANGE� The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList > RelatedBuildings(); + /// IFC2x Edition 4 CHANGE  The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. + SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > RelatedBuildings(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return Argument_ENTITY; case 5: return Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingSystem"; case 5: return "RelatedBuildings"; } return IfcRelConnects::getArgumentName(i); } @@ -21331,8 +21331,8 @@ public: static Type::Enum Class(); IfcRelServicesBuildings (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelServicesBuildings* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > list; + typedef IfcTemplatedEntityList< IfcRelServicesBuildings >::it it; }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -21504,15 +21504,15 @@ public: bool hasRelatedBuildingElement(); /// Reference to Building Element, that defines the Space Boundaries. /// - /// IFC2x PLATFORM CHANGE� The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. /// - /// IFC2x4 CHANGE� The attribute has been changed to be mandatory. + /// IFC2x4 CHANGE  The attribute has been changed to be mandatory. IfcElement* RelatedBuildingElement(); /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary bool hasConnectionGeometry(); /// Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space. /// - /// IFC2x PLATFORM CHANGE� The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. IfcConnectionGeometry* ConnectionGeometry(); /// Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual). IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary(); @@ -21527,8 +21527,8 @@ public: static Type::Enum Class(); IfcRelSpaceBoundary (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelSpaceBoundary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > list; + typedef IfcTemplatedEntityList< IfcRelSpaceBoundary >::it it; }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -21550,8 +21550,8 @@ public: static Type::Enum Class(); IfcRelVoidsElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelVoidsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > list; + typedef IfcTemplatedEntityList< IfcRelVoidsElement >::it it; }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -21572,14 +21572,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ResourceOf(); // INVERSE IfcRelAssignsToResource::RelatingResource + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > ResourceOf(); // INVERSE IfcRelAssignsToResource::RelatingResource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcResource > > list; + typedef IfcTemplatedEntityList< IfcResource >::it it; }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -21612,9 +21612,9 @@ public: /// /// Figure 262 — Revolved area solid geometry /// -/// NOTE� Corresponding ISO 10303-42 entity: revolved_area_solid. Please refer to ISO/IS 10303-42:1994, p. 184 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The position attribute has been added to position the cross section used for the revolution. +/// NOTE  Corresponding ISO 10303-42 entity: revolved_area_solid. Please refer to ISO/IS 10303-42:1994, p. 184 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The position attribute has been added to position the cross section used for the revolution. /// -/// HISTORY� New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. /// /// Informal propositions: /// @@ -21624,7 +21624,7 @@ public: /// The AxisLine shall not intersect the interior of the /// SweptArea (as defined at supertype /// IfcSweptAreaSolid). -/// The Angle shall be between 0� and 360�, or 0 +/// The Angle shall be between 0° and 360°, or 0 /// and 2π (depending on the unit type for /// IfcPlaneAngleMeasure). /// @@ -21672,8 +21672,8 @@ public: static Type::Enum Class(); IfcRevolvedAreaSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRevolvedAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRevolvedAreaSolid > > list; + typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid >::it it; }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -21684,7 +21684,7 @@ public: /// location and orientation of the cone: /// /// SELF\IfcCsgPrimitive3D.Position: The location and -/// orientation of the axis system for the primitive.� +/// orientation of the axis system for the primitive.  /// SELF\IfcCsgPrimitive3D.Position.Location: The center /// of the circular area being the bottom face of the cone. /// SELF\IfcCsgPrimitive3D.Position.Position[3]: The @@ -21698,9 +21698,9 @@ public: /// /// Figure 264 — Right circular cone geometry /// -/// NOTE� Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x3 +/// HISTORY  New entity in IFC2x3 /// /// Texture use definition /// On the circular side, textures are aligned facing upright with @@ -21755,8 +21755,8 @@ public: static Type::Enum Class(); IfcRightCircularCone (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRightCircularCone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRightCircularCone > > list; + typedef IfcTemplatedEntityList< IfcRightCircularCone >::it it; }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -21788,9 +21788,9 @@ public: /// /// Figure 266 — Right circular cylinder geometry /// -/// NOTE� Corresponding ISO 10303 entity: right_circular_cyclinder, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 177 for the definition in the international standard. +/// NOTE  Corresponding ISO 10303 entity: right_circular_cyclinder, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 177 for the definition in the international standard. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Texture use definition /// On the circular side, textures are aligned facing upright with @@ -21854,8 +21854,8 @@ public: static Type::Enum Class(); IfcRightCircularCylinder (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRightCircularCylinder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRightCircularCylinder > > list; + typedef IfcTemplatedEntityList< IfcRightCircularCylinder >::it it; }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -21945,16 +21945,16 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return Argument_STRING; case 8: return Argument_ENUMERATION; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "LongName"; case 8: return "CompositionType"; } return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ReferencesElements(); // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure - SHARED_PTR< IfcTemplatedEntityList > ServicedBySystems(); // INVERSE IfcRelServicesBuildings::RelatedBuildings - SHARED_PTR< IfcTemplatedEntityList > ContainsElements(); // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure + SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > ReferencesElements(); // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure + SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > ServicedBySystems(); // INVERSE IfcRelServicesBuildings::RelatedBuildings + SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainsElements(); // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpatialStructureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > list; + typedef IfcTemplatedEntityList< IfcSpatialStructureElement >::it it; }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -21964,7 +21964,7 @@ public: /// specification (i.e. the specific element information, that /// is common to all occurrences of that element type). /// -/// NOTE �The product representations are defined as +/// NOTE ÿThe product representations are defined as /// representation maps (at the level of the supertype /// IfcTypeProduct, which gets assigned by an element /// occurrence instance through the @@ -21973,22 +21973,22 @@ public: /// /// A spatial structure element type is used to define the /// common properties of a certain type of a spatial structure -/// element that may be applied to many instances of that�type +/// element that may be applied to many instances of thatÿtype /// to assign a specific style. Spatial structure element types /// (i.e. the instantiable subtypes) may be exchanged without /// being already assigned to occurrences. /// -/// NOTE �The spatial structure element types are +/// NOTE ÿThe spatial structure element types are /// often used to represent catalogues of predefined spatial /// types for shared attributes, less so for sharing a common /// representation map. /// /// The occurrences of subtypes of the -/// abstract�IfcSpatialStructureElementType are +/// abstractÿIfcSpatialStructureElementType are /// represented by instances of subtypes of /// IfcSpatialStructureElement. /// -/// HISTORY �New entity in +/// HISTORY ÿNew entity in /// Release IFC2x Edition 3. class IfcSpatialStructureElementType : public IfcElementType { public: @@ -22001,8 +22001,8 @@ public: static Type::Enum Class(); IfcSpatialStructureElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpatialStructureElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElementType > > list; + typedef IfcTemplatedEntityList< IfcSpatialStructureElementType >::it it; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -22011,7 +22011,7 @@ public: /// and provides: /// /// SELF\IfcCsgPrimitive3D.Position: The location and -/// orientation of the axis system for the primitive.� +/// orientation of the axis system for the primitive.  /// SELF\IfcCsgPrimitive3D.Position.Location: The center /// of the sphere. /// SELF\IfcCsgPrimitive3D.Position.Position[3]: The z @@ -22028,9 +22028,9 @@ public: /// /// Figure 270 — Sphere geometry /// -/// NOTE� Corresponding STEP entity: sphere, the position attribute, including the centre point,� has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 175 for the final definition of the formal standard. +/// NOTE  Corresponding STEP entity: sphere, the position attribute, including the centre point,  has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 175 for the final definition of the formal standard. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Texture Use Definition /// Textures are aligned facing upright with origin at the back (+Y direction) revolving counter-clockwise. Textures are stretched or repeated to the extent of the circumference at the equator according to RepeatS and RepeatT. @@ -22067,16 +22067,16 @@ public: static Type::Enum Class(); IfcSphere (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSphere* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSphere > > list; + typedef IfcTemplatedEntityList< IfcSphere >::it it; }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// /// The differentiation between actions and reactions is realized by instantiating objects either from subclasses of IfcStructuralAction or IfcStructuralReaction respectively. They inherit commonly needed attributes from the abstract superclass IfcStructuralActivity, notably the relationship which connects actions or reactions with connections, analysis members, or elements (subtypes of IfcStructuralItem or IfcElement). /// -/// NOTE� Instances of IfcStructuralActivity which are connected with an IfcElement are subject to agreements outside the scope of this specification. +/// NOTE  Instances of IfcStructuralActivity which are connected with an IfcElement are subject to agreements outside the scope of this specification. /// -/// NOTE� The semantics of IfcStructuralActivity are only fully defined +/// NOTE  The semantics of IfcStructuralActivity are only fully defined /// if an activity instance is connected with exactly one structural item. The inverse attribute /// AssignedToStructuralItem can only be empty in incomplete models or in conceptual models /// which are not yet ready for analysis. @@ -22150,7 +22150,7 @@ public: /// RepresentationIdentifier: 'Reference' /// RepresentationType: 'Edge' /// -/// NOTE� While an IfcEdge (or IfcOrientedEdge with underlying IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an underlying straight line as reference curve with the origin of the curve parameter at the start vertex point. +/// NOTE  While an IfcEdge (or IfcOrientedEdge with underlying IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an underlying straight line as reference curve with the origin of the curve parameter at the start vertex point. /// /// Instances of IfcStructuralActivity which act on a single point on a curve or surface item shall have a topology representation given by an IfcVertexPoint, which should be the single item of IfcTopologyRepresentation.Items. The point geometry shall be compatible with the curve or surface geometry of the connected item. The local coordinate system of the activity is oriented by the curve or surface geometry of the connected item as described above for activities with edge or face topology. /// @@ -22191,14 +22191,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return Argument_ENTITY; case 8: return Argument_ENUMERATION; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "AppliedLoad"; case 8: return "GlobalOrLocal"; } return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > AssignedToStructuralItem(); // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > AssignedToStructuralItem(); // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralActivity (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralActivity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralActivity > > list; + typedef IfcTemplatedEntityList< IfcStructuralActivity >::it it; }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -22247,7 +22247,7 @@ public: /// RepresentationIdentifier: 'Reference' /// RepresentationType: 'Edge' /// -/// NOTE� While an IfcEdge (or IfcOrientedEdge with underlying +/// NOTE  While an IfcEdge (or IfcOrientedEdge with underlying /// IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an /// underlying straight line as reference curve with the origin of the curve parameter at the start vertex /// point. @@ -22284,23 +22284,23 @@ public: /// /// The ObjectPlacements of all structural items which are grouped into the same instance of IfcStructuralAnalysisModel shall refer to the same instance of IfcObjectPlacement. /// -/// NOTE� This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. +/// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// -/// NOTE� A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. +/// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IfcStructuralItem : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > AssignedStructuralActivity(); // INVERSE IfcRelConnectsStructuralActivity::RelatingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > AssignedStructuralActivity(); // INVERSE IfcRelConnectsStructuralActivity::RelatingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralItem > > list; + typedef IfcTemplatedEntityList< IfcStructuralItem >::it it; }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -22312,21 +22312,21 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralItem::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ReferencesElement(); // INVERSE IfcRelConnectsStructuralElement::RelatedStructuralMember - SHARED_PTR< IfcTemplatedEntityList > ConnectedBy(); // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralElement > > ReferencesElement(); // INVERSE IfcRelConnectsStructuralElement::RelatedStructuralMember + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > ConnectedBy(); // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralMember (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralMember > > list; + typedef IfcTemplatedEntityList< IfcStructuralMember >::it it; }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, /// internal forces, and deflections. /// -/// HISTORY� New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. /// /// IFC 2x4 change: Inverse attribute Causes deleted; use IfcRelAssignsToProduct via HasAssignments instead. /// @@ -22348,14 +22348,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralActivity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralActivity::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > Causes(); // INVERSE IfcStructuralAction::CausedBy + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAction > > Causes(); // INVERSE IfcStructuralAction::CausedBy bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralReaction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralReaction > > list; + typedef IfcTemplatedEntityList< IfcStructuralReaction >::it it; }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -22394,12 +22394,12 @@ public: static Type::Enum Class(); IfcStructuralSurfaceMember (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralSurfaceMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceMember > > list; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember >::it it; }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// -/// NOTE� It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralSurfaceMemberVarying but only with the IfcStructuralSurfaceMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. +/// NOTE  It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralSurfaceMemberVarying but only with the IfcStructuralSurfaceMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. /// /// HISTORY: New entity in IFC 2x2. /// Use definition changed and attributes deleted in IFC 2x4. @@ -22417,7 +22417,7 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - std::vector /*[2:?]*/ SubsequentThickness(); + std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ SubsequentThickness(); IfcShapeAspect* VaryingThicknessLocation(); virtual unsigned int getArgumentCount() const { return 11; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return Argument_VECTOR_DOUBLE; case 10: return Argument_ENTITY; } return IfcStructuralSurfaceMember::getArgumentType(i); } @@ -22428,8 +22428,8 @@ public: static Type::Enum Class(); IfcStructuralSurfaceMemberVarying (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralSurfaceMemberVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > > list; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying >::it it; }; class IfcStructuredDimensionCallout : public IfcDraughtingCallout { public: @@ -22442,8 +22442,8 @@ public: static Type::Enum Class(); IfcStructuredDimensionCallout (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuredDimensionCallout* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuredDimensionCallout > > list; + typedef IfcTemplatedEntityList< IfcStructuredDimensionCallout >::it it; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -22487,7 +22487,7 @@ public: /// transformation matrix T(u), which varies with the /// Directrix parameter u. /// -/// NOTE� The +/// NOTE  The /// geometric shape of the solid is not dependent upon the curve /// parameterization; the volume depends upon the area swept and the /// length of the Directrix. @@ -22498,9 +22498,9 @@ public: /// and the ReferenceSurface are positioned within the 3D /// Position coordinate system. /// -/// NOTE� Corresponding ISO 10303-42 entity: surface_curve_swept_area_solid. Please refer to ISO 10303-42 ed.2:1999, p. 274 for the definition in the international standard. +/// NOTE  Corresponding ISO 10303-42 entity: surface_curve_swept_area_solid. Please refer to ISO 10303-42 ed.2:1999, p. 274 for the definition in the international standard. /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Informal propositions: /// @@ -22513,11 +22513,11 @@ public: IfcCurve* Directrix(); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// - /// IFC2x4 CHANGE� The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. IfcParameterValue StartParam(); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// - /// IFC2x4 CHANGE� The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. IfcParameterValue EndParam(); /// The surface containing the Directrix. IfcSurface* ReferenceSurface(); @@ -22530,14 +22530,14 @@ public: static Type::Enum Class(); IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceCurveSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > > list; + typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid >::it it; }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// /// V = ExtrusionAxis /// -/// The parameterization range for v is -� < v < � and for u it is defined by the curve parameterization. +/// The parameterization range for v is -¥ < v < ¥ and for u it is defined by the curve parameterization. /// /// NOTE: Corresponding ISO 10303 entity: surface_of_linear_extrusion. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. The following adaption has been made. The ExtrusionAxis and the Direction are defined as two separate attributes in correlation to the definition of the extruded_area_solid, and not as a single vector attribute. The vector is derived as ExtrusionAxis. /// @@ -22561,8 +22561,8 @@ public: static Type::Enum Class(); IfcSurfaceOfLinearExtrusion (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceOfLinearExtrusion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > > list; + typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion >::it it; }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -22594,8 +22594,8 @@ public: static Type::Enum Class(); IfcSurfaceOfRevolution (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSurfaceOfRevolution* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceOfRevolution > > list; + typedef IfcTemplatedEntityList< IfcSurfaceOfRevolution >::it it; }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -22638,8 +22638,8 @@ public: static Type::Enum Class(); IfcSystemFurnitureElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSystemFurnitureElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystemFurnitureElementType > > list; + typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType >::it it; }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -22651,9 +22651,9 @@ public: /// design, construction and operation related activities as /// well. /// -/// HISTORY� New entity in IFC 1.0. Renamed from IfcWorkTask in IFC 2x. +/// HISTORY  New entity in IFC 1.0. Renamed from IfcWorkTask in IFC 2x. /// -/// IFC2x4 CHANGE� Attributes TaskTime and PredefinedType added. IfcMove and IfcOrderRequest has been removed in IFC2x4 and are now represented by IfcTask. Further information can be found in the description below. +/// IFC2x4 CHANGE  Attributes TaskTime and PredefinedType added. IfcMove and IfcOrderRequest has been removed in IFC2x4 and are now represented by IfcTask. Further information can be found in the description below. /// /// Type use definition /// @@ -22928,8 +22928,8 @@ public: static Type::Enum Class(); IfcTask (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTask* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTask > > list; + typedef IfcTemplatedEntityList< IfcTask >::it it; }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -23007,8 +23007,8 @@ public: static Type::Enum Class(); IfcTransportElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTransportElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransportElementType > > list; + typedef IfcTemplatedEntityList< IfcTransportElementType >::it it; }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -23033,14 +23033,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheActor"; } return IfcObject::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsActingUpon(); // INVERSE IfcRelAssignsToActor::RelatingActor + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToActor > > IsActingUpon(); // INVERSE IfcRelAssignsToActor::RelatingActor bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcActor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcActor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcActor > > list; + typedef IfcTemplatedEntityList< IfcActor >::it it; }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -23221,14 +23221,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcAnnotation (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAnnotation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotation > > list; + typedef IfcTemplatedEntityList< IfcAnnotation >::it it; }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23253,11 +23253,11 @@ public: /// to an external document or library should be provided to further define the /// profile as described at IfcProfileDef. /// -/// HISTORY� New entity in Release IFC2x Edition 2. +/// HISTORY  New entity in Release IFC2x Edition 2. /// -/// IFC2x3 CHANGE� All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL. /// -/// IFC2x4 CHANGE� Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. +/// IFC2x4 CHANGE  Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 310 illustrates parameters of the asymmetric I-shaped section definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: /// @@ -23291,8 +23291,8 @@ public: static Type::Enum Class(); IfcAsymmetricIShapeProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAsymmetricIShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > > list; + typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef >::it it; }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -23322,9 +23322,9 @@ public: /// /// Figure 250 — Block geometry /// -/// NOTE� Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard. +/// NOTE  Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard. /// -/// HISTORY� New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Texture use definition /// On each side face, textures are aligned facing upright. On the @@ -23408,8 +23408,8 @@ public: static Type::Enum Class(); IfcBlock (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBlock* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBlock > > list; + typedef IfcTemplatedEntityList< IfcBlock >::it it; }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -23429,8 +23429,8 @@ public: static Type::Enum Class(); IfcBooleanClippingResult (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBooleanClippingResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBooleanClippingResult > > list; + typedef IfcTemplatedEntityList< IfcBooleanClippingResult >::it it; }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -23453,8 +23453,8 @@ public: static Type::Enum Class(); IfcBoundedCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoundedCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundedCurve > > list; + typedef IfcTemplatedEntityList< IfcBoundedCurve >::it it; }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -23532,13 +23532,13 @@ public: /// IfcBuilding.IsDecomposedBy -- referencing /// (IfcBuilding || IfcBuildingStorey) by /// IfcRelAggregates.RelatedObjects. If it refers to another -/// instance of�IfcBuilding, the referenced IfcBuilding +/// instance ofÿIfcBuilding, the referenced IfcBuilding /// needs to have a different and lower CompositionType, i.e. ELEMENT /// (if the other IfcBuilding has COMPLEX), or PARTIAL (if the /// other IfcBuilding has ELEMENT). /// /// If there are building elements and/or other elements directly -/// related to the IfcBuilding�(like a curtain wall spanning +/// related to the IfcBuildingÿ(like a curtain wall spanning /// several stories), they are associated with the IfcBuilding /// by using the objectified relationship /// IfcRelContainedInSpatialStructure. The IfcBuilding @@ -23572,7 +23572,7 @@ public: /// total height of building, also referred to as ridge height (top of roof structure, e.g the ridge against terrain): provided by BaseQuantity with Name="TotalHeight" /// eaves height of building (base of roof structure, e.g the eaves against terrain): provided by BaseQuantity with Name="EavesHeight" /// -/// � +/// ÿ /// Figure 21 — Building elevations /// /// Geometry Use Definitions @@ -23654,8 +23654,8 @@ public: static Type::Enum Class(); IfcBuilding (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuilding* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuilding > > list; + typedef IfcTemplatedEntityList< IfcBuilding >::it it; }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -23697,8 +23697,8 @@ public: static Type::Enum Class(); IfcBuildingElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementType > > list; + typedef IfcTemplatedEntityList< IfcBuildingElementType >::it it; }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -23757,7 +23757,7 @@ public: /// IfcBuildingStorey.Decomposes -- referencing /// (IfcBuilding || IfcBuildingStorey) by /// IfcRelAggregates.RelatingObject, If it refers to another -/// instance of�IfcBuildingStorey, the referenced +/// instance ofÿIfcBuildingStorey, the referenced /// IfcBuildingStorey needs to have a different and higher /// CompositionType, i.e. COMPLEX (if the other /// IfcBuildingStorey has ELEMENT), or ELEMENT (if the other @@ -23765,7 +23765,7 @@ public: /// IfcBuildingStorey.IsDecomposedBy -- referencing /// (IfcBuildingStorey || IfcSpace) by /// IfcRelAggregates.RelatedObjects. If it refers to another -/// instance of�IfcBuildingStorey, the referenced +/// instance ofÿIfcBuildingStorey, the referenced /// IfcBuildingStorey needs to have a different and lower /// CompositionType, i.e. ELEMENT (if the other /// IfcBuildingStorey has COMPLEX), or PARTIAL (if the other @@ -23892,8 +23892,8 @@ public: static Type::Enum Class(); IfcBuildingStorey (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingStorey* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingStorey > > list; + typedef IfcTemplatedEntityList< IfcBuildingStorey >::it it; }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -23904,7 +23904,7 @@ public: /// profile's centre of the bounding box (for symmetric profiles identical /// with the centre of gravity). /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Figure 312 illustrates parameters of the circular hollow profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: /// @@ -23926,8 +23926,8 @@ public: static Type::Enum Class(); IfcCircleHollowProfileDef (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCircleHollowProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircleHollowProfileDef > > list; + typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef >::it it; }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -24040,8 +24040,8 @@ public: static Type::Enum Class(); IfcColumnType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcColumnType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumnType > > list; + typedef IfcTemplatedEntityList< IfcColumnType >::it it; }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -24112,7 +24112,7 @@ public: class IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. - SHARED_PTR< IfcTemplatedEntityList > Segments(); + SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > Segments(); /// Indication of whether the curve intersects itself or not; this is for information only. bool SelfIntersect(); virtual unsigned int getArgumentCount() const { return 2; } @@ -24124,8 +24124,8 @@ public: static Type::Enum Class(); IfcCompositeCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCompositeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurve > > list; + typedef IfcTemplatedEntityList< IfcCompositeCurve >::it it; }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -24145,8 +24145,8 @@ public: static Type::Enum Class(); IfcConic (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConic* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConic > > list; + typedef IfcTemplatedEntityList< IfcConic >::it it; }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -24155,9 +24155,9 @@ public: /// represents a pool of items having limited availability such as general labor or an equipment fleet. A resource can represent either a generic resource pool (not having any task assignment) or a task-specific resource allocation (having an IfcTask /// assignment). /// -/// HISTORY� New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x4 CHANGE� Modified in to promote ResourceIdentifer and ResourceGroup (renamed to LongDescription) to supertype IfcResource and add attributes as described. +/// IFC2x4 CHANGE  Modified in to promote ResourceIdentifer and ResourceGroup (renamed to LongDescription) to supertype IfcResource and add attributes as described. /// /// Type use definition /// IfcConstructionResource defines the occurrence of any construction resource; common information about construction resource types is handled by IfcConstructionResourceType. The IfcConstructionResourceType (if present) may establish the common type name, common properties, common cost rates, and common productivities applied to specific task types. The IfcConstructionResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute as shown in Figure 186. @@ -24244,8 +24244,8 @@ public: static Type::Enum Class(); IfcConstructionResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstructionResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionResource > > list; + typedef IfcTemplatedEntityList< IfcConstructionResource >::it it; }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -24263,14 +24263,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > Controls(); // INVERSE IfcRelAssignsToControl::RelatingControl + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToControl > > Controls(); // INVERSE IfcRelAssignsToControl::RelatingControl bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcControl (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcControl > > list; + typedef IfcTemplatedEntityList< IfcControl >::it it; }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -24319,8 +24319,8 @@ public: static Type::Enum Class(); IfcCostItem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCostItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostItem > > list; + typedef IfcTemplatedEntityList< IfcCostItem >::it it; }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -24371,7 +24371,7 @@ public: IfcLabel Status(); /// Whether the optional attribute TargetUsers is defined for this IfcCostSchedule bool hasTargetUsers(); - SHARED_PTR< IfcTemplatedEntityList > TargetUsers(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > TargetUsers(); /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule bool hasUpdateDate(); /// The date and time that this cost schedule is updated; this allows tracking the schedule history. @@ -24392,8 +24392,8 @@ public: static Type::Enum Class(); IfcCostSchedule (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCostSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostSchedule > > list; + typedef IfcTemplatedEntityList< IfcCostSchedule >::it it; }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -24487,8 +24487,8 @@ public: static Type::Enum Class(); IfcCoveringType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCoveringType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoveringType > > list; + typedef IfcTemplatedEntityList< IfcCoveringType >::it it; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -24511,8 +24511,8 @@ public: static Type::Enum Class(); IfcCrewResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCrewResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCrewResource > > list; + typedef IfcTemplatedEntityList< IfcCrewResource >::it it; }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -24548,8 +24548,8 @@ public: static Type::Enum Class(); IfcCurtainWallType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurtainWallType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurtainWallType > > list; + typedef IfcTemplatedEntityList< IfcCurtainWallType >::it it; }; class IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { public: @@ -24562,8 +24562,8 @@ public: static Type::Enum Class(); IfcDimensionCurveDirectedCallout (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDimensionCurveDirectedCallout* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCurveDirectedCallout > > list; + typedef IfcTemplatedEntityList< IfcDimensionCurveDirectedCallout >::it it; }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -24571,7 +24571,7 @@ public: /// of product representations. It is used to define an element /// specification (i.e. the specific product information, that is /// common to all occurrences of that product type). -/// NOTE� The product representations are defined +/// NOTEÿ The product representations are defined /// as representation maps (at the level of the supertype /// IfcTypeProduct, which gets assigned by an element /// occurrence instance through the @@ -24586,9 +24586,9 @@ public: /// The occurrences of the IfcDistributionElementType are /// represented by instances of IfcDistributionElement (or its /// subtypes). -/// HISTORY� New entity in +/// HISTORYÿ New entity in /// Release IFC2x Edition 2. -/// IFC2x3 CHANGE� The entity has been made +/// IFC2x3 CHANGEÿ The entity has been made /// non-abstract /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after @@ -24604,8 +24604,8 @@ public: static Type::Enum Class(); IfcDistributionElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionElementType > > list; + typedef IfcTemplatedEntityList< IfcDistributionElementType >::it it; }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -24683,8 +24683,8 @@ public: static Type::Enum Class(); IfcDistributionFlowElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionFlowElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionFlowElementType > > list; + typedef IfcTemplatedEntityList< IfcDistributionFlowElementType >::it it; }; class IfcElectricalBaseProperties : public IfcEnergyProperties { public: @@ -24715,8 +24715,8 @@ public: static Type::Enum Class(); IfcElectricalBaseProperties (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricalBaseProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricalBaseProperties > > list; + typedef IfcTemplatedEntityList< IfcElectricalBaseProperties >::it it; }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -24781,25 +24781,25 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Tag"; } return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasStructuralMember(); // INVERSE IfcRelConnectsStructuralElement::RelatingElement - SHARED_PTR< IfcTemplatedEntityList > FillsVoids(); // INVERSE IfcRelFillsElement::RelatedBuildingElement - SHARED_PTR< IfcTemplatedEntityList > ConnectedTo(); // INVERSE IfcRelConnectsElements::RelatingElement - SHARED_PTR< IfcTemplatedEntityList > HasCoverings(); // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement - SHARED_PTR< IfcTemplatedEntityList > HasProjections(); // INVERSE IfcRelProjectsElement::RelatingElement - SHARED_PTR< IfcTemplatedEntityList > ReferencedInStructures(); // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements - SHARED_PTR< IfcTemplatedEntityList > HasPorts(); // INVERSE IfcRelConnectsPortToElement::RelatedElement - SHARED_PTR< IfcTemplatedEntityList > HasOpenings(); // INVERSE IfcRelVoidsElement::RelatingBuildingElement - SHARED_PTR< IfcTemplatedEntityList > IsConnectionRealization(); // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements - SHARED_PTR< IfcTemplatedEntityList > ProvidesBoundaries(); // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement - SHARED_PTR< IfcTemplatedEntityList > ConnectedFrom(); // INVERSE IfcRelConnectsElements::RelatedElement - SHARED_PTR< IfcTemplatedEntityList > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralElement > > HasStructuralMember(); // INVERSE IfcRelConnectsStructuralElement::RelatingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > FillsVoids(); // INVERSE IfcRelFillsElement::RelatedBuildingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > ConnectedTo(); // INVERSE IfcRelConnectsElements::RelatingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > HasCoverings(); // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > HasProjections(); // INVERSE IfcRelProjectsElement::RelatingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > ReferencedInStructures(); // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > HasPorts(); // INVERSE IfcRelConnectsPortToElement::RelatedElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > HasOpenings(); // INVERSE IfcRelVoidsElement::RelatingBuildingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > > IsConnectionRealization(); // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements + SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > ProvidesBoundaries(); // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > ConnectedFrom(); // INVERSE IfcRelConnectsElements::RelatedElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElement > > list; + typedef IfcTemplatedEntityList< IfcElement >::it it; }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -24852,7 +24852,7 @@ public: /// SELF\IfcObjectDefinition.IsDecomposedBy. Components of an /// assembly are described by instances of subtypes of /// IfcElement. -/// In this case, the contained�subtypes of IfcElement +/// In this case, the containedÿsubtypes of IfcElement /// shall not be additionally contained in the project spatial /// hierarchy, i.e. the inverse attribute /// SELF\IfcElement.ContainedInStructure of those @@ -24886,7 +24886,7 @@ public: /// have an explicit geometric representation. In some cases it may /// be useful to also expose an own explicit representation of the /// aggregate. -/// NOTE� View definitions or implementer +/// NOTEÿ View definitions or implementer /// agreements may further constrain the applicability of certain /// shape representations at the IfcElementAssembly in respect /// of the shape representations of its parts. @@ -24903,7 +24903,7 @@ public: IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace(); /// Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// - /// IFC2x4 CHANGE� The attribute has been changed to be optional. + /// IFC2x4 CHANGE  The attribute has been changed to be optional. IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType(); virtual unsigned int getArgumentCount() const { return 10; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_ENUMERATION; case 9: return Argument_ENUMERATION; } return IfcElement::getArgumentType(i); } @@ -24914,8 +24914,8 @@ public: static Type::Enum Class(); IfcElementAssembly (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElementAssembly* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementAssembly > > list; + typedef IfcTemplatedEntityList< IfcElementAssembly >::it it; }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -25005,8 +25005,8 @@ public: static Type::Enum Class(); IfcElementComponent (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElementComponent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementComponent > > list; + typedef IfcTemplatedEntityList< IfcElementComponent >::it it; }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -25028,8 +25028,8 @@ public: static Type::Enum Class(); IfcElementComponentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElementComponentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementComponentType > > list; + typedef IfcTemplatedEntityList< IfcElementComponentType >::it it; }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -25041,9 +25041,9 @@ public: /// R2 = SemiAxis2 /// and the ellipse is parameterized as: /// -/// The parameterization range is 0 � -/// u � 2p (or 0 -/// � u � +/// The parameterization range is 0 £ +/// u £ 2p (or 0 +/// £ u £ /// 360 degree). In the placement coordinate system defined above, the ellipse is /// the equation C = 0, where /// @@ -25051,9 +25051,9 @@ public: /// /// The inherited Position.Location from IfcConic is the center of the IfcEllipse, and the inherited Position.P[1] from IfcConic the direction of the SemiAxis1. /// -/// NOTE� Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// @@ -25073,8 +25073,8 @@ public: static Type::Enum Class(); IfcEllipse (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEllipse* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEllipse > > list; + typedef IfcTemplatedEntityList< IfcEllipse >::it it; }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -25110,8 +25110,8 @@ public: static Type::Enum Class(); IfcEnergyConversionDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEnergyConversionDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyConversionDeviceType > > list; + typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType >::it it; }; class IfcEquipmentElement : public IfcElement { public: @@ -25124,8 +25124,8 @@ public: static Type::Enum Class(); IfcEquipmentElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEquipmentElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEquipmentElement > > list; + typedef IfcTemplatedEntityList< IfcEquipmentElement >::it it; }; class IfcEquipmentStandard : public IfcControl { public: @@ -25138,8 +25138,8 @@ public: static Type::Enum Class(); IfcEquipmentStandard (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEquipmentStandard* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEquipmentStandard > > list; + typedef IfcTemplatedEntityList< IfcEquipmentStandard >::it it; }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -25180,8 +25180,8 @@ public: static Type::Enum Class(); IfcEvaporativeCoolerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEvaporativeCoolerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporativeCoolerType > > list; + typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType >::it it; }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -25222,8 +25222,8 @@ public: static Type::Enum Class(); IfcEvaporatorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEvaporatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporatorType > > list; + typedef IfcTemplatedEntityList< IfcEvaporatorType >::it it; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -25237,7 +25237,7 @@ public: /// /// NOTE Corresponding ISO 10303-42 entity: faceted_brep. Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In the current IFC Release faceted B-rep with voids is represented by an own subtype and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC data schema. /// -/// HISTORY� New entity in IFC Release 1.0 +/// HISTORY  New entity in IFC Release 1.0 /// /// Informal proposition: /// @@ -25260,8 +25260,8 @@ public: static Type::Enum Class(); IfcFacetedBrep (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFacetedBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFacetedBrep > > list; + typedef IfcTemplatedEntityList< IfcFacetedBrep >::it it; }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -25269,11 +25269,11 @@ public: /// which are defined so that the shell normal point into the /// void. /// -/// NOTE� Corresponding ISO 10303-42 entity: brep_with_voids (see note above). Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In IFC faceted B-rep with voids is represented by this subtype IfcFacetedBrepWithVoids and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994 between an instance of faceted_brep AND brep_with_voids. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC object model. +/// NOTEÿ Corresponding ISO 10303-42 entity: brep_with_voids (see note above). Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In IFC faceted B-rep with voids is represented by this subtype IfcFacetedBrepWithVoids and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994 between an instance of faceted_brep AND brep_with_voids. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC object model. /// -/// HISTORY� New entity in IFC Release 1.0 +/// HISTORYÿ New entity in IFC Release 1.0 /// -/// IFC2x4 CHANGE� Subtyping changed from IfcManifoldSolidBrep to IfcFacetedBrep with upward compatibility for file based exchange. +/// IFC2x4 CHANGEÿ Subtyping changed from IfcManifoldSolidBrep to IfcFacetedBrep with upward compatibility for file based exchange. /// /// Informal propositions: /// @@ -25290,7 +25290,7 @@ public: class IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { public: /// Set of closed shells defining voids within the solid. - SHARED_PTR< IfcTemplatedEntityList > Voids(); + SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > Voids(); virtual unsigned int getArgumentCount() const { return 2; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return Argument_ENTITY_LIST; } return IfcManifoldSolidBrep::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Voids"; } return IfcManifoldSolidBrep::getArgumentName(i); } @@ -25300,8 +25300,8 @@ public: static Type::Enum Class(); IfcFacetedBrepWithVoids (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFacetedBrepWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFacetedBrepWithVoids > > list; + typedef IfcTemplatedEntityList< IfcFacetedBrepWithVoids >::it it; }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -25322,8 +25322,8 @@ public: static Type::Enum Class(); IfcFastener (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFastener* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFastener > > list; + typedef IfcTemplatedEntityList< IfcFastener >::it it; }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -25359,8 +25359,8 @@ public: static Type::Enum Class(); IfcFastenerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFastenerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFastenerType > > list; + typedef IfcTemplatedEntityList< IfcFastenerType >::it it; }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -25467,8 +25467,8 @@ public: static Type::Enum Class(); IfcFeatureElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFeatureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElement > > list; + typedef IfcTemplatedEntityList< IfcFeatureElement >::it it; }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -25531,14 +25531,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElement::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ProjectsElements(); // INVERSE IfcRelProjectsElement::RelatedFeatureElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > ProjectsElements(); // INVERSE IfcRelProjectsElement::RelatedFeatureElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementAddition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFeatureElementAddition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElementAddition > > list; + typedef IfcTemplatedEntityList< IfcFeatureElementAddition >::it it; }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -25596,14 +25596,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElement::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > VoidsElements(); // INVERSE IfcRelVoidsElement::RelatedOpeningElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > VoidsElements(); // INVERSE IfcRelVoidsElement::RelatedOpeningElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementSubtraction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFeatureElementSubtraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElementSubtraction > > list; + typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction >::it it; }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -25638,8 +25638,8 @@ public: static Type::Enum Class(); IfcFlowControllerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowControllerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowControllerType > > list; + typedef IfcTemplatedEntityList< IfcFlowControllerType >::it it; }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -25675,8 +25675,8 @@ public: static Type::Enum Class(); IfcFlowFittingType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowFittingType > > list; + typedef IfcTemplatedEntityList< IfcFlowFittingType >::it it; }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -25723,8 +25723,8 @@ public: static Type::Enum Class(); IfcFlowMeterType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowMeterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMeterType > > list; + typedef IfcTemplatedEntityList< IfcFlowMeterType >::it it; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -25759,8 +25759,8 @@ public: static Type::Enum Class(); IfcFlowMovingDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowMovingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMovingDeviceType > > list; + typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType >::it it; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -25804,8 +25804,8 @@ public: static Type::Enum Class(); IfcFlowSegmentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowSegmentType > > list; + typedef IfcTemplatedEntityList< IfcFlowSegmentType >::it it; }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -25825,8 +25825,8 @@ public: static Type::Enum Class(); IfcFlowStorageDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowStorageDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowStorageDeviceType > > list; + typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType >::it it; }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -25846,8 +25846,8 @@ public: static Type::Enum Class(); IfcFlowTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTerminalType > > list; + typedef IfcTemplatedEntityList< IfcFlowTerminalType >::it it; }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -25868,8 +25868,8 @@ public: static Type::Enum Class(); IfcFlowTreatmentDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowTreatmentDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > > list; + typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType >::it it; }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -25986,8 +25986,8 @@ public: static Type::Enum Class(); IfcFurnishingElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFurnishingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnishingElement > > list; + typedef IfcTemplatedEntityList< IfcFurnishingElement >::it it; }; class IfcFurnitureStandard : public IfcControl { public: @@ -26000,8 +26000,8 @@ public: static Type::Enum Class(); IfcFurnitureStandard (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFurnitureStandard* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnitureStandard > > list; + typedef IfcTemplatedEntityList< IfcFurnitureStandard >::it it; }; class IfcGasTerminalType : public IfcFlowTerminalType { public: @@ -26015,8 +26015,8 @@ public: static Type::Enum Class(); IfcGasTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGasTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGasTerminalType > > list; + typedef IfcTemplatedEntityList< IfcGasTerminalType >::it it; }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -26030,7 +26030,7 @@ public: /// curve). /// The inherited attributes Name and Description can /// be used to define a descriptive name of the grid and to indicate -/// the grid's purpose.�A grid is defined by (normally) two, or +/// the grid's purpose. A grid is defined by (normally) two, or /// (in case of a triangular grid) three lists of grid axes. The /// following table shows some examples. /// A grid may support a rectangular layout (Figure 28), a radial layout (Figure 29), or a triangular layout (Figure 30). @@ -26098,7 +26098,7 @@ public: /// IfcCurve, each representing a grid axis. Applicable subtypes /// of IfcCurve are: IfcPolyline, IfcCircle, /// IfcTrimmedCurve (based on BaseCurve referencing -/// IfcLine or IfcCircle).� +/// IfcLine or IfcCircle).  /// Each subtype of IfcCurve may have a curve style /// assigned, using IfcAnnotationCurveOccurrence referencing /// IfcCurveStyle. @@ -26107,35 +26107,35 @@ public: /// using IfcAnnotationTextOccurrence referencing /// IfcTextStyle. /// -/// As shown in Figure 32, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includes�IfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet. +/// As shown in Figure 32, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includes IfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet. /// /// Figure 32 — Grid layout /// -/// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the�grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. +/// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation class IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. - SHARED_PTR< IfcTemplatedEntityList > UAxes(); + SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > UAxes(); /// List of grid axes defining the second row of grid lines. - SHARED_PTR< IfcTemplatedEntityList > VAxes(); + SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > VAxes(); /// Whether the optional attribute WAxes is defined for this IfcGrid bool hasWAxes(); /// List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid. - SHARED_PTR< IfcTemplatedEntityList > WAxes(); + SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > WAxes(); virtual unsigned int getArgumentCount() const { return 10; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return Argument_ENTITY_LIST; case 8: return Argument_ENTITY_LIST; case 9: return Argument_ENTITY_LIST; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "UAxes"; case 8: return "VAxes"; case 9: return "WAxes"; } return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcGrid (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGrid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > list; + typedef IfcTemplatedEntityList< IfcGrid >::it it; }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -26143,7 +26143,7 @@ public: /// /// EXAMPLE An example for a group is a system, since it groups elements under the aspect of their role, regardless of their position in a building. /// -/// A group can hold any collection of objects (being�products, processes, controls, resources, actors or other groups). Thus groups can be nested. An object can be part of zero, one, or many groups. Grouping relationships are not required to be hierarchical nor do they imply a dependency. +/// A group can hold any collection of objects (beingÿproducts, processes, controls, resources, actors or other groups). Thus groups can be nested. An object can be part of zero, one, or many groups. Grouping relationships are not required to be hierarchical nor do they imply a dependency. /// /// NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an hierarchical aggregation of products. /// @@ -26173,14 +26173,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > IsGroupedBy(); // INVERSE IfcRelAssignsToGroup::RelatingGroup + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroup > > IsGroupedBy(); // INVERSE IfcRelAssignsToGroup::RelatingGroup bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcGroup (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcGroup > > list; + typedef IfcTemplatedEntityList< IfcGroup >::it it; }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -26224,8 +26224,8 @@ public: static Type::Enum Class(); IfcHeatExchangerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcHeatExchangerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcHeatExchangerType > > list; + typedef IfcTemplatedEntityList< IfcHeatExchangerType >::it it; }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -26266,8 +26266,8 @@ public: static Type::Enum Class(); IfcHumidifierType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcHumidifierType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcHumidifierType > > list; + typedef IfcTemplatedEntityList< IfcHumidifierType >::it it; }; /// An inventory is a list of items within an enterprise. /// @@ -26286,7 +26286,7 @@ public: /// The organizational unit to which the inventory is applicable. IfcActorSelect Jurisdiction(); /// Persons who are responsible for the inventory. - SHARED_PTR< IfcTemplatedEntityList > ResponsiblePersons(); + SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > ResponsiblePersons(); /// The date on which the last update of the inventory was carried out. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. @@ -26308,8 +26308,8 @@ public: static Type::Enum Class(); IfcInventory (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcInventory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcInventory > > list; + typedef IfcTemplatedEntityList< IfcInventory >::it it; }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -26351,8 +26351,8 @@ public: static Type::Enum Class(); IfcJunctionBoxType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcJunctionBoxType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcJunctionBoxType > > list; + typedef IfcTemplatedEntityList< IfcJunctionBoxType >::it it; }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -26392,8 +26392,8 @@ public: static Type::Enum Class(); IfcLaborResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLaborResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLaborResource > > list; + typedef IfcTemplatedEntityList< IfcLaborResource >::it it; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -26437,8 +26437,8 @@ public: static Type::Enum Class(); IfcLampType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLampType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLampType > > list; + typedef IfcTemplatedEntityList< IfcLampType >::it it; }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -26484,8 +26484,8 @@ public: static Type::Enum Class(); IfcLightFixtureType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLightFixtureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightFixtureType > > list; + typedef IfcTemplatedEntityList< IfcLightFixtureType >::it it; }; class IfcLinearDimension : public IfcDimensionCurveDirectedCallout { public: @@ -26498,8 +26498,8 @@ public: static Type::Enum Class(); IfcLinearDimension (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcLinearDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcLinearDimension > > list; + typedef IfcTemplatedEntityList< IfcLinearDimension >::it it; }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -26547,8 +26547,8 @@ public: static Type::Enum Class(); IfcMechanicalFastener (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMechanicalFastener* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalFastener > > list; + typedef IfcTemplatedEntityList< IfcMechanicalFastener >::it it; }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -26596,8 +26596,8 @@ public: static Type::Enum Class(); IfcMechanicalFastenerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMechanicalFastenerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalFastenerType > > list; + typedef IfcTemplatedEntityList< IfcMechanicalFastenerType >::it it; }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -26713,8 +26713,8 @@ public: static Type::Enum Class(); IfcMemberType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMemberType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMemberType > > list; + typedef IfcTemplatedEntityList< IfcMemberType >::it it; }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -26756,8 +26756,8 @@ public: static Type::Enum Class(); IfcMotorConnectionType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMotorConnectionType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMotorConnectionType > > list; + typedef IfcTemplatedEntityList< IfcMotorConnectionType >::it it; }; class IfcMove : public IfcTask { public: @@ -26765,7 +26765,7 @@ public: IfcSpatialStructureElement* MoveTo(); /// Whether the optional attribute PunchList is defined for this IfcMove bool hasPunchList(); - std::vector /*[1:?]*/ PunchList(); + std::vector< IfcText > /*[1:?]*/ PunchList(); virtual unsigned int getArgumentCount() const { return 13; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return Argument_ENTITY; case 11: return Argument_ENTITY; case 12: return Argument_VECTOR_STRING; } return IfcTask::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "MoveFrom"; case 11: return "MoveTo"; case 12: return "PunchList"; } return IfcTask::getArgumentName(i); } @@ -26775,8 +26775,8 @@ public: static Type::Enum Class(); IfcMove (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcMove* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMove > > list; + typedef IfcTemplatedEntityList< IfcMove >::it it; }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -26800,8 +26800,8 @@ public: static Type::Enum Class(); IfcOccupant (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOccupant* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOccupant > > list; + typedef IfcTemplatedEntityList< IfcOccupant >::it it; }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -26994,7 +26994,7 @@ public: /// IfcArbitraryClosedProfileDef shall be supported. /// Extrusion: The profile shall be extruded vertically, /// i.e. for wall openings along the extrusion direction of the -/// voided element.� If multiple instances of +/// voided element.ÿ If multiple instances of /// IfcExtrudedAreaSolid are used, the extrusion direction /// should be equal. /// @@ -27011,14 +27011,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElementSubtraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElementSubtraction::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasFillings(); // INVERSE IfcRelFillsElement::RelatingOpeningElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > HasFillings(); // INVERSE IfcRelFillsElement::RelatingOpeningElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcOpeningElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOpeningElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpeningElement > > list; + typedef IfcTemplatedEntityList< IfcOpeningElement >::it it; }; class IfcOrderAction : public IfcTask { public: @@ -27032,8 +27032,8 @@ public: static Type::Enum Class(); IfcOrderAction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOrderAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrderAction > > list; + typedef IfcTemplatedEntityList< IfcOrderAction >::it it; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -27077,8 +27077,8 @@ public: static Type::Enum Class(); IfcOutletType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcOutletType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcOutletType > > list; + typedef IfcTemplatedEntityList< IfcOutletType >::it it; }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -27098,8 +27098,8 @@ public: static Type::Enum Class(); IfcPerformanceHistory (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPerformanceHistory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPerformanceHistory > > list; + typedef IfcTemplatedEntityList< IfcPerformanceHistory >::it it; }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -27150,8 +27150,8 @@ public: static Type::Enum Class(); IfcPermit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPermit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPermit > > list; + typedef IfcTemplatedEntityList< IfcPermit >::it it; }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -27195,8 +27195,8 @@ public: static Type::Enum Class(); IfcPipeFittingType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPipeFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeFittingType > > list; + typedef IfcTemplatedEntityList< IfcPipeFittingType >::it it; }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -27244,8 +27244,8 @@ public: static Type::Enum Class(); IfcPipeSegmentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPipeSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeSegmentType > > list; + typedef IfcTemplatedEntityList< IfcPipeSegmentType >::it it; }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -27275,7 +27275,7 @@ public: /// IfcMaterialLayerSet; otherwise they are represented by /// instances of IfcPlate. /// -/// HISTORY� New +/// HISTORY  New /// entity in Release IFC2x2. /// /// Informal proposition: @@ -27337,27 +27337,27 @@ public: static Type::Enum Class(); IfcPlateType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPlateType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlateType > > list; + typedef IfcTemplatedEntityList< IfcPlateType >::it it; }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a /// list of n points, P1, P2 ... Pn. /// The ith segment of the curve is parameterized as follows: /// -/// ��� +///     /// for 1 ≤ i ≤ n - 1 /// /// where i - 1 ≤ u ≤ i and /// with parametric range of 0 <≤ u ≤ n - 1. /// -/// NOTE� Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 class IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. - SHARED_PTR< IfcTemplatedEntityList > Points(); + SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > Points(); virtual unsigned int getArgumentCount() const { return 1; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return Argument_ENTITY_LIST; } return IfcBoundedCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Points"; } return IfcBoundedCurve::getArgumentName(i); } @@ -27367,8 +27367,8 @@ public: static Type::Enum Class(); IfcPolyline (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPolyline* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolyline > > list; + typedef IfcTemplatedEntityList< IfcPolyline >::it it; }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -27429,24 +27429,24 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ContainedIn(); // INVERSE IfcRelConnectsPortToElement::RelatingPort - SHARED_PTR< IfcTemplatedEntityList > ConnectedFrom(); // INVERSE IfcRelConnectsPorts::RelatedPort - SHARED_PTR< IfcTemplatedEntityList > ConnectedTo(); // INVERSE IfcRelConnectsPorts::RelatingPort + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > ContainedIn(); // INVERSE IfcRelConnectsPortToElement::RelatingPort + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > ConnectedFrom(); // INVERSE IfcRelConnectsPorts::RelatedPort + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > ConnectedTo(); // INVERSE IfcRelConnectsPorts::RelatingPort bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcPort (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPort* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPort > > list; + typedef IfcTemplatedEntityList< IfcPort >::it it; }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event /// or to cause an event to occur. /// -/// HISTORY� New entity in IFC2x2 +/// HISTORY  New entity in IFC2x2 /// -/// IFC2x4 CHANGE� ProcedureType renamed to PredefinedType and made optional (upward compatible). Where rules WR1 and WR2 have been removed. +/// IFC2x4 CHANGE  ProcedureType renamed to PredefinedType and made optional (upward compatible). Where rules WR1 and WR2 have been removed. /// /// Use definitions /// @@ -27560,8 +27560,8 @@ public: static Type::Enum Class(); IfcProcedure (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProcedure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcedure > > list; + typedef IfcTemplatedEntityList< IfcProcedure >::it it; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -27634,12 +27634,12 @@ public: static Type::Enum Class(); IfcProjectOrder (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProjectOrder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectOrder > > list; + typedef IfcTemplatedEntityList< IfcProjectOrder >::it it; }; class IfcProjectOrderRecord : public IfcControl { public: - SHARED_PTR< IfcTemplatedEntityList > Records(); + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > Records(); IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum PredefinedType(); virtual unsigned int getArgumentCount() const { return 7; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENTITY_LIST; case 6: return Argument_ENUMERATION; } return IfcControl::getArgumentType(i); } @@ -27650,8 +27650,8 @@ public: static Type::Enum Class(); IfcProjectOrderRecord (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProjectOrderRecord* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectOrderRecord > > list; + typedef IfcTemplatedEntityList< IfcProjectOrderRecord >::it it; }; /// The projection element is a /// specialization of the general feature element to represent @@ -27744,9 +27744,9 @@ public: /// IfcExtrudedAreaSolid.Depth is interpreted as projection /// depth /// -/// NOTE �Rectangles are now defined centric, the placement location has to be set: +/// NOTE  Rectangles are now defined centric, the placement location has to be set: /// IfcCartesianPoint(XDim/2,YDim/2) -/// NOTE �The local placement directions for the IfcProjectionElement are only given as an example, other directions are valid as well. +/// NOTE  The local placement directions for the IfcProjectionElement are only given as an example, other directions are valid as well. /// /// Figure 38 — Projection representation /// @@ -27771,8 +27771,8 @@ public: static Type::Enum Class(); IfcProjectionElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProjectionElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectionElement > > list; + typedef IfcTemplatedEntityList< IfcProjectionElement >::it it; }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -27822,8 +27822,8 @@ public: static Type::Enum Class(); IfcProtectiveDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcProtectiveDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcProtectiveDeviceType > > list; + typedef IfcTemplatedEntityList< IfcProtectiveDeviceType >::it it; }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -27866,8 +27866,8 @@ public: static Type::Enum Class(); IfcPumpType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPumpType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPumpType > > list; + typedef IfcTemplatedEntityList< IfcPumpType >::it it; }; class IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { public: @@ -27880,8 +27880,8 @@ public: static Type::Enum Class(); IfcRadiusDimension (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRadiusDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRadiusDimension > > list; + typedef IfcTemplatedEntityList< IfcRadiusDimension >::it it; }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -27916,8 +27916,8 @@ public: static Type::Enum Class(); IfcRailingType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRailingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRailingType > > list; + typedef IfcTemplatedEntityList< IfcRailingType >::it it; }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -27952,8 +27952,8 @@ public: static Type::Enum Class(); IfcRampFlightType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRampFlightType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampFlightType > > list; + typedef IfcTemplatedEntityList< IfcRampFlightType >::it it; }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -27988,8 +27988,8 @@ public: static Type::Enum Class(); IfcRelAggregates (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAggregates* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAggregates > > list; + typedef IfcTemplatedEntityList< IfcRelAggregates >::it it; }; class IfcRelAssignsTasks : public IfcRelAssignsToControl { public: @@ -28005,8 +28005,8 @@ public: static Type::Enum Class(); IfcRelAssignsTasks (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRelAssignsTasks* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsTasks > > list; + typedef IfcTemplatedEntityList< IfcRelAssignsTasks >::it it; }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -28058,8 +28058,8 @@ public: static Type::Enum Class(); IfcSanitaryTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSanitaryTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSanitaryTerminalType > > list; + typedef IfcTemplatedEntityList< IfcSanitaryTerminalType >::it it; }; class IfcScheduleTimeControl : public IfcControl { public: @@ -28121,14 +28121,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENTITY; case 6: return Argument_ENTITY; case 7: return Argument_ENTITY; case 8: return Argument_ENTITY; case 9: return Argument_ENTITY; case 10: return Argument_ENTITY; case 11: return Argument_ENTITY; case 12: return Argument_ENTITY; case 13: return Argument_DOUBLE; case 14: return Argument_DOUBLE; case 15: return Argument_DOUBLE; case 16: return Argument_DOUBLE; case 17: return Argument_DOUBLE; case 18: return Argument_BOOL; case 19: return Argument_ENTITY; case 20: return Argument_DOUBLE; case 21: return Argument_DOUBLE; case 22: return Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ActualStart"; case 6: return "EarlyStart"; case 7: return "LateStart"; case 8: return "ScheduleStart"; case 9: return "ActualFinish"; case 10: return "EarlyFinish"; case 11: return "LateFinish"; case 12: return "ScheduleFinish"; case 13: return "ScheduleDuration"; case 14: return "ActualDuration"; case 15: return "RemainingTime"; case 16: return "FreeFloat"; case 17: return "TotalFloat"; case 18: return "IsCritical"; case 19: return "StatusTime"; case 20: return "StartFloat"; case 21: return "FinishFloat"; case 22: return "Completion"; } return IfcControl::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ScheduleTimeControlAssigned(); // INVERSE IfcRelAssignsTasks::TimeForTask + SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsTasks > > ScheduleTimeControlAssigned(); // INVERSE IfcRelAssignsTasks::TimeForTask bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcScheduleTimeControl (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcScheduleTimeControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcScheduleTimeControl > > list; + typedef IfcTemplatedEntityList< IfcScheduleTimeControl >::it it; }; class IfcServiceLife : public IfcControl { public: @@ -28143,8 +28143,8 @@ public: static Type::Enum Class(); IfcServiceLife (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcServiceLife* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcServiceLife > > list; + typedef IfcTemplatedEntityList< IfcServiceLife >::it it; }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -28183,7 +28183,7 @@ public: /// ELEMENT = site /// PARTIAL = site section /// -/// HISTORY �New entity in IFC Release 1.0. +/// HISTORY  New entity in IFC Release 1.0. /// /// Property Set Use Definition /// The property sets relating to the IfcSite are defined by @@ -28259,7 +28259,7 @@ public: /// the reference height of each building situated at the site is given againt the same height datum used at this location. /// the elevations of each storey belonging to each building are given as local height relative to the reference height of the building. /// -/// � +///   /// Figure 52 — Site elevations /// /// Geometry Use Definitions @@ -28320,7 +28320,7 @@ public: /// Figure 55 — Site breaklines /// Figure 56 — Site breaklines facetation /// -/// NOTE� The geometric representation of the site has been based on the ARM level description of the site_shape_representation given within the ISO 10303-225 "Building Elements using explicit shape representation". +/// NOTE  The geometric representation of the site has been based on the ARM level description of the site_shape_representation given within the ISO 10303-225 "Building Elements using explicit shape representation". /// /// Body Representation /// The body representation of IfcSite is defined using a @@ -28369,8 +28369,8 @@ public: static Type::Enum Class(); IfcSite (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSite* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSite > > list; + typedef IfcTemplatedEntityList< IfcSite >::it it; }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -28400,7 +28400,7 @@ public: /// IfcMaterialLayerSet; otherwise they are represented by /// instances of IfcSlab, or IfcSlabElementedCase. /// -/// HISTORY� New +/// HISTORY  New /// entity in Release IFC2x2. /// /// Informal proposition: @@ -28462,8 +28462,8 @@ public: static Type::Enum Class(); IfcSlabType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSlabType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlabType > > list; + typedef IfcTemplatedEntityList< IfcSlabType >::it it; }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -28529,7 +28529,7 @@ public: /// set for all types of spaces to capture the thermal /// requirements /// Pset_SpaceThermalDesign: common property set -/// for all�all types of spaces to capture building service design +/// for all all types of spaces to capture building service design /// values /// /// Quantity Use Definition @@ -28558,7 +28558,7 @@ public: /// IfcSpace.Decomposes -- referencing (IfcSite || /// IfcBuildingStorey || IfcSpace) by /// IfcRelAggregates.RelatingObject, If it refers to another -/// instance of�IfcSpace, the referenced IfcSpace +/// instance of IfcSpace, the referenced IfcSpace /// needs to have a different and higher CompositionType, i.e. /// COMPLEX (if the other IfcSpace has ELEMENT), or ELEMENT (if /// the other IfcSpace has PARTIAL). @@ -28570,7 +28570,7 @@ public: /// other IfcSpace has ELEMENT). /// /// If there are building elements and/or other elements directly -/// related to the IfcSpace�(like most furniture and +/// related to the IfcSpace (like most furniture and /// distribution elements), they are associated with the /// IfcSpace by using the objectified relationship /// IfcRelContainedInSpatialStructure. The IfcSpace @@ -28703,7 +28703,7 @@ public: /// /// 'Brep' representation /// The fallback advanced geometric representation of -/// IfcSpace is defined using the Brep solid geometry.�may +/// IfcSpace is defined using the Brep solid geometry. may /// be represented as a single or multiple instances of /// IfcFacetedBrep or IfcFacetedBrepWithVoids. The Brep /// representation allows for the representation of complex element @@ -28726,15 +28726,15 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return Argument_ENUMERATION; case 10: return Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "InteriorOrExteriorSpace"; case 10: return "ElevationWithFlooring"; } return IfcSpatialStructureElement::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasCoverings(); // INVERSE IfcRelCoversSpaces::RelatedSpace - SHARED_PTR< IfcTemplatedEntityList > BoundedBy(); // INVERSE IfcRelSpaceBoundary::RelatingSpace + SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > HasCoverings(); // INVERSE IfcRelCoversSpaces::RelatedSpace + SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > BoundedBy(); // INVERSE IfcRelSpaceBoundary::RelatingSpace bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcSpace (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpace > > list; + typedef IfcTemplatedEntityList< IfcSpace >::it it; }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -28779,8 +28779,8 @@ public: static Type::Enum Class(); IfcSpaceHeaterType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpaceHeaterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceHeaterType > > list; + typedef IfcTemplatedEntityList< IfcSpaceHeaterType >::it it; }; class IfcSpaceProgram : public IfcControl { public: @@ -28799,15 +28799,15 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_STRING; case 6: return Argument_DOUBLE; case 7: return Argument_DOUBLE; case 8: return Argument_ENTITY; case 9: return Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "SpaceProgramIdentifier"; case 6: return "MaxRequiredArea"; case 7: return "MinRequiredArea"; case 8: return "RequestedLocation"; case 9: return "StandardRequiredArea"; } return IfcControl::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasInteractionReqsFrom(); // INVERSE IfcRelInteractionRequirements::RelatedSpaceProgram - SHARED_PTR< IfcTemplatedEntityList > HasInteractionReqsTo(); // INVERSE IfcRelInteractionRequirements::RelatingSpaceProgram + SHARED_PTR< IfcTemplatedEntityList< IfcRelInteractionRequirements > > HasInteractionReqsFrom(); // INVERSE IfcRelInteractionRequirements::RelatedSpaceProgram + SHARED_PTR< IfcTemplatedEntityList< IfcRelInteractionRequirements > > HasInteractionReqsTo(); // INVERSE IfcRelInteractionRequirements::RelatingSpaceProgram bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcSpaceProgram (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpaceProgram* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceProgram > > list; + typedef IfcTemplatedEntityList< IfcSpaceProgram >::it it; }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -28823,7 +28823,7 @@ public: /// space information, that is common to all occurrences of that /// space type. Space types may be exchanged without being already /// assigned to occurrences. -/// NOTE �The space types are often used to +/// NOTE ÿThe space types are often used to /// represent space catalogues, less so for sharing a common /// representation map. Space types in a space catalogue share same /// space classification and a common set of space requirement @@ -28831,7 +28831,7 @@ public: /// The occurrences of IfcSpaceType are represented by /// instances of IfcSpace. /// -/// HISTORY �New entity in +/// HISTORY ÿNew entity in /// IFC2x3. /// /// Property Set Use Definition: @@ -28868,7 +28868,7 @@ public: /// property set for all types of spaces to capture the thermal /// requirements /// Pset_SpaceThermalDesign: common property set -/// for all�all types of spaces to capture building service design +/// for allÿall types of spaces to capture building service design /// values /// /// Geometry Use Definition: @@ -28879,7 +28879,7 @@ public: /// representations (e.g. with IfcShaperepresentation's having /// an RepresentationIdentifier 'Box', 'FootPrint', or 'Body'). /// -/// NOTE �The product representations are defined as +/// NOTE ÿThe product representations are defined as /// representation maps (at the level of the supertype /// IfcTypeProduct, which gets assigned by an element /// occurrence instance through the @@ -28903,8 +28903,8 @@ public: static Type::Enum Class(); IfcSpaceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSpaceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceType > > list; + typedef IfcTemplatedEntityList< IfcSpaceType >::it it; }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -28945,8 +28945,8 @@ public: static Type::Enum Class(); IfcStackTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStackTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStackTerminalType > > list; + typedef IfcTemplatedEntityList< IfcStackTerminalType >::it it; }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -28981,13 +28981,13 @@ public: static Type::Enum Class(); IfcStairFlightType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStairFlightType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairFlightType > > list; + typedef IfcTemplatedEntityList< IfcStairFlightType >::it it; }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. /// -/// HISTORY� New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. /// IFC 2x4 change: Attribute DestabilizingLoad made optional. Attribute CausedBy deleted; use IfcRelAssignsToProduct via ReferencedBy instead. /// /// Structural actions are grouped into either an IfcStructuralLoadGroup of predefined @@ -29019,8 +29019,8 @@ public: static Type::Enum Class(); IfcStructuralAction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAction > > list; + typedef IfcTemplatedEntityList< IfcStructuralAction >::it it; }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// @@ -29035,14 +29035,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return Argument_ENTITY; } return IfcStructuralItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "AppliedCondition"; } return IfcStructuralItem::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ConnectsStructuralMembers(); // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection + SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > ConnectsStructuralMembers(); // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnection (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralConnection > > list; + typedef IfcTemplatedEntityList< IfcStructuralConnection >::it it; }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -29072,8 +29072,8 @@ public: static Type::Enum Class(); IfcStructuralCurveConnection (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralCurveConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveConnection > > list; + typedef IfcTemplatedEntityList< IfcStructuralCurveConnection >::it it; }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -29095,7 +29095,7 @@ public: /// /// An IfcProfileDef is a two-dimensional geometric object with a xp,yp coordinate system. The profile is inserted into the curve member model thus that the origin of xp,yp is located at the member's reference curve and that xp,yp are parallel with and directed like the local y,z. /// -/// NOTE� Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase. +/// NOTE  Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase. /// /// If the profile is meant to be inserted centrically in terms of structural section properties, it is necessary that the origin of xp,yp is identical with the geometric centroid of the profile (commonly also called centre of gravity). If subtypes of IfcParameterizedProfileDef are used which are only singly symmetric or are asymmetric, an explicit translation by IfcParameterizedProfileDef.Position.Location is required then. /// @@ -29103,7 +29103,7 @@ public: /// /// Otherwise, the profile is inserted eccentrically and a different cardinal point should be set accordingly. /// -/// NOTE� Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. +/// NOTE  Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. /// /// Topology Use Definitions: /// @@ -29125,14 +29125,14 @@ public: static Type::Enum Class(); IfcStructuralCurveMember (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralCurveMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveMember > > list; + typedef IfcTemplatedEntityList< IfcStructuralCurveMember >::it it; }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// -/// NOTE� A curve member whose variation of profile properties can be sufficiently described by a start profile and an end profile (e.g. tapers) shall be modeled as a single direct instance of the supertype IfcStructuralCurveMember. +/// NOTE  A curve member whose variation of profile properties can be sufficiently described by a start profile and an end profile (e.g. tapers) shall be modeled as a single direct instance of the supertype IfcStructuralCurveMember. /// -/// NOTE� It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralCurveMemberVarying but only with the IfcStructuralCurveMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. +/// NOTE  It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralCurveMemberVarying but only with the IfcStructuralCurveMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. /// /// HISTORY: New entity in IFC 2x2. /// Use definition changed in IFC 2x4. @@ -29159,8 +29159,8 @@ public: static Type::Enum Class(); IfcStructuralCurveMemberVarying (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralCurveMemberVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > > list; + typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying >::it it; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -29168,7 +29168,7 @@ public: /// /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// -/// NOTE� Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. +/// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IfcStructuralLinearAction : public IfcStructuralAction { public: IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue(); @@ -29181,13 +29181,13 @@ public: static Type::Enum Class(); IfcStructuralLinearAction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLinearAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLinearAction > > list; + typedef IfcTemplatedEntityList< IfcStructuralLinearAction >::it it; }; class IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { public: IfcShapeAspect* VaryingAppliedLoadLocation(); - SHARED_PTR< IfcTemplatedEntityList > SubsequentAppliedLoads(); + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > SubsequentAppliedLoads(); virtual unsigned int getArgumentCount() const { return 14; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return Argument_ENTITY; case 13: return Argument_ENTITY_LIST; } return IfcStructuralLinearAction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "VaryingAppliedLoadLocation"; case 13: return "SubsequentAppliedLoads"; } return IfcStructuralLinearAction::getArgumentName(i); } @@ -29197,8 +29197,8 @@ public: static Type::Enum Class(); IfcStructuralLinearActionVarying (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLinearActionVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLinearActionVarying > > list; + typedef IfcTemplatedEntityList< IfcStructuralLinearActionVarying >::it it; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -29253,15 +29253,15 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENUMERATION; case 6: return Argument_ENUMERATION; case 7: return Argument_ENUMERATION; case 8: return Argument_DOUBLE; case 9: return Argument_STRING; } return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "ActionType"; case 7: return "ActionSource"; case 8: return "Coefficient"; case 9: return "Purpose"; } return IfcGroup::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > SourceOfResultGroup(); // INVERSE IfcStructuralResultGroup::ResultForLoadGroup - SHARED_PTR< IfcTemplatedEntityList > LoadGroupFor(); // INVERSE IfcStructuralAnalysisModel::LoadedBy + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > SourceOfResultGroup(); // INVERSE IfcStructuralResultGroup::ResultForLoadGroup + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > LoadGroupFor(); // INVERSE IfcStructuralAnalysisModel::LoadedBy bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadGroup (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralLoadGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > list; + typedef IfcTemplatedEntityList< IfcStructuralLoadGroup >::it it; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -29269,7 +29269,7 @@ public: /// /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// -/// NOTE� Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. +/// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IfcStructuralPlanarAction : public IfcStructuralAction { public: IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue(); @@ -29282,13 +29282,13 @@ public: static Type::Enum Class(); IfcStructuralPlanarAction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralPlanarAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPlanarAction > > list; + typedef IfcTemplatedEntityList< IfcStructuralPlanarAction >::it it; }; class IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { public: IfcShapeAspect* VaryingAppliedLoadLocation(); - SHARED_PTR< IfcTemplatedEntityList > SubsequentAppliedLoads(); + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > SubsequentAppliedLoads(); virtual unsigned int getArgumentCount() const { return 14; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return Argument_ENTITY; case 13: return Argument_ENTITY_LIST; } return IfcStructuralPlanarAction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "VaryingAppliedLoadLocation"; case 13: return "SubsequentAppliedLoads"; } return IfcStructuralPlanarAction::getArgumentName(i); } @@ -29298,8 +29298,8 @@ public: static Type::Enum Class(); IfcStructuralPlanarActionVarying (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralPlanarActionVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPlanarActionVarying > > list; + typedef IfcTemplatedEntityList< IfcStructuralPlanarActionVarying >::it it; }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -29357,8 +29357,8 @@ public: static Type::Enum Class(); IfcStructuralPointAction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralPointAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointAction > > list; + typedef IfcTemplatedEntityList< IfcStructuralPointAction >::it it; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -29384,8 +29384,8 @@ public: static Type::Enum Class(); IfcStructuralPointConnection (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralPointConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointConnection > > list; + typedef IfcTemplatedEntityList< IfcStructuralPointConnection >::it it; }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -29441,8 +29441,8 @@ public: static Type::Enum Class(); IfcStructuralPointReaction (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralPointReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointReaction > > list; + typedef IfcTemplatedEntityList< IfcStructuralPointReaction >::it it; }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -29462,14 +29462,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENUMERATION; case 6: return Argument_ENTITY; case 7: return Argument_BOOL; } return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheoryType"; case 6: return "ResultForLoadGroup"; case 7: return "IsLinear"; } return IfcGroup::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ResultGroupFor(); // INVERSE IfcStructuralAnalysisModel::HasResults + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > ResultGroupFor(); // INVERSE IfcStructuralAnalysisModel::HasResults bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStructuralResultGroup (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralResultGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > list; + typedef IfcTemplatedEntityList< IfcStructuralResultGroup >::it it; }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -29494,8 +29494,8 @@ public: static Type::Enum Class(); IfcStructuralSurfaceConnection (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralSurfaceConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceConnection > > list; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection >::it it; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -29538,8 +29538,8 @@ public: static Type::Enum Class(); IfcSubContractResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSubContractResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubContractResource > > list; + typedef IfcTemplatedEntityList< IfcSubContractResource >::it it; }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -29594,8 +29594,8 @@ public: static Type::Enum Class(); IfcSwitchingDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSwitchingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSwitchingDeviceType > > list; + typedef IfcTemplatedEntityList< IfcSwitchingDeviceType >::it it; }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -29620,14 +29620,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGroup::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > ServicesBuildings(); // INVERSE IfcRelServicesBuildings::RelatingSystem + SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > ServicesBuildings(); // INVERSE IfcRelServicesBuildings::RelatingSystem bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcSystem (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSystem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystem > > list; + typedef IfcTemplatedEntityList< IfcSystem >::it it; }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -29674,14 +29674,14 @@ public: static Type::Enum Class(); IfcTankType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTankType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTankType > > list; + typedef IfcTemplatedEntityList< IfcTankType >::it it; }; class IfcTimeSeriesSchedule : public IfcControl { public: /// Whether the optional attribute ApplicableDates is defined for this IfcTimeSeriesSchedule bool hasApplicableDates(); - SHARED_PTR< IfcTemplatedEntityList > ApplicableDates(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > ApplicableDates(); IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum TimeSeriesScheduleType(); IfcTimeSeries* TimeSeries(); virtual unsigned int getArgumentCount() const { return 8; } @@ -29693,8 +29693,8 @@ public: static Type::Enum Class(); IfcTimeSeriesSchedule (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTimeSeriesSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesSchedule > > list; + typedef IfcTemplatedEntityList< IfcTimeSeriesSchedule >::it it; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -29736,8 +29736,8 @@ public: static Type::Enum Class(); IfcTransformerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTransformerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransformerType > > list; + typedef IfcTemplatedEntityList< IfcTransformerType >::it it; }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -29765,13 +29765,13 @@ public: /// device types (or styles) is handled by /// IfcTransportElementType. The /// IfcTransportElementType (if present) may establish the -/// common�type name, usage (or predefined) type, common material +/// commonÿtype name, usage (or predefined) type, common material /// layer set, common set of properties and common shape /// representations (using IfcRepresentationMap). The /// IfcTransportElementType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsTypedBy attribute. -/// If no IfcTransportElementType is attached�(i.e. if only +/// If no IfcTransportElementType is attachedÿ(i.e. if only /// occurrence information is given) the PredefinedType should /// be provided. If set to .USERDEFINED. a user defined value can be /// provided by the ObjectType attribute. @@ -29800,7 +29800,7 @@ public: /// spatial hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuilding being the default /// container. /// @@ -29877,8 +29877,8 @@ public: static Type::Enum Class(); IfcTransportElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTransportElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransportElement > > list; + typedef IfcTemplatedEntityList< IfcTransportElement >::it it; }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -29963,9 +29963,9 @@ public: /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. IfcCurve* BasisCurve(); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - SHARED_PTR< IfcTemplatedEntityList > Trim1(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Trim1(); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - SHARED_PTR< IfcTemplatedEntityList > Trim2(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Trim2(); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement(); /// Where both parameter and point are present at either end of the curve this indicates the preferred form. @@ -29979,8 +29979,8 @@ public: static Type::Enum Class(); IfcTrimmedCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTrimmedCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTrimmedCurve > > list; + typedef IfcTemplatedEntityList< IfcTrimmedCurve >::it it; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -30024,8 +30024,8 @@ public: static Type::Enum Class(); IfcTubeBundleType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTubeBundleType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTubeBundleType > > list; + typedef IfcTemplatedEntityList< IfcTubeBundleType >::it it; }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -30068,8 +30068,8 @@ public: static Type::Enum Class(); IfcUnitaryEquipmentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcUnitaryEquipmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitaryEquipmentType > > list; + typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType >::it it; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -30122,8 +30122,8 @@ public: static Type::Enum Class(); IfcValveType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcValveType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcValveType > > list; + typedef IfcTemplatedEntityList< IfcValveType >::it it; }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -30222,8 +30222,8 @@ public: static Type::Enum Class(); IfcVirtualElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVirtualElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVirtualElement > > list; + typedef IfcTemplatedEntityList< IfcVirtualElement >::it it; }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -30322,8 +30322,8 @@ public: static Type::Enum Class(); IfcWallType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWallType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallType > > list; + typedef IfcTemplatedEntityList< IfcWallType >::it it; }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -30374,14 +30374,14 @@ public: static Type::Enum Class(); IfcWasteTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWasteTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWasteTerminalType > > list; + typedef IfcTemplatedEntityList< IfcWasteTerminalType >::it it; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// -/// HISTORY� New class in IFC 2x +/// HISTORY  New class in IFC 2x /// -/// CHANGE IFC2x4� Corrected assignment of resources to work control in documentation. Assignment of tasks to work control updated based on changes of task time definitions and the introduction of a summary task. Identifier has been renamed (now Identification) and promoted to supertype IfcControl +/// CHANGE IFC2x4  Corrected assignment of resources to work control in documentation. Assignment of tasks to work control updated based on changes of task time definitions and the introduction of a summary task. Identifier has been renamed (now Identification) and promoted to supertype IfcControl /// /// A work control may have resources assigned to it, this is /// handled by the IfcRelAssignsToControl relationship. @@ -30429,7 +30429,7 @@ public: /// Whether the optional attribute Creators is defined for this IfcWorkControl bool hasCreators(); /// The authors of the work plan. - SHARED_PTR< IfcTemplatedEntityList > Creators(); + SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > Creators(); /// Whether the optional attribute Purpose is defined for this IfcWorkControl bool hasPurpose(); /// A description of the purpose of the work schedule. @@ -30463,8 +30463,8 @@ public: static Type::Enum Class(); IfcWorkControl (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWorkControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkControl > > list; + typedef IfcTemplatedEntityList< IfcWorkControl >::it it; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -30502,8 +30502,8 @@ public: static Type::Enum Class(); IfcWorkPlan (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWorkPlan* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkPlan > > list; + typedef IfcTemplatedEntityList< IfcWorkPlan >::it it; }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -30556,10 +30556,10 @@ public: static Type::Enum Class(); IfcWorkSchedule (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWorkSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkSchedule > > list; + typedef IfcTemplatedEntityList< IfcWorkSchedule >::it it; }; -/// Definition from IAI: A zone is�a group of spaces, +/// Definition from IAI: A zone isÿa group of spaces, /// partial spaces or other zones. Zone structures may not be /// hierarchical (in contrary to the spatial structure of a project - /// see IfcSpatialStructureElement), i.e. one individual @@ -30568,9 +30568,9 @@ public: /// IfcZone by using the objectified relationship /// IfcRelAssignsToGroup as specified at the supertype /// IfcGroup. -/// NOTE �Certain use cases may restrict the +/// NOTE ÿCertain use cases may restrict the /// freedom of non hierarchical relationships. In some building -/// service use cases the zone denotes a�view based delimited volume +/// service use cases the zone denotes aÿview based delimited volume /// for the purpose of analysis and calculation. This type of zone /// cannot overlap with respect to that analysis, but may overlap /// otherwise. @@ -30581,12 +30581,12 @@ public: /// and placement. Therefore it cannot be used for spatial zones /// having a different shape and size compared to the shape and size /// of aggregated spaces. -/// NOTE� The IfcZone is regarded as the +/// NOTEÿ The IfcZone is regarded as the /// spatial system (as compared to the building service, electrical, /// or analytical system), the name remains IfcZone for /// compatibility reasons, instead of using a proper naming /// convention, like IfcSpatialSystem. -/// NOTE �One of the purposes of a zone is to +/// NOTE ÿOne of the purposes of a zone is to /// define a fire compartmentation. In this case it defines the /// geometric information about the fire compartment (through the /// contained spaces) and information, whether this compartment is @@ -30597,7 +30597,7 @@ public: /// independent shape has to be provided to the fire compartment, /// then the entity IfcSpatialZone shall be /// used. -/// RECOMMENDATION� In case of a zone denoting a +/// RECOMMENDATIONÿ In case of a zone denoting a /// (fire) compartment, the following types should be used, if /// applicable, as values of the ObjectType attribute: /// @@ -30616,9 +30616,9 @@ public: /// refers to, e.g. to a particular IfcBuildingStorey by using /// the IfcRelServicesBuildings relationship, accessible via /// the inverse attribute ServicesBuilding. -/// HISTORY� New entity in +/// HISTORYÿ New entity in /// IFC Release 1.0 -/// IFC2x4 CHANGE� The entity is now +/// IFC2x4 CHANGEÿ The entity is now /// subtyped from IfcSystem (not its supertype /// IfcGroup) with upward compatibility for file based /// exchange. @@ -30655,8 +30655,8 @@ public: static Type::Enum Class(); IfcZone (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcZone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcZone > > list; + typedef IfcTemplatedEntityList< IfcZone >::it it; }; class Ifc2DCompositeCurve : public IfcCompositeCurve { public: @@ -30669,8 +30669,8 @@ public: static Type::Enum Class(); Ifc2DCompositeCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef Ifc2DCompositeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< Ifc2DCompositeCurve > > list; + typedef IfcTemplatedEntityList< Ifc2DCompositeCurve >::it it; }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -30722,8 +30722,8 @@ public: static Type::Enum Class(); IfcActionRequest (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcActionRequest* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcActionRequest > > list; + typedef IfcTemplatedEntityList< IfcActionRequest >::it it; }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -30764,8 +30764,8 @@ public: static Type::Enum Class(); IfcAirTerminalBoxType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAirTerminalBoxType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalBoxType > > list; + typedef IfcTemplatedEntityList< IfcAirTerminalBoxType >::it it; }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -30805,8 +30805,8 @@ public: static Type::Enum Class(); IfcAirTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAirTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalType > > list; + typedef IfcTemplatedEntityList< IfcAirTerminalType >::it it; }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -30847,8 +30847,8 @@ public: static Type::Enum Class(); IfcAirToAirHeatRecoveryType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAirToAirHeatRecoveryType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > > list; + typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType >::it it; }; class IfcAngularDimension : public IfcDimensionCurveDirectedCallout { public: @@ -30861,8 +30861,8 @@ public: static Type::Enum Class(); IfcAngularDimension (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAngularDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAngularDimension > > list; + typedef IfcTemplatedEntityList< IfcAngularDimension >::it it; }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -30920,8 +30920,8 @@ public: static Type::Enum Class(); IfcAsset (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAsset* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAsset > > list; + typedef IfcTemplatedEntityList< IfcAsset >::it it; }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -30969,15 +30969,15 @@ public: /// /// Figure 277 — B-spline curve /// -/// NOTE� Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// -/// HISTORY� New entity in Release IFC2x2. +/// HISTORY  New entity in Release IFC2x2. class IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree(); /// The list of control points for the curve. - SHARED_PTR< IfcTemplatedEntityList > ControlPointsList(); + SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > ControlPointsList(); /// Used to identify particular types of curve; it is for information only. IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm(); /// Indication of whether the curve is closed; it is for information only. @@ -30993,8 +30993,8 @@ public: static Type::Enum Class(); IfcBSplineCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBSplineCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBSplineCurve > > list; + typedef IfcTemplatedEntityList< IfcBSplineCurve >::it it; }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -31107,8 +31107,8 @@ public: static Type::Enum Class(); IfcBeamType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBeamType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeamType > > list; + typedef IfcTemplatedEntityList< IfcBeamType >::it it; }; class IfcBezierCurve : public IfcBSplineCurve { public: @@ -31121,8 +31121,8 @@ public: static Type::Enum Class(); IfcBezierCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBezierCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBezierCurve > > list; + typedef IfcTemplatedEntityList< IfcBezierCurve >::it it; }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -31166,8 +31166,8 @@ public: static Type::Enum Class(); IfcBoilerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBoilerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoilerType > > list; + typedef IfcTemplatedEntityList< IfcBoilerType >::it it; }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -31543,8 +31543,8 @@ public: static Type::Enum Class(); IfcBuildingElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElement > > list; + typedef IfcTemplatedEntityList< IfcBuildingElement >::it it; }; class IfcBuildingElementComponent : public IfcBuildingElement { public: @@ -31557,8 +31557,8 @@ public: static Type::Enum Class(); IfcBuildingElementComponent (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingElementComponent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementComponent > > list; + typedef IfcTemplatedEntityList< IfcBuildingElementComponent >::it it; }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -31588,8 +31588,8 @@ public: static Type::Enum Class(); IfcBuildingElementPart (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingElementPart* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementPart > > list; + typedef IfcTemplatedEntityList< IfcBuildingElementPart >::it it; }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -31614,9 +31614,9 @@ public: /// applications can not provide additional semantic /// classification. /// -/// HISTORY� New entity +/// HISTORY  New entity /// in IFC Release 2x. -/// IFC2x4 CHANGE� The attribute +/// IFC2x4 CHANGE  The attribute /// CompositionType has been replaced by PredefinedType, /// being a superset of the enumerators. /// Type Use Definition @@ -31650,7 +31650,7 @@ public: /// PredefinedType = ProvisionForVoid. /// Material information can also be given at the /// IfcBuildingElementProxyType, defining the common attribute -/// data for all occurrences of the same type.�It is then +/// data for all occurrences of the same type. It is then /// accessible by the inverse IsTypedBy relationship pointing to /// IfcBuildingElementProxyType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial to @@ -31673,7 +31673,7 @@ public: /// /// Property sets can also be given at the /// IfcBuildingElementProxyType, defining the common property -/// data for all occurrences of the same type.�It is then +/// data for all occurrences of the same type. It is then /// accessible by the inverse IsTypedBy relationship pointing to /// IfcBuildingElementProxyType.HasPropertySets. If both are /// given, then the properties directly assigned to @@ -31685,13 +31685,13 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second (optional) relationship is the aggregation -/// within an�element assembly. +/// within an element assembly. /// /// The IfcBuildingElementProxy is places within the project /// spatial hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid +/// Subtypes of IfcSpatialStructureElement are valid /// spatial containers, with IfcBuildingStorey being the default /// container. /// The IfcBuildingElementProxy may be aggregated into an @@ -31701,7 +31701,7 @@ public: /// IfcElement can be an element assembly, with /// IfcElementAssembly as a special focus subtype. In this case /// it should not be additionally contained in the project spatial -/// hierarchy, i.e.�SELF\IfcElement.ContainedInStructure +/// hierarchy, i.e. SELF\IfcElement.ContainedInStructure /// should be NIL. /// /// Geometry Use Definition @@ -31795,18 +31795,18 @@ public: static Type::Enum Class(); IfcBuildingElementProxy (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingElementProxy* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementProxy > > list; + typedef IfcTemplatedEntityList< IfcBuildingElementProxy >::it it; }; /// Definition from IAI: -/// The�IfcBuildingElementProxyType defines a list of +/// TheÿIfcBuildingElementProxyType defines a list of /// commonly shared property set definitions of a building /// element proxy and an optional set of product /// representations. It is used to define an element /// specification (i.e. the specific product information, that /// is common to all occurrences of that product type). /// -/// NOTE� The product representations are defined as +/// NOTEÿ The product representations are defined as /// representation maps (at the level of the supertype /// IfcTypeProduct, which gets assigned by an element /// occurrence instance through the @@ -31815,8 +31815,8 @@ public: /// /// A building element proxy type is used to define the common /// properties of a certain type of a building element proxy -/// that may be applied to many instances of that�type to -/// assign a specific style. Building element proxy types�may +/// that may be applied to many instances of thatÿtype to +/// assign a specific style. Building element proxy typesÿmay /// be exchanged without being already assigned to occurrences. /// /// NOTE Although an building element proxy does not have @@ -31830,7 +31830,7 @@ public: /// are represented by instances of /// IfcBuildingElementProxy. /// -/// HISTORY� New entity in +/// HISTORYÿ New entity in /// Release IFC2x Edition 3. class IfcBuildingElementProxyType : public IfcBuildingElementType { public: @@ -31845,8 +31845,8 @@ public: static Type::Enum Class(); IfcBuildingElementProxyType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBuildingElementProxyType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementProxyType > > list; + typedef IfcTemplatedEntityList< IfcBuildingElementProxyType >::it it; }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -31887,8 +31887,8 @@ public: static Type::Enum Class(); IfcCableCarrierFittingType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCableCarrierFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierFittingType > > list; + typedef IfcTemplatedEntityList< IfcCableCarrierFittingType >::it it; }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -31935,8 +31935,8 @@ public: static Type::Enum Class(); IfcCableCarrierSegmentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCableCarrierSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierSegmentType > > list; + typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType >::it it; }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -31992,8 +31992,8 @@ public: static Type::Enum Class(); IfcCableSegmentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCableSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableSegmentType > > list; + typedef IfcTemplatedEntityList< IfcCableSegmentType >::it it; }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -32040,8 +32040,8 @@ public: static Type::Enum Class(); IfcChillerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcChillerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcChillerType > > list; + typedef IfcTemplatedEntityList< IfcChillerType >::it it; }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -32053,19 +32053,19 @@ public: /// /// and the circle is parameterized as /// -/// The parameterization range is 0 � -/// u �2p (or 0 -/// �u � +/// The parameterization range is 0 £ +/// u £2p (or 0 +/// £u £ /// 360 degree). In the placement coordinate system defined above, the circle is /// the equation C = 0, where /// /// The positive sense of the circle at any point is in the tangent direction, T, to the curve at the point, where /// -/// NOTE� A circular arc is defined by using the trimmed curve (IfcTrimmedCurve) entity in conjunction with the circle (IfcCircle) entity as the BasisCurve. +/// NOTE  A circular arc is defined by using the trimmed curve (IfcTrimmedCurve) entity in conjunction with the circle (IfcCircle) entity as the BasisCurve. /// -/// NOTE� Corresponding ISO 10303 entity: circle, please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: circle, please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// -/// HISTORY� New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// @@ -32083,8 +32083,8 @@ public: static Type::Enum Class(); IfcCircle (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCircle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircle > > list; + typedef IfcTemplatedEntityList< IfcCircle >::it it; }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -32126,8 +32126,8 @@ public: static Type::Enum Class(); IfcCoilType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCoilType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoilType > > list; + typedef IfcTemplatedEntityList< IfcCoilType >::it it; }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -32144,7 +32144,7 @@ public: /// IfcStructuralCurveMember being part of an /// IfcStructuralAnalysisModel. /// -/// NOTE �For any longitudial structural member, not +/// NOTE ÿFor any longitudial structural member, not /// constrained to be predominately horizontal nor vertical, or where /// this semantic information is irrelevant, the entity /// IfcMember exists. @@ -32162,7 +32162,7 @@ public: /// geometry based on the swept solid), if a 3D geometric /// representation is assigned. In addition they have to have a /// corresponding IfcMaterialProfileSetUsage assigned. -/// NOTE� View definitions and implementer +/// NOTEÿ View definitions and implementer /// agreements may further constrain the applicable geometry types, /// e.g. by excluding tapering from an IfcColumnStandardCase /// implementation. @@ -32178,13 +32178,13 @@ public: /// IfcColumn defines the occuurence of any column, common /// information about column types (or styles) is handled by /// IfcColumnType. The IfcColumnType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common material layer set, common set of properties and common /// shape representations (using IfcRepresentationMap). The /// IfcColumnType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsTypedBy attribute. -/// If no IfcColumnType is attached�(i.e. if only +/// If no IfcColumnType is attachedÿ(i.e. if only /// occurrence information is given) the PredefinedType should /// be provided. If set to .USERDEFINED. a user defined value can be /// provided by the ObjectType attribute. @@ -32201,7 +32201,7 @@ public: /// concept. /// Material information can also be given at the /// IfcColumnType, defining the common attribute data for all -/// occurrences of the same type.�It is then accessible by the +/// occurrences of the same type.ÿIt is then accessible by the /// inverse IsTypedBy /// relationship pointing to /// IfcColumnType.HasAssociations and via @@ -32222,7 +32222,7 @@ public: /// /// Property sets can also be given at the IfcColumnType, /// defining the common property data for all occurrences of the same -/// type.�It is then accessible by the inverse IsTypedBy relationship pointing to +/// type.ÿIt is then accessible by the inverse IsTypedBy relationship pointing to /// IfcColumnType.HasPropertySets. If both are given, then the /// properties directly assigned to IfcColumn overrides the /// properties assigned to IfcColumnType. @@ -32247,13 +32247,13 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second (optional) relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// /// The IfcColumn, is places within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. /// The IfcColumn, may be aggregated into an element @@ -32264,7 +32264,7 @@ public: /// IfcElementAssembly as a special focus subtype. In this /// case it should not be additionally contained in the project /// spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e.ÿSELF\IfcElement.ContainedInStructure should be /// NIL. /// /// Geometry Use Definition @@ -32323,8 +32323,8 @@ public: /// Solid: IfcExtrudedAreaSolid, /// IfcRevolvedAreaSolid shall be supported /// Profile: all subtypes of IfcProfileDef (with -/// exception of IfcArbitraryOpenProfileDef)� -/// Extrusion:�All extrusion directions shall be +/// exception of IfcArbitraryOpenProfileDef)ÿ +/// Extrusion:ÿAll extrusion directions shall be /// supported /// /// Figure 81 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on @@ -32383,7 +32383,7 @@ public: /// /// Profile: see 'SweptSolid' geometric /// representation -/// Extrusion:�not applicable +/// Extrusion:ÿnot applicable /// /// MappedRepresentation Representation Type /// The 'MappedRepresentation' representation type is supported as @@ -32395,7 +32395,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' /// -/// The same constraints, as given for the� 'SweptSolid', +/// The same constraints, as given for theÿ 'SweptSolid', /// 'Clipping', 'AdvancedSweptSolid', 'SurfaceModel' and 'Bre' /// geometric representation, shall apply to the /// MappedRepresentation of the @@ -32411,8 +32411,8 @@ public: static Type::Enum Class(); IfcColumn (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcColumn* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumn > > list; + typedef IfcTemplatedEntityList< IfcColumn >::it it; }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -32454,8 +32454,8 @@ public: static Type::Enum Class(); IfcCompressorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCompressorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompressorType > > list; + typedef IfcTemplatedEntityList< IfcCompressorType >::it it; }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -32497,8 +32497,8 @@ public: static Type::Enum Class(); IfcCondenserType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCondenserType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCondenserType > > list; + typedef IfcTemplatedEntityList< IfcCondenserType >::it it; }; class IfcCondition : public IfcGroup { public: @@ -32511,8 +32511,8 @@ public: static Type::Enum Class(); IfcCondition (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCondition > > list; + typedef IfcTemplatedEntityList< IfcCondition >::it it; }; class IfcConditionCriterion : public IfcControl { public: @@ -32527,8 +32527,8 @@ public: static Type::Enum Class(); IfcConditionCriterion (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConditionCriterion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConditionCriterion > > list; + typedef IfcTemplatedEntityList< IfcConditionCriterion >::it it; }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -32563,8 +32563,8 @@ public: static Type::Enum Class(); IfcConstructionEquipmentResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstructionEquipmentResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionEquipmentResource > > list; + typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource >::it it; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -32596,7 +32596,7 @@ class IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute Suppliers is defined for this IfcConstructionMaterialResource bool hasSuppliers(); - SHARED_PTR< IfcTemplatedEntityList > Suppliers(); + SHARED_PTR< IfcTemplatedEntityList< IfcAbstractSelect > > Suppliers(); /// Whether the optional attribute UsageRatio is defined for this IfcConstructionMaterialResource bool hasUsageRatio(); IfcRatioMeasure UsageRatio(); @@ -32609,8 +32609,8 @@ public: static Type::Enum Class(); IfcConstructionMaterialResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstructionMaterialResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionMaterialResource > > list; + typedef IfcTemplatedEntityList< IfcConstructionMaterialResource >::it it; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -32638,8 +32638,8 @@ public: static Type::Enum Class(); IfcConstructionProductResource (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcConstructionProductResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionProductResource > > list; + typedef IfcTemplatedEntityList< IfcConstructionProductResource >::it it; }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -32683,8 +32683,8 @@ public: static Type::Enum Class(); IfcCooledBeamType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCooledBeamType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCooledBeamType > > list; + typedef IfcTemplatedEntityList< IfcCooledBeamType >::it it; }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -32732,8 +32732,8 @@ public: static Type::Enum Class(); IfcCoolingTowerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCoolingTowerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoolingTowerType > > list; + typedef IfcTemplatedEntityList< IfcCoolingTowerType >::it it; }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -32791,7 +32791,7 @@ public: /// representation and the space has defined space boundaries, then /// the covering, which relates to that space, may be assigned to the /// space boundaries using the link -/// to�IfcRelSpaceBoundary, +/// toÿIfcRelSpaceBoundary, /// if the covering does not relate to a space, then the covering /// should be assigned to the building element or a distribution /// element using the IfcRelCoversBldgElements @@ -32806,7 +32806,7 @@ public: /// The IfcCovering defines the occuurence of any covering, /// common information about covering types (or styles) is handled by /// IfcCoveringType. The IfcCoveringType (if present) -/// may establish the common�type name, usage (or predefined) type, +/// may establish the commonÿtype name, usage (or predefined) type, /// common set of properties, common material layer set, and common /// shape representations (using IfcRepresentationMap). The /// IfcCoveringType is attached using the @@ -32817,7 +32817,7 @@ public: /// slabs with constant thickness along the extrusion direction), the /// IfcCoveringType should have a unique /// IfcMaterialLayerSet, that is referenced by -/// the�IfcMaterialLayerSetUsage assigned to all occurrences +/// theÿIfcMaterialLayerSetUsage assigned to all occurrences /// of this covering type. /// /// Figure 91 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the covering type and the covering occurrence. @@ -32907,7 +32907,7 @@ public: /// /// GeometricSet Representation /// The 'GeometricSet' geometric representation of -/// IfcCovering supports area definitions as 3D surfaces.� +/// IfcCovering supports area definitions as 3D surfaces.ÿ /// /// RepresentationIdentifier : 'Surface' /// RepresentationType : 'GeometricSet' @@ -32935,7 +32935,7 @@ public: /// /// SweptSolid Representation /// The 'SweptSolid' geometric representation of -/// IfcCovering supports volume definitions as 3D solids.� +/// IfcCovering supports volume definitions as 3D solids.ÿ /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SweptSolid' @@ -32969,15 +32969,15 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > CoversSpaces(); // INVERSE IfcRelCoversSpaces::RelatedCoverings - SHARED_PTR< IfcTemplatedEntityList > Covers(); // INVERSE IfcRelCoversBldgElements::RelatedCoverings + SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > CoversSpaces(); // INVERSE IfcRelCoversSpaces::RelatedCoverings + SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > Covers(); // INVERSE IfcRelCoversBldgElements::RelatedCoverings bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcCovering (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCovering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > list; + typedef IfcTemplatedEntityList< IfcCovering >::it it; }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -32994,14 +32994,14 @@ public: /// wall, common information about curtain wall types (or styles) is /// handled by IfcCurtainWallType. The /// IfcCurtainWallType (if present) may establish the -/// common�type name, usage (or predefined) type, common material +/// commonÿtype name, usage (or predefined) type, common material /// information, common set of properties and common shape /// representations (using IfcRepresentationMap). The /// IfcCurtainWallType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsDefinedBy /// attribute. -/// If no IfcCurtainWallType is attached�(i.e. if only +/// If no IfcCurtainWallType is attachedÿ(i.e. if only /// occurrence information is given) the predefined type may be given /// by using the ObjectType attribute. /// NOTE Since the IfcCurtainWall might be @@ -33128,8 +33128,8 @@ public: static Type::Enum Class(); IfcCurtainWall (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcCurtainWall* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurtainWall > > list; + typedef IfcTemplatedEntityList< IfcCurtainWall >::it it; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -33178,8 +33178,8 @@ public: static Type::Enum Class(); IfcDamperType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDamperType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDamperType > > list; + typedef IfcTemplatedEntityList< IfcDamperType >::it it; }; class IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { public: @@ -33192,8 +33192,8 @@ public: static Type::Enum Class(); IfcDiameterDimension (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDiameterDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiameterDimension > > list; + typedef IfcTemplatedEntityList< IfcDiameterDimension >::it it; }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -33379,8 +33379,8 @@ public: static Type::Enum Class(); IfcDiscreteAccessory (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDiscreteAccessory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiscreteAccessory > > list; + typedef IfcTemplatedEntityList< IfcDiscreteAccessory >::it it; }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -33581,8 +33581,8 @@ public: static Type::Enum Class(); IfcDiscreteAccessoryType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDiscreteAccessoryType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiscreteAccessoryType > > list; + typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType >::it it; }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -33634,8 +33634,8 @@ public: static Type::Enum Class(); IfcDistributionChamberElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionChamberElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionChamberElementType > > list; + typedef IfcTemplatedEntityList< IfcDistributionChamberElementType >::it it; }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33702,8 +33702,8 @@ public: static Type::Enum Class(); IfcDistributionControlElementType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionControlElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElementType > > list; + typedef IfcTemplatedEntityList< IfcDistributionControlElementType >::it it; }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -33768,13 +33768,13 @@ public: /// different containment relationships. The first (and in most /// implementation scenarios mandatory) relationship is the /// hierachical spatial containment, the second (optional) -/// relationship is the aggregation within an�element assembly. +/// relationship is the aggregation within anÿelement assembly. /// /// The IfcDistributionElement is places within the /// project spatial hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, referring to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcSpace being the default /// container. /// The IfcDistributionElement may be aggregated into an @@ -33785,7 +33785,7 @@ public: /// IfcElementAssembly as a special focus subtype. In this /// case it should not be additionally contained in the project /// spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e.ÿSELF\IfcElement.ContainedInStructure should be /// NIL. /// /// Geometry Use Definitions @@ -33878,8 +33878,8 @@ public: static Type::Enum Class(); IfcDistributionElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionElement > > list; + typedef IfcTemplatedEntityList< IfcDistributionElement >::it it; }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -33955,14 +33955,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElement::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > HasControlElements(); // INVERSE IfcRelFlowControlElements::RelatingFlowElement + SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > HasControlElements(); // INVERSE IfcRelFlowControlElements::RelatingFlowElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionFlowElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionFlowElement > > list; + typedef IfcTemplatedEntityList< IfcDistributionFlowElement >::it it; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -34061,8 +34061,8 @@ public: static Type::Enum Class(); IfcDistributionPort (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionPort* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionPort > > list; + typedef IfcTemplatedEntityList< IfcDistributionPort >::it it; }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -34079,7 +34079,7 @@ public: /// IfcRelFillsElement relationship, then the IfcDoor /// has an inverse attribute FillsVoids provided, /// -/// NOTE� View definitions or +/// NOTEÿ View definitions or /// implementer agreements may restrict the relationship to only /// include one window (or door) into one opening. /// @@ -34101,7 +34101,7 @@ public: /// that references one IfcDoorLiningProperties and on to many /// IfcDoorPanelProperties. /// -/// NOTE� see +/// NOTEÿ see /// IfcDoorStandardCase for all specific constraints imposed /// by this subtype. /// @@ -34134,7 +34134,7 @@ public: /// the construction material type /// the particular attributes for the lining by the /// IfcDoorLiningProperties -/// the particular attributes for the panels by the� +/// the particular attributes for the panels by theÿ /// IfcDoorPanelProperties /// /// HISTORY New entity in IFC Release 1.0. @@ -34199,13 +34199,13 @@ public: /// containment relationships as shown in Figure 96. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second (optional) relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// /// The IfcDoor is places within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. /// The IfcDoor may be aggregated into an element assembly @@ -34214,7 +34214,7 @@ public: /// SELF\IfcObjectDefinition.Decomposes. Doors may be part of /// an IfcCurtainWall as a special focus subtype. In this case /// it should not be additionally contained in the project spatial -/// hierarchy, i.e.�SELF\IfcElement.ContainedInStructure +/// hierarchy, i.e.ÿSELF\IfcElement.ContainedInStructure /// should be NIL. /// /// NOTE The containment shall be defined independently of the @@ -34255,12 +34255,12 @@ public: /// is defined within the world coordinate system. /// /// Geometric Representation -/// The�geometric representation of IfcDoor is defined -/// using the following (potentially�multiple) +/// Theÿgeometric representation of IfcDoor is defined +/// using the following (potentiallyÿmultiple) /// IfcShapeRepresentation's for its /// IfcProductDefinitionShape: /// -/// Profile: A�'Curve3D' +/// Profile: Aÿ'Curve3D' /// consisting of a single losed curve defining the outer boundary of /// the door (lining). The door parametric representation uses this /// profile in order to apply the door lining and panel parameter. If @@ -34277,11 +34277,11 @@ public: /// IfcDoorPanelProperties. The purpose of the parameter is /// described at those entities and below (door opening operation by /// door type). -/// Profile -�'Curve3D' representation +/// Profile -ÿ'Curve3D' representation /// The door profile is represented by a three-dimensional closed /// curve within a particular shape representation. The profile is /// used to apply the parameter of the parametric door -/// representation.�The following attribute values for the +/// representation.ÿThe following attribute values for the /// IfcShapeRepresentation holding this geometric /// representation shall be used: /// @@ -34295,18 +34295,18 @@ public: /// a parametric representation shall be applied to the door /// AND /// -/// the�door is 'free standing', or -/// the opening into which the�door is inserted is not extruded +/// theÿdoor is 'free standing', or +/// the opening into which theÿdoor is inserted is not extruded /// horizontally (i.e. where the opening profile does not match -/// the�door profile) +/// theÿdoor profile) /// -/// FootPrint -�'GeometricCurveSet' or 'Annotation2D' +/// FootPrint -ÿ'GeometricCurveSet' or 'Annotation2D' /// representation /// The door foot print is represented by a set of -/// two-dimensional�curves (or in case of 'Annotation2D' additional +/// two-dimensionalÿcurves (or in case of 'Annotation2D' additional /// hatching and text) within a particular shape representation. The /// foot print is used for the planview representation of the -/// door.�The following attribute values for the +/// door.ÿThe following attribute values for the /// IfcShapeRepresentation holding this geometric /// representation shall be used: /// @@ -34320,7 +34320,7 @@ public: /// parametric representation) or by explicit 3D shape. The 3D shape /// is given by using extrusion geometry, or surface models, or Brep /// models within a particular shape representation. The body is used -/// for the model view representation of the door.�The following +/// for the model view representation of the door.ÿThe following /// attribute values for the IfcShapeRepresentation holding /// this geometric representation shall be used: /// @@ -34338,7 +34338,7 @@ public: /// RepresentationIdentifier : 'FootPrint', 'Body' /// RepresentationType : 'MappedRepresentation' /// -/// The same constraints, as given for the� 'FootPrint', 'Body' +/// The same constraints, as given for theÿ 'FootPrint', 'Body' /// representation identifiers, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. @@ -34357,13 +34357,13 @@ public: /// relatioship, having a horizontal extrusion (along the y-axis of /// the IfcDoor), the overall size is determined by the /// extrusion profile of the IfcOpeningElement. -/// NOTE �The OverallWidth and +/// NOTE ÿThe OverallWidth and /// OverallHeight parameters are for informational purpose /// only. /// The opening direction is determined by the local placement of /// IfcDoor and the OperationType of the door /// style as shown in Figure 97. -/// NOTE �There are different definitions in +/// NOTE ÿThere are different definitions in /// various countries on what a left opening or left hung or left /// swing door is (same for right). Therefore the IFC definition may /// derivate from the local standard and need to be mapped @@ -34381,7 +34381,7 @@ public: /// placement. The determination of whether the door opens to the /// left or to the right is done at the level of the /// IfcDoorType. Here it is a left side opening door given -/// by�IfcDoorType.OperationType = +/// byÿIfcDoorType.OperationType = /// SingleSwingLeft /// refered to as LEFT HAND (LH) in US * /// @@ -34400,7 +34400,7 @@ public: /// opens to the right, a separate door style needs to be used (here /// IfcDoorTypee.OperationType = SingleSwingRight) and it /// always opens into the direction of the positive Y axis of the -/// local placement.� +/// local placement.ÿ /// refered to as RIGHT HAND (RH) in US * /// /// refered to as DIN-L (left hung) in Germany @@ -34426,13 +34426,13 @@ public: bool hasOverallHeight(); /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// - /// NOTE� The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. + /// NOTE  The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. IfcPositiveLengthMeasure OverallHeight(); /// Whether the optional attribute OverallWidth is defined for this IfcDoor bool hasOverallWidth(); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// - /// NOTE� The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. + /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. IfcPositiveLengthMeasure OverallWidth(); virtual unsigned int getArgumentCount() const { return 10; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_DOUBLE; case 9: return Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } @@ -34443,8 +34443,8 @@ public: static Type::Enum Class(); IfcDoor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDoor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoor > > list; + typedef IfcTemplatedEntityList< IfcDoor >::it it; }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -34488,8 +34488,8 @@ public: static Type::Enum Class(); IfcDuctFittingType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDuctFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctFittingType > > list; + typedef IfcTemplatedEntityList< IfcDuctFittingType >::it it; }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -34533,8 +34533,8 @@ public: static Type::Enum Class(); IfcDuctSegmentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDuctSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSegmentType > > list; + typedef IfcTemplatedEntityList< IfcDuctSegmentType >::it it; }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -34575,8 +34575,8 @@ public: static Type::Enum Class(); IfcDuctSilencerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDuctSilencerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSilencerType > > list; + typedef IfcTemplatedEntityList< IfcDuctSilencerType >::it it; }; class IfcEdgeFeature : public IfcFeatureElementSubtraction { public: @@ -34592,8 +34592,8 @@ public: static Type::Enum Class(); IfcEdgeFeature (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEdgeFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeFeature > > list; + typedef IfcTemplatedEntityList< IfcEdgeFeature >::it it; }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -34637,8 +34637,8 @@ public: static Type::Enum Class(); IfcElectricApplianceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricApplianceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricApplianceType > > list; + typedef IfcTemplatedEntityList< IfcElectricApplianceType >::it it; }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -34680,8 +34680,8 @@ public: static Type::Enum Class(); IfcElectricFlowStorageDeviceType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricFlowStorageDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > > list; + typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType >::it it; }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -34728,8 +34728,8 @@ public: static Type::Enum Class(); IfcElectricGeneratorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricGeneratorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricGeneratorType > > list; + typedef IfcTemplatedEntityList< IfcElectricGeneratorType >::it it; }; class IfcElectricHeaterType : public IfcFlowTerminalType { public: @@ -34743,8 +34743,8 @@ public: static Type::Enum Class(); IfcElectricHeaterType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricHeaterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricHeaterType > > list; + typedef IfcTemplatedEntityList< IfcElectricHeaterType >::it it; }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -34786,8 +34786,8 @@ public: static Type::Enum Class(); IfcElectricMotorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricMotorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricMotorType > > list; + typedef IfcTemplatedEntityList< IfcElectricMotorType >::it it; }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -34829,8 +34829,8 @@ public: static Type::Enum Class(); IfcElectricTimeControlType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricTimeControlType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricTimeControlType > > list; + typedef IfcTemplatedEntityList< IfcElectricTimeControlType >::it it; }; class IfcElectricalCircuit : public IfcSystem { public: @@ -34843,8 +34843,8 @@ public: static Type::Enum Class(); IfcElectricalCircuit (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricalCircuit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricalCircuit > > list; + typedef IfcTemplatedEntityList< IfcElectricalCircuit >::it it; }; class IfcElectricalElement : public IfcElement { public: @@ -34857,8 +34857,8 @@ public: static Type::Enum Class(); IfcElectricalElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricalElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricalElement > > list; + typedef IfcTemplatedEntityList< IfcElectricalElement >::it it; }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -34880,8 +34880,8 @@ public: static Type::Enum Class(); IfcEnergyConversionDevice (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcEnergyConversionDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyConversionDevice > > list; + typedef IfcTemplatedEntityList< IfcEnergyConversionDevice >::it it; }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -34924,8 +34924,8 @@ public: static Type::Enum Class(); IfcFanType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFanType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFanType > > list; + typedef IfcTemplatedEntityList< IfcFanType >::it it; }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -34969,8 +34969,8 @@ public: static Type::Enum Class(); IfcFilterType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFilterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFilterType > > list; + typedef IfcTemplatedEntityList< IfcFilterType >::it it; }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -35018,8 +35018,8 @@ public: static Type::Enum Class(); IfcFireSuppressionTerminalType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFireSuppressionTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFireSuppressionTerminalType > > list; + typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType >::it it; }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -35041,8 +35041,8 @@ public: static Type::Enum Class(); IfcFlowController (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowController* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowController > > list; + typedef IfcTemplatedEntityList< IfcFlowController >::it it; }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -35060,8 +35060,8 @@ public: static Type::Enum Class(); IfcFlowFitting (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowFitting > > list; + typedef IfcTemplatedEntityList< IfcFlowFitting >::it it; }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -35106,8 +35106,8 @@ public: static Type::Enum Class(); IfcFlowInstrumentType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowInstrumentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowInstrumentType > > list; + typedef IfcTemplatedEntityList< IfcFlowInstrumentType >::it it; }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -35125,8 +35125,8 @@ public: static Type::Enum Class(); IfcFlowMovingDevice (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowMovingDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMovingDevice > > list; + typedef IfcTemplatedEntityList< IfcFlowMovingDevice >::it it; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -35162,8 +35162,8 @@ public: static Type::Enum Class(); IfcFlowSegment (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowSegment > > list; + typedef IfcTemplatedEntityList< IfcFlowSegment >::it it; }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -35185,8 +35185,8 @@ public: static Type::Enum Class(); IfcFlowStorageDevice (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowStorageDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowStorageDevice > > list; + typedef IfcTemplatedEntityList< IfcFlowStorageDevice >::it it; }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -35210,8 +35210,8 @@ public: static Type::Enum Class(); IfcFlowTerminal (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTerminal > > list; + typedef IfcTemplatedEntityList< IfcFlowTerminal >::it it; }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -35229,8 +35229,8 @@ public: static Type::Enum Class(); IfcFlowTreatmentDevice (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFlowTreatmentDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTreatmentDevice > > list; + typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice >::it it; }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -35258,7 +35258,7 @@ class IfcFooting : public IfcBuildingElement { public: /// The generic type of the footing. /// - /// IFC 2x4 change:� Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. + /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType(); virtual unsigned int getArgumentCount() const { return 9; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } @@ -35269,8 +35269,8 @@ public: static Type::Enum Class(); IfcFooting (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcFooting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcFooting > > list; + typedef IfcTemplatedEntityList< IfcFooting >::it it; }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -35300,7 +35300,7 @@ public: /// geometry based on the swept solid), if a 3D geometric /// representation is assigned. In addition they have to have a /// corresponding IfcMaterialProfileSetUsage assigned. -/// NOTE� View definitions and implementer +/// NOTEÿ View definitions and implementer /// agreements may further constrain the applicable geometry types, /// e.g. by excluding tapering from an IfcMemberStandardCase /// implementation. @@ -35316,13 +35316,13 @@ public: /// IfcMember defines the occuurence of any member, common /// information about member types (or styles) is handled by /// IfcMemberType. The IfcMemberType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common material profile set, common set of properties and common /// shape representations (using IfcRepresentationMap). The /// IfcMemberType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsTypedBy attribute. -/// If no IfcMemberType is attached�(i.e. if only +/// If no IfcMemberType is attachedÿ(i.e. if only /// occurrence information is given) the PredefinedType should /// be provided. If set to .USERDEFINED. a user defined value can be /// provided by the ObjectType attribute. @@ -35333,14 +35333,14 @@ public: /// IfcRelAssociatesMaterial.RelatingMaterial. It is /// accessible by the inverse HasAssociations relationship. /// Material information can also be given at -/// the�IfcMemberType, defining the common attribute data for -/// all occurrences of the same type.�It is then accessible by the +/// theÿIfcMemberType, defining the common attribute data for +/// all occurrences of the same type.ÿIt is then accessible by the /// inverse > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcMember > > list; + typedef IfcTemplatedEntityList< IfcMember >::it it; }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -35558,13 +35558,13 @@ class IfcPile : public IfcBuildingElement { public: /// The predefined generic type of the pile according to function. /// - /// IFC 2x4 change:� Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. + /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. IfcPileTypeEnum::IfcPileTypeEnum PredefinedType(); /// Whether the optional attribute ConstructionType is defined for this IfcPile bool hasConstructionType(); /// General designator for how the pile is constructed. /// - /// IFC 2x4 change:� Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. + /// IFC 2x4 change:  Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. IfcPileConstructionEnum::IfcPileConstructionEnum ConstructionType(); virtual unsigned int getArgumentCount() const { return 10; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_ENUMERATION; case 9: return Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } @@ -35575,28 +35575,28 @@ public: static Type::Enum Class(); IfcPile (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPile* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPile > > list; + typedef IfcTemplatedEntityList< IfcPile >::it it; }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a /// structural part carrying loads between or beyond points of -/// support, however it is not required to be load bearing.�The +/// support, however it is not required to be load bearing.ÿThe /// location of the plate (being horizontal, vertical or sloped) is /// not relevant to its definition (in contrary to IfcWall and -/// IfcSlab (as floor slab)).� -/// NOTE �Plates are�normally made of steel, other +/// IfcSlab (as floor slab)).ÿ +/// NOTE ÿPlates areÿnormally made of steel, other /// metallic material, or by glass panels. However the definition of /// IfcPlate is material independent and specific material /// information shall be handled by using /// IfcAssociatesMaterial to assign a material specification -/// to the IfcPlate.� +/// to the IfcPlate.ÿ /// -/// NOTE �Although not necessarily, plates are often add-on +/// NOTE ÿAlthough not necessarily, plates are often add-on /// parts. This is represented by the IfcRelAggregates /// decomposition mechanism used to aggregate parts, such as /// IfcPlate, into a container element, e.g. -/// IfcElementAssembly, or IfcCurtainWall.� +/// IfcElementAssembly, or IfcCurtainWall.ÿ /// /// NOTE The representation of a plate in a structural /// analysis model is provided by IfcStructuralSurfaceMember @@ -35636,13 +35636,13 @@ public: /// The IfcPlate defines the occuurence of any plate, /// common information about plate types (or styles) is handled by /// IfcPlateType. The IfcPlateType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common set of properties, common material layer set, and common /// shape representations (using IfcRepresentationMap). The /// IfcPlateType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsTypedBy attribute. -/// If no IfcPlateType is attached�(i.e. if only occurrence +/// If no IfcPlateType is attachedÿ(i.e. if only occurrence /// information is given) the PredefinedType should be /// provided. If set to .USERDEFINED. a user defined value can be /// provided by the ObjectType attribute. @@ -35658,7 +35658,7 @@ public: /// concept. /// Material information can also be given at the /// IfcPlateType, defining the common attribute data for all -/// occurrences of the same type.�It is then accessible by the +/// occurrences of the same type.ÿIt is then accessible by the /// inverse IsTypedBy /// relationship pointing to IfcPlateType.HasAssociations and /// via IfcRelAssociatesMaterial.RelatingMaterial. @@ -35695,23 +35695,23 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second relationship is the aggregation within -/// an�element assembly. +/// anÿelement assembly. /// -/// The�IfcPlate is places within the project spatial +/// TheÿIfcPlate is places within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, referring to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. -/// The�IfcPlate may be aggregated into an element +/// TheÿIfcPlate may be aggregated into an element /// assembly using the objectified relationship /// IfcRelAggregates, referring to it by its inverse attribute /// SELF\IfcObjectDefinition.Decomposes. Any subtype of /// IfcElement can be an element assembly, with /// IfcElementAssembly as a special focus subtype. In this /// case, no additional relationship to the spatial hierarchy shall -/// be given (i.e.�SELF\IfcElement.ContainedInStructure = +/// be given (i.e.ÿSELF\IfcElement.ContainedInStructure = /// NIL), the relationship to the spatial container is handled by the /// element assembly. /// @@ -35817,8 +35817,8 @@ public: static Type::Enum Class(); IfcPlate (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcPlate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlate > > list; + typedef IfcTemplatedEntityList< IfcPlate >::it it; }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -35831,7 +35831,7 @@ public: /// IfcRailing defines the occuurence of any railing, /// common information about railing types (or styles) is handled by /// IfcRailingType. The IfcRailingType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common material, common set of properties and common shape /// representations (using IfcRepresentationMap). The /// IfcRailingType is attached using the @@ -35846,7 +35846,7 @@ public: /// relationship. /// Material information can also be given at the /// IfcRailingType, defining the common attribute data for all -/// occurrences of the same type.�It is then accessible by the +/// occurrences of the same type.ÿIt is then accessible by the /// inverse IsDefinedBy relationship pointing to /// IfcRailingType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial to @@ -35884,13 +35884,13 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second (optional) relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// /// The IfcRailing is places within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. /// The IfcRailing may be aggregated into an element @@ -35901,7 +35901,7 @@ public: /// IfcStair, or IfcRamp as a special focus subtypes. /// In this case it should not be additionally contained in the /// project spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e.ÿSELF\IfcElement.ContainedInStructure should be /// NIL. /// /// Geometry Use Definition @@ -35969,8 +35969,8 @@ public: static Type::Enum Class(); IfcRailing (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRailing* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRailing > > list; + typedef IfcTemplatedEntityList< IfcRailing >::it it; }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -35995,7 +35995,7 @@ public: /// IfcRamp defines the occuurence of any ramp, common /// information about ramp types (or styles) is handled by /// IfcRampType. The IfcRampType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common material, common set of properties and common shape /// representations (using IfcRepresentationMap). The /// IfcRampType is attached using the @@ -36016,7 +36016,7 @@ public: /// relationship. /// Material information can also be given at the /// IfcRampType, defining the common attribute data for all -/// occurrences of the same type.�It is then accessible by the +/// occurrences of the same type.ÿIt is then accessible by the /// inverse IsDefinedBy relationship pointing to /// IfcRampType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial to @@ -36117,8 +36117,8 @@ public: static Type::Enum Class(); IfcRamp (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRamp* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRamp > > list; + typedef IfcTemplatedEntityList< IfcRamp >::it it; }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -36138,7 +36138,7 @@ public: /// IfcRampFlight defines the occurrence of any ramp flight, /// common information about ramp flight types (or styles) is handled /// by IfcRampFlightType. The IfcRampFlightType (if -/// present) may establish the common�type name, usage (or +/// present) may establish the common type name, usage (or /// predefined) type, common material layer set, common set of /// properties and common shape representations (using /// IfcRepresentationMap). The IfcRampFlightType is @@ -36181,13 +36181,13 @@ public: /// IfcBuildingElement, may participate in two different /// containment relationships. The first relationship is the /// hierachical spatial containment, the second relationship is the -/// aggregation within an�element assembly. +/// aggregation within an element assembly. /// /// The IfcRampFlight is placed within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid +/// Subtypes of IfcSpatialStructureElement are valid /// spatial containers, with IfcBuildingStorey being the default /// container. /// The IfcRampFlight may be aggregated into an element @@ -36197,7 +36197,7 @@ public: /// IfcElement can be an element assembly, with IfcRamp /// as a special focus subtype. In this case it should not be /// additionally contained in the project spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e. SELF\IfcElement.ContainedInStructure should be /// NIL. /// /// Geometry Use Definition @@ -36319,12 +36319,12 @@ public: static Type::Enum Class(); IfcRampFlight (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRampFlight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampFlight > > list; + typedef IfcTemplatedEntityList< IfcRampFlight >::it it; }; class IfcRationalBezierCurve : public IfcBezierCurve { public: - std::vector /*[2:?]*/ WeightsData(); + std::vector< double > /*[2:?]*/ WeightsData(); virtual unsigned int getArgumentCount() const { return 6; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_VECTOR_DOUBLE; } return IfcBezierCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "WeightsData"; } return IfcBezierCurve::getArgumentName(i); } @@ -36334,8 +36334,8 @@ public: static Type::Enum Class(); IfcRationalBezierCurve (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRationalBezierCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRationalBezierCurve > > list; + typedef IfcTemplatedEntityList< IfcRationalBezierCurve >::it it; }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -36359,8 +36359,8 @@ public: static Type::Enum Class(); IfcReinforcingElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcReinforcingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingElement > > list; + typedef IfcTemplatedEntityList< IfcReinforcingElement >::it it; }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -36409,8 +36409,8 @@ public: static Type::Enum Class(); IfcReinforcingMesh (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcReinforcingMesh* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingMesh > > list; + typedef IfcTemplatedEntityList< IfcReinforcingMesh >::it it; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -36471,7 +36471,7 @@ public: /// spatial hierarchy, i.e. /// SELF\IfcElement.ContainedInStructure should be NIL. /// -/// NOTE� A roof contained in another roof could +/// NOTEÿ A roof contained in another roof could /// be the representation of a dormer. /// The IfcRoof may be an aggregate i.e. being composed by /// other elements and acting as an assembly using the objectified @@ -36499,7 +36499,7 @@ public: /// aggregate. If defined as an aggregate, the geometric /// representation is the sum of the representation of the components /// within the aggregate. -/// NOTE� View definitions and implementer +/// NOTEÿ View definitions and implementer /// agreements may restrict the IfcRoof to not have an /// independent geometry, but to always require aggregated elements /// to represent the shape of the roof. @@ -36569,8 +36569,8 @@ public: static Type::Enum Class(); IfcRoof (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRoof* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoof > > list; + typedef IfcTemplatedEntityList< IfcRoof >::it it; }; class IfcRoundedEdgeFeature : public IfcEdgeFeature { public: @@ -36586,8 +36586,8 @@ public: static Type::Enum Class(); IfcRoundedEdgeFeature (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcRoundedEdgeFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoundedEdgeFeature > > list; + typedef IfcTemplatedEntityList< IfcRoundedEdgeFeature >::it it; }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -36650,8 +36650,8 @@ public: static Type::Enum Class(); IfcSensorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSensorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSensorType > > list; + typedef IfcTemplatedEntityList< IfcSensorType >::it it; }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -36668,7 +36668,7 @@ public: /// IfcStructuralMember being part of the /// IfcStructuralAnalysisModel. /// -/// NOTE �An arbitrary planar element to which this semantic +/// NOTE ÿAn arbitrary planar element to which this semantic /// information is not applicable or irrelevant shall be modeled as /// IfcPlate. /// A slab may have openings, such as floor openings, or recesses. @@ -36702,13 +36702,13 @@ public: /// The IfcSlab defines the occurrence of any slab, common /// information about slab types (or styles) is handled by /// IfcSlabType. The IfcSlabType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common set of properties, common material layer set, and common /// shape representations (using IfcRepresentationMap). The /// IfcSlabType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsTypedBy attribute. -/// If no IfcSlabType is attached�(i.e. if only occurrence +/// If no IfcSlabType is attachedÿ(i.e. if only occurrence /// information is given) the PredefinedType should be /// provided. Values of the enumeration are .FLOOR. (the default), /// .ROOF., .LANDING., .BASESLAB. If set to .USERDEFINED. a user @@ -36730,12 +36730,12 @@ public: /// the slab is extruded along the slab thickness, are exchanged as /// IfcSlabStandardCase, The material for /// IfcSlabStandardCase shall be defined -/// by�IfcMaterialLayerSetUsage. Multi-layer slabs can be +/// byÿIfcMaterialLayerSetUsage. Multi-layer slabs can be /// represented by referring to several IfcMaterialLayer's -/// within the IfcMaterialLayerSet.� +/// within the IfcMaterialLayerSet.ÿ /// Material information can also be given at the /// IfcSlabType, defining the common attribute data for all -/// occurrences of the same type.�It is then accessible by the +/// occurrences of the same type.ÿIt is then accessible by the /// inverse IsTypedBy /// relationship pointing to IfcSlabType.HasAssociations and /// via IfcRelAssociatesMaterial.RelatingMaterial. @@ -36752,7 +36752,7 @@ public: /// /// Property sets can also be given at the IfcSlabType, /// defining the common property data for all occurrences of the same -/// type.�It is then accessible by the inverse IsTypedBy relationship pointing to +/// type.ÿIt is then accessible by the inverse IsTypedBy relationship pointing to /// IfcSlabType.HasPropertySets. If both are given, then the /// properties directly assigned to IfcSlab overrides the /// properties assigned to IfcSlabType. @@ -36778,16 +36778,16 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierarchical spatial /// containment, the second (optional) relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// -/// The�IfcSlab is places within the project spatial +/// TheÿIfcSlab is places within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, referring to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. -/// The�IfcSlab may be aggregated into an element assembly +/// TheÿIfcSlab may be aggregated into an element assembly /// using the objectified relationship IfcRelAggregates, /// referring to it by its inverse attribute /// SELF\IfcObjectDefinition.Decomposes. Any subtype of @@ -36795,10 +36795,10 @@ public: /// IfcElementAssembly as a special focus subtype. /// In this case it should not be additionally contained in the /// project spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e.ÿSELF\IfcElement.ContainedInStructure should be /// NIL. /// -/// The IfcSlab�may also be an aggregate i.e. being +/// The IfcSlabÿmay also be an aggregate i.e. being /// composed by other elements and acting as an assembly using the /// objectified relationship IfcRelAggregates, referring to it /// by its inverse attribute @@ -36902,8 +36902,8 @@ public: /// representation: /// /// Solid: see 'SweptSolid' shape representation, -/// Profile:�see 'SweptSolid' shape representation, -/// Extrusion:�see 'SweptSolid' shape representation, +/// Profile:ÿsee 'SweptSolid' shape representation, +/// Extrusion:ÿsee 'SweptSolid' shape representation, /// Boolean result: The IfcBooleanClippingResult /// shall be supported, allowing for Boolean differences between the /// swept solid (here IfcExtrudedAreaSolid) and one or several @@ -36931,8 +36931,8 @@ public: static Type::Enum Class(); IfcSlab (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcSlab* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlab > > list; + typedef IfcTemplatedEntityList< IfcSlab >::it it; }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -37054,7 +37054,7 @@ public: /// RepresentationIdentifier : 'Axis' /// RepresentationType : 'Curve2D' /// -/// NOTE� The 'Axis' representation of IfcStair +/// NOTE  The 'Axis' representation of IfcStair /// may be provided even if the IfcStair has components with own /// shape representations. /// @@ -37067,7 +37067,7 @@ public: /// RepresentationIdentifier : 'FootPrint' /// RepresentationType : 'GeometricCurveSet' /// -/// NOTE� The 'Footprint' representation of +/// NOTE  The 'Footprint' representation of /// IfcStair may be provided even if the IfcStair has /// components with own shape representations. /// @@ -37111,8 +37111,8 @@ public: static Type::Enum Class(); IfcStair (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStair* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStair > > list; + typedef IfcTemplatedEntityList< IfcStair >::it it; }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -37136,7 +37136,7 @@ public: /// flight, common information about stair flight types (or styles) /// is handled by IfcStairFlightType. The /// IfcStairFlightType (if present) may establish the -/// common�type name, usage (or predefined) type, common material +/// commonÿtype name, usage (or predefined) type, common material /// layer set, common set of properties and common shape /// representations (using IfcRepresentationMap). The /// IfcStairFlightType is attached using the @@ -37180,13 +37180,13 @@ public: /// IfcBuildingElement, may participate in two different /// containment relationships. The first relationship is the /// hierachical spatial containment, the second relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// /// The IfcStairFlight is placed within the project /// spatial hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. /// The IfcStairFlight may be aggregated into an element @@ -37196,7 +37196,7 @@ public: /// IfcElement can be an element assembly, with /// IfcStair as a special focus subtype. In this case it /// shall not be additionally contained in the project spatial -/// hierarchy, i.e.�SELF\IfcElement.ContainedInStructure +/// hierarchy, i.e.ÿSELF\IfcElement.ContainedInStructure /// shall be NIL. /// /// Geometry Use Definition @@ -37316,8 +37316,8 @@ public: static Type::Enum Class(); IfcStairFlight (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStairFlight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairFlight > > list; + typedef IfcTemplatedEntityList< IfcStairFlight >::it it; }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -37339,9 +37339,9 @@ public: /// If one or more structural item (instance of a subtype of IfcStructuralItem) is grouped into an IfcStructuralAnalysisModel, the attribute SharedPlacement shall be provided with a value. /// The ObjectPlacements of all structural items which are grouped into the same instance of IfcStructuralAnalysisModel shall refer to the same instance of IfcObjectPlacement as IfcStructuralAnalysisModel.SharedPlacement. /// -/// NOTE� This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. +/// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// -/// NOTE� A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. +/// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. @@ -37362,11 +37362,11 @@ public: /// Whether the optional attribute LoadedBy is defined for this IfcStructuralAnalysisModel bool hasLoadedBy(); /// References to all load groups to be analyzed. - SHARED_PTR< IfcTemplatedEntityList > LoadedBy(); + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > LoadedBy(); /// Whether the optional attribute HasResults is defined for this IfcStructuralAnalysisModel bool hasHasResults(); /// References to all result groups available for this structural analysis model. - SHARED_PTR< IfcTemplatedEntityList > HasResults(); + SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > HasResults(); virtual unsigned int getArgumentCount() const { return 9; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return Argument_ENUMERATION; case 6: return Argument_ENTITY; case 7: return Argument_ENTITY_LIST; case 8: return Argument_ENTITY_LIST; } return IfcSystem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "OrientationOf2DPlane"; case 7: return "LoadedBy"; case 8: return "HasResults"; } return IfcSystem::getArgumentName(i); } @@ -37376,8 +37376,8 @@ public: static Type::Enum Class(); IfcStructuralAnalysisModel (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcStructuralAnalysisModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > list; + typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel >::it it; }; class IfcTendon : public IfcReinforcingElement { public: @@ -37408,8 +37408,8 @@ public: static Type::Enum Class(); IfcTendon (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTendon* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendon > > list; + typedef IfcTemplatedEntityList< IfcTendon >::it it; }; class IfcTendonAnchor : public IfcReinforcingElement { public: @@ -37422,8 +37422,8 @@ public: static Type::Enum Class(); IfcTendonAnchor (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcTendonAnchor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendonAnchor > > list; + typedef IfcTemplatedEntityList< IfcTendonAnchor >::it it; }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -37460,8 +37460,8 @@ public: static Type::Enum Class(); IfcVibrationIsolatorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcVibrationIsolatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcVibrationIsolatorType > > list; + typedef IfcTemplatedEntityList< IfcVibrationIsolatorType >::it it; }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -37470,7 +37470,7 @@ public: /// Definition from IAI: The wall represents a vertical /// construction that bounds or subdivides spaces. Wall are usually /// vertical, or nearly vertical, planar elements, often designed to -/// bear structural loads. A wall is however�not required to be load +/// bear structural loads. A wall is howeverÿnot required to be load /// bearing. /// NOTE NOTE There is a representation of walls /// for structural analysis provided by a proper subtype of @@ -37489,7 +37489,7 @@ public: /// The IFC specification provides two entities for wall /// occurrences: /// -/// IfcWallStandardCase �used for all occurrences of +/// IfcWallStandardCase ÿused for all occurrences of /// walls, that have a non-changing thickness along the wall path and /// where the thickness parameter can be fully described by a /// material layer set. These walls are always represented @@ -37502,7 +37502,7 @@ public: /// which are aggregated from subordinate elements, following /// specific decomposition rules expressed by the mandatory use of /// IfcRelAggregates relationship. -/// IfcWall �used for all other occurrences of wall, +/// IfcWall ÿused for all other occurrences of wall, /// particularly for walls with changing thickness along the wall /// path (e.g. polygonal walls), or walls with a non-rectangular /// cross sections (e.g. L-shaped retaining walls), and walls having @@ -37514,15 +37514,15 @@ public: /// IFC Release 1.0 /// Type Use Definition /// IfcWall defines the occurrence of any wall, common -/// information about�wall types (or styles) is handled by +/// information aboutÿwall types (or styles) is handled by /// IfcWallType. The IfcWallType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the commonÿtype name, usage (or predefined) type, /// common material layer set, common set of properties and common /// shape representations (using IfcRepresentationMap). The /// IfcWallType is attached using the /// IfcRelDefinedByType.RelatingType objectified relationship /// and is accessible by the inverse IsTypedBy attribute. -/// If no IfcWallType is attached�(i.e. if only occurrence +/// If no IfcWallType is attachedÿ(i.e. if only occurrence /// information is given) the PredefinedType should be /// provided. If set to .USERDEFINED. a user defined value can be /// provided by the ObjectType attribute. @@ -37533,14 +37533,14 @@ public: /// accessible by the inverse HasAssociations relationship. /// Multi-layer walls can be represented by referring to several /// IfcMaterialLayer's within the -/// IfcMaterialLayerSet.� +/// IfcMaterialLayerSet.ÿ /// Note: It is illegal to assign an /// IfcMaterialLayerSetUsage to an IfcWall. Only the /// subtype IfcWallStandardCase supports this /// concept. /// Material information can also be given at the /// IfcWallType, defining the common attribute data for all -/// occurrences of the same type.�It is then in addition accessible +/// occurrences of the same type.ÿIt is then in addition accessible /// by the inverse IsTypedBy /// relationship pointing to IfcWallType.HasAssociations and /// via IfcRelAssociatesMaterial.RelatingMaterial. @@ -37557,7 +37557,7 @@ public: /// /// Property sets can also be given at the IfcWallType, /// defining the common property data for all occurrences of the same -/// type.�It is then accessible by the inverse IsTypedBy relationship pointing to +/// type.ÿIt is then accessible by the inverse IsTypedBy relationship pointing to /// IfcWallType.HasPropertySets. If both are given, then the /// properties directly assigned to IfcWall overrides the /// properties assigned to IfcWallType. @@ -37584,16 +37584,16 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierarchical spatial /// containment, the second (optional) relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// /// The IfcWall is places within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, referring to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. -/// The�IfcWall may be aggregated into an element assembly +/// TheÿIfcWall may be aggregated into an element assembly /// using the objectified relationship IfcRelAggregates, /// referring to it by its inverse attribute /// SELF\IfcObjectDefinition.Decomposes. Any subtype of @@ -37601,17 +37601,17 @@ public: /// IfcElementAssembly as a special focus subtype. /// In this case the wall should not be additionally contained in the /// project spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e.ÿSELF\IfcElement.ContainedInStructure should be /// NIL. /// -/// The�IfcWall�may also be an aggregate i.e. being +/// TheÿIfcWallÿmay also be an aggregate i.e. being /// composed by other elements and acting as an assembly using the /// objectified relationship IfcRelAggregates, referring to it /// by its inverse attribute /// SELF\IfcObjectDefinition.IsDecomposedBy. Components of a /// wall are described by instances of IfcBuildingElementPart /// that are aggregated to form a complex wall. -/// In this case, the contained�IfcBuildingElementPart's +/// In this case, the containedÿIfcBuildingElementPart's /// should not be additionally contained in the project spatial /// hierarchy, i.e. the inverse attribute /// SELF\IfcElement.ContainedInStructure of @@ -37686,7 +37686,7 @@ public: /// Solid: IfcExtrudedAreaSolid is required, /// Profile: IfcArbitraryClosedProfileDef is /// required. -/// Extrusion:�All extrusion directions shall be +/// Extrusion:ÿAll extrusion directions shall be /// supported. /// /// Clipping Representation Type @@ -37716,8 +37716,8 @@ public: static Type::Enum Class(); IfcWall (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWall* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWall > > list; + typedef IfcTemplatedEntityList< IfcWall >::it it; }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -37772,7 +37772,7 @@ public: /// IfcWall. As an additional use agreement for standard /// walls, the IfcWallType should have a unique /// IfcMaterialLayerSet, that is referenced by -/// the�IfcMaterialLayerSetUsage assigned to all +/// the IfcMaterialLayerSetUsage assigned to all /// occurrences of this IfcWallType. /// /// Figure 134 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the wall type and the wall occurrence. @@ -37787,10 +37787,10 @@ public: /// Multi-layer walls can be represented by refering to several /// IfcMaterialLayer's within the IfcMaterialLayerSet /// that is referenced from the -/// IfcMaterialLayerSetUsage.� +/// IfcMaterialLayerSetUsage.  /// Material information can also be given at the /// IfcWallType, defining the common attribute data for all -/// occurrences of the same type.�It is then accessible by the +/// occurrences of the same type. It is then accessible by the /// inverse IsDefinedBy relationship pointing to /// IfcSlabType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial. See Type Use @@ -37835,7 +37835,7 @@ public: /// Body: A Swept Solid Representation or a CSG /// representation defining the 3D shape of the standard wall /// -/// NOTE� It is invalid to exhange a +/// NOTE  It is invalid to exhange a /// 'SurfaceModel', or 'Brep' or 'MappedRepresentation' representation /// for the 'Body' shape representation of an /// IfcWallStandardCase. @@ -37932,8 +37932,8 @@ public: static Type::Enum Class(); IfcWallStandardCase (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWallStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallStandardCase > > list; + typedef IfcTemplatedEntityList< IfcWallStandardCase >::it it; }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -37952,7 +37952,7 @@ public: /// IfcRelFillsElement relationship, , then the IfcDoor /// has an inverse attribute FillsVoids provided, /// -/// NOTE� View definitions or +/// NOTEÿ View definitions or /// implementer agreements may restrict the relationship to only /// include one window (or door) into one opening. /// @@ -37975,7 +37975,7 @@ public: /// IfcWindowLiningProperties and on to many /// IfcWindowPanelProperties. /// -/// NOTE� see +/// NOTEÿ see /// IfcWindowStandardCase for all specific constraints imposed /// by this subtype. /// @@ -38010,7 +38010,7 @@ public: /// the construction material type /// the particular attributes for the lining by the /// IfcWindowLiningProperties -/// the particular attributes for the panels by the� +/// the particular attributes for the panels by theÿ /// IfcWindowPanelProperties /// /// HISTORY New entity in IFC Release 1.0. @@ -38076,13 +38076,13 @@ public: /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second (optional) relationship is the -/// aggregation within an�element assembly. +/// aggregation within anÿelement assembly. /// /// The IfcWindow is placed within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes of�IfcSpatialStructureElement are valid spatial +/// Subtypes ofÿIfcSpatialStructureElement are valid spatial /// containers, with IfcBuildingStorey being the default /// container. /// The IfcWindow may be aggregated into an element @@ -38092,7 +38092,7 @@ public: /// of an IfcCurtainWall as a special focus subtype. In this /// case it should not be additionally contained in the project /// spatial hierarchy, -/// i.e.�SELF\IfcElement.ContainedInStructure should be +/// i.e.ÿSELF\IfcElement.ContainedInStructure should be /// NIL. /// /// Figure 141 illustrates window containment. @@ -38131,34 +38131,34 @@ public: /// is defined within the world coordinate system. /// /// Geometric Representation -/// The�geometric representation of IfcWindow is defined -/// using the following (potentially�multiple) +/// Theÿgeometric representation of IfcWindow is defined +/// using the following (potentiallyÿmultiple) /// IfcShapeRepresentation's for its /// IfcProductDefinitionShape: /// -/// Profile: A�'Curve3D' +/// Profile: Aÿ'Curve3D' /// consisting of a single losed curve defining the outer boundary of -/// the window (lining). The�window parametric representation uses -/// this profile in order to apply the�window lining and panel +/// the window (lining). Theÿwindow parametric representation uses +/// this profile in order to apply theÿwindow lining and panel /// parameter. If not provided, the profile of the /// IfcOpeningElement is taken. /// FootPrint: A 'GeometricCurveSet', or 'Annotation2D' -/// representation defining the 2D shape of the�window +/// representation defining the 2D shape of theÿwindow /// Body: A 'SweptSolid', 'SurfaceModel', or 'Brep' -/// representation defining the 3D shape of the�window. +/// representation defining the 3D shape of theÿwindow. /// /// In addition the parametric representation of a -/// (limited)�window shape is available by applying the parameters -/// from�IfcWindowType -/// referencing�IfcWindowLiningProperties -/// and�IfcWindowPanelProperties. The purpose of the parameter +/// (limited)ÿwindow shape is available by applying the parameters +/// fromÿIfcWindowType +/// referencingÿIfcWindowLiningProperties +/// andÿIfcWindowPanelProperties. The purpose of the parameter /// is described at those entities and below (parametric /// representation). -/// Profile -�'Curve3D' representation -/// The�window profile is represented by a three-dimensional +/// Profile -ÿ'Curve3D' representation +/// Theÿwindow profile is represented by a three-dimensional /// closed curve within a particular shape representation. The -/// profile is used to apply the parameter of the parametric�window -/// representation.�The following attribute values for the +/// profile is used to apply the parameter of the parametricÿwindow +/// representation.ÿThe following attribute values for the /// IfcShapeRepresentation holding this geometric /// representation shall be used: /// @@ -38170,20 +38170,20 @@ public: /// A 'Profile' representation has to be provided if: /// /// a parametric representation shall be applied to the -/// window�AND +/// windowÿAND /// /// the window is 'free standing', or /// the opening into which the window is inserted is not extruded /// horizontally (i.e. where the opening profile does not match the /// window profile) /// -/// FootPrint -�'GeometricCurveSet' or 'Annotation2D' +/// FootPrint -ÿ'GeometricCurveSet' or 'Annotation2D' /// representation -/// The�window foot print is represented by a set of -/// two-dimensional�curves (or in case of 'Annotation2D' additional +/// Theÿwindow foot print is represented by a set of +/// two-dimensionalÿcurves (or in case of 'Annotation2D' additional /// hatching and text) within a particular shape representation. The /// foot print is used for the plan view representation of -/// the�window.�The following attribute values for the +/// theÿwindow.ÿThe following attribute values for the /// IfcShapeRepresentation holding this geometric /// representation shall be used: /// @@ -38193,11 +38193,11 @@ public: /// /// Body - 'SweptSolid', 'SurfaceModel', or 'Brep' /// representation -/// The�window body is either represented parameterically (see +/// Theÿwindow body is either represented parameterically (see /// parametric representation) or by explicit 3D shape. The 3D shape /// is given by using extrusion geometry, or surface models, or Brep /// models within a particular shape representation. The body is used -/// for the model view representation of the�window.�The following +/// for the model view representation of theÿwindow.ÿThe following /// attribute values for the IfcShapeRepresentation holding /// this geometric representation shall be used: /// @@ -38207,7 +38207,7 @@ public: /// /// MappedRepresentation /// The 'FootPrint' and 'Body' geometric representation -/// of�IfcWindow can be shared among several identical�windows +/// ofÿIfcWindow can be shared among several identicalÿwindows /// using the 'MappedRepresentation'. The following attribute values /// for the IfcShapeRepresentation holding this geometric /// representation shall be used: @@ -38215,7 +38215,7 @@ public: /// RepresentationIdentifier : 'FootPrint', 'Body' /// RepresentationType : 'MappedRepresentation' /// -/// The same constraints, as given for the� 'FootPrint', 'Body' +/// The same constraints, as given for theÿ 'FootPrint', 'Body' /// representation identifiers, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. @@ -38251,14 +38251,14 @@ public: /// IfcWindow only defines the local placement which /// determines the opening direction of the window. The overall /// layout of the IfcWindow is determined by -/// its�IfcWindowType.PartitioningType. Each window panel has +/// itsÿIfcWindowType.PartitioningType. Each window panel has /// its own operation type, provided by /// IfcWindowPanelProperties.OperationType. All window panels /// are assumed to open into the same direction (if relevant for the /// particular window panel operation. The hindge side (whether a /// window opens to the left or to the right) is determined by the /// IfcWindowPanelProperties.OperationType. -/// NOTE �There are different conventions in +/// NOTE ÿThere are different conventions in /// different countries on how to show the symbolic presentation of /// the window panel operation (the "triangles"). Either as seen from /// the exterior, or from the interior side. The following figures @@ -38272,24 +38272,24 @@ public: /// The determination of whether the window opens to the left or to /// the right is done at /// IfcWindowPanelProperties.OperationType. Here it is a left -/// side opening window given by�OperationType = +/// side opening window given byÿOperationType = /// SideHungLeftHand. /// /// If the window should open to the other side, then the /// local placement has to be changed. It is still a left hung /// window, given by IfcWindowPanelProperties.OperationType -/// =�SideHungLeftHand. +/// =ÿSideHungLeftHand. /// /// If the window panel (for side hung windows) opens to /// the right, a separate window panel style needs to be used (here /// IfcWindowPanelProperties.OperationType -/// =�SideHungRightHand) and it always opens into the direction of -/// the positive Y axis of the local placement.� +/// =ÿSideHungRightHand) and it always opens into the direction of +/// the positive Y axis of the local placement.ÿ /// /// If the window should open to the other side, then the /// local placement has to be changed. It is still a right hung /// window, given by IfcWindowPanelProperties.OperationType -/// =�SideHungRightHand. +/// =ÿSideHungRightHand. /// . /// /// Figure 144 — Window operations @@ -38299,13 +38299,13 @@ public: bool hasOverallHeight(); /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// - /// NOTE� The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. + /// NOTE  The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. IfcPositiveLengthMeasure OverallHeight(); /// Whether the optional attribute OverallWidth is defined for this IfcWindow bool hasOverallWidth(); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// - /// NOTE� The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. + /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. IfcPositiveLengthMeasure OverallWidth(); virtual unsigned int getArgumentCount() const { return 10; } virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_DOUBLE; case 9: return Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } @@ -38316,8 +38316,8 @@ public: static Type::Enum Class(); IfcWindow (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcWindow* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindow > > list; + typedef IfcTemplatedEntityList< IfcWindow >::it it; }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -38363,8 +38363,8 @@ public: static Type::Enum Class(); IfcActuatorType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcActuatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcActuatorType > > list; + typedef IfcTemplatedEntityList< IfcActuatorType >::it it; }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -38405,22 +38405,22 @@ public: static Type::Enum Class(); IfcAlarmType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcAlarmType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcAlarmType > > list; + typedef IfcTemplatedEntityList< IfcAlarmType >::it it; }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// /// An IfcBeam is a horizontal, or nearly horizontal, structural member that is capable of withstanding load primarily by resisting bending. It represents such a member from an architectural point of view. It is not required to be load bearing. /// -/// NOTE �The representation of a beam in a structural analysis model is provided by +/// NOTE  The representation of a beam in a structural analysis model is provided by /// IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel. /// -/// NOTE �For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used. +/// NOTE  For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used. /// /// The IFC specification provides two entities for beam occurrences: /// /// IfcBeamStandardCase used for all occurrences of beams, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned. -/// NOTE� View definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an IfcBeamStandardCase implementation. +/// NOTE  View definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an IfcBeamStandardCase implementation. /// /// IfcBeam used for all other occurrences of beams, particularly for beams with changing profile sizes along the extrusion, or beams defined by non-linear extrusion, or beams having only 'Brep', or 'SurfaceModel' geometry. /// @@ -38430,7 +38430,7 @@ public: /// IfcBeam defines the occuurence of any beam, common /// information about beam types (or styles) is handled by /// IfcBeamType. The IfcBeamType (if present) may -/// establish the common�type name, usage (or predefined) type, +/// establish the common type name, usage (or predefined) type, /// common material layer set, common set of properties and common /// shape representations (using IfcRepresentationMap). The /// IfcBeamType is attached using the @@ -38574,7 +38574,7 @@ public: /// IfcRevolvedAreaSolid shall be supported /// Profile: all subtypes of IfcProfileDef (with /// exception of IfcArbitraryOpenProfileDef) -/// Extrusion:� All extrusion directions shall be +/// Extrusion:  All extrusion directions shall be /// supported. /// /// Figure 71 illustrates the 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green). @@ -38656,8 +38656,8 @@ public: static Type::Enum Class(); IfcBeam (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcBeam* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeam > > list; + typedef IfcTemplatedEntityList< IfcBeam >::it it; }; class IfcChamferEdgeFeature : public IfcEdgeFeature { public: @@ -38676,8 +38676,8 @@ public: static Type::Enum Class(); IfcChamferEdgeFeature (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcChamferEdgeFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcChamferEdgeFeature > > list; + typedef IfcTemplatedEntityList< IfcChamferEdgeFeature >::it it; }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -38728,8 +38728,8 @@ public: static Type::Enum Class(); IfcControllerType (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcControllerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcControllerType > > list; + typedef IfcTemplatedEntityList< IfcControllerType >::it it; }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -38773,8 +38773,8 @@ public: static Type::Enum Class(); IfcDistributionChamberElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionChamberElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionChamberElement > > list; + typedef IfcTemplatedEntityList< IfcDistributionChamberElement >::it it; }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -38863,14 +38863,14 @@ public: virtual ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return Argument_STRING; } return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ControlElementId"; } return IfcDistributionElement::getArgumentName(i); } virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList > AssignedToFlowElement(); // INVERSE IfcRelFlowControlElements::RelatedControlElements + SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > AssignedToFlowElement(); // INVERSE IfcRelFlowControlElements::RelatedControlElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElement (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcDistributionControlElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > list; + typedef IfcTemplatedEntityList< IfcDistributionControlElement >::it it; }; class IfcElectricDistributionPoint : public IfcFlowController { public: @@ -38887,8 +38887,8 @@ public: static Type::Enum Class(); IfcElectricDistributionPoint (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcElectricDistributionPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricDistributionPoint > > list; + typedef IfcTemplatedEntityList< IfcElectricDistributionPoint >::it it; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -38938,8 +38938,8 @@ public: static Type::Enum Class(); IfcReinforcingBar (IfcAbstractEntityPtr e = IfcAbstractEntityPtr()); typedef IfcReinforcingBar* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; + typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingBar > > list; + typedef IfcTemplatedEntityList< IfcReinforcingBar >::it it; }; void InitStringMap(); IfcSchemaEntity SchemaEntity(IfcAbstractEntityPtr e = 0); diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index 6493e4f1d3..04cc19fab3 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -93,4 +93,4 @@ std::ostream* Logger::log1 = 0; std::ostream* Logger::log2 = 0; std::stringstream Logger::log_stream; Logger::Severity Logger::verbosity = Logger::LOG_NOTICE; -char* Logger::severity_strings[] = { "Notice","Warning","Error" }; \ No newline at end of file +const char* Logger::severity_strings[] = { "Notice","Warning","Error" }; \ No newline at end of file diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index b5214805cb..cdc1fcf863 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -181,7 +181,7 @@ private: static std::ostream* log2; static std::stringstream log_stream; static Severity verbosity; - static char* severity_strings[]; + static const char* severity_strings[]; public: /// Determines to what stream respectively progress and errors are logged static void SetOutput(std::ostream* l1, std::ostream* l2); @@ -191,7 +191,7 @@ public: /// Log a message to the output stream static void Message(Severity type, const std::string& message, const IfcAbstractEntityPtr entity=0); static void Status(const std::string& message, bool new_line=true); - static std::string Logger::GetLog(); + static std::string GetLog(); }; #endif